1.什么是SOA
SOA(Service Oriented Architecture,面向服务的架构)是一种面向服务的架构方法。SOA的核心概念是重用和互操作,它将企业的IT资源整合成可操作的、基于标准的服务,使其能够重新组合和应用。与传统的紧耦合IT架构相比,SOA的松耦合架构更能适应企业的变化。
服务并非单指WebService,比如EJB、JMS、JavaBean、Corba等。
2.为什么要使用SOA
SOA中,可以用一个服务替代另一个服务而无需关心其底层的实现技术,唯一要考虑的就是服务接口;SOA带来的另一个好处就是可以充分利用现有的IT资源,包括遗留应用和数据库。
3.SOA中间件软件
SOA的中间件软件有很多,这里重点介绍Apache的Tuscany的研发方法。Tuscany通过提供一个综合的SOA开发架构简化了SOA解决方案上的开发和管理任务,Tuscany基于标准的SCA实现。Tuscany的开发方式有诸多好处。
4.SOA相关技术标准
SCA(Service Component Architecture,服务构建架构)提供了一种编程模型,可以支持基于SOA的应用程序实现。SCA体系主要是SCA和SDO两个规范:
SCA规范包括了装配模型和客户端模型两部分,前者约定了如何将异种构建装配并发布成服务;后者则约定如何在异种语言环境中调用服务,从而解决服务从服务端到客户端的跨语言、跨环境的问题。
SDO(Service Data Object,服务数据对象)统一和简化了应用程序处理数据的方式,有了SDO,应用程序人员就可以用一致的方法操作异构数据源,包括关系型数据库、XML数据源等。
SCA规范中名词含义:
*构建:装配和表达业务功能的基本单元
*实现:构建的功能具体是如何实现的
*接口:接口定义了1—n个业务功能
*组合构建:包含若干个构建、服务、引用等
*属性:通过属性可以给实现传递一些外部的数据
*引用:构件的引用可以引用其他的构件和组合构件
*服务:将构件和组合构件采用一定协议发布,够外界访问
*连线:引用关系
*绑定:用于将构件绑定为一定的协议对外发布