SOA,面向服务的架构。是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。
1、产生
产生于对现有应用的集成和对业务变更的快速的适应。
当前的IT业界的现状是各种异构的平台和应用大量的存在,要将这些现存的资源进行再利用,必须使其成为能够灵活集成并且平台独立的“服务”。
2、服务
所谓服务,可以理解为向外界提供统一的接口的功能实体。
对象——>组件——>服务。
对象是封装了状态和操作的细粒度对象,组件由多个对象构成,能够提供独立功能并且可以同其他组件交互的粗粒度的的实体。而服务就要更加上一个层次,它可以由一个或多个组件构成,向外界提供统一的调用接口,更进一步的粗粒度。
3、体系结构
服务由服务提供者提供,供服务使用者调用,中间的过程依赖于服务描述和服务注册中心。服务提供者将自己的服务描述在服务注册中心注册,服务描述中说明服务的功能(对外提供的接口)和绑定办法,服务的调用者根据自己的需求查询服务注册中心,获得能够满足需求的服务描述,根据服务描述中的绑定办法绑定服务。主要结构如图所示:
4、商业应用:服务的集成
我的理解是服务好比积木使用的一个一个的木块,不同的搭法可以产生不同的“作品”,可以是城堡或者坦克。这个搭的过程就是服务的集成的过程。应用由业务流程决定,所以每一次的积木挑选就是服务的调用,搭建门廊需要圆拱形的积木,那么要处理数据的存储就需要数据库服务的调用。
明确业务流程,才能正确调用需要的服务,完成需要的功能
5、SOA架构,规范服务的集成
SOA架构主要完成两个方面的功能:完成功能需求,集成服务实现业务流程;并且保证质量需求。
|