(一)Java EE 5实现Web服务(Web Services)及多种客户端实例-原理

本文介绍Web服务的基本原理,包括WSDL、SOAP和UDDI等关键技术,并通过一个实时股票报价Web服务实例来阐述如何利用这些技术实现跨平台的服务交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

()Web服务(Web Services)原理

一个 实时的股票报价的Web服务


在讲Web服务之前,先看一个实时的股票报价的Web服务。

http://www.webservicex.net/stockquote.asmx?op=GetQuote

symbol栏中输入中国工商银行的股票代码“601988.SS”(中国沪市的后缀是SS, 比如中国银行601988.SS,深市后缀是SZ, 比如万科A000002.SZ)。



得到的结果是XML格式的文档。

 

xml version="1.0" encoding="utf-8" ?> 
  
<string xmlns="http://www.webserviceX.NET/">
      
<StockQuotes>
          
<Stock>
              
<Symbol>601988.SS Symbol>
              
<Last>5.90 Last>
              
<Date>8/20/2007 Date>
              
<Time>9:37pm Time>
              
<Change>+0.14 Change>
              
<Open>5.90 Open>
              
<High>5.95 High>
              
<Low>5.85 Low>
              
<Volume>17503092 Volume>
              
<MktCap>N/A MktCap>
              
<PreviousClose>5.76 PreviousClose>
              
<PercentageChange>+2.43% PercentageChange>
              
<AnnRange>3.23 - 6.35 AnnRange>
              
<Earns>0.00 Earns>
              
<P-E>N/A P-E>
              
<Name>" Name>
          
Stock>
      
StockQuotes>
  
string> 

 

可以看到中国工商银行股票在8/20/2007 9:37pm 时(采用的是GMT -5时区的时间,与北京时间差13个小时)的股票价格是5.90 元,返回的信息中还包括股票当天的最高价,最低价,昨日收盘价等信息。这个股票报价的Web服务是免费的,但是有大约50分钟的延迟。

Web服务(Web Services )原理

Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。

根据W3C的定义, Web服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是一组应用程序接口(API),它们部署在网络系统(如国际互联网)的远程服务器端,客户提交特定的请求来访问这些接口,使程序执行。




在上图Web Services的体系结构图中,有三种角色和三种技术。以前面的股票报价Web服务来解释这些名词:


三种角色



  1. 服务提供者(Service Provider):股票报价Web服务是由Symbol公司开发的,那么Symbol公司就是Web服务的提供者。

  2. 服务中介(Service Broker): Web服务需要被人查找到, 才能被用户使用, 因此需要一个地方来注册并发布Web服务.http://www.webservicex.net/就提供了这么一个地方.这个网站被称为 Service Broker

  3. 服务请求者(Service Requeter): 任何使用这个Web服务的人员或者组织.



三种技术: WSDL, SOAP 以及UDDI

1WSDL(Web Services Description Language )

一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。

在浏览器中输入“http://www.webservicex.net/stockquote.asmx?WSDL,可以看到WSDL文档的详细内容。



股票报价Web 服务的WSDL中定义了名为”StockQuote”Web服务,以及使用SOAP文档作为参数的方法"GetQuote". 这个WSDL还定义了基于HttpGetHttpPost的方法,但这不在本文讨论范围之内.

 

   < wsdl:binding  name ="StockQuoteSoap"  type ="tns:StockQuoteSoap" >
    
< soap:binding  transport ="http://schemas.xmlsoap.org/soap/http"  style ="document" />
    
< wsdl:operation  name ="GetQuote" >
      
< soap:operation  soapAction ="http://www.webserviceX.NET/GetQuote"  style ="document" />
      
< wsdl:input >
        
< soap:body  use ="literal" />
      
wsdl:input>
      
<wsdl:output>
        
<soap:body use="literal"/>
      
wsdl:output>
    
wsdl:operation>
  
wsdl:binding>
......
  
<wsdl:service name="StockQuote">
    
<wsdl:port name="StockQuoteSoap" binding="tns:StockQuoteSoap">
      
<soap:address location="http://www.webservicex.net/stockquote.asmx"/>
    
wsdl:port>
  
wsdl:service>

2SOAP(Simple Object Access Protocol, )

SOAP是一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP HTTPS,但也可能是SMTP XMPP

Web服务使用者, 调用Web服务的方法, 使用的是SOAP格式的参数. 在前面的例子中, 发送请求的SOAP内容如下:

SOAP request

 

POST /stockquote.asmx HTTP/1.1
Host: www.webservicex.net
Content-Type: text/xml; charset=utf-8
Content-Length: unknown
SOAPAction: "http://www.webserviceX.NET/GetQuote"

xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  
<soap:Body>
    
<GetQuote xmlns="http://www.webserviceX.NET/">
      
<symbol>601988.SS symbol>
    
GetQuote>
  
soap:Body>
soap:Envelope>

web服务返回的相应SOAP内容如下:

SOAP response

 

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: unknown

xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  
<soap:Body>
    
<GetQuoteResponse xmlns="http://www.webserviceX.NET/">
      
<GetQuoteResult><string xmlns="http://www.webserviceX.NET/"><StockQuotes><Stock><Symbol>601988.SS Symbol><Last>5.90 Last><Date>8/20/2007 Date><Time>9:37pm Time><Change>+0.14 Change><Open>5.90 Open><High>5.95 High><Low>5.85 Low><Volume>17503092 Volume><MktCap>N/A MktCap><PreviousClose>5.76 PreviousClose><PercentageChange>+2.43% PercentageChange><AnnRange>3.23 - 6.35 AnnRange><Earns>0.00 Earns><P-E>N/A P-E><Name>" Name> Stock> StockQuotes> string>
GetQuoteResult>
    
GetQuoteResponse>
  
soap:Body>
soap:Envelope>

3UDDIUniversal Description, Discovery, and Integration


UDDI是一个用来发布和搜索WEB服务的协议,应用程序可藉由此协议在设计或运行时找到目标WEB服务。

UDDI的作用类似于常见的电话本,Web服务要在某个地方注册,登记之后,才能被其它组织或个人查找到并使用Web服务的种种功能。例如提供股票报价的Web服务的网站(http://www.webservicex.net)就提供Web服务存放及查找。

2000年九月发布了UDDI之后, IBM, Microsoft SAP等公司提供了免费的UDDI注册服务器,用户可以在申请用户名及密码之后,在服务器上提交自己的Web服务。但是在2005UDDI 3.0正式成为 OASIS的标准之后, IBM, Microsoft SAP宣布自200612月之后,不再提供公用的UDDI注册服务。

目前, 有关UDDI注册服务则由相关的产品实现,比如

  • Sun Microsystems 公司的 The Java Web Services Developer Pack
  • IBM 公司的 WebSphere UDDI Registry
  • Microsoft 公司的 Microsoft® Windows Server 2003 Enterprise UDDI Services


使用这些Web服务产品,企业可以搭建内部的或者外部的UDDI服务器。Sun Microsystems 公司的The Java Web Services Developer Pack (JWSDP)1.6 , 即支持UDDI 3.0, 也支持 ebXML (Electronic Business using XML).


实时的股票报价的Web服务已经被用在了很多教程中,也可以针对这个Web服务开发实际的应用,比如建立客户端来调用Web服务StockQuote。这就需要对返回的XML格式的字符串进行解析,可以采用JAXPJava API for XML processing)包。JAVA SE 5 中已经包含JAXP, 不需要单独下载。


本文的目的主要是为了阐述JAVA EE 5 平台上实现Web服务的过程,因此在建立一个类似的股票报价的Web服务时,简化了股票报价的逻辑。在Web服务的返回信息中,仅包含静态的股票价格。


以下分几个部分讲述JAVA EE 5平台上实现一个模拟的股票行情Web服务,并且采用不同的客户端来调用这个Web服务。客户端包括:瘦客户端,胖客户端以及移动客户端。


  1. JAVA EE 5平台上实现Web服务实例(模拟股票行情机)

  2. 瘦客户端(thin client)调用Web服务

  3. 胖客户端(rich client)调用Web服务

  4. 移动客户端(mobile client)调用Web服务

 


()Web服务(Web Services)原理

一个 实时的股票报价的Web服务


在讲Web服务之前,先看一个实时的股票报价的Web服务。

http://www.webservicex.net/stockquote.asmx?op=GetQuote

symbol栏中输入中国工商银行的股票代码“601988.SS”(中国沪市的后缀是SS, 比如中国银行601988.SS,深市后缀是SZ, 比如万科A000002.SZ)。



得到的结果是XML格式的文档。

 

xml version="1.0" encoding="utf-8" ?> 
  
<string xmlns="http://www.webserviceX.NET/">
      
<StockQuotes>
          
<Stock>
              
<Symbol>601988.SS Symbol>
              
<Last>5.90 Last>
              
<Date>8/20/2007 Date>
              
<Time>9:37pm Time>
              
<Change>+0.14 Change>
              
<Open>5.90 Open>
              
<High>5.95 High>
              
<Low>5.85 Low>
              
<Volume>17503092 Volume>
              
<MktCap>N/A MktCap>
              
<PreviousClose>5.76 PreviousClose>
              
<PercentageChange>+2.43% PercentageChange>
              
<AnnRange>3.23 - 6.35 AnnRange>
              
<Earns>0.00 Earns>
              
<P-E>N/A P-E>
              
<Name>" Name>
          
Stock>
      
StockQuotes>
  
string> 

 

可以看到中国工商银行股票在8/20/2007 9:37pm 时(采用的是GMT -5时区的时间,与北京时间差13个小时)的股票价格是5.90 元,返回的信息中还包括股票当天的最高价,最低价,昨日收盘价等信息。这个股票报价的Web服务是免费的,但是有大约50分钟的延迟。

Web服务(Web Services )原理

Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。

根据W3C的定义, Web服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是一组应用程序接口(API),它们部署在网络系统(如国际互联网)的远程服务器端,客户提交特定的请求来访问这些接口,使程序执行。




在上图Web Services的体系结构图中,有三种角色和三种技术。以前面的股票报价Web服务来解释这些名词:


三种角色



  1. 服务提供者(Service Provider):股票报价Web服务是由Symbol公司开发的,那么Symbol公司就是Web服务的提供者。

  2. 服务中介(Service Broker): Web服务需要被人查找到, 才能被用户使用, 因此需要一个地方来注册并发布Web服务.http://www.webservicex.net/就提供了这么一个地方.这个网站被称为 Service Broker

  3. 服务请求者(Service Requeter): 任何使用这个Web服务的人员或者组织.



三种技术: WSDL, SOAP 以及UDDI

1WSDL(Web Services Description Language )

一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。

在浏览器中输入“http://www.webservicex.net/stockquote.asmx?WSDL,可以看到WSDL文档的详细内容。



股票报价Web 服务的WSDL中定义了名为”StockQuote”Web服务,以及使用SOAP文档作为参数的方法"GetQuote". 这个WSDL还定义了基于HttpGetHttpPost的方法,但这不在本文讨论范围之内.

 

   < wsdl:binding  name ="StockQuoteSoap"  type ="tns:StockQuoteSoap" >
    
< soap:binding  transport ="http://schemas.xmlsoap.org/soap/http"  style ="document" />
    
< wsdl:operation  name ="GetQuote" >
      
< soap:operation  soapAction ="http://www.webserviceX.NET/GetQuote"  style ="document" />
      
< wsdl:input >
        
< soap:body  use ="literal" />
      
wsdl:input>
      
<wsdl:output>
        
<soap:body use="literal"/>
      
wsdl:output>
    
wsdl:operation>
  
wsdl:binding>
......
  
<wsdl:service name="StockQuote">
    
<wsdl:port name="StockQuoteSoap" binding="tns:StockQuoteSoap">
      
<soap:address location="http://www.webservicex.net/stockquote.asmx"/>
    
wsdl:port>
  
wsdl:service>

2SOAP(Simple Object Access Protocol, )

SOAP是一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP HTTPS,但也可能是SMTP XMPP

Web服务使用者, 调用Web服务的方法, 使用的是SOAP格式的参数. 在前面的例子中, 发送请求的SOAP内容如下:

SOAP request

 

POST /stockquote.asmx HTTP/1.1
Host: www.webservicex.net
Content-Type: text/xml; charset=utf-8
Content-Length: unknown
SOAPAction: "http://www.webserviceX.NET/GetQuote"

xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  
<soap:Body>
    
<GetQuote xmlns="http://www.webserviceX.NET/">
      
<symbol>601988.SS symbol>
    
GetQuote>
  
soap:Body>
soap:Envelope>

web服务返回的相应SOAP内容如下:

SOAP response

 

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: unknown

xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  
<soap:Body>
    
<GetQuoteResponse xmlns="http://www.webserviceX.NET/">
      
<GetQuoteResult><string xmlns="http://www.webserviceX.NET/"><StockQuotes><Stock><Symbol>601988.SS Symbol><Last>5.90 Last><Date>8/20/2007 Date><Time>9:37pm Time><Change>+0.14 Change><Open>5.90 Open><High>5.95 High><Low>5.85 Low><Volume>17503092 Volume><MktCap>N/A MktCap><PreviousClose>5.76 PreviousClose><PercentageChange>+2.43% PercentageChange><AnnRange>3.23 - 6.35 AnnRange><Earns>0.00 Earns><P-E>N/A P-E><Name>" Name> Stock> StockQuotes> string>
GetQuoteResult>
    
GetQuoteResponse>
  
soap:Body>
soap:Envelope>

3UDDIUniversal Description, Discovery, and Integration


UDDI是一个用来发布和搜索WEB服务的协议,应用程序可藉由此协议在设计或运行时找到目标WEB服务。

UDDI的作用类似于常见的电话本,Web服务要在某个地方注册,登记之后,才能被其它组织或个人查找到并使用Web服务的种种功能。例如提供股票报价的Web服务的网站(http://www.webservicex.net)就提供Web服务存放及查找。

2000年九月发布了UDDI之后, IBM, Microsoft SAP等公司提供了免费的UDDI注册服务器,用户可以在申请用户名及密码之后,在服务器上提交自己的Web服务。但是在2005UDDI 3.0正式成为 OASIS的标准之后, IBM, Microsoft SAP宣布自200612月之后,不再提供公用的UDDI注册服务。

目前, 有关UDDI注册服务则由相关的产品实现,比如

  • Sun Microsystems 公司的 The Java Web Services Developer Pack
  • IBM 公司的 WebSphere UDDI Registry
  • Microsoft 公司的 Microsoft® Windows Server 2003 Enterprise UDDI Services


使用这些Web服务产品,企业可以搭建内部的或者外部的UDDI服务器。Sun Microsystems 公司的The Java Web Services Developer Pack (JWSDP)1.6 , 即支持UDDI 3.0, 也支持 ebXML (Electronic Business using XML).


实时的股票报价的Web服务已经被用在了很多教程中,也可以针对这个Web服务开发实际的应用,比如建立客户端来调用Web服务StockQuote。这就需要对返回的XML格式的字符串进行解析,可以采用JAXPJava API for XML processing)包。JAVA SE 5 中已经包含JAXP, 不需要单独下载。


本文的目的主要是为了阐述JAVA EE 5 平台上实现Web服务的过程,因此在建立一个类似的股票报价的Web服务时,简化了股票报价的逻辑。在Web服务的返回信息中,仅包含静态的股票价格。


以下分几个部分讲述JAVA EE 5平台上实现一个模拟的股票行情Web服务,并且采用不同的客户端来调用这个Web服务。客户端包括:瘦客户端,胖客户端以及移动客户端。


  1. JAVA EE 5平台上实现Web服务实例(模拟股票行情机)

  2. 瘦客户端(thin client)调用Web服务

  3. 胖客户端(rich client)调用Web服务

  4. 移动客户端(mobile client)调用Web服务

 


()Web服务(Web Services)原理

一个 实时的股票报价的Web服务


在讲Web服务之前,先看一个实时的股票报价的Web服务。

http://www.webservicex.net/stockquote.asmx?op=GetQuote

symbol栏中输入中国工商银行的股票代码“601988.SS”(中国沪市的后缀是SS, 比如中国银行601988.SS,深市后缀是SZ, 比如万科A000002.SZ)。



得到的结果是XML格式的文档。

 

xml version="1.0" encoding="utf-8" ?> 
  
<string xmlns="http://www.webserviceX.NET/">
      
<StockQuotes>
          
<Stock>
              
<Symbol>601988.SS Symbol>
              
<Last>5.90 Last>
              
<Date>8/20/2007 Date>
              
<Time>9:37pm Time>
              
<Change>+0.14 Change>
              
<Open>5.90 Open>
              
<High>5.95 High>
              
<Low>5.85 Low>
              
<Volume>17503092 Volume>
              
<MktCap>N/A MktCap>
              
<PreviousClose>5.76 PreviousClose>
              
<PercentageChange>+2.43% PercentageChange>
              
<AnnRange>3.23 - 6.35 AnnRange>
              
<Earns>0.00 Earns>
              
<P-E>N/A P-E>
              
<Name>" Name>
          
Stock>
      
StockQuotes>
  
string> 

 

可以看到中国工商银行股票在8/20/2007 9:37pm 时(采用的是GMT -5时区的时间,与北京时间差13个小时)的股票价格是5.90 元,返回的信息中还包括股票当天的最高价,最低价,昨日收盘价等信息。这个股票报价的Web服务是免费的,但是有大约50分钟的延迟。

Web服务(Web Services )原理

Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。

根据W3C的定义, Web服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是一组应用程序接口(API),它们部署在网络系统(如国际互联网)的远程服务器端,客户提交特定的请求来访问这些接口,使程序执行。




在上图Web Services的体系结构图中,有三种角色和三种技术。以前面的股票报价Web服务来解释这些名词:


三种角色



  1. 服务提供者(Service Provider):股票报价Web服务是由Symbol公司开发的,那么Symbol公司就是Web服务的提供者。

  2. 服务中介(Service Broker): Web服务需要被人查找到, 才能被用户使用, 因此需要一个地方来注册并发布Web服务.http://www.webservicex.net/就提供了这么一个地方.这个网站被称为 Service Broker

  3. 服务请求者(Service Requeter): 任何使用这个Web服务的人员或者组织.



三种技术: WSDL, SOAP 以及UDDI

1WSDL(Web Services Description Language )

一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。

在浏览器中输入“http://www.webservicex.net/stockquote.asmx?WSDL,可以看到WSDL文档的详细内容。



股票报价Web 服务的WSDL中定义了名为”StockQuote”Web服务,以及使用SOAP文档作为参数的方法"GetQuote". 这个WSDL还定义了基于HttpGetHttpPost的方法,但这不在本文讨论范围之内.

 

   < wsdl:binding  name ="StockQuoteSoap"  type ="tns:StockQuoteSoap" >
    
< soap:binding  transport ="http://schemas.xmlsoap.org/soap/http"  style ="document" />
    
< wsdl:operation  name ="GetQuote" >
      
< soap:operation  soapAction ="http://www.webserviceX.NET/GetQuote"  style ="document" />
      
< wsdl:input >
        
< soap:body  use ="literal" />
      
wsdl:input>
      
<wsdl:output>
        
<soap:body use="literal"/>
      
wsdl:output>
    
wsdl:operation>
  
wsdl:binding>
......
  
<wsdl:service name="StockQuote">
    
<wsdl:port name="StockQuoteSoap" binding="tns:StockQuoteSoap">
      
<soap:address location="http://www.webservicex.net/stockquote.asmx"/>
    
wsdl:port>
  
wsdl:service>

2SOAP(Simple Object Access Protocol, )

SOAP是一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP HTTPS,但也可能是SMTP XMPP

Web服务使用者, 调用Web服务的方法, 使用的是SOAP格式的参数. 在前面的例子中, 发送请求的SOAP内容如下:

SOAP request

 

POST /stockquote.asmx HTTP/1.1
Host: www.webservicex.net
Content-Type: text/xml; charset=utf-8
Content-Length: unknown
SOAPAction: "http://www.webserviceX.NET/GetQuote"

xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  
<soap:Body>
    
<GetQuote xmlns="http://www.webserviceX.NET/">
      
<symbol>601988.SS symbol>
    
GetQuote>
  
soap:Body>
soap:Envelope>

web服务返回的相应SOAP内容如下:

SOAP response

 

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: unknown

xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  
<soap:Body>
    
<GetQuoteResponse xmlns="http://www.webserviceX.NET/">
      
<GetQuoteResult><string xmlns="http://www.webserviceX.NET/"><StockQuotes><Stock><Symbol>601988.SS Symbol><Last>5.90 Last><Date>8/20/2007 Date><Time>9:37pm Time><Change>+0.14 Change><Open>5.90 Open><High>5.95 High><Low>5.85 Low><Volume>17503092 Volume><MktCap>N/A MktCap><PreviousClose>5.76 PreviousClose><PercentageChange>+2.43% PercentageChange><AnnRange>3.23 - 6.35 AnnRange><Earns>0.00 Earns><P-E>N/A P-E><Name>" Name> Stock> StockQuotes> string>
GetQuoteResult>
    
GetQuoteResponse>
  
soap:Body>
soap:Envelope>

3UDDIUniversal Description, Discovery, and Integration


UDDI是一个用来发布和搜索WEB服务的协议,应用程序可藉由此协议在设计或运行时找到目标WEB服务。

UDDI的作用类似于常见的电话本,Web服务要在某个地方注册,登记之后,才能被其它组织或个人查找到并使用Web服务的种种功能。例如提供股票报价的Web服务的网站(http://www.webservicex.net)就提供Web服务存放及查找。

2000年九月发布了UDDI之后, IBM, Microsoft SAP等公司提供了免费的UDDI注册服务器,用户可以在申请用户名及密码之后,在服务器上提交自己的Web服务。但是在2005UDDI 3.0正式成为 OASIS的标准之后, IBM, Microsoft SAP宣布自200612月之后,不再提供公用的UDDI注册服务。

目前, 有关UDDI注册服务则由相关的产品实现,比如

  • Sun Microsystems 公司的 The Java Web Services Developer Pack
  • IBM 公司的 WebSphere UDDI Registry
  • Microsoft 公司的 Microsoft® Windows Server 2003 Enterprise UDDI Services


使用这些Web服务产品,企业可以搭建内部的或者外部的UDDI服务器。Sun Microsystems 公司的The Java Web Services Developer Pack (JWSDP)1.6 , 即支持UDDI 3.0, 也支持 ebXML (Electronic Business using XML).


实时的股票报价的Web服务已经被用在了很多教程中,也可以针对这个Web服务开发实际的应用,比如建立客户端来调用Web服务StockQuote。这就需要对返回的XML格式的字符串进行解析,可以采用JAXPJava API for XML processing)包。JAVA SE 5 中已经包含JAXP, 不需要单独下载。


本文的目的主要是为了阐述JAVA EE 5 平台上实现Web服务的过程,因此在建立一个类似的股票报价的Web服务时,简化了股票报价的逻辑。在Web服务的返回信息中,仅包含静态的股票价格。


以下分几个部分讲述JAVA EE 5平台上实现一个模拟的股票行情Web服务,并且采用不同的客户端来调用这个Web服务。客户端包括:瘦客户端,胖客户端以及移动客户端。


  1. JAVA EE 5平台上实现Web服务实例(模拟股票行情机)

  2. 瘦客户端(thin client)调用Web服务

  3. 胖客户端(rich client)调用Web服务

  4. 移动客户端(mobile client)调用Web服务

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值