企业应用系统的设计

来源:互联网 发布:东方卫视网络直播源 编辑:程序博客网 时间:2024/04/28 06:44
导读:

  前面各节,介绍了什么是工作流、Uniflow V3.5的系统结构以及工作流与应用结合的模型,下面小节将详细描述如何基于Uniflow V3.5来构建企业应用。相对于传统的应用系统来说,基于工作流管理的企业应用系统更具有通用性,一旦系统开发完成,不需随着业务流程的变化再以编码的形式修改应用系统。

  根据以上对Uniflow V3.5系统的整体分析,本文提出了下面的设计思想,在横向上将应用系统的构建总体划分三部分,即流程建模系统、管理控制台和办理工作台。但按照传统流程建模方式,流程的建模阶段需要做两件事,在设计复杂业务过程的同时还要把各个活动节点所要参与的人员指派上,这种传统流程建模方式决定了设计者不能只熟悉业务的流程,还要掌握企业内的人员组织结构,给设计者带来很多不便。另外为了减轻WEB服务器运行的负担,在规划系统功能分布时,可以根据工作流接口不同的职责把服务器进行划分,由此提出了业务流程设计与指派参与者分离和管理与业务办理分离的设计思想。

  业务流程设计与指派参与者分离

  采用离线运行定义工具的方式,即流程定义工具的运行独立于工作流应用系统运行环境,不需要连接数据库系统,不需要连接企业组织机构系统等等。离线设计流程模板可以降低设计流程的复杂度,维持定义工具的独立原则,只涉及流程的业务逻辑,依靠流程定义工具的逻辑验证模块保证流程合法性,当设计完流程模板后将模板发布为流程文件。第二步将流程文件从管理服务端的模板管理模块导入到运行环境中,在管理服务端有熟悉企业组织机构的人员来指派参与者,最终形成完整、可用的业务流程。

  管理与业务办理分离

  由于流程的管理和维护调用的Uniflow V3.5接口与工作项办理调用的接口相互独立具有可分离性,所以采用管理与业务办理分离的设计思想以提高系统的性能。现把管理端称作管理控制台,主要实现Uniflow V3.5接口1和Uniflow V3.5接口5的功能。业务办理端称作办理工作台,主要实现Uniflow V3.5接口2的功能。

  管理控制台 具有管理职能的控制台,将管理流程模板和管理流程实例功能集于一身。通过调用Uniflow V3.5接口1中的保存流程模板的方法可以将流程文件导入到运行环境,调用Uniflow V3.5接口1设置参与者方法为流程模板指派参与者,调用表单授权方法为流程中手动节点绑定的Form表单进行授权等,分担流程设计者的职能。此管理控制台另一个职能就是监控工作流服务器的运行状况以及业务过程执行的情况。

  办理工作台 实现具体的工作项办理操作功能,维护流程所需的组织机构模型,以Web Services的方式提供组织机构信息供管理控制台访问,在办理客户端的开发过程中主要实现调用Uniflow V3.5接口2的方法,包括显示任务列表等。

  下面就基于Uniflow V3.5工作流管理系统和提出的设计思想给出一个企业应用系统模型,首先从管理系统的整体架构上作一个横向和纵向划分。如果横向按照业务过程生命周期来划分,可以分为设计阶段和流程的运行阶段。纵向按照J2EE应用模型的思想搭建,将全部应用结构分为四层,即客户端层、应用层、服务层和数据层。

  客户端层包括业务过程的建模、流程监控和工作项办理等与人交互的层。提供客户端界面,根据用户的权限不同而显示不同的信息,这些HTML页面由服务器端应用程序创建,在该层中系统接收用户的操作,在应用层调用工作流接口。

  应用层包含支持客户端请求的表示逻辑层和业务逻辑层。表示逻辑层由显示动态HTML/XML页面的JSP和Servlet实现。它们的主要作用是接受并检验用户输入的数据,把数据传给后端的业务逻辑层,并把业务逻辑层处理的结果返回给客户端层。而业务逻辑层则用来满足金融、电信、零售等商务应用的需要。使用Uniflow V3.5管理系统来开发企业应用,必须在这一层实现对工作流接口的调用,管理控制服务器通过Uniflow V3.5接口1和接口5与Uniflow V3.5服务器进行数据交互和对流程进行管理和执行控制操作。业务办理服务器通过接口2对流程进行控制,可以挂起流程、恢复流程和提交工作项等。

  服务层主要有工作流服务器和外部服务器等组成。工作流服务器主要用来解释由建模工具所定义的业务过程,按照业务过程执行相应的操作以及调用相关的应用程序。外部服务器主要是通过appMgr来管理调用,例如即时通讯服务监听工作流引擎的请求向外部传递信息、发送email、发送手机短信息等。

  数据层主要是使用数据资源管理(即DRM)来统一与数据库打交道,屏蔽了不同数据库之间的差异,可以同时管理分布式部署的数据库系统,无论数据库是SQL Server、DB2还是Oracle。

  基于以上应用模型开发一套稳定、可扩展性好的应用系统接下来要考虑的就是技术实现问题,要使得系统具备开放性、灵活性、易用性等特点。

  开放性:完全采用J2EE体系结构、支持主流的操作系统如Linux、Unix、Windows系列等,支持跨数据库连接如SQL Server、Oracle等,通过标准规范接口可平滑挂接原有或新增的系统如财务软件、ERP等。

  灵活性:适应组织机构与人员的变化,当组织机构调整或发生人员调动时,只需重新指定参与者即可;适应业务流程的变化,提供图形化业务建模工具和工作流引擎,可将业务过程图形化表示,可动态更改与监控。

  易用性:采用全浏览器方式,操作界面简洁、直观,客户端零安装。

  前瞻性:全面采用面向对象和组件化设计,系统构建、升级维护方便;在业务设计上采用先进的面向服务的设计,确保需求变化可平滑处理而不对系统整体造成损害。

  技术先进性:按照面向对象的多层结构设计,充分采用了J2EE、XML、RMI技术,体现出系统的跨平台性及系统的先进性,便于系统的维护和升级。

  可扩展性:编程架构上将数据层、控制层等分离,一切与外部系统打交道的地方都使用抽象接口,通过实现代理接口的编程方式完成对外部系统的调用和控制,并且代理接口可由用户根据需要自行实现,充分体现系统的可扩展性。

  标准化:采用标准化的数据格式,标准化的数据交换格式XML。



本文转自

http://soa.5d6d.com/redirect.php?fid=7&tid=72&goto=nextoldset
原创粉丝点击