已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
作者简介 潘杰 1982 年生 硕士研究生 主要研究方向 企业应用集成 ERP PDM Email panjie82 周咨聪 男 硕士 陈德焜 男 副教授 通讯方式 姓 名 潘杰 手机 基于 SOA 开发框架的异构工作流集成方案 潘杰 周咨聪 陈德焜 上海大学 上海市延长路 149 号 CIMS 及机器人中心 摘要 摘要 本文论述了基于 SOA 的企业业务流程集成开发框架 并在此基础上提出了一个用于 集成异地异构工作流系统的应用解决方案 该方案在微软 NET 开发平台上采用微软 NET3 0 开发技术 以低成本 高安全性 高柔性满足异地异构工作流系统之间的业务集成 需求 关键字关键字 SOA SOA 集成框架集成框架 webweb 服务服务 工作流集成工作流集成 中图分类号 中图分类号 TP315 文献标示码 文献标示码 A SOA Based Solution to Heterogeneous Workflow System Integration Pan Iie Zhou Zi Cong Chen De Kun CIMS integration framework Web Service workflow integration 0 0 引言引言 在现代企业应用环境中 合作的企业常常分别处于异地 而实际业务流程却要跨越这些分布在异地的企业 以保持逻辑上更紧密的业务信息与过程的连接 另一方面 苛刻的交货期和高品质要求迫使供需链上的企业采 用信息技术提高过程的效率和准确性 然而 企业内外存在多个异构 自治 分布的管理系统 而传统的集成方法采用的专用互连方法集成各异 构接口引擎 会导致集成成本高 更改难度大 不能满足企业动态易变的集成需要 更不能满足行业化软件易 于实施的要求 1 1 SOASOA 简介简介 SOA 是一种软件模型 它可以根据需求 通过网络对松散耦合的粗粒度应用组件进行分布式部署 组合和使 用 SOA 的关键是 服务 的概念 W3C 将服务定义为 服务提供者完成一组工作 为服务使用者交付所需的最 终结果 最终结果通常会使使用者的状态发生变化 但也可能使提供者的状态改变 或者双方都产生变化 一个 应用程序的业务逻辑或某些单独的功能被模块化并作为服务呈现给消费者或客户端 这些服务的关键是他们的 松耦合特性 在 SOA 架构下 以服务或组件形式出现的业务逻辑可以被共享 重用和配置 各个系统通过标准化 的服务接口连接起来 例如 服务的接口和实现相独立 应用开发人员或者系统集成者可以通过组合一个或多 个服务来构建应用 而无须理解服务的底层实现 SOA凭借其松耦合的特性 使得企业可以按照模块化的方式来添加新服务或更新现有服务 以解决新的业 务需要 提供选择从而可以通过不同的渠道提供服务 并可以把企业现有的或已有的应用作为服务 从而保护 了现有的基础建设投资 2 2 基于基于 SOASOA 的集成开发框架的集成开发框架 不同种类的操作系统 应用软件 系统软件和应用基础结构相互交织 这便是 IT 企业的现状 一些现存 的应用程序被用来处理当前的业务流程 因此从头建立一个新的基础环境是不可能的 企业应该能对业务的变 化做出快速的反应 利用对现有的应用程序和应用基础结构的投资来解决新的业务需求 为客户 商业伙伴以 及供应商提供新的互动渠道 2 本文基于SOA的基本概念 提出的集成开发框架 图1 用来解决某个应用程序的业务逻辑或某些单独的 功能被模块化并作为服务呈现给消费者或客户端 这些服务的关键是他们的松耦合特性 服务的接口和实现相 独立 应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用 而无须理解服务的底层实现 CRM ERP 应 用 层 构 件 层 服 务 层 集 成 层 表 示 层 服务的 发布 查 找 绑 定 组合 业务流程 的组装 整合 客户端 显示全局 流程集成 效果 企业内或 不同企业 间各种异 构的系统 基于标准 的服务构 件 遗留系统 PDM Web服务 封装器 Web服务 封装器 Web服务 封装器 图 1 集成开发框架 如上图所示 集成框架共分为五个层次 从下往上每层的作用和含义如下 1 应用层 各种异地异构应用系统 从地域上来说可能是企业内部的系统与一些遗留系统 或是企业与其他 企业的一些同类系统 从结构上来说 这些系统彼此间没有接口可供互相调用 2 构件层 OMG 对构件的定义是一个物理的 可替换的系统组成部分 它包装了实现体且提供了对一组接口 的实现方法 构件表示了系统实现体的一个物理片段 包括软件代码 例如脚本或命令文件 构件自身必须相 容于接口且实现接口 接口表示了驻留在构件内的成分所实现的服务 图中的 web 服务封装器就是构件 它具 有独立发布的功能 能快速且平滑地集成到各种同构或异构的系统 并将应用层系统的部分功能或组件封装成 服务向外部提供 也可以通过它的接口访问它的服务 运行时构件是一个可动态绑定的 含一个或多个程序的 软件包 它作为一个独立单位 通过运行时可辨别的文档化接口加以管理和存取 3 服务层 服务层的注册中心将构件层提供的服务注册起来 以便使服务能够被发布 查找和绑定 另外 还可将服务间的组合或互操作的过程写入注册中心 4 集成层 查找服务层的服务 并根据所需的业务流程 将这些服务重新组合 以实现新业务流程的组装 整合 5 表示层 可以将全局流程集成效果在某客户端完全显示出来 供异地企业实时查询 3 3 应用解决方案应用解决方案 根据上述的业务流程集成的开发框架 设计了一个具体的应用解决方案 通过工作流集成平台集成异构异 地的工作流 图 2 应用到跨地域 跨组织的异构工作流系统的集成 以满足企业内或企业间无需重构原有 业务流程就可以实现工作流集成的需求 该方案基于微软 NET 开发平台 采用微软 NET3 0 开发技术 WWF Window2003 内置的 UDDI 和 CA 实现 Web 服务注册和 PKI MSMQ 及相关程序的开发实现消息队列功能 以及用 MapForce 映射开发工具协助 XML 映射程序的开发 3 1 3 1 工作流集成平台设计工作流集成平台设计 此方案通过工作流集成平台集成若干个异地异构的工作流 如 SAP workflow Exchange 2003 Microsoft BIZTALK 等 每个异构工作流都有自己的 web 服务封装器 负责封装 发送和接收 web 服 务 工作流集成平台有自己的工作流引擎和工作流建模工具 NET 3 0 WWF 是微软产品及相关应用程序提供 的通用工作流设计和开发工具 工作流引擎作为全局引擎 建模工具可以迅速方便地建立全局工作流程 方 案采用 Window2003 内置的 UDDI 和 CA 认证中心实现 Web 服务注册和 PKI 公钥基础设施 保证服务异地调用 3 的安全性 服务安全证书 微软CA认证 中心 流 程 集 成 平 台 开发环境 微软Visual Studio NET net 3 0开发平台 消息队列 微软MSMQ Web服务接口 全局工作流引擎 net 3 0 WWF 工作流建模和服务开发工具 net 3 0 WWF WCF Sap workflow工作流 Web服务封装器 Exchange 2003 工作流 Web服务封装器 Microsoft Biztalk工作流 Web服务封装器 映射注册中心 全 局 工 作 流 Web服务注册 微软UDDI 图 2 工作流集成平台集成异构工作流 全局工作流发出的消息由消息队列通过 web 服务接口依次转发给异构工作流的 web 服务封装器 操纵异地 工作流执行 这样 这些异地异构工作流系统无需做任何改动 就可以通过工作流集成平台和标准构件 web 服 务封装器实现异地的透明互操作 工作流机互操作消息采用 Wf XML 标准 消息由封装器进行语义映射和加密后 作为 SOAP 载荷在互联网上 传递 方案采用了开放的分布式应用集成标准和工作流业务标准 屏蔽了异构系统之间的差异 映射注册中心负责登记互操作接口 接口 Wf XML 消息格式 以及消息格式之间的映射关系 映射注册处 通过 WebService 提供查询服务 在设计阶段 流程开发人员注册互操作接口和接口 Wf XML 的 XSD 文件 映射 开发人员建立源 XSD 到目标 XSD 的映射关系并注册 在运行阶段 消息发送者查询映射注册处 下载所需的映 射程序 发送者的本地映射引擎执行映射程序 将源 Wf XML 转换为目标 Wf XML 完成消息映射 流程集成平台的开发环境基于微软 NET 3 0 开发平台及 WSE3 0 Web Services Enhancements3 for Microsoft NET WSE3 0 是对 NET Framework 的扩展 它用于创建和使用高级 Web 服务 WSE 支持 WS Security WS SecurityPolicy WS Trust WS Referral WS Addressing WS Policy 等 Web 服务扩展规范 工作流互操作消息中常常包含重要的业务数据 如采购订单 审批决定等 这些数据失密或被伪造可能带 来重大损失 此外互操作消息作为重要的业务凭据也要求保留在日志中 所以 要实现消息安全可靠传递的 Web 服务封装 对消息进行加密和签名 满足机密性 完整性和抗否认性要求 还要靠可靠的消息传递机制确 保分布系统之间的可信赖通讯 并提供日志记录功能 给系统调试和责任追查提供依据 WS Security 规范提供对 XML 元素加密的能力 满足了消息级安全功能 另外再采用基于 X 509 证书的 PKI 和 WS Security 规范 以 X 509 证书对 SOAP 消息进行加密 解密和签名 认证 可实现安全的 SOAP 消息调 用 WS ReliableMessaging 规范提供了可信赖的消息传递机制 该规范如与本地消息队列相结合还可实现异 步 唯一 依序的消息传递 同时还能满足消息日志的要求 另外 MSMQ 消息队列和 WSE3 0 过滤器可实现消息 处理流水线 微软的 WSE3 0 为 NET 框架提供了对 WS Security 和 WS ReliableMessaging 等规范的支持 可 实现安全可靠的消息传递和消息日志功能 3 2 3 2 构件设计构件设计 本文设计的 Web 服务封装器作为标准的构件用来实现工作流机的 Web 服务封装 通过遵循 Wf XML 标准和 Web 服务协议 并采用消息映射和消息安全技术 屏蔽了工作流机之间的平台异构 互操作 API 异构 通讯协 议异构和数据格式异构 实现了安全透明的互操作 封装器结构见 Error Error ReferenceReference sourcesource notnot found found 3 4 Web服务封装器 XML 映射器 消息安 全模块 WEB 服务 代理 Wf XML 适配器 队列 工作流API和交换格式 工作流执行服务 工作流机 工作流机 工作流机 WEB 服务 API调用 API调用 Wf XMLWf XML 加密 后的 消息 映射 程序 证书 库 映射程序 证书 封装器管理模块 SOAP SOAP 消息 日志 消息 Wf XMLWf XML 图 3 Web 服务封装器 Web 服务封装器分为通用和专用两部分 结构图中灰色的模块为专用部分 需要根据不同工作流系统的 API 和消息格式进行定制开发 通用模块与具体工作流系统无关 可以统一开发 在安装时配置参数 封装器 各模块介绍如下 1 Wf XML 适配器通过专用的 API 接口和通讯协议与工作流机进行交互 并实现 Wf XML 所规定互操作逻 辑 2 XML 映射器 虽然 Wf XML 的互操作语法和语义是同构的 但通过 Wf XML 消息传递的流程业务数据存 在着语法和语义异构 XML 映射器通过调用映射程序 将互操作消息中的业务数据转化为对方系统能理解的格 式 实现异构数据的透明访问 消息映射机制将在后续章节详细说明 3 消息安全模块遵循 WS Security 规范 采用 X 509 证书为安全令牌 对收 发的消息进行加密签名 解密校验操作 加密 解密操作前后的消息都保存到消息日志中 以便于需要时查验 4 Web 服务接口用来实现基于 SOAP 的 Web 服务 Web 服务客户端代理和 UDDI 查询等功能 5 封装管理器是一个 Web 应用 管理人员通过浏览器访问站点 对封装器进行参数设置 监控和管理 如封装器 Web 服务端口设置 UDDI 服务器设置 消息日志查询 证书设置等 封装器原型的核心类类图如 4 所示 WfListner 对象负责接收工作流机的 API 调用 并进行 Wf XML 转换 收到工作流机发出的消息后 该对象建立一个发送流水线 并将消息关联到该流水线 依次完成消息发送操作 WSService 对象创建一个 Web 服务 监听外部系统发送的加密 SOAP 消息 收到消息后 WSService 对象建立一 个接收流水线 依次执行 SOAP 消息到工作流机的消息处理 Bind object UnBind object SaveLog object GetPipeline object FindPrevious object Wf XML object Statuas int ErrorCode object ResposeMsg object Message Wf XML object Statuas int object 特性3 object MappingEngine Start Cancel RegisterEngine object RemoveEngine int SetMode int Message object Statuas int EngingsQueqe object Error object PipeLine X509Stroe object X509Cert int CertID object UserName string Validation bool SecurityContext ProcessMsg object Cancel bool EngineType string Statuas int ErrorCode int EnvPara object Engines Conn object QueryStatuas int LinkTest string QueryPwd string Wf XML object Statuas int ErrorCode int ConnString string User string Pwd string ConnType int SSL bool Response string WFConnEngine WebMethod WfEngine object UddiReg object Wf XML object Statuas int ErrorCode object WSDL object Mode int AckEnabled bool Sync bool SecurityContext object WSService Conn string Close Query object Reset OrgName string SysName string Statuas int ErrorCode int WSDL object TechID UDDIClient QueryMappings DownloadMappings Statuas int ErrorCode object Sender string Receiver string SenderInterface string ReceiverInterface string SenderMessage string ReceiverMessage string MappingQuery DllMapping object LoadDll bool Wf XML object Statuas int FilePath object DllMapping XSLTMapping object LoadXSLT bool Wf XML object Statuas int FilePath object XSLTMapping 1 1 1 1 1 1 1 1 1 Exec object SetCallBack object BindSecutyConx object WfXMLBinding object Wf XML object Statuas int ErrorCode int TimeOut int SecurityContext object Response string WSDL object UddiClient object Mode int AckEnabled bool Sync bool SecureWSProxy IdentityVerify object SetupX509Context object SecureContext object Statuas int ErrorCode int SecureEngine 1 1 11 1 1 1 1 Listen object Stop object Reset LinkTest object QueryStatus int Wf XML object Statuas int ErrorCode object URL object Mode int AckEnabled bool Port int SSL bool Pipeline object WfListener 1 1 图 4 Web 服务封装器核心类类图 PipeLine 对象用来定义一系列有序的标准操作 同时将被处理的消息 Message 对象关联到这些标准操作 上 原型系统包括 4 种标准处理器 WfConnEngine 的功能是将 Wf XML 消息转换为私有 API 格式 并发送到工 作流机 MappingEngine 的功能是下载映射程序 执行 XML 消息映射 SecureEngine 的功能是获取安全上下文 进行消息安全预处理 抗重放和权限验证 SecureWSProxy 负责对消息进行加密签名并调用其它系统的 Web 服 务 5 3 3 3 3 映射注册中心设计映射注册中心设计 映射注册处用来集中管理映射关系和映射程序 映射注册处采用 ASP Net 开发 利用 MSDE 或 MS SQL2000 存储注册信息 注册处提供映射查询和映射程序 Web 服务 各应用系统封装器中的映射引擎调用 Web 服务获得 所需的映射程序 此外 注册处的 Web 网站提供了映射注册功能 映射开发人员通过浏览器注册接口格式描述 接口之间的映射关系以及映射程序 映射注册处的结构如图 5 所示 Web 服务 数据库 映射注册处 ASP Net 网站 文件系统 应用 系统 封装 器 查询 下载 注册 上传 图 5 映射注册处结构 消息映射关系则被用于构件层的服务封装器开发 由于消息映射关系众多 因此将映射程序分散地固化在 服务封装器 中既不便于接口的开发 也难以适应流程变化和业务扩展 本方案将映射程序与映射引擎分离 通过映射注册中心对映射程序集中管理 以柔性的体系支持多变的业务环境 注册信息主要分为三部分 注册信息结构见图 6 Name Description Ognization Name Description WSDL Workflow Engine Name Description ProcessID Process Name LocalName Description ActivityID IOActivity Name Description Sync Direction Interface Name Description Version File Message Name Description Version SourceMsg TargetMsg Type File MappingObj Name Description Version FileName Ext File 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 图 6 映射注册信息结构 1 应用系统接口信息 描述参与集成的企业 工作流机 工作流模版和输入 输出接口 及其相互之间 的关系 系统以这些信息唯一标示一个接口消息 2 接口消息格式 接口 Wf Xml 消息格式以 XML Schema 标准描述 对一个接口收 发的消息格式进行建 模和定义 消息格式由工作流设计人员定义 并保存为 XSD 文件 映射开发人员基于源格式和目标格式的 XML Schema 建立映射关系 开发映射程序 3 映射关系 描述一个输出消息格式与一个输入消息格式的映射对应关系 以及实现映射的程序文件名 测试合格的 DLL 和 XSLT 通过 Web 页面上传到映射注册处 映射程序保存在文件系统中 文件名由系统统一编 号 以保证映射程序的唯一性 4 4 实例验证实例验证 以某企业的设计更改审批工作流为例 全局工作流运行于其他协作企业的异构工作流系统之上 根据具体 的业务流程的定义逐次触发各个协作企业异地工作流系统中的审批流程 流程定义界面见 Error Error ReferenceReference sourcesource notnot found found 7 本实例中 全局工作流采用微软的 WorkFlow Foundition WWF 开发 可以迅速方便 6 地建立全局工作流程 并可根据流程变化快速修改成新的工作流程 图 7 全局工作流定义 需要协作企业更改设计时 全局流程向协作企业异构工作流系统发出触发事件的消息 请求启动协作企业 的设计更改审批流程 审批任务的相关数据通过 Web 服务接口发送至异地异构工作流系统的 Web 封装器 触 发异地异构工作流执行 图 8 图 8 异地工作流
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CPIA 0064-2024光伏封装胶膜表面粗糙度测试方法
- T/TIC 004-2023生态环境监测机构综合能力评价通用规范
- T/FSHW 05-2025道路保洁质量与作业规范
- T/CI 1481-2026农民用水合作组织运行制度设计规程
- T/CAAMTB 191-2024车用70MPa加氢口性能试验方法
- T/CPF 0114-2025温室气体 产品碳足迹量化方法与要求 成型纸盒
- 2025~2026学年安徽省阜阳市临泉县校联考北师大版六年级上册11月期中数学试卷【附答案】
- 2025-2026学年陕西省咸阳市初中政治八年级期末下册自测专项攻坚题附答案
- 人工智能在生物多样性监测中的应用
- Photoshop基础技能考核试题(含详细答案)
- 2026年中国太平洋保险集团股份有限公司人员招聘笔试参考题库及详细答案解析
- 云南省西双版纳傣族自治州景洪市2026年公务员遴选试题题库及答案
- 临床检验标准化实验室完整SOP程序文件
- 2026年大数据工程师笔试试卷(附答案)
- 林下种植林地协议
- 第7课《社会主义好》第一课时(教学课件)
- 交通运输部所属事业单位统一招聘笔试真题2025
- 学堂在线 面向未来社会的服务设计与管理 章节测试答案
- JBT 14685-2023 无油涡旋空气压缩机 (正式版)
- 闸门维修养护施工方案
- YS/T 461.5-2013混合铅锌精矿化学分析方法第5部分:二氧化硅量的测定钼蓝分光光度法
评论
0/150
提交评论