在面向服务的软件开发环境中,系统可以是高度分布、异构的。它一般包括服务运行时环境(Service Runtime)、服务总线(Service Integration Infrastructure)、服务网关(Service Gateway)、服务注册库(Service Registry)和服务组装引擎(Service Choreography Engine)等,如图3-1所示。
图3-1 SOA软件开发环境的组成要素
服务运行时环境提供服务(和服务组件)的部署、运行和管理能力,支持服务编程模型,保证系统的安全和性能等质量要素;服务总线提供服务中介的能力,使得服务使用者能够以技术透明和位置透明的方式来访问服务;服务注册库支持存储和访问服务的描述信息,是实现服务中介、管理服务的重要基础;而服务组装引擎,则将服务组装为服务流程,完成一个业务过程;服务网关用于在不同服务软件开发环境的边界进行服务翻译,比如安全。
面向服务的软件开发环境是开放的、标准的,由图3-2所示的技术标准协议栈所定义和支持,例如Transport层的HTTP协议、Service DescrIPtion层的WSDL、Business Process层的WS-CDL等、与Policy相关的WS-Policy。本书后面的章节将讨论所有统称为WS-*的标准和协议。
图3-2 SOA软件开发环境的标准协议栈
面向服务的软件开发环境,为IBM所定义的随需应变软件开发环境奠定了现实基础。随需应变软件开发环境应具备以下特点(见图3-3)。(www.xing528.com)
图3-3 随需应变的软件开发环境应该具备的特点
(1)整合:将人、过程、应用和数据全面整合起来。
(2)虚拟化:将分布、异构的物理资源(服务器、存储设备等)整合起来,呈现为统一的逻辑对象,以安全和可管理的方式供使用。
(3)自主计算:如同生物体一样,系统具备一些高级生物系统的能力,包括自我诊断和修复问题,自动配置和调整以适应环境的变化,自动优化资源的使用效率、增强工作负荷的处理的能力,自我保护数据和信息的安全。
(4)开放标准:整个环境建立在开放的标准之上,保证系统的交互性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。