论文部分内容阅读
SOA(Service Oriented Architecture)是由IBM, Microsoft等软件公司倡导的一种新型的企业级系统架构,2005召开了第一届SOA年度大会。SOA引起了越来越多人们的关注。SOA强调业务流程的分离,也就是说将企业的业务逻辑从传统的紧耦合实现中分离成可部署的服务组件;SOA强调的另外一点是,服务使用者(消费者)可以不用考虑该服务的技术实现和运行环境,静态或者动态地得到服务对外提供的功能。服务对服务消费者而言,完全透明。实现SOA,最难控制的是服务的粒度,是系统架构师需要权衡的工作。笔者不建议所有的企业级系统架构都使用SOA。事实上,SOA只适合大型的企业应用环境。从紧耦合中分离出来,以便网络化的服务组件肯定会损伤系统的反应性能(Response Performance)。但从另一个方面看,分离出的组件在集成企业遗留系统(Legacy)和扩展新应用方面具有极大的价值。EJB-CORBA交互是实现SOA的传统解决方案。SUN公司提出了EJB组件规范。按照EJB规范,使用JAVA编写的组件,可在EJB容器轻松部署,成为可查找利用的服务元素。EJB不是严格的SOA,在于EJB要求服务的实现和使用服务的客户端都必须使用JAVA完成。CORBA是为分布式对象系统设计的标准解决方案。CORBA对象之间可以使用标准协议,通过网络直接进行通信,而不用考虑创建对象的编程语言,及对象的运行平台。如今,在实现SOA方面,开发人员有了更好的选择─Web Service。在W3C组织的倡导下,各大软件厂商积极响应,Web Service技术日益成型,并成为实现SOA准则的最佳技术。Web Service涉及很多复杂技术。服务请求和服务响应者之间的数据传递使用SOAP协议;服务的细节进行描述使用WSDL;服务请求者在使用服务之前,可使用UDDI查找定位服务。本文先从理论上对SOA和传统的OOM(Object Oriented Model)在系统架构方式上的不同进行比较,然后结合实际应用,系统而全面地介绍了如何使用EJB-CORBA交互和基于XML的Web Services技术,进行基于SOA架构的应用开发。