Java EE的Web服务体系结构

2016-12-31 00:00:00嘉辉 J2EE培训

  Web服务(Web Services)是目前程序设计领域中的一项新技术,是一个崭新的分布式计算模式,在不同系统平台之间具有互操作性,通过因特网,实现不同应用程序之间的远程过程调用。下面小编为大家整理了关于Java EE的Web服务体系结构,一起来看看吧:

  Web服务使用基于XML 的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使异类系统能够作为单个计算网络协同运行。开发人员可以用象过去在创建分布式应用程序时使用组件一样的方式创建将来自各种源的Web服务组合在一起的应用程序。

  Web服务是建立在一些通用协议的基础上,如HTTP,SOAP,XML,WSDL,UDDI等。这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此将会有很强的生命力。

  商业功能性

  重要的是要理解,商业机构不会选择他们现有的基于J2EE应用程序,并把他们的EJB展示为Web服务的。虽然用Web服务平台或目前市场上出售的工具在技术上是可行的,但是在商业上这样做是没有现实意义,因为商业不在组件中展示方法调用。

  在商业上他们展示的是商业功能,这些功能会转换成一系列执行该商业功能所需要的协调动作。在即时返回服务消费者的响应中可能有也可能没有结果,还可能需要几天的时间才能完成。商业也需要通过多层开发系统的功能性,需要记住几个安全性等级和由不同的内部应用程序使用。

  例如,假设有一个在因特网上售书的商业机构G,比方说,他们决定在因特网上把一项在线订书服务展示为Web服务。当顾客下订单的时候,订单信息在商业企业G内部启动了一个交易过程。这个交易过程需要执行多项行动,例如,检查图书订单的总量或执行一个财务事务处理过程。这涉及到顾客把钱划到商业G账上,最后,给运输部门送一份消息,让他们把书送给顾客。

  从图5中的J2EE系统功能图可以看出,这个交易过程可能需要与各种EJB发生交互作用,而这反过来又与企业信息系统或跨机构的数据库产生交互作用。在所有这些交易过程中,交易的完整性以及顾客想从认真企业级的交易过程中得到的任何其他标准都需要保存起来。

  Web服务系统

  Web服务系统类似于J2EE中的容器(container)的概念。它给执行Web服务提供了一个运行时间环境。为了进行讨论的目的,完全可以说在较高的级别上Web服务系统会包含一个Web服务运行时间环境,该运行时间环境能接受SOAP请求并把它们映射到对应的Java组件,即在商业功能性中共享的Java类或EJB。同时,从该商业过程中收集的所有结果都是可靠的,并被封装在SOAP响应中,送回Web服务的客户机。

  Web服务器

  Web服务器是从Web服务客户机发出SOAP请求到服务提供者收到这个请求的过程中最主要的网关。Web服务器通过HTTP协议进行通信,通常在端口80收听。因为SOAP消息需要在HTFP上传输,所以它很适合进入我们的XML消息层和传输层。我们在图5上应当注意到的一件重要事情是,事实上WSDL文件是存放在Web服务器上的,因为这样它给服务的消费者提供了全球性的可访问机制,使他们能查阅WSDL技术规范。

  因此,如果我们提供了一个在UDDI注册表作为URL引用的WSDL文件的话,服务消费者就可以很容易地通过URL找到该WSDL,并对它进行转换,以确定该机构支持的服务和服务的终端。

  Web服务器还在整个系统中执行另外一种重要功能。这种功能会把适当的SOAP请求转送到Web服务系统去。

  Web服务客户机

  Web服务客户机是Web服务的消费者。由于Web服务是不确定平台的,因此用目前任何一种主流编程语言写成的客户机都可以调用Web服务。例如,它可能是一个Java程序,一个Visual Basic程序或者一个C++程序。Web服务客户机要做的第一步工作是查阅UDDI信息,查找能提供它感兴趣的Web服务的商业。

  从UDDI信息中重新得到WSDL URL引用,并从可公开访问的URL下载WSDL文档。通常,URL指的就是从图5中的Web服务器。一旦得到了WSDL文件,服务消费者就有了调用该Web服务所需要的技术信息。技术信息我们指的是该Web服务中的方法。该方法需要的参数,该方法的数据类型和终端信息。可以根据WSDL文件产生SOAP客户代码,然后再把产生的SOAP客户代码嵌入到客户机巾,以便调用该Web服务。

[J2EE培训]相关推荐

[J2EE培训]相关栏目推荐
查看更多
上一篇:UML的基本概念 下一篇:j2ee学习方法步骤