梦在远方,路在脚下
posts - 2, comments - 1, trackbacks - 0, articles - 8

Web Service简介

Posted on 2009-02-11 00:08 栗衙 阅读(525) 评论(0)  编辑  收藏 所属分类: 程序思维
 

1Web Service

Web Service:是一个较新得分布式服务组件。本质是以标准化得方式实现企业内外各个不同服务系统之间得互调或者集成。

Web Service:通过SOAPWeb上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。



2WSDLWeb Service Description Lanaguage

基于Xml格式得关于Web服务得描述语言。

如一段代码:

package com.sample.ejb.sessionbean;

public interface UserAccountMgr extends javax.ejb.EJBObject {

   
public boolean checkUserLogin( java.lang.String loginName,java.lang.String password );

}


WSDL
得三部分得描述:


1) Type代码:

 <wsdl:types>
     
<!--服务接口方法-->  
     
<element name="checkUserLogin">
      
<complexType>
       
<sequence>
        
<!--输入参数及其类型-->
        
<element name="loginName" nillable="true" type="xsd:string"/>
        
<element name="password" nillable="true" type="xsd:string"/>
       
</sequence>
      
</complexType>
   
<!--返回结果的类型-->
      
<element name="checkUserLoginResponse">
       
<complexType>
        
<sequence>
         
<element name="checkUserLoginReturn"  type="xsd:boolean"/>
        
</sequence>
       
</complexType>
     
</element>
</wsdl:types>

 

2) Message代码

<!--请求消息--> 
  
<wsdl:message name="checkUserLoginRequest">

      
<wsdl:part name="in0" type="xsd:string"/>

      
<wsdl:part name="in1" type="xsd:string"/>

   
</wsdl:message>
<!--返回消息-->
   
<wsdl:message name="checkUserLoginResponse">

      
<wsdl:part name="checkUserLoginReturn" type="xsd:boolean"/>

   
</wsdl:message>


3) PortType代码

<!--服务接口-->
   
<wsdl:portType name="CheckUserLoginMgr">
<!--所包含得服务接口方法-->
      
<wsdl:operation name="checkUserLogin" parameterOrder="in0 in1">
<!--服务接口方法所对应得请求消息和返回消息-->
         
<wsdl:input message="impl:checkUserLoginRequest" name="checkUserLoginRequest"/>
         
<wsdl:output message="impl:checkUserLoginResponse" name="checkUserLoginResponse"/>
         
<wsdl:fault message="impl:ApplicationException" name="ApplicationException"/>
      
</wsdl:operation>
   
</wsdl:portType>


2How部分

<wsdl:binding name="checkUserLoginServiceSoapBinding" type="impl:CheckUserLoginMgr">
      
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
      
<wsdl:operation name="checkUserLogin">
         
<wsdlsoap:operation soapAction=""/>
         
<wsdl:input name="checkUserLoginRequest">
            
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:7001/webModule/services/checkUserLoginService" use="encoded"/>
         
</wsdl:input>
         
<wsdl:output name="checkUserLoginResponse">
            
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:7001/webModule/services/checkUserLoginService" use="encoded"/>
         
</wsdl:output>
         
<wsdl:fault name="ApplicationException">
            
<wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="ApplicationException" namespace="http://localhost:7001/webModule/services/checkUserLoginService" use="encoded"/>
         
</wsdl:fault>
      
</wsdl:operation>
   
</wsdl:binding>

   

3Where部分

   <wsdl:service name="CheckUserLoginMgrService">

      
<wsdl:port binding="impl:checkUserLoginServiceSoapBinding" name="checkUserLoginService">

         
<wsdlsoap:address location="http://localhost:7001/webModule/services/checkUserLoginService"/>

      
</wsdl:port>

   
</wsdl:service>


3SOAPSimple Object Application Propotol

SOAP作用:请求(request)消息将客户端请求消息发给服务器

            答复(response)消息,从服务器返回给客户端消息

服务A需要创建相应得SOAP请求消息,并发给服务B。包括服务接口,服务接口方法,参数值等信息。通过SOAP/HTTP传输方式传到服务BWSDL文件中指定得URL地址

4UDDL

Universal Description, Discovery and Integration将自己得服务注册到相应得UDDL商用注册网站上去

以资源共享的方式由多个运作者一起以Web Service的形式运作UDDI商业注册中心。

  UDDI计划的核心组件是UDDI商业注册,它使用XML文档来描述企业及其提供的Web Service

  UDDI商业注册提供三种信息:

  White Page包含地址、联系方法、已知的企业标识。

  Yellow Page包含基于标准分类法的行业类别。

  Green Page包含关于该企业所提供的Web Service的技术信息,其形式可能是指向文件或URL的指针,而这些文件或URL是为服务发现机制服务的。


只有注册用户登录后才能发表评论。


网站导航: