“soa”名词解释
1、“soa”的概念
SOA(Service-OrientedArchitecture,面向服务的架构):
是一种在计算机环境中设计、开发、部署和管理离散模型的
方法。SOA不是一种新鲜事物,它是在企业内部IT系统重复
构建以及效率低下的背景下提出的。在SOA模型中,所有的
功能都被定义成了独立的服务,所有的服务通过服务总线(ESB)或流程管理器来连接。这种松散耦合的结构使得能够以
最小的代价整合已经存在的各种异构系统,当然,由于需要
实现对各种异构系统的适配(通常使用ESB来完成不同系统
之间的协议转换及数据格式转换),因此,其本身也会引入更
多的复杂性。
二、soa的特征
·可重用:一个服务创建后能用于多个应用和业务流程。
·松耦合:服务请求者到服务提供者的绑定与服务之间应该
是松耦合的。因此,服务请求者不需要知道服务提供者实现
的技术细节,例如程序语言、底层平台等等。
·明确定义的接口:服务交互必须是明确定义的。Web服务
描述语言(WebServicesDescriptionLanguage,WSDL)是用
于描述服务请求者所要求的绑定到服务提供者的细节。WSDL
不包括服务实现的任何技术细节。服务请求者不知道也不关
心服务究竟是由哪种程序设计语言编写的。·无状态的服务设计:服务应该是独立的、自包含的请求,
在实现时它不需要获取从一个请求到另一个请求的信息或
状态。服务不应该依赖于其他服务的上下文和状态。当产生
依赖时,它们可以定义成通用业务流程、函数和数据模型。
基于开放标准:当前SOA的实现形式是Web服务,基于的
是公开的W3C及其他公认标准.采用第一代Web服务定义
的SOAP、WSDL和UDDI以及第二代Web服务定义的WS-*
来实现SOA。
三、soa设计原则
·明确的接口定义:接口需满足稳定、明确、封装性等要求。
·自包含与模块化:实现服务的功能实体是完全独立自主的,
独立进行部署、版本控制、自我管理和恢复。
·粗粒度:服务数量不应太多,依靠消息交互而不是远程过