SOA全名为面向服务的体系结构(Service-oriented architechture) 它是一种软件架构模型。SOA将应用程序的各个应用的各个功能单元间通过定义良好的接口和契约联系起来,而这种不同功能单元被作为服务。服务间接口是采用中立的方式定义的,它独立于实现服务的硬件平台,操作系统和编程语言等环境。这样,服务间将采用通用的,统一的和系统平台无关的方式进行交互。SOA的特性是“服务的封装”,“服务的重用”和“服务的互动”。SOA系统的需求源自于业务应用系统需求,SOA系统可以根据业务的需要不断的将每一个独立的“服务”组合,以适应不断变化的环境,比如经常改变的合作伙伴关系,业务级别,业务重点,政策,行业地位以及其他与业务有关因素的更改,每一个服务都是一个独立的个体。
2.SOA的应用
SOA并不是一种新的技术,它是一种应用架构模型,是不完全依赖于技术的应用架构模型,SOA的技术实现方式可以有多种,是多种技术的集合模型,其次,SOA是通常基于可扩展标记语言(xml),通过使用WSDL语言(称为web服务描述语言Web Service Definition Language,WSDL)来描述接口。再次WebService并不是实现SOA唯一方式,还有CORBA。SOA鼓励使用可替代的技术和消息机制,通过把服务联系在一起,来满足应用,而且SOA的系统并不排除,使用面向对象的设计来构建单个服务。
SOA的一个中心思想就是企业应用彻底摆脱面向技术的解决方案的束缚,轻松自如的应付对企业商业服务的变化,发展的需要。企业IT架构环境中单个应用程序是无法包容用户的各种业务需求的,即使是一个大型的ERP的解决方案,仍然不能满足这个用户不断膨胀变化的业务需求。原来为了对市场快速做出反应,商业企业只能通过不断开发新应用,扩展现有应用来支撑其现有业务需求,今后商业企业采用SOA后,通过将注意力放在服务上,应用程序能够集中起来提供更加丰富,目的性更强的商业流程,其结果就是,基于SOA的企业应用会更加真实地反映出与业务模型的结合,SOA商业应用思想是为:“业务驱动服务,服务驱动技术”。服务是从业务流程的角度来看待技术的,这同一般的从可用技术所驱动的商业视角不同的,服务的优势已经清晰可见的,服务同业务流程结合在一起能够更加准确地表示业务模型,更好地支撑业务流程。