1、 j2ee的Web服务(SUN ONE和IBM)
2、 .NET的Web服务
3、 j2ee与.NET 的Web服务比较
Microsoft .NET与Sun j2ee是目前企业Web服务(Web Services)平台市场上两个最重要的应用框架。在本文中,我们首先介绍j2ee(以SUN ONE和IBM为例)的Web服务与.NET的Web服务,然后比较两种Web 服务平台的差异,以便帮助大家能够很好地理解Web服务。
一、j2ee 的Web服务
Java 2 Platform, Enterprise Edition (j2ee) 被设计成专门用来解决多层式企业解决方案的开发、布署以及管理上的问题。在Sun所带领的诸多厂商的努力之下,j2ee 已经成为一种业界标准。j2ee 在以往的Java程序语言中被定位成开发伺服端应用程序的架构。它可以被用来建置传统的网站,软件组件或是Web应用程序。到了最近,j2ee更被扩充成可支持XML Web Services的标准。这些Web Services可以和其他用j2ee或非j2ee标准所开发的Web Services沟通。
商业层级负责商业程序与资料逻辑。在大型规模的j2ee应用程序中,商业逻辑是利用Enterprise JavaBeans (EJB) 组件技术所建置。由此可知,这个层级专门用来负责商业程序以及资料逻辑的处理。它可以透过Java Database Connectivity (JDBC)、SQL/J来连接数据库,或是透过Java Connector Architecture (JCA)技术来连结既有系统。它更可以利用Java用来处理XML的API (JAXP, Java API for XML Processing),并透过Web Services技术(包括:SOAP、UDDI、 WSDL以及ebXML)来连接其它协力厂商所提供的商业应用程序。
因此厂商们可以透过Web Services技术(包括:SOAP、UDDI、 WSDL以及ebXML)让j2ee程序彼此连接起来。所以只要利用Java Servlets (这是一种支持HTTP请求/响应的Java技术)就可以从协力厂商的Web Services中接受请求了,并予以响应。Java Servlets使用JAXP/JAXR/JAXM/JAX-RPC等技术来提供Web Services运作时的所有功能。Web Services目前是扩充链接库的型态存在,目前已经着手将Web Services并入j2ee下一版的规格之中,并成为业界共通的标准。
传统的客户端程序,例如Java Applet或桌面应用程序,将直接以Internet Inter-ORB Protocol (IIOP)来连接EJB组件而非透露Web Services,如果要使用Web Services也可,但是因为通常客户端的应用程序都会和j2ee应用程序出自同一家厂商,因此根本不需要XML Web Services来扮演沟通的角色,就算真的有需要,也是没有问题的。浏览器以及无线装置则可以连接到Java Server Pages (JSP),这些JSP则有着各企业自行使用HTML、XHTML或WML所设计的使用者界面。
(一)Sun ONE的Web服务
1、Web服务体系结构
Sun ONE(开放式网络环境)软件体系结构是一种生机勃勃的系统体系,随着有利于增强该软件环境的新技术的不断出现,它将继续扩展。图1概括显示了Web服务体系结构主要部件的高级功能。
图1顶部是服务创建与汇编框。这一部分显示根据Web服务模式开发系统而使用的工具。通常,Web服务由一系列分离式服务部件组成,这些部件采用实例描述各种内容、商务逻辑和应用。因此,服务开发过程涉及两个不同阶段。
第一阶段涉及创建分离式服务,Sun ONE软件体系结构称之为微观服务。第二阶段是把微观服务汇编成整合服务,或宏观服务。开发人员使用集成开发环境、代码生成器、XML编辑器和创作工具,构建微观服务。(本文将在下面提供关于微观服务开发模式的详细信息)。服务汇编人员使用商用过程模式工具、工作流工具和其它类型的粘贴工具,汇编宏观服务。汇编人员还使用方针工具定义商务规则、安全方针,以及运行时可以动态方式改变宏观服务的与用户信息相关的方针。服务测试完毕后,就可以随时安装于部署平台,方针和规则可以部署于一个开放式目录。管理工具提供部署和管理服务环境的功能。
位于图1服务创建与汇编框的下部的是已部署服务框,它由商务服务(宏观服务)与服务部件(微观服务)组成。微观服务可以汇编、配置或再配置成任何数量的宏观服务。