免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1590 | 回复: 0
打印 上一主题 下一主题

Web Service [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-11 20:12 |只看该作者 |倒序浏览

[/url]

    Web Service 是独立的、模块化的应用程序,您可以在网络上描述、发布、查找和调用它们。
    应用程序服务器支持基于用于 Java 2 Platform, Enterprise Edition(J2EE)的 Web Service 规范开发和实现的 Web Service。
典型的 Web Service 方案是从另一个现有应用程序请求服务的业务应用程序。请求是跨 HTTP、Java 消息服务(JMS)传输使用 SOAP 消息通过给定 Web 地址处理的,或者作为 Enterprise JavaBeans(EJB)直接调用。服务接收一个请求,处理它并返回响应。简单 Web Service 的示例包括天气预报或获取股票报价。方法调用是同步的,即,方法一直等待,直到结果可用。支持报价、企业到企业(B2B)或企业对客户(B2C)操作的交易 Web Service 包括机票预订和采购订单。
Web Service 可以包括实际的服务或访问该服务的客户机。
Web Service 是 Web 应用程序,它通过集成原本不通信的应用程序,提高业务流程的灵活性。在本地图书馆的内图书馆借贷程序是很好的 Web Service 概念及其演变的示例。Web Service 概念甚至在此术语之前就已存在;该概念随着因特网的创建而变得广为接受。在因特网创建前,您去图书馆、搜索集合并查阅书籍。如果未找到所需书籍,那么图书管理员通过计算机或电话为您运行搜索,并在附近图书馆中找到这本书。图书管理员为您预定该书,而您在它传递到本地图书馆后检取它。通过合并 Web Service 应用程序,您可简化图书馆访问。
现在,您可同时搜索本地图书馆集合和其他本地图书馆。当其他库对您的库提供 Web Service 以搜索其集合(该服务可能已通过统一描述、发现和集成(UDDI)提供)时,您的结果将产生它们的资源。可使用另一个 Web Service 应用程序来检查出书籍,然后将它发送您的主目录。使用 Web Service 应用程序会节约时间并为您提供便利,还可以让图书管理员有空执行其他业务任务。
Web Service 反映用于编程的面向服务的体系结构(SOA)方法。此方法的思想基础是,通过发现和实现可用的网络服务或通过调用可用的应用程序来完成任务,从而构建应用程序。Web Service 提供互操作性,例如,Web Service 应用程序提供用不同编程语言创建的组件协同工作,就像它们是使用同一种语言创建的。Web Service 依赖于现有的传输技术(如 HTTP)和标准数据编码技术(如可扩展标记语言(XML))来调用实现。
Web Service 的主要组件包括:
Web 服务描述语言(WSDL)
WSDL 是描述 Web Service 的基于 XML 的文件。Web Service 请求使用此文件绑定到服务。
SOAP
SOAP 是基于 XML 的协议,Web Service 请求使用它调用服务。
统一描述、发现和集成协议(UDDI)
UDDI 是主管服务代理的注册中心。UDDI 类似于电话簿中的黄页。


WSDL
Web 服务描述语言(WSDL)是基于可扩展标记语言(XML)的描述语言。此语言作为描述 Web Service 的业界标准,提交到万维网联盟(W3C)。WSDL 的功能源自两个主要体系结构原则:描述一组业务操作的能力以及将描述分隔为两个基本单元的能力。这些单元是操作的描述以及如何打包操作及其关联信息的详细信息。
WSDL 文档将服务定义为网络端点或端口的集合。在 WSDL 中,端点和消息的抽象定义与其具体网络部署或数据格式绑定分开。此分隔支持重用抽象 definitions: 消息,它是所交换数据的抽象描述,以及端口类型,它是操作的抽象集合。特殊端口类型的具体协议和数据格式规范组成可再用的绑定。端口是通过把网络地址与可再用绑定关联而定义的,而端口的集合定义服务。因此,WSDL 文档由几个元素组成。
以下是 WSDL 文件中信息的结构:


WSDL 文件包含下列部分:
Web Service 接口定义
该部分包含元素和名称空间。
Web Service 实现
该部分包含服务和端口的定义。
WSDL 文件描述了带有下列元素的 Web Service:
portType
操作和其相关消息的描述。 portType 元素定义抽象操作。

  
  
     
message
输入和输出参数及返回值的描述。


  
types
描述消息中使用的 XML 类型的模式。

  
   
  
  
  ...
绑定(binding)
binding 描述用于访问 portType 的协议,以及由特定 portType 元素定义的消息的数据格式。



  
   
  ...
服务
service 和 port 定义 Web 服务的位置。
Service 包含 Web 服务的名称和端口的列表。
Port
port 包含 Web 服务的位置和用于此服务访问的绑定。

  


当创建此产品的 JAX-RPC Web Service 时,您首先必须有包含服务端点接口的实现 bean。然后您使用 Java2WSDL 命令行工具创建定义 Web Service 的 WSDL 文件。这是自底向上式开发。
如果您从 WSDL 开始生成实现 bean 类,那么这是自顶向下式开发。对 WSDL 文件运行 WSDL2Java 命令行工具以创建 Java API 和部署描述符模板。
多重部件 WSDL 和 WSDL 发布
该产品支持使用多重部件 Web 服务描述语言 (WSDL)文件部署 Web Service。在多重部件 WSDL 文件中,实现 WSDL 文件包含 wsdl:service。此实现 WSDL 文件导入接口 WSDL 文件,后者包含其他 WSDL 构造。这种多重部件 WSDL 支持多个 Web 服务使用同一个 WSDL 接口定义。
元素表明引用另一个 WSDL 文件。如果  元素的 location 属性未包含 URL,即,仅包含文件名,并未以 http://、https:// 或 file:// 开始,那么导入与被导入的文件必须位于同一目录而且不能包含相对路径成分。例如,如果 META-INF/wsdl/A_Impl.wsdl 在模块中并包含 import 语句  ,那么 A.wsdl 文件必须也位于模块 META-INF/wsdl 目录中。
建议所有的 WSDL 文件放在 META-INF/wsdl 目录中(如果您正使用 Enterprise JavaBean(EJB),或放在 WEB-INF/wsdl 目录中(如果您正使用 JavaBeans 组件),即使相关的导入文件在 WSDL 文件中也如此安放。否则,当您使用类似于  的路径时,WSDL 发布将是不确定的。使用这样的路径会由于相对路径的存在而失败,无论文件是否位于该路径。如果位置是 Web 地址,它必须在部署和服务器启动时都可读。
可以通过 URL 地址或文件发布位于 META-INF/wsdl 或 WEB-INF/wsdl 目录中的文件,包括 WSDL 或 XML 模式定义(XSD)文件。例如,如果在 webservices.xml 部署描述符的  元素里引用的文件位于 META-INF/wsdl 或 WEB-INF/wsdl 目录中,那么它是可发布的。如果由  导入的文件位于 wsdl/ 目录或其子目录下,那么它们是可发布的。
如果由  元素引用的 WSDL 文件所在的目录不是 wsdl 目录或其子目录,那么安装应用程序时,此文件和同一目录中的其导入文件(WSDL 或 XSD 文件)将不作修改而复制到 wsdl 目录。这些类型的文件也可以被发布。
如果  导入位于其他目录(非 -INF/wsdl 目录或非其子目录)中的文件,那么此文件不会复制到 wsdl 目录并且不可发布。

SOAP
SOAP 是在分散的分布式环境中交换结构化信息时应遵循的一种规范。因此,它表示在面向服务的体系结构(SOA)中三个主要角色:服务提供程序、服务请求程序和服务代理程序之间的主要通信方法。其设计的主要目标是简单和可扩展。SOAP 消息用于请求 Web Service。
SOAP 1.1
WebSphere Application Server 遵循 SOAP 1.1 中阐述的标准。
包括 IBM 和 Lotus 在内的几个公司已将 SOAP 作为可扩展标记语言(XML)协议工作组的基础提交到万维网联盟(W3C)。此协议由三部分组成:
一个封包,定义用于描述消息内容并处理指示信息的框架。
一组编码规则,用于表达应用程序定义的数据类型的实例。
一个常规,用于表示远程过程调用和响应。
SOAP 1.1 是独立于协议的传输,可与各种协议组合使用。在用 WebSphere Application Server 开发和实现的 Web Service 中,SOAP 与 HTTP、HTTP 扩展框架和 Java 消息服务(JMS)组合使用。SOAP 也独立于操作系统,不会捆绑到任何编程语言或组件技术。
只要客户机可以发出 XML 消息,它就不在乎使用哪种技术来实现该客户机。同样,只要服务可以处理 SOAP 消息,就可以使用任何语言实现它。而且服务器和客户机都可驻留在任何合适的平台上。


UDDI
Universal Description Discovery and Integration即统一描述、发现和集成协议。
  UDDI 始于2000年,由 Ariba, IBM, Microsoft 和其他33家公司创立.UDDI registries 提供了一个机制,以一种有效的方式来浏览,发现Web Services 以及它们之间的相互作用.
  UDDI计划是一个广泛的,开放的行业计划,它使得商业实体能够 (1) 彼此发现,(2) 定义他们怎样在internet上互相作用,并在一个全球的注册体系架构中共享信息。UDDI是这样一种基础的系统构筑模块,他使商业实体能够快速,方便地使用他们自身的企业应用软件来发现合适的商业对等实体,并与其实施电子化的商业贸易。
  UDDI同时也是Web服务集成的一个体系框架。它包含了服务描述与发现的标准规范。UDDI规范利用了W3C和Internet工程任务组织(IETF)的很多标准作为其实现基础,比如扩展标注语言(XML),HTTP和域名服务(DNS)这些协议。另外,在跨平台的设计特性中,UDDI主要采用了已经被提议给W3C的SOAP(Simple Object Access Protocol,简单对象访问协议)规范的早期版本。

要了解怎样使用UDDI,请单击
[url=http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/welc6tech_wbs_links.html]使用 UDDI 注册中心



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15221/showart_1714422.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP