标题 | 基于工作流的B/S模式自来水公司OA系统设计与实现 |
范文 | 王留洋 [摘 要] 本文根据现代化办公的要求,通过对OA系统中工作流的分析,提出一个基于工作流的OA系统模型,在.NET环境下,利用工作流技术和Web服务技术实现了OA系统的开发。 [关键词] OA; 工作流; B/S模式; .NET doi : 10 . 3969 / j . issn . 1673 - 0194 . 2009 . 20 . 027 [中图分类号]F270.7[文献标识码]A[文章编号]1673-0194(2009)20-0071-03 1 引 言 随着淮安经济的发展和城市建设步伐的不断加快及城市规模的日益扩大,自来水公司的管理工作日趋复杂,但随着信息技术的发展,使得提供公共服务的自来水公司的全面信息化变为了现实。在这种情况下,自来水公司迫切需要将自来水公司所有业务及服务进行整合,建立一个涵盖综合事务(包括公司网站、设备管理、公司日常办公OA等)、调度(压力流量采集监控、水厂生产控制系统、泵站管理监测)、管网GIS、营业收费(包括远程抄表、司银联网等)、用户报装、热线服务(包括短信平台)等统一的综合办公平台,建立统一的底层数据中心,管理多源、多尺度、多专题数据,从根本上解决各套系统独自运作、信息不通、数据无法共享或共享不彻底的问题,使自来水公司运用现代信息与通讯技术,将管理与服务通过信息化平台集成,实现真正管理及服务的科学化,并为行政审批提供依据,提供“一站式”办公。 2 系统的需求分析 事务性功能模块应具备模块组建管理、用户与授权管理、单点用户认证管理、协作组建管理等功能。在信息授权的基础上,各类信息以一种直观易用的、可定制的、基于浏览器的人机交互界面呈现。 淮安市自来水公司综合办公平台事务性功能即日常公文行政管理应用等,能够在完成日常公文处理的基础上,结合公司日常行政工作,实现公司各部门员工可以充分共享数据,按照个人授予的权限通过网络完成自己的日常办公以及对相应行政数据的查询、统计和分析,并进行协同办公文档处理,为各部门领导和员工及时处理工作和及时了解公司各项动态提供即时全面的网络服务。 事务性功能模块内嵌入用户管理、目录管理、身份认证、数据库、应用服务器等模块,也可根据需要,将这些功能加载于多种外部系统,如目录服务、大型数据库、第三方应用服务器等,建立稳定可靠的信息平台,保证系统的可扩展性。 淮安市自来水公司综合办公平台中,通过事务性功能模块组织、展现各种结构化、非结构化的信息内容和相关的Web应用页面,为最终用户提供了统一的信息访问渠道。 3 系统的功能设计 淮安市自来水公司综合办公平台实现的功能应包括事务性功能模块、业务性功能模块、平台数据整合维护功能模块等,整体结构如图1所示。 4 系统的实现 系统采用B/S模式,由浏览器和服务器组成,数据和程序放在服务器端,服务器可以有多层结构,服务器负责与数据库的交换工作,并将结果发送给各终端。前端的浏览器不用维护,用户只需浏览器即可使用该系统。其优点是采用标准Internet技术,技术人员只要开发和维护服务器端应用程序,无须考虑客户端程序,大大降低了软件维护开销,而且非常适合信息的查询和组织,界面简单且易于与Internet上的其他系统集成。 本系统选择.NET作为工作流开发工具。在.NET工作流中,进程通过WorkflowRuntime创建和维护WorkflowInstance。除此而外,WorkflowRuntime可以创建自定义的服务和本地服务(为工作流处理对象设计服务),可以控制存中加载和卸载工作流(配合SQLWorkflow Persistence Service就可以实现工作流的持久化)等等。 4.1 .NET工作流组件模型 .NET工作流组件模型见图2。服务由Addservice()加载入WorkflowRuntime中,而与WorkflowInstance实例无关。WorkflowInstance在创建后,自动流动触发Activity。在Activity中触发Service中的事件,转而由WorkflowRuntime将事件转化为接口上的事件调用(EventHandle)。 一个必须添加到工作流运行时引擎才能启用本地服务通信的服务。若要正确地化和注册这些服务,必需将本地服务添加到ExternalDataExchangeService中。此WorkflowRuntime, WorkflowInstance, ExternalDataExchangeService和本地服务的关系是:WorkflowRuntime承载WorkflowInstance,ExternalDataExchangeService被添加到WorkflowRuntime,本地服务被添加到ExternalDataExchangeService中以实现对于譬如 WorkflowPersistenceService的初始化。 本地服务必须实现使用 ExternalDataExchangeAttribute 进行修饰的接口。本地服务需要定义方法和事件(需要实现ExternalDataEventArgs)供CallExternalMethodActivity和HandleExternalEventActivity使用。前者用于工作流实例从外部接收信息,后者用于处理由本地服务引发的事件的工作流通信活动。WorkflowRuntime会将本地服务上的方法调用转化为WorkflowInstance上的Event触发。 4.2 工作流创建 把一个业务逻辑抽象成一个工作流。首先我们要在业务流程图中识别出工作流的环节。如图2所示,显然,我们共有多个环节,同时包含一个分支及一个合并。 建立好环节以后,必须在每个环节中添加一些动作以便于工作流运转。每个动作有唯一的无条件结果,条件结果由管理用户有选择地来实现。
接下来要并行地执行自来水公司业务分析、财务管理和网络办公,这里是放置分支的最理想地点。 status="Underway" owner="Risk Analyst" step="2"/> status="Underway" owner="Financial Officer" step="3"/> status="Underway" owner="Web Office Automation" step="3"/> |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。