03系统架构2之服务深入
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BPEL WSDL UDDI SOAP XML
Web Service Standards
Baidu Nhomakorabea
Sun J EE Microsoft .Net IBM Websphere
核心标准
2 Implementation Platforms
1
SOA概述
2
SOA架构体系
3
SOA相关技术
4
SOA参考架构 1.SOA编程模型
SOA模型结构
WSDL,UDDI 2 发现
服务 注册中心
WSDL,UDDI 1 发布
服务 请求者
Client
SOAP 3 绑定
服务 提供者
Server
模型核心概念
模型相关标准
核心标准—SOAP
Simple Object Access Protocol
核心标准—SOAP
Why SOAP 目前的应用程序通过使用远程过 程调用(RPC)在诸如 DCOM 与 CORBA 等对象之间进行通信,但是 HTTP 不是为此设计的。RPC 会产生 兼容性以及安全问题;防火墙和代理
• Apache Synapse(WSO2 ESB)
企业服务总线
• 客户端传过来一个请求,通过代理配置决定调用哪个内向序列,经 过传输转换、负载平衡、安全处理等一系列动作后,请求将被重定 向到目标端点,调用相应的服务,然后将服务的响应结果通过外向 序列返回给客户端。
业务流程管理BPM
• 业务流程管理是一组用于公司构建跨多个组织或系统的可执行流程的 技术。
自动化生产线
BPEL业务流程编舞
更经济! 更可靠! 更快!
更好!
BPEL业务流程编舞
•业务流程定义为一个具有各种不同功能的活动相连的一组有相 互关系的任务。通过对业务流程的管理实现业务流程自动化是一 种好方法。
•工作流是业务流程管理的典例,然而现有工作流限于特定的实 现技术使得业务的整合往往限于部门级别。
解放出来,提高他们的工作效率,专注也业务逻辑而不
拘泥于应对另一种数据源。
数据访问中间件
无需过多,掌握
SDO即可
编程模型—SDO
各种中间件技术的支持情况
编程模型—SDO
编程模型—SDO
• 参与制定和遵守SCA、SDO规范的供应商
编程模型—BPEL
Business Process Execution Language
– 提高可移植性、可重用性和灵活性
编程模型—SCA
编程模型—SCA
Service Data Objects
SDO
- 定义和规范了服务世界里的数据对象,其拥有清晰的 信息模型,独立于数据源和具体数据访问技术,使得服 务访问数据和服务之间交换数据更方便、有效
- 将开发人员从如何访问特定的后端数据源技术细节
1
SOA概述
2
SOA架构体系1.什么是SOA
3
SOA相关技术2.什么是服务
4
SOA参考架构3.SOA的发展
5
总结
什么是SOA?
• SOA(Service Oriented Architecture)
-中文翻译“面向服务的体系架构”,其中 Service (服务)是最核心的抽象手段。
-包含运行环境、编程模型、架构风格和相关方法 论在内的一整套新的分布式软件系统构造方法和环 境,涵盖服务的整个生命周期:建模—开发—整 合—部署—运行—管理。
CD 播放器的例子
以CD播放器为例。想听音乐时,我们会 把中意的CD放入CD播放器中播放。所以CD 播放器提供了CD播放的服务。如果我们希 望能够享受更好的音质,我们可以将现有的 便携式播放器更换为家用立体声播放器。两 种播放器都能提供CD播放 服务的功能,但是服务的质量 却有所不同。
SOA解决方案
SOA的演化历程
SOA 发展
SOA基本概念
SOA演变过程
面向过程 软件开发
面向对象 软件开发
面向组件 软件开发
标准的 Web Service
软件开发
SOA
传统的解决方案 代表技术—CORBA
S O A 解 决 方 案
服务作为SOA中最核心的抽象手段,业务被划分为一系列粗粒度的业务服务和业务流程 1. 业务服务相对独立、自包含、可复用,由一个或者多个分布式的系统实现 2. 业务流程由服务组装实现
核心标准—WSDL
• PortType: 定义了服务访问入口的类型,即传入/传出 消息的模式和格式。一个PortType包含若 干个Operation。
核心标准—WSDL
• Service: 描述的是一个具体的被部署的Web服务所 提供的所有访问入口的部署细节
核心标准—WSDL
• Binding: 定义了某个PortType与某种具体的网络传
SOA设计模式
主要目标
SOA 方案
SOA使命
1 业务上要求IT提供更快的响应速度 2 业务本身的转型 3 IT自身的转型
松耦合特性使得服务即互不影响又方便整合,有效减 少系统规划到上市的时间以响应快速改变的市场需要
通过对业务流程的分析,可方便的进行业务流程级别 的整合,以监控、管理和优化业务流程
IT应用系统具有互操作性,可有效的进行再服务级 粒度进行系统整合,最大程度的利用遗留系统
Business Process
Service
Organization X
Organization Y
Organization Z
什么是SOA?
乐高玩具中体会SOA
SOA的理念与乐高玩具的设计思路很相似。传统的 应用好比是普通的玩具,不可拆卸和拼接。而乐高玩具 与众不同,可以按照用户自己的想法随意组装,就是因 为它是由标准的微小的组件构成。基于SOA的应用都是 由更小的服务组件组成的,如同乐高玩具的模块;用乐 高玩具可以搭建各种不同的形状, 就好比SOA架构可以实现不同的 应用;乐高玩具的模块式是基于 标准化的,因此可以反复利用, SOA架构也是这样。
智能路由 数据格式转换 多协议传输
数据安全 服务的可扩展性
ESB应该能提供一个有效、灵活的路由选择机制。 用于XML转换的XSLT。 提供位置透明的路由和定位服务;提供多种消息传递形式; 支持广泛使用的传输协议。 ESB应该可以对服务访问进行认证、授权、加密、签名。
应当有定义优良的API让我们可以容易地创建新的服务。
• 组合(composite)本身也是一种组件,是由一个或多个组件构成。组合本身 还可以继续组合成更高级别的组合。
组合服务
• SCA(Service Component Architecture)。主要目的是要实现目前的 服务组件和其传输协议的绑定,而且让服务组件能够自由绑定各种传 输协议。
• Apache Tuscany
核心标准—WSDL
• Types:数据类型定义的容器,包含了所有在消息定义中需 要的XML元素的类型定义
核心标准—WSDL
• Message: 定义了在通信中使用的消息的数据结构, Message元素包含了一组Part元素,每个 Part元素都是最终消息的一个组成部分, 每个Part都会引用一个DataType来表示它 的结构。
服务器通常会阻止此类流量。
Client
Serve r
核心标准—SOAP
•Why SOAP -基于XML和HTTP。 HTTP用于SOAP消息传输 XML是SOAP的编码模式
- W3C的现行标准 •SOAP封装包含
-SOAP头部 -SOAP载荷
“第一个没有发明任何新技术的技术”
SOAP-Example 1(请求)
SOA相关概念
1
SOA概述
2
SOA架构体系
1.SOA技术平台
3
SOA相关技术
2.SOA模型
4
SOA参考架构 3.核心标准
5
总结
SOA技术平台
企业服务总线
• 企业服务总线(ESB)是提供不同通信协议之间相互操作的“中间件” 应用程序。
• ESB提供的服务主要包括:
特征
服务管理
描述
在总线范畴内对服务的注册命名及寻址进行管理。
核心标准—SOAP
核心标准—SOAP
SOAP-Example 2(响应)
Web Service Description Language
WSDL 功能视图
核心标准—WSDL
核心标准—WSDL
WSDL 主要结构
<definitions namespace = “http://…”> <types> XML schema types</type> <message> definition of a message</message> <portType> a set of operations</portType> <binding> communication protocols</binding> <Services> a list of binding and ports</Services> </definitions>
编程模型—SCA
• 强调将服务实现和服务访问分离开,构建系统包含两步:
- 组件的实现: 提供服务 调用其他服务组件
- 组装服务: 通过服务引用连接各种所需服务完成
编程模型—SCA
SCA组件图 2
编程模型—SCA
编程模型—SCA
• SCA 优势包括:
编程模型—SCA
– 简化业务组件开发
– 简化作为服务网络构建的业务解决方 案的组装和部署
编程模型—SCA
•组件编程一直是软件业简化编程和提高效率和质量的一个重要方法
•不同语言有不同的组件模型,使得开发人员需要熟悉的技术过多
POJO JDBC
EJB JMS
这次又是 哪种技术
编程模型—SCA
编程模型—SCA
定义和规范了技术中立和实现透明的服务组件、服务及服务调用和组装的相 应标准,直接用web服务和xml开发服务,使用统一的 接口描述来访问各种中间件
5
总结
2.BPEL编舞 3.SOA设计模式
SOA编程模型
SOA编程模型的铁三角 Composition BPEL
Service Data Object (SDO)
Invocation Service Component Architecture (SCA)
Service Component Architecture
输协议或消息传输协议绑定。
核心标准—UDDI
Universal Description, Discovery, and Integration
核心标准—UDDI
WSDL,UDDI 2 发现
服务 注册中心
WSDL,UDDI 1 发布
服务 请求者
Client
SOAP 3 绑定
服务 提供者
Server
UDDI功能视图
核心标准—UDDI
UDDI提供两种注册方式: 公有注册 私有注册
核心标准—UDDI
核心标准—UDDI
•UDDI 并不像 WSDL 和 SOAP 一样深入人心,因为很多时候, 使用者知道 Web 服务的位置(通常位于公司的企业内部网中)
Behavior Interface Message Data Type
• 业务流程建模工具: WSO2 Business Process Server
• 业务流程描述(BPEL):BPEL 采用XML 格式,其语法元素功能包括变 量定义与赋值、条件判断、顺序/并行、 服务调用、异常捕获、故障 (及补偿)处理等。
组合服务
• 基本服务可以理解为只提供细粒度的、单一的功能,它不再包含或消费 其它组件提供的服务。
什么是服务? • 服务的定义因人而异:
- 通过互联网络技术,动态进行交互的松耦合组件
(Gartner)。
- 能通过URL识别的软件程序,通过互联网协议用以
支持网络间不同机器的互动操作(W3C)。
- 服务独立于其运行的硬件平台、编程语言和操作 系统,由一系列自包含、可复用的软件模块组成。
一个服务定义了一个与业务功能或业务数据相关的 接口,在不同的系统中服务可以以一种统一的方式 进行交互、相互理解(IBM)。
软件系统架构实践
中国信息化培训中心
课程目录
一、系统架构概述 二、系统架构之三分过程
三、系统架构之四入策略
四、系统架构之六大战术 五、系统架构之案例探究 六、系统架构之评估体系 七、系统架构师成长之路
三、系统架构之四入策略
(一)系统架构之层次深入--层次架构
(二)系统架构之服务深入--SOA架构
(三)系统架构之产品线深入--产品线架构 (四)系统架构之模式深入--通用架构模式
BPEL 流程编舞:
BPEL业务流程编舞
服务粒度进行编排 实现服务间自动化运转 业务人员和程序人员间桥梁
BPEL业务流程编舞
BPEL业务流程编舞
BPEL业务流程编舞
业务规则的思考:易变和不变分离
SOA设计模式
当企业系统越来越多后
缺少业务流程标准 架构策略限制 独立的程序业务需要 基础设施的构建没有蓝图