©2007IBMCorporation合作伙伴解决方案介绍-AIComframe平台解决方案亚信科技(中国)有限公司June10th,2009©2007IBMCorporation内容1、系统推出背景2、业务需求介绍3、相关市场展望4、解决方案架构图5、解决方案清单6、系统带来的价值7、案例介绍©2007IBMCorporation1.系统推出背景©2007IBMCorporation系统推出背景涉及的系统模块(子系统)多,模块间调用顺序复杂,在不同的情况下可能会表现出不同的调用顺序。模块间的调度逻辑易变,模块间存在异步调度方式。模块提供的服务不支持事务,模块间的调用不能或者不便于做全局事务控制。模块中存在人工交互节点,跨部门、跨岗位;或者模块的执行时间较长,整个流程不能在较短时间内完成。©2007IBMCorporation2.业务需求介绍©2007IBMCorporation业务需求介绍通过接口方式,给出了一套流程开发框架。业务系统在二次开发过程中,通过实现框架的接口,实现与流程引擎的交互,完成流程调度功能。为流程开发、测试和部署提供了工具和便利,使得基于流程的业务开发高效且可被管理。充分发挥了消息服务总线和工作流引擎的强大优势,使得整个软件耦合性低,易于扩展。©2007IBMCorporation4.解决方案架构–体系结构图–硬件方案图–系统功能组成©2007IBMCorporationComFrame技术架构简介–采用J2EE编程,内部采用EJB封装核心服务,采用JMS作为异步处理的方式,使用JDBC和DataSource作为数据库持久化工具–支持主流的J2EE服务器,例如Weblogic,Websphere,borlandEnterpriseServer,Jboss–通过cluster支持loadBalance和failover–作为一个松耦合系统的流程解决方案和二次开发平台,AIComframe与业务系统支持分开部署和统一部署;数据库持久层支持分数据库存储和统一存储。AIComframe和流程引擎间支持分数据库存储和统一存储–使用EJB和Webservice完成远程的交互–支持local方式的EJB的调用,以提高效率–使用EJB作为远程方法调用时候,采用JTA事务,该事务在JVM间传播–发布成简约版的时候,使用数据库连接的事务,限于同一个数据库当中–支持远程方法调用的时候,不采用全局事务,并通过事务日志对帐的做事务补偿©2007IBMCorporation体系结构图EJBContainerJ2EEApplicationServerWEBContainerMessageBusJNDITransactionServiceDataSourceAIComframeWorkflowEngineALBPMWPSJBPM业务模块©2007IBMCorporation体系结构图-ContinueCOMFRAME流程定义服务注册流程发布Studio基础数据权限岗位流程统计核心调度流程调度异常调度引擎API服务调用任务处理查询接口流程引擎IBMWPSBeaFuegoBeaWli8BeaWli7APPWorkflowIBMMQWorkflowJbossJbpm。。。©2007IBMCorporation硬件方案图数据库Web应用服务器UWFE(WPS)工作流管理系统(WMS)电子消息终端用户智能电子表格(IEF)内容管理系统(CMS)文件库在线表格JDBC/SOAP连接器电子消息2输出1输出智能电子表格(IEF)在线表格内容管理系统(CMS)文档库HTTP连接器JDBC/SOAP连接器JDBC/SOAP连接器JDBC/SOAP连接器JDBC/SOAP连接器JDBC/SOAP连接器JDBC/SOAP连接器JDBC/SOAP连接器EJBJAT©2007IBMCorporation系统功能组成WEB门户流程管理©2007IBMCorporation5.解决方案清单©2007IBMCorporation警务信息协同工作平台配置清单来源名称功能说明数量硬件IBMP550(4CPU/16G250G×3)WPS集群服务器和AIComframe服务器共3台IBMJS21(2CPU4G73GB×2)门户服务器共4台IBMJS21(2CPU4G73GB×2)应用服务器共4台IBMP550(4CPU/8GB300GB×3)数据库服务器共1台IBM软件IBMWebSphereApplicationServerv6.1应用服务器IBMWebSphereProcessServerv6.1工作流引擎IBMWebSphereIntegrationDeveloperv6.1流程开发工具Orcale软件OracleDatabase9i数据库©2007IBMCorporation6.系统带来的价值©2007IBMCorporation系统带来的价值软件开发角度它平滑了学习曲线,降低了流程类应用的进入门槛保证了整体代码的质量基于引擎可替换的前提,AIComframe提供了内置引擎的本地调试方案,使得测试更加便捷通过集成部署环境,解决各个流程引擎差异性的部署要求,从而对业务透明体系架构角度看它促使流程逻辑和业务逻辑彻底分离,系统模块间、系统间耦合性大大降低得益于J2EE的关键技术——消息服务总线的应用,使得无缝地平行扩展成为现实无论在开发环境还是运行环境,流程实例都能被以图形化的方式方便的监管并加以控制项目管理角度由AIComframe软件承担由于引入流程引擎带来的风险开发框架的应用使得项目开发进度曲线平缓,从而得以控制引擎可替换性使得在项目生命周期中,引擎可以被透明替换©2007IBMCorporation系统带来的价值-Continue提供了统一的基于流程的开发框架开发者可以不具备J2EE的开发基础,具备简单的Java开发技术就可以在AIComframe这个开发平台上完成基于流程的应用代码开发;流程开发者可以不必熟悉五花八门的流程引擎,不必为商用产品升级而困扰,这一切都由AIComframe完成;流程开发者不必再惧怕业务流程成天的变化,不必再担心程序在不断变化中变得不可维护,AIComframe提供了一套流程处理机制使得业务程序稳定且可维护。规范和统一工作流在业务系统中应用的概念和理解各大商业中间件厂商提供的工作流引擎都是具有普遍性意义的产品,它往往要覆盖大多数的行业,在通用性上会有很好的表现。但是往往就不能有很好的业务性,不能以业务的方式提供给业务人员使用,同时对于某些特殊业务需求的实现可以有多种理解。在AIComframeV1.0中,我们根据电信业务的特点规范了一些流程概念,如正常流程和异常流程的定义,将一些业务概念引入了流程。通过一系列的规范,使得电信的复杂业务在流程中可以得到统一的、更加简单的描述。屏蔽商用工作流组件对于业务程序接口的差异由于工作流概念的不统一,标准的多样性,更由于中间件厂商的原因,造成了工作流接口的多种多样,功能层面各有长短。在AIComframe中,我们将各个商业工作流引擎的接口统一封装,对于某种工作流引擎缺少的功能进行了补充实现,因此,AIComframe暴露给业务系统的接口是统一的完整的接口,业务系统无须关心自己所使用的商业工作流引擎是什么厂商提供的。方便业务程序使用商用工作流引擎,与工作流交互简单通常在流程运转中,我们需要和引擎进行交互,在合适的时机需要通知业务系统;同样,业务系统需要告诉工作流业务执行的情况。因此,一个方便的交互方式在系统开发中就显得很重要了。AIComframe针对业务系统的一般特点,对可能发生的各种情况进行了抽象,在这些交互点上,通过实现AIComframe的接口,业务系统可以得到很好调用,同时,调用AIComframeV1.0的API可以将业务系统的业务逻辑执行情况很方便的反馈给工作流引擎,使引擎能够做出及时响应。基于J2EE1.4的标准组件,适用于任何基于J2EE的应用程序AIComframe是基于J2EE1.4标准开发的组件,对于符合J2EE标准的应用,能够无缝的集中发布,同时提供分布式的发布方式,这些对于应用系统都是透明的。应用程序可以灵活使用AIComframe,也可以跨过AIComframe与商用工作流引擎直接交互由于一些商业工作流引擎提供了EAI的手段以及一些模块化的功能,因此,AIComframe并不是完全屏蔽了商业工作流引擎,如有必要,业务系统可以直接和商业工作流引擎交互,以获得引擎提供的特殊功能。当然这样做,业务系统的代码也就和商业工作流引擎相关了