Download presentation
Presentation is loading. Please wait.
1
耿志刚 应用整合产品技术专家 专业解决方案部 微软中国
2019年5月5日5时20分 CSI320 BizTalk高级流程设计 耿志刚 应用整合产品技术专家 专业解决方案部 微软中国 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
2
目录 BizTalk Orchestration简介 流程的监控和追踪 流程的脱水和续水 商务流程执行语言BPEL 消息的关联 联合
2019年5月5日5时20分 目录 BizTalk Orchestration简介 流程的监控和追踪 流程的脱水和续水 商务流程执行语言BPEL 消息的关联 联合 流程的嵌套 流程的事务和出错处理 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3
关联 (Correlation)和基于内容的路由
2019年5月5日5时20分 BizTalk体系结构 管理 部署 流程管理 监控 统计 分析 流程引擎 (Orchestration) 流程激活和实例管理 关联 (Correlation)和基于内容的路由 MessageBox 数据/消息处理转换 Consistent scale-out model built on SQL Server 2000 SP3 Pub/sub architecture Stateless servers Low-latency high volatility routing Large Message support Pluggable adapters Security and auditing 编码 解码 加密 解密 身份验证 签名 解析 序列化 抽取 属性 … 应用适配器接口框架 FILE HTTP SOAP FTP SQL MSMQT MQSeries SAP … © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
4
什么是Orchestration? Orchestration设计器 BizTalk Orchestration引擎 可视化设计环境
2019年5月5日5时20分 什么是Orchestration? Port Surface << >> Port Surface Receive PO ReceivePOPort Operation_1 -> Request Orchestration设计器 可视化设计环境 提供图形建模自动化业务流程 保存业务流程模型后进行后期编译 Check Quantity Denied Else Send_Approve Denied Msg SendApprvPort Operation_1 -> Request Transform ! SendDeniedPort Operation_1 <- Request Send_Denied Designer类似于UML activity diagram; Saved orchestration BizTalk Orchestration引擎 是一个运行引擎 执行业务流程 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
5
BizTalk 流程引擎的工作原理 Orchestration engine 创建流程实例 保存流程的状态信息 完成资源优化
2019年5月5日5时20分 BizTalk 流程引擎的工作原理 Orchestration Engine Orchestration engine 创建流程实例 保存流程的状态信息 完成资源优化 提供可靠的终止和恢复 Dehydrate Rehydrate MessageBox © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
6
2019年5月5日5时20分 Orchestion演示 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
7
流程的监控和追踪HAT 端到端View 流程 跟踪 消息流程的重放 调试 消息 业务流程 挂起 (Suspend) 继续 (Resume)
2019年5月5日5时20分 流程的监控和追踪HAT 端到端View 流程 跟踪 消息 业务流程 消息流程的重放 调试 挂起 (Suspend) 继续 (Resume) 断点 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
8
流程的脱水和续水 脱水是将一个流程的状态保持到数据库 续水是将休眠的流程从数据库中恢复 脱水的例子: 续水的例子: 长时间等待一个消息的接收
2019年5月5日5时20分 流程的脱水和续水 脱水是将一个流程的状态保持到数据库 续水是将休眠的流程从数据库中恢复 脱水的例子: 长时间等待一个消息的接收 长时间延时 系统停止 续水的例子: 消息接收 延时周期结束 系统重起 Orchestration Engine Dehydrate Rehydrate MessageBox © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
9
业务流程执行语言BPEL BPEL4WS Business Process Execution Language
2019年5月5日5时20分 业务流程执行语言BPEL BPEL4WS Business Process Execution Language 微软,IBM等厂商支持的流程描述语言标准 实现业务流程的跨平台和互操作性 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
10
消息的关联Correlation 将进入的消息匹配到正确的流程运行流程实例 设计人员选择属性进行关联
2019年5月5日5时20分 消息的关联Correlation Begin Place order with supplier 将进入的消息匹配到正确的流程运行流程实例 设计人员选择属性进行关联 Transaction Instance Request Supplies Approve Request PO Send PO Wait Correlate Receive Approval Conf PO Confirmation End © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
11
消息关联Correlation演示 2019年5月5日5时20分
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
12
消息的联合Convoys 高级的关联模式 消息必需以单线程模式被处理 (也叫Convoy) 两类: 并发的关联进行接收 (并行)
2019年5月5日5时20分 消息的联合Convoys 高级的关联模式 消息必需以单线程模式被处理 (也叫Convoy) 两类: 并发的关联进行接收 (并行) 顺序的关联进行接收 (串行) Party 1: Broker 1 Party 2: Bank Party 3: Broker 2 DepositMsg: TXN=1023 Clearing House StockMsg: TXN=1023 StockMsg: TXN=1023 TXN: 1023 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
13
并行关联接收 并行联合Convoy 消息以非确定的顺序接收 多个可激活的接收端口 最先到达的消息激活调度流程
2019年5月5日5时20分 并行关联接收 并行联合Convoy 消息以非确定的顺序接收 多个可激活的接收端口 最先到达的消息激活调度流程 所有的接收端口必需使用一致的关联集合 消息可以从不同的端口接收 例子: Clearinghouse example: © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
14
顺序的关联进行接收 串行联合Convoys
2019年5月5日5时20分 顺序的关联进行接收 串行联合Convoys 流程的接收端口被关联到早期的接收端口 两种类型: 同类型消息 异类型消息 例子: 状态更新: 一个激活的接收端口初始化一个关联集,由一个或多个遵循同样关联集的接收端口跟谁 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
15
串行联合 Convoys的类型 共性 同类型消息串行联合 异类型消息串行联合 一个可激活的接收端口由多个非激活的端口跟随
2019年5月5日5时20分 串行联合 Convoys的类型 共性 一个可激活的接收端口由多个非激活的端口跟随 可激活的接收端口初始化关联集 同类型消息串行联合 所有的接收都联接到同一个端口 所有接收都用同一个消息类型 异类型消息串行联合 端口可以接收不同类型的消息 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
16
联合Convoys Concurrent Correlated Receive (Parallel)
2019年5月5日5时20分 联合Convoys Concurrent Correlated Receive (Parallel) Sequential Correlated Receive (Serial) © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
17
流程的嵌套 同步调用另一个流程 调用者等待 异步调用另一个流程 调用者继续运行 参数: 消息, 变量, 端口引用, 角色链接, 或 关联集合
2019年5月5日5时20分 流程的嵌套 调用 Orchestration 起动 Orchestration 同步调用另一个流程 调用者等待 异步调用另一个流程 调用者继续运行 参数: 消息, 变量, 端口引用, 角色链接, 或 关联集合 输入参数 传值或引用 输出参数 只消息 /变量 Call Orchestration Start Orchestration © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
18
Orchestration的嵌套 调用Orchestration 2019年5月5日5时20分
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
19
Long-Running Transaction
2019年5月5日5时20分 什么是一个事务Transaction? Long-Running Transaction 一个事务是一系列的操作,可以看作一个逻辑工作单元 可设置事务类型在: 整个orchestration 作用域范围 三种事务类型 无 原子 (短事务) 长事务 Orchestration能包括一个或多个事务 对嵌套的事务数目没有限制 Loan application received Atomic Transaction Request Credit Report Order Appraisal Sign Documents © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
20
原子事务 当要求ACID时使用 在事务失败时确保对象/变量的回滚 直到事务committed后才改变隔离状态
2019年5月5日5时20分 原子事务 当要求ACID时使用 在事务失败时确保对象/变量的回滚 直到事务committed后才改变隔离状态 不能将整个orchestration设置为原子事务 原子事务不能包任何其它的事务 (None scopes allowed) 暂停和终止状态在事务中不允许 不允许异常处理 例如: 从一个银行帐户传帐到另一个帐户 Atomic Transaction Debit Account A Credit Account B Commit Commit © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
21
Long-Running Transaction
2019年5月5日5时20分 长事务 事务需长时间才能结束 当不需要满足ACID所有属性时 (只需满足一致性和持久性) 数据不被锁住可以被更改 当最后的状态完成被认为提交 “committed” 如果一个事务终止没有自动的Rollback 可以创建包含其它事务类型的嵌套流程 通过异常和补偿处理支持回滚 灵活配置 “timeout” 例如: 货款申请和审批流程 Long-Running Transaction Loan application received Request Credit Report Order Appraisal Sign Documents © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
22
异常处理 异常原因 异常 控制流程的错误报告和清除 提供抛出和捕捉通用或定制的异常 Exception error 抛出异常
2019年5月5日5时20分 异常处理 异常 控制流程的错误报告和清除 提供抛出和捕捉通用或定制的异常 异常原因 抛出异常 Time-out 事务失败 外部用户代码失败 系统异常 外部错误码消息 Exception error Catch Exception Block Error Report Error Handling © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
23
Atomic or Long Running Transaction
2019年5月5日5时20分 补偿处理 通过定制代码恢复先前提交的事务 Atomic or Long Running Transaction Debit Account A Commit Credit Account B Compensation Code Reverse Debit Reverse Credit © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
24
2019年5月5日5时20分 事务和出错补偿 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
25
BizTalk 资源 Dev Center: http://msdn.microsoft.com/biztalk
2019年5月5日5时20分 BizTalk 资源 Homepage: Dev Center: Community: Scott’s Blog: Training: Support: Newsgroups: © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
26
© 2005 Microsoft Corporation. All rights reserved.
2019年5月5日5时20分 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations