web service

现在已经进入系统集成阶段 、遗留系统的集成

集成分为:EAI企业应用集成,

                EDI企业数据集成                                        我觉得有点类似于Orcle的link技术以连接两台不同服务器上的oracle

 

异构系统的调用解决包括

:方案1:RPC远程过程调用(例如:CORBAR)

   方案2:MQ消息机制             

 

 

 

3、web  服务

Web服务是一种基于XML和Internet常用协议(HTTP、SMTP等)的分布式计算技术

Web 服务有两种工作方式,一种是RPC方式另一种是文档方式,文档方式就是采用消息机制来进行通信。

 

 

 

基于SOAP的WEB服务
无论采用那种工作方式,无论是RPC还是文档方式WEB服务,在网络中传输的数据都是XML,SOAP就是如清单1.3.1的一种XML。通常把这个XML称为SOAP消息。
基于 SOAP 的 Web 服务
<SOAPenv:Envelope
       xmlns:SOAPenv="
http://schemas.xmlSOAP.org/SOAP/envelope/"
       xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
 <SOAPenv:Body>
  <req:getNumberOfArticles xmlns:req="
http://daily-moon.com/CMS/">
     <req:category>classifieds</req:category>
  </req:getNumberOfArticles>
 </SOAPenv:Body>
</SOAPenv:Envelope>
这些消息将从一个系统进入另一个系统(通常通过 HTTP)。接收系统对消息进行解释,进行应该进行从处理,然后发送另一个 SOAP 消息作为响应。如图1.3.1所示SOAP消息在系统之间的传输。

这个这种方式很简单,正因为如此,有很多企业级应用方面的内容都尚未涉及。

 

 

 

 

在某些情况下 REST 和 XML-RPC 比 SOAP 系统简单。不过,在Java EE环境下关注的是企业级应用程序,而企业级的应用程序需要企业级的属性,如安全、互操作性等等。这些功能在有关基于 SOAP 的 Web 服务的其他规范中进行了定义,因而,从长期来看,SOAP 更适合用于企业级应用程序。
    下面对关于SOAP的规范进行介绍。

 

 

Web服务基本规范
Web服务基础规范是Web服务众多规范中的核心部分。可以将基础规范按使用Web服务的顺序分成6个层次:服务定位、服务描述、消息机制、数据模式(结构)、数据格式、网络传输。


网络传输层:标准定义了采用HTTP或者HTTPS做为网络传输协议,HTTP协议也是Internet上应用最为广泛的协议;
数据格式层:采用XML做Web 服务为交互的数据格式;
数据模式层:采用XSD定义XML的模式(结构),作为Web 服务交互数据的XML必须符合WS-I总则所定义的XSD;
消息机制层:XML数据通过SOAP(Simple Object Access Protocol,简单对象访问协议)来实现在网络传输中的封装和路由;
服务描述层:采用WSDL(Description Language)来对Web服务进行描述。WSDL就是Web 服务的使用说明书,描述了Web 服务所采用的数据类型、接口、名称、地址等,Web 服务的客户端只要“读懂”服务的WSDL就知道了如何和这个服务进行交互;
服务定位层:UDDI(Universal Description, Discovery and Integration)统一描述、发现和集成最初的目的是为了给各个公司提供在全球注册中心中注册服务并在此注册中心中搜索可能想使用的服务的机制。不 过,由于很多公司对于将其系统对外开放的问题上都相当保守,这个目标并没有完全实现。但是,很多公司已将 UDDI 作为内部的服务及服务信息注册中心使用,这里可以把UDDI看成一个WSDL的地址簿。

 

 

 

1.4 简单对象访问协议(SOAP)

 

SOAP是Web 服务消息传输的技术标准。SOAP是基于XML的协议,由三个部分组成:
信封,描述消息是什么以及如何处理;
一组编码规则,用于表示由应用程序定义的数据类型的实例;
有关远程过程调用及响应表示的约定;
SOAP可以与其他多种协议结合使用,但这里只描述了如何结合使用SOAP和HTTP。图1.4.1展示了SOAP请求的整体结构。

   1.1 WEB服务描述语言(WSDL)

 

 

Web服务的目的是为了解决企业级应用中的异构系统之间的通信问题,要实现通信首先明确通信的消息是什么,格式如何,然后需要对消息中所包含数据的类型进行说明,接着需要说明具体提供服务的接,最后是说明接口所包含操作与消息的关系。作为异构系统的说明书,WSDL需要能够被多种技术平台和语言读懂,所以采用了XML作为WSDL格式。 

 

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

       targetNamespace=" http://www.lovolinfo.com/bookstore">

 

数据类型定义

<wsdl:types>

 

</wsdl:types>

 

消息定义

<wsdl:message name="createNewBookRequestMsg">

 

</wsdl:message>

 

 

接口定义

<wsdl:portType name="BookervicePortType">

 

</wsdl:portType>

 

<wsdl:binding name="BookServiceBinding">

绑定定义

 

 

</wsdl:binding>

 

<wsdl:service name="ClassifiedService">

 

</wsdl:service>

 

</wsdl:definitions>

 

 

 

 

 

 

二、web  service开发步骤:

开发webService工具 AXIS1.4版

 

有两种方式: A:采用jws的方式

                                

                     a、写一个jws文件(可以现在缺省包下写java类,然后在将其cpoy到webRoot下,以免编写错误)

                      b、将jws文件放到webRoot下面

                      c、运行wsdl2java得到客户端代码

 

 

 

 

 

 

                  B:采用不要wsdl工具生成访问web service

 

                  (1)、编写服务端

 

                   a、实现业务逻辑 ----------------写业务逻辑java类

 

                   b、编写部署文件--------------------格式参考WEB-INF/server-config.wsdd

                   d、写xml文件,注册AxisServlet

 

                   e、创建一个发布应用的deploy.xml文件,位置是在当前项目下

 

                   f、运行AdminClient命令     

            *  在运行AdminClient命令的时候,点击运行run 按钮的open dialog

在 java application  里面点击右键new 新建一个应用,在name中 写上服务名

在main class里选择org.apache.axis.client.AdminClient命令

             *在arguments里

                   写上        

                   d、点击Applay  -----Run   

   

             

                 (2)编写客户端

 

 

其中:WSDL2Java命令是用来生成java代码

         AdminClient 命令是用来部署

 

 

 

 

 

 三、具体测试的实例

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值