一、SOA
1、概念
面向服务开发,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。多个服务挂载在ESB(企业服务总线)上进行通信。
2、特征
可从企业外部访问、随时可用(服务请求能被及时响应)、粗粒度接口(粗粒度提供一项特定的业务功能,细粒度服务代表技术构件的方法)、服务分级、松散耦合(服务提供者和服务使用者分离)、可重用的服务及接口设计管理、标准化的接口(WSDL/SOAP/XML是核心)、支持各种消息模式、精确定义的服务接口。
构件-可独立部署的功能单元(对象、接口、服务等),概念比较广
3、关键技术
|--------|-------------------|
| 功能 | 协议 |
| 发现服务 | UDDI、DISCO |
| 描述服务 | WSDL、XML、Schema |
| 消息格式层 | SOAP、REST |
| 编码格式层 | XML(DOM、SAX) |
| 传输协议层 | HTTP、TCP/IP、SMTP等 |
UDDI(Universal Description Discovery and Integration):是一套基于WEB的、分布式的、为WebService提供的、信息注册中心的实现标准规划。用于WEB服务注册统一描述、发现和集成。
WSDL(WebService描述语言):用户描述服务
SOAP(简单对象访问协议):用于交换XML编码信息的轻量级协议、用于传递信息、服务远程调用
XML:是WebService平台中表示数据的基本格式,用于数据交换
4、Web Service
服务提供者、服务注册中心、服务请求者。服务提供者将服务描述发布到服务注册中心,供服务请求者调用。
5、服务注册表
服务注册:服务提供者在注册中心发布服务
服务位置:服务在注册中心的位置
服务绑定:服务请求者利用检索到的服务接口编写代码,代码与注册的服务绑定,调用注册的服务,实现交互
6、企业服务总线ESB
集成不同协议的不同服务,ESB做了消息转化、解释以及路由的工作,以此来让不同服务互联互通
包括:客户端(服务请求者)、基础架构服务(中间件)、核心集成服务(提供服务)
特点:
总线作用,将各种服务进行连接与整合
服务元数据和服务注册管理
服务请求者和提供者之间传递数据,以及对这些数据进行转换
发现、路由、匹配和选择的能力