使用J2EE建立基于XML的网络服务
1 概述
使用XML标准的网络服务(Web service)是B2B交互模型的一个新的规范。它提供了一个概念和架构的基础。这些可以借助于不同的平台和产品可以得到实现。今天,开发者能够使用Java 2 Platform, Enterprise Edition(J2EE)来建立基于XML的网络服务。我们可以利用已有的J2EE技术来建立一个完全的、互操作的适合于XML的网络服务。不需要从根本架构的重构,也不需要建立一个增强的J2EE系统,开发者就能够创建复杂并且强有力的网络服务。
2 介绍
网络服务接收其它系统来自Internet或者Intranet通过轻量、不依赖开发商的通讯手段传输的请求,这些通讯技术使得所有可以连接Internet的系统之间能够交互。随着这些技术的成熟,网络服务将能够包含更多的适合于多方的B2B合作的特殊功能。
网络服务已经开始演变得可以以十分智能和动态的方式进行操作。这些“聪明”的网络服务将懂得每个请求的内容并且动态产生不同状况下的返回结果。这些服务能够根据用户认证、参数选择、定位等信息来调整自己并给出请求原因。多个服务能够被动态组合到一起,合作生成一个统一的定制的解决方案,这种各种合作的机制能完全对用户透明,用户只需要知道最终的集成结构就可以了。
在一个商业网站的建设中,要建立网络服务需要经历有三个主要的挑战,它们是:
l 建立客户层的连接,它使得Applets、应用程序、商业伙伴以及PDA用户都能够连通和使用此网络服务
l 实现网络服务,它包括工作流逻辑、数据传输逻辑、商业逻辑以及数据访问逻辑。它是网络服务后台提供对客户的功能支持的基础。
l 连接到后端系统,它可能包括一个或多个数据库,现存的企业信息系统、商业伙伴发布的网络服务以及公共的、被多个系统共享的用户信息库。
Web services 实际上是基于XML的针对商业、应用程序以及系统服务的接口。实际上是建立在一系列已有的技术基础上的一个新的概念。如何建立一个Web service呢?下面的技术获得了工业界普遍认同。
l 服务提供者建立、组织和发布网络服务。它的手段是多样的,可以使用编程语言(例如Delphi,Java,C#等)、中间件或其它特殊平台来完成。
l 服务提供者用WSDL (the Web Services Description Language )来提供服务描述。. WSDL文档向第三方提供服务描述。
l 服务提供者向UDDI (Universal Description, Discovery, and Integration ) 注册表注册网络服务。UDDI使得开发者发布服务并且可以通过软件搜索其它人提供的服务。 用户将通过搜索UDDI 注册表来搜索服务。
客户端应用程序通过和网络服务绑定并且通过SOAP (the Simple Object Access Protocol )来激活网络服务相应的操作。SOAP 提供XML格式的参数和返回结果,并利用HTTP传送。所有网络服务都通过SOAP通讯。
图1描述了一个基于J2EE的网络服务系统的架构。需要注意到,很多API没有在本图中显示,它们被用于分析和通讯。然而,本图描绘了基于J2EE的网络服务系统中主要的标准、协议和主要的子系统。
图 1 基于J2EE的网络服务系统中主要的子系统和协议