您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > biztalk高级流程设计
BizTalk高级流程设计目录BizTalkOrchestration简介流程的监控和追踪流程的脱水和续水商务流程执行语言BPEL消息的关联联合流程的嵌套流程的事务和出错处理流程激活和实例管理数据/消息处理转换编码解码加密解密解析序列化抽取属性身份验证签名流程引擎(Orchestration)关联(Correlation)和基于内容的路由MessageBox应用适配器接口框架HTTPSOAPMSMQTSAPMQSeries监控统计分析管理部署流程管理…SQLFTPFILE…BizTalk体系结构什么是Orchestration?Orchestration设计器可视化设计环境提供图形建模自动化业务流程保存业务流程模型后进行后期编译SavedorchestrationBizTalkOrchestration引擎是一个运行引擎执行业务流程PortSurface<<>>PortSurfaceReceivePOReceivePOPortOperation_1->RequestCheckQuantityDeniedElseDeniedMsgTransformSendDeniedPortOperation_1<-RequestSend_ApproveSendApprvPortOperation_1->RequestSend_Denied!OrchestrationEngineBizTalk流程引擎的工作原理Orchestrationengine创建流程实例保存流程的状态信息完成资源优化提供可靠的终止和恢复MessageBoxDehydrateRehydrateOrchestion演示流程的监控和追踪HAT端到端View流程跟踪消息业务流程消息流程的重放调试挂起(Suspend)继续(Resume)断点流程的脱水和续水脱水是将一个流程的状态保持到数据库续水是将休眠的流程从数据库中恢复脱水的例子:长时间等待一个消息的接收长时间延时系统停止续水的例子:消息接收延时周期结束系统重起OrchestrationEngineMessageBoxDehydrateRehydrate业务流程执行语言BPELBPEL4WSBusinessProcessExecutionLanguage微软,IBM等厂商支持的流程描述语言标准实现业务流程的跨平台和互操作性BizTalkServer2004OtherIntegrationServerBPELDefinitionGeneratedWebServices消息的关联Correlation将进入的消息匹配到正确的流程运行流程实例设计人员选择属性进行关联TransactionInstanceBeginPlaceorderwithsupplierEndPOConfirmationRequestSuppliesApproveRequestSendPOPOWaitReceiveApprovalConfCorrelate消息关联Correlation演示消息的联合Convoys高级的关联模式消息必需以单线程模式被处理(也叫Convoy)两类:并发的关联进行接收(并行)顺序的关联进行接收(串行)StockMsg:TXN=1023Party1:Broker1Party2:BankParty3:Broker2ClearingHouseTXN:1023StockMsg:TXN=1023DepositMsg:TXN=1023并行关联接收并行联合Convoy消息以非确定的顺序接收多个可激活的接收端口最先到达的消息激活调度流程所有的接收端口必需使用一致的关联集合消息可以从不同的端口接收例子:Clearinghouseexample:顺序的关联进行接收串行联合Convoys流程的接收端口被关联到早期的接收端口两种类型:同类型消息异类型消息例子:状态更新:一个激活的接收端口初始化一个关联集,由一个或多个遵循同样关联集的接收端口跟谁串行联合Convoys的类型共性一个可激活的接收端口由多个非激活的端口跟随可激活的接收端口初始化关联集同类型消息串行联合所有的接收都联接到同一个端口所有接收都用同一个消息类型异类型消息串行联合端口可以接收不同类型的消息联合ConvoysConcurrentCorrelatedReceive(Parallel)SequentialCorrelatedReceive(Serial)流程的嵌套参数:消息,变量,端口引用,角色链接,或关联集合输入参数传值或引用输出参数只消息/变量异步调用另一个流程调用者继续运行同步调用另一个流程调用者等待CallOrchestrationStartOrchestration调用Orchestration起动OrchestrationOrchestration的嵌套调用OrchestrationLong-RunningTransactionAtomicTransaction什么是一个事务Transaction?一个事务是一系列的操作,可以看作一个逻辑工作单元可设置事务类型在:整个orchestration作用域范围三种事务类型无原子(短事务)长事务Orchestration能包括一个或多个事务对嵌套的事务数目没有限制LoanapplicationreceivedRequestCreditReportOrderAppraisalSignDocuments原子事务AtomicTransactionDebitAccountACommitCreditAccountBCommit当要求ACID时使用在事务失败时确保对象/变量的回滚直到事务committed后才改变隔离状态不能将整个orchestration设置为原子事务原子事务不能包任何其它的事务(Nonescopesallowed)暂停和终止状态在事务中不允许不允许异常处理例如:从一个银行帐户传帐到另一个帐户Long-RunningTransaction长事务LoanapplicationreceivedRequestCreditReportOrderAppraisalSignDocuments事务需长时间才能结束当不需要满足ACID所有属性时(只需满足一致性和持久性)数据不被锁住可以被更改当最后的状态完成被认为提交“committed”如果一个事务终止没有自动的Rollback可以创建包含其它事务类型的嵌套流程通过异常和补偿处理支持回滚灵活配置“timeout”例如:货款申请和审批流程异常处理异常原因抛出异常Time-out事务失败外部用户代码失败系统异常外部错误码消息CatchExceptionBlockErrorReportExceptionerrorErrorHandling异常控制流程的错误报告和清除提供抛出和捕捉通用或定制的异常补偿处理通过定制代码恢复先前提交的事务AtomicorLongRunningTransactionDebitAccountACommitCreditAccountBCommitCompensationCodeReverseDebitReverseCredit事务和出错补偿
本文标题:biztalk高级流程设计
链接地址:https://www.777doc.com/doc-838 .html