Java Web Services与面向服务架构(SOA)的探索
1. Java Web Services(JWS)概述
现代企业级Java应用需要支持面向服务架构(SOA)原则,而Web服务是大多数SOA应用的基础。Java EE 5和Java SE 6包含了一系列Web服务标准,如JAX - WS(前身为JAX - RPC)、JAXB、Web Services Metadata(WS - Metadata)、SOAP with Attachments API for Java(SAAJ)以及Web Services for Java EE(WSEE),这些标准合称为Java Web Services(JWS)。
SOA应用由松耦合的Web服务构建而成,企业Java开发者自然会借助JWS工具来创建SOA应用。主流企业Java供应商也将JWS技术作为SOA应用的首选开发平台。所以,JWS标准对于企业Java的SOA开发至关重要,松耦合的SOA应用能让业务流程更灵活,适应快速变化的全球市场。
然而,Java Web Services的学习曲线较陡。部署一个Java类作为Web服务或创建一个简单的客户端来消费这些服务,都需要复杂的操作。例如,简单的“Hello World”应用能正常运行,但部署采购订单系统时,问题就变得复杂了。要么起始的WSDL编译成大量奇怪的类,需要手动包装并映射到实际的采购系统;要么从Java类生成的WSDL不符合需求。
2. JWS的优缺点
JWS有其优点,但也存在弱点。JWS标准采用以Java为中心的Web服务开发方法,在处理现有的SOA标准,以及将Java应用映射到现有的XML Schema文档和WSDL时,这种