现在,无论您的企业应用程序是部署在小型家庭商店中,还是跨多个领域的企 业基础设施的一部分,无论应用程序是否与他人协作,它都必须支持 Web 服务。
途径
现代企业往往是非常复杂的系统,每天要面对许多机会和挑 战。许多机会涉及到与其他系统和企业进行集成或协作。因此,明智的企业应用 程序开发人员要确保别的应用程序可以轻松地访问自己的应用程序。Web 服务就 是提供这种可访问性的好方式。
Apache Geronimo 应用服务器支持 Web 服务以及最新 Java 2 Platform, Enterprise Edition(J2EE)规范的其 他特性。为了演示 Geronimo 应用服务器中的 Web 服务支持,IBM Advanced Technology Solutions 团队已经决定改进一个软件模拟程序,这个程序模拟了简 单的银行场景,是为以前的一篇 developerWorks 文章 “使用 Geronimo 构建安全的企业基础设施”(developerWorks,2005 年 7 月)开发的。
本文使用的业务场景实现一个资金转帐用例。零售银行客户(用户)可以访问 这个应用程序,将资金从自己的帐户转出来,审计员可以监督所有银行事务。现 有的资金转帐应用程序得到了改进,允许 Web 服务使用 Simple Object Access Protocol/Hypertext Transfer Protocol(SOAP/HTTP)和简单的 Web 服务客户 机来提供后端功能。
什么是 Web 服务?
Web 服务是一段应用程序 业务逻辑,可以使用普遍存在的 Web 协议和数据格式(比如 HTTP 和 SOAP)来 执行。自从 J2EE 1.4 发布以来,Web 服务已经融入了 J2EE 中。在 J2EE 上下 文中,Web 服务被认为是后端实现的外观(facade) —— 后端实现 可能是 Enterprise JavaBean(EJB)或 servlet。下面的工件组成了 Web 服务 :
一个 Web Service Definition Language(Web 服务定义语言,WSDL)文档, 描述服务接口和端口。
一个服务端点接口,它由服务器部分实现,用于在客户机上调用服务方法。来 自 WSDL 的绑定映射到这个端点接口,WSDL 绑定是 WSDL 的一部分,定义了 Web 服务的协议。
Java API for XML-based RPC(JAX-RPC)描述符,包含从 XML 到 Java 技术 的不同映射,比如将来自 WSDL 文档的 XML Schema Definition(XSD)类型映射 到 Java 类型,以及将 XML 元素映射到端点接口方法参数。
服务实现 —— EJB 或 servlet。
Web 服务部署描述符 webservices.xml。
以下几节开发这些工件,为 Geronimo 构建一个支持 Web 服务的应用程序。