W
SOA的核心思想是由擅长软件开发的技术人员把一个个的业务功能包装成一个个标准的服务,精通商业流程的专家通过组合这些服务可以很容易的搭建功能完善的企业应用,或者重新组合这些服务成全新的应用以满足企业的不断变化的需求,服务之间通过定义良好的接口和契约彼此联系。通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程。SOA具有松散耦合、位置透明、协议独立等一系列特征,可以最大限度的利用现有资产,增加重用,提高效率,降低成本,使我们的 IT 环境更灵活且更快地响应不断改变的业务需求,最终帮助企业转变为服务驱动型企业,成就商务自主。
面向服务的体系结构所涉及的技术至少包括CORBA、DCOM、JINI和J2EE。随着近年来XML和Web服务的发展,这二者已经在SOA上担当了重要的角色。虽然通过JMS、JDBC、.NET Remoting、IIOP乃至CORBA和TCP/IP都可以成为SOA的技术实现架构,但运用Web服务标准却是我们目前针对与外部软件交互的最佳方法。在跨越企业应用方面,Web Services逐渐成为主流的协议。
目前有一系列基于XML的Web服务标准己经被业界广泛接受,形成了Web服务的核心支撑技术:服务的提供者可以用WSDL描述Web服务;用UDDI注册中心发布、注册Web服务;服务的请求者通过UDDI进行查询,找到所需的服务后可以利用SOAP(Simple Object Access Protocol)来绑定、调用这些服务;使用WS-BPEL可以对服务进行编排、组合,构建可执行的业务流程。使用Web服务构建SOA可是使业务流程通过与其他业务流程和应用程序进行交互而轻松扩展。Web服务继承了XML语言的优势,是一种与开发语言、平台无关的开发技术,并采用和支持国际公开的开放技术标准规范。
针对业已公布的标准,许多企业都开始着手对面向服务的体系结构予以实现和推广,很多都已经创建各种实验性SOA项目,各大软件厂商也都开始了对SOA项目实施以及支撑平台的研究与开发,当今流行的各种中间件产品也对Web服务和SOA提供了大力的支持。BEA公司在其Workshop 应用框架基础上提出了一个开放源代码计划——蜂巢计划(Project Beehive),并将其贡献给了Apache,旨在为开发人员提供下一代的开发和集成工具来跨越 J2EE 应用开发而步入面向服务的架构开发领域,其应用服务器WebLogic Server 9.0被誉为企业开发和部署SOA的最佳平台;IBM的系列产品线支持SOA开发部署的全过程;Eclipse在2005年又增加了一个SOA项目;Oracle 服务导向架构套件(Oracle SOA Suite)是一组全面的、基于标准的中间件产品,融合了易构建、易配置、易管理且服务导向架构的多个特性。该套件具备的“插座式”能力使客户在利用现有中间件技术的同时可充分享受到服务导向架构(SOA)的种种益处,Oracle的JDeveloper
但是,SOA作为一种软件体系架构,一种软件工程方法,其分析、设计原理和方法却远远没有其支撑平台发展这么快,目前SOA的分析设计还缺乏一个统一的标准。支持平台的发展为我们解决了SOA架构实现中开发、运行时的技术需求,但是SOA中最重要、最困难的部分——架构层次的划分及服务的构建还缺乏一个统一的标准指导,各个组织在构建自己的SOA应用时,对服务的分析和设计往往还是凭借主观经验,这也导致了服务设计不合理,服务之间的交互性受到影响,尤其在跨越应用以及Internet时这种情况更加显著,因此,SOA的分析、设计方法值得进一步探讨,特别是如何利用UML来表达分析和设计的成果。

浙公网安备 33010602011771号