2、Web服务开发模式
尽管可以使用任何编程语言开发Web服务,但Sun ONE软件构架基于Java平台。Java平台包括XML本机支持。Java API for XML Processing (JAXP)为连接DOM、SAX和XSLT,提供一个Java接口。面向XML的其它Java API,通过Java Community Process Program,正处于不同的发展阶段。Java API for XML Data Binding (JAXB)把XML数据和Java代码相连接。开发人员使用JAXB把XML模式信息编译成Java对象。在运行时,JAXB自动把XML文档数据变换成Java对象,反之亦然。Java API for XML Messaging (JAXM)为连接ebXML MS、W3C XP和SOAP等XML信息传递系统,提供一个本机Java接口。Java API for XML Registries (JAXP)为连接XML注册器和仓库提供一个接口,例如ebXML注册器/仓库与UDDI商务注册器。一种新的Java技术规范请求已经提交JCP,以便定义Java API for XML RPC (TAX/RPC),后者将为适用于XML信息传递系统的RPC编程常规,提供直接支持,例如SOAP和即将出台的W3C XP。
3、Web服务接口
Web服务通过标准Web协议,例如HTTP,传送XML文档,由此实现通信。Web服务接口实现生成并消费XML信息的代码。Sun ONE软件体系结构建议采用3类XML信息传递系统:即SOAP、ebXML MS和将来的W3C XP。
SOAP是一种轻型可扩展XML信息传递协议。尽管SOAP是通用XML信息传递服务,但特别适合于RPC类服务调用。SOAP信息是一种XML文档,由标题与正文组成。信息数据用XML详细说明,并封装于SOAP正文中。SOAP支持RPC编程常规,后者将自动把输入输出参数和SOAP信息正文里的XML元素相连接。由于XML文档不能包含另一个XML文档,故SOAP信息不能包含一个完整的XML文档,例如采购订单。SOAP协议还不支持多媒体文件的附件或其它非XML数据。SOAP不提供服务质量(QoS)框架。可以通过Apache软件基金会,获取实现SOAP接口的Java工具。基础 SOAP环境可以扩展,以支持QoS框架,但现在还不能实现。
ebXML MS是一种XML信息传递服务,是为了支持B2B商务需求而设计的。EbXML信息是一种多方/MIME封装信息,可以传输任何数量的XML文档和非 XML附件。ebXML不支持RPC编程常规,但支持QoS框架以保障可靠地交付信息。QoS框架可以扩展,以支持安全与交易语义。
W3C XP技术规范处于开发之中。关于W3C的工作进展细节未向外界透露。 Web服务接口是作为运行于Web服务器内的JSP页面或服务器小程序予以实现的。JSP页面/服务器小程序接收XML信息,并析取XML文档。当前,该过程以人工方式执行。将来,开发人员可以使用JAX或JAX/RPC,以更有效的方式处理XML信息。然后,JSP页面/服务器小程序接收XML文档,把文档数据变换成Java对象数据。今天,开发人员可以使用JAXP处理XML文档,将来可使用JAXB自动把文档和Java对象相连接。
总之Sun ONE软件构架旨在帮助开发人员成功地创建Web服务。当前可用的Web服务技术,仍然处于初期发展阶段。但这并未阻止开发人员向这个令人惊奇的新领域拓展。Web服务代表了下一代软件。而Sun ONE软件构架为帮助开发人员整合各种XML标准、技术和计划,提供了一种指导原则。Sun ONE的开发模式为执行开发项目打造了一个基础,它表明哪些技术和API应该用于Web服务的各个层面。Sun将继续提供工具、技术、规范和建议,推动 Web服务计算模式向前发展。
(二)J2EE的Web服务开发环境说明
1、JWSDP 1.1
Java Web服务开发包(JWSDP)1.1是一个集成工具包,Java开发者可以用它来构造、测试、部署XML应用程序、Web服务和Web应用程序。WSDP 1.1包含了JAXB(Java Architecture for XML Binding)的最终版本和JWSDP 1.0所包含的所有技术的最新版本,包括:
# XML技术
Java Architecture for XML Binding (JAXB) v1.0
Java API for XML Messaging (JAXM) v1.1.1
Java API for XML Processing (JAXP) v1.2.2
# Web服务技术
Java API for XML Registries (JAXR) v1.0.3
Java API for XML-based RPC (JAX-RPC) v1.0.3
SOAP with Attachments API for Java (SAAJ) v1.1.1
Java WSDP Registry Server v1.0_04
# Web应用程序技术
JavaServerPagesTM Standard Tag Library (JSTL) v1.0.3
Apache Tomcat 4.1.2 container
Java WSDP 1.1集成了此前Java XML包中的所有技术。增强的安装程序使得用户能够根据特定的开发需求选择自己要安装的技术子集。
2、SUN ONE 的Web服务开发集成平台
2003年3月19日,Sun发表了支持Java的Web服务和应用开发集成平台“Sun ONE Web Services Platform Developer Edition”。Sun解释说:“可以一次性安装所有的基于网络的企业应用开发所必须的工具”。 Sun ONE Web Services Platform Developer Edition为套装产品,包括集成开发环境(IDE)、门户、网络认证、应用和综合服务器功能等的开发工具和可以直接应用的服务器软件。“由于开发人员一次性操作即可轻松完成安装工作,因此不费什么劲就可以使用”。另外,由于事先安装了“Sun ONE Studio IDE”扩展插件,因此开发工作将会变得非常轻松。 “由于各工具和服务器软件甚至可以不受任何限制地使用利用最新硬件进行了验证的POC(Proof-of-Concept),因此能够大幅缩短产品开发所需的时间”
该平台包含以下内容:
【服务器软件】
Sun ONE Application Server SE(包括Java Web Services Developer Pack);
Sun ONE Portal Server;
Sun ONE Identity Server;
Sun ONE Integration Server EAI Edition。
【开发工具】
Sun ONE Studio Enterprise Edition for Java(用于J2EE应用,以及支持Java的Web服务开发);
Sun ONE Portlet Builder;
Sun ONE Connector Builder for building Java 2 Platform、Enterprise Edition及Connector。
【所支持Web服务平台标准】
Sun ONE Application Server包含了Java Messaging Server(JMS)/J2EE Connector Architecture,对基于J2EE的集成技术提供支持;
支持Java Web Services Developer Pack中的全部API(JAXM,JAXP,JAXR,JAX-RPC,SOAP,WSDL,UDDI);
在该平台的未来版本中,准备支持Java Business Integration Java Specification Request(JSR)和WS-I Web Services Profile等今后将亮相的主要集成标准。
3、J2EE 1.4
J2EE 1.4提供了在J2EE中开发Web Service的基础,此外还对开发工具做了一些重要的增强,在应用程序部署和服务器管理方面也提供了新的标准,在集成性和安全性方面有所增强,提升了 J2EE开发Web应用程序的能力。在编程模型方面的重要变化包括JSP表达式语言、简化的标记库等。EJB 2.1中提供了新的timer服务,查询语言(QL)也有所增强。J2EE Connectors规范和独立于消息类型的EJB提供了对双向通信的支持。
(三)IBM的Web服务
1、IBM开放的 Web 服务战略
Web服务是IBM电子商务战略的自然延续,IBM最先提供了用于开发部署 Web 服务的软件。IBM 一直是开放标准的支持者,并提供了业界最开放的互联网基础设施软件。IBM 参与了许多标准组织的活动,如OASIS, Apache和 W3C等。通过 alphaWorks 为开发者快速提供源代码,并支持 Apache 及其他开放资源的成果。同时,IBM正在引领着许多未来互联网开放标准和科学技术的开发进程。
基于开放标准,IBM已经建立了业内最全面的开放基础架构集合。所有IBM的中间件都全面支持互联网开放标准,以实现Web服务应用的发展。IBM 的中间件是一个基于开放标准的基础架构核心。对其提供的相关支持涉及IBM所有中间件--DB2,Lotus, Tivoli 以及WebSphere软件。DB2是业界唯一支持UDDI和SOAP的关系数据库。在DB2/XML扩展器的支持下,DB2使Web服务应用软件能够访问存储在DB2或其它数据库中的数据,企业便可以更方便快捷地访问、分析和管理多计算机系统中的信息,通过与合作伙伴之间信息共享,提高效率,降低成本,从而实现对当前业务的快速集成。
Lotus已经宣布了支持Web服务应用的计划。其增强版很容易将协作、知识探索以及电子学习集成到Web服务应用中,使开发人员从中受益。这些集成将给客户和合作伙伴好处,使信息的传播和交流更方便快捷。用于WebSphere应用服务器的Tivoli Manager提供单点控制的功能,实现企业对分布式环境的成功管理,即通过WebSphere应用服务器主机控制Web服务应用程序。Tivoli SecureWay Policy Director使成千上万的IBM WebSphere开发人员和客户能够将可靠的安全规则植入他们的Web服务应用程序中。Tivoli SecureWay产品和IBM中间件产品(如WebSphere 和 MQSeries)的紧密集成为Web服务应用程序提供了基于规则的安全保护。
2、IBM WebSphere 平台提供目前最全面的 Web 服务功能
IBM WebSphere 是IBM Web服务战略的核心,是业内第一个实现Web服务的各项功能成熟的基础架构软件,可以使企业的电子商务应用程序根据需求轻松地与企业内部或外部的贸易伙伴之间的应用自动连接。
IBM WebSphere 的开放服务基础架构是其领先Web服务的基础。WebSphere支持所有开发、发布和配置Web服务应用的开放标准和技术,包括UDDI, SOAP, J2EE, WSDL和领先的XML技术,使Web服务贯穿了整个IBM WebSphere 产品线。
WebSphere 使软件开发人员可以创建、测试和部署Web服务应用,并将他们与现有业务处理过程相连。它还可以通过UDDI注册向现有或潜在贸易伙伴提供Web服务应用。WebSphere的自带UDDI注册可以帮助企业实现内部处理过程自动化,也体现了IBM一贯重视开发和加强UDDI的态度。通过应用开放标准, WebSphere可以实现与使用SAP、Peoplesoft、IBM CICS、IMS等不同厂商产品开发的行业业务应用的连接与集成,并提供了将现有的应用、流程和数据转换为 Web 服务的无可匹敌的能力。
