(计算机应用技术专业论文)基于组件的工作流管理信息系统的研究及应用.pdf_第1页
(计算机应用技术专业论文)基于组件的工作流管理信息系统的研究及应用.pdf_第2页
(计算机应用技术专业论文)基于组件的工作流管理信息系统的研究及应用.pdf_第3页
(计算机应用技术专业论文)基于组件的工作流管理信息系统的研究及应用.pdf_第4页
(计算机应用技术专业论文)基于组件的工作流管理信息系统的研究及应用.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于组件的工作流管理信息系统的研究及应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京航空航天人学硕士学位论文 摘要 k 在过去十几年里,m 1 s 在企业完善管理、提高工作效率等方面发挥了重要作用。 然而,随着市场竞争的加剧,企业的经营业务范围、流程不断进行扩展和调整的情况 对m i s 提出了新的要求。、q 本文以徐州卷烟厂c i m s 烟叶管理系统的开发为课题背景,在分析了运用传统 m i s 开发技术开发烟叶管理系统时所面临的新的挑战,以及传统m i s 的不足后,在 对组件技术与工作流管理技术分析的基础上,设计了将软件组件技术及工作流管理技 术相结合的“基于组件的工作流管理信息系统( c o m p o n e mb a s e d w o r k f l o w m a n a g e m e n ti n f o r m a t i o ns y s t e m ,c w m l s ) ”的解决方案。在徐州卷烟厂c i m s 一烟叶 管理系统的开发与实施中应用了这一方案,通过将工作流管理技术和基于组件的软件 开发技术引入烟叶管理信息系统的开发中,使之能够面向烟叶管理流程、适应烟叶管 理流程的变化。 关键词:m i s 组技术件工作流管理技术烟叶管理信息系统 a b s t r a c t i nt h ep a s tt e ny e a r s ,m a n a g e m e n ti n f o r m a t i o ns y s t e m ( m i s ) m a k e sg r e a tc o n t r i b u t i o n t o i m p r o v i n gt h el e v e lo fm a n a g e m e n ta n dt h ee f f i c i e n c yo f w o r ko f e n t e r p r i s e s b u tw i t h t h e i n c r e a s i n g m a r k e tc o m p e t i t i o n ,r a n g eo fb u s i n e s sa n dw o r k f l o w so f t e n e x p a n da n d c h a n g e ,a n dt h i sp u t sf o r w a r dn e wr e q u i r e m e n tt om 1 s t h i sp a p e ri sb a s e do nt h ed e v e l o p m e n to ft o b a c c om a n a g e m e n ti n f o r m a t i o ns y s t e m a f t e r a n a l y z i n g t h e p r o b l e m s w i t hw h i c ht r a d i t i o n a lm i sc o n f r o n t e di n d e v e l o p i n g t o b a c c o m a n a g e m e n t i n f o r m a t i o n s y s t e m a n dt h ed r a w b a c k so ft h et r a d i t i o n a l m a n a g e m e n ti n f o r m a t i o ns y s t e m ,ld e s i g n a p r o j e c t ,c o m p o n e n t b a s e dw o r k f l o x 、 m a n a g e m e n ti n f o r m a t i o ns y s t e mt h a ti n t e g r a t e sw o r k f l o wm a n a g e m e n tt e c h n o l o g ya n d c o m p o n e n tt e c h n o l o g y , a n dt h e nia p p l yi tt ot o b a c c om a n a g e m e n ti n f o r m a t i o ns y s t e mt o e n a b l et o b a c c o m a n a g e m e n ti n f o r m a t i o ns y s t e m t o s u p p o r t t o b a c c o m a n a g e m e n t w o r k f ! o wa n di t sc h a n g e k e y w o r d s :m i s 、c o m p o n e n tt e c h n o l o g y 、w o r k f l o wm a n a g e m e n tt e c h n o l o g y 、t o b a c c o m a n a g e m e n t i n f o r m a t i o ns y s t e m 南柬帆空航人大学倾f 。一i 论文 1 1 前言 第一章绪论 烟草行业是国家的利税大户,在国民经济中起着举足轻重的作用。计算机的推 应用,是实现振兴烟草,“科技兴烟”的重要手段。烟叶是卷烟工业企业的主要原料, 是制约企业产品质量的最重要的因素。 徐州卷烟厂c 1 m s 的目标是要将企业生产经营全过程中有关人、技术和管理三要 素及有关的信息流、物流和价值流( 资金流) 有机地集成并优化运行,以实现产品0 高质量、低成本、交货期短,提高企业的应变能力和综合竞争能力,从而使企业在竞 争中赢得一席之地。 烟叶是徐州卷烟厂的主要原材料,烟叶的质量直接制约成品烟的质量,烟叶的成 本直接影响成品烟的成本。烟叶的管理过程比较复杂、繁琐,整个管理过程基本上由 手工劳动进行,信息量又大而且烟叶的需求信息、库存信息变化快,领导需要及时了 解烟叶的各种信息以便对企业的生产经营进行正确的决策。 烟叶管理是徐州卷烟厂c i m s 的重要组成部分。通过对烟叶管理业务和徐州卷烟 厂对烟叶管理计算机化要求的全面分析,发现烟叶管理系统除了要不仅完成烟叶管理 的业务功能,还要有达到以下几点要求: 烟叶管理系统要面向烟叶管理业务流程; 由于烟叶管理业务不是一成不变的,这就要求烟叶管理系统能够在管理业务 模型发生变化的情况下仍然能够顺利运行,完成管理业务目标,即支持烟f l f | 管理业务流程的变化; 烟叶管理系统要有助于管理人员寻求到较适宜的管理业务模型; 在过去十几年里,m i s 对于企业完善管理、提高工作效率做出了不可磨灭的贡献, 然而,传统m i s 技术的一些不足已经阻碍了企业管理信息化的进一步发展。传统m i s 的不足主要表现为: 传统的m i s 系统常需要进行相应的二次开发工作,这般都要涉及到对原系 统内部程序的大量数据库表的深入了解,并在原有系统外围建立新的数据库 表和开发多种接口转换程序。这个过程容易产生一系列问题,从而造成系统 混乱,这不仅消耗大量的人力、财力,而且给新产生的新系统带来运行稳定 性和安全性等隐患。 传统m i s 系统有一个共同点,那就是很好的满足了单一用户处理单一任务 一角色) 的应用需求。如果一个用户需要处理多种任务,担任多种角色,那 么这种技术所提供的解决方案会让用户感到难以学习,难以操作。 他统m i s 技术难以很好的。峡j 她流耻f l :系统,所州流科足指一坝j 作分为1 :f 【;j 阶段由不同的人来协作完成,敦扣:j 乖、i 川流张f 匕门要求址普遍存m f n ,为 f t 何企业或机构的业务都是由系列环。1 ,构成n :j 业务流程组成的,用户希l j 软件系统不仅能够解决独立环节的业务问题,j 酊目省够自动把这些环节串驳 起来,希望一个环节所做的工作能够自动坡f 。个环节利用。般复杂的旨 理信息系统由多个业务流程组成,而每个流程中每个环节都分得很细,环节 上的任务比较单一,这对工作人员比较方便,可是却向i t 技术人员提出丁 挑战。 综上所述,传统m i s 系统开发存在的问题有:扩展能力差、难以维护、可重用性 差、企业内部较小的变化可能引起系统的重大修改。这就需要寻求新的解决方案来满 足徐州卷烟厂对烟叶管理系统的要求。 工作流管理技术作为一种对常规性事务进行管理、集成的技术,它具有柔性、集 成性、重用性和可扩展性的特点,它可以改进和优化业务流程,在企业内部实现更女j : 的业务过程控制和业务监督机制,从而减少企业对市场需求变化的反映时间。 工作流管理技术作为种过程建模和过程管理的核心技术,可以与其他应用系统 有效地结合,生成符合企业需求的各种业务管理系统。当前,工作流管理技术较多地 用于办公自动化方面。 基于组件的软件开发技术是一种继面向对象软件开发方法后的新型软件开发技 术,它具有可重用性强、开发速度快、适应业务需求更改等优点。 本文采用基于组件的软件开发技术,结合工作流管理技术建立一个基于组件的、 易于扩展的和移植的、具有相当的快速重构能力的工作流管理信息系统( 简称 c w i v l 】s ) ,以适应和满足徐州卷烟厂对烟叶管理系统新的要求。基于组件的工作流管 理信息系统的关键技术是:软件组件技术和工作流管理技术。 1 2 课题来源 本文以徐州卷烟厂c i m s 一烟叶管理系统的开发为课题来源。通过对烟叶管理业务 的全面分析,不仅可以全面实现烟叶的计算机化管理,还根据多年来烟叶管理业务自0 经验,总结出烟叶管理各项业务中的流程规律,进而改进烟叶管理的业务流程,使业 务管理达到优化,实现烟叶管理信息化的最终目标。 1 3 本文主要内容及组织结构 本文主要讨论“基于组件的工作流管理信息系统”,及其在徐州卷烟厂c 1 m s 煳 叶管理系统中的应用。全文由以下七章组成: 第一章主要讨论了传统m 1 s 系统的不足。提出采用基于组件的工作流管理信息系 2 南京航空航天大学硕士学位论文 统改汁方案来开发m i s 系统,以满足现代企业对m i s 系统开发提出的新要求。 第二章主要介绍了软件组件技术以及基于组件的软件开发方法,并对组件标准一 一c o m + 的组成结构及其通信机制等做了简要介绍。 第三章主要介绍了工作流技术有关的起源、概念以及特点等方面的内容。 第四章详细讨论了基于组件的工作流管理信息系统设计方案,包括软件体系结 构、工作流模型、执行系统、拓扑结构等方面。 第五章主要介绍了徐州卷烟厂c i m s 烟叶c w m i s 的业务以及业务流程。 第六章主要介绍了徐州卷烟厂c i m s 一烟叶c w m i s 的开发。 第七章主要介绍了徐州卷烟厂c i m s 一烟叶c w m i s 的实施。 第八章对全文进行了总结,并对课题的进一步研究和后期目标提出了一些看法。 全文的内容布局如图1 - 1 所示: 第章本文主要内容:“基于组件的工作流管理信息系统”的研究 及其在徐州卷烟厂c i m s 烟叶管理系统中的应用 第二章c w m i s 的关键技术之一 软件组件技术与c o m + 组件标准 第三章c w m i s 的关键技术之 工作流技术 第四章基于组件的工作流管理信息系统c w m i s 第五章徐州卷烟厂烟叶c w m i s 业务流程分析 第六章徐州卷烟厂烟叶c w m i s 开发 第七章徐州卷烟厂- 烟叶c w m i s 实施 第八章进行总结和展望 图1 - 1 基于组件的上作流管j 虬i 息系统f 勺研究憧虚用 第二章软件组件技术与c o m + 组件标准 随着计算机技术在企业中应用范围的不断扩大,企业软、硬件环境及信息系统的 分布性就越来越突出。企业应用并不是新生事物。开发企业应用历来是一项长期的、 昂贵的、但又不易成功的任务。究其原因,并不是因为企业应用的业务逻辑非常复杂 真正阻碍应用发展的是,开发人员必须从头写所有的基础设施,从最基本的业务逻辑 规则到整个企业应用层。而企业应用的基础设施与银行、医院、保险、航空定票业务 或任何一个企业应用的业务逻辑无关。而c o m + 预先提供了许多面向企业应用设计者 的通用基础设施解决方案。 2 1 组件技术 由软件组件技术而兴起的c b d ( c o m p o n e n t b a s e d d e v e l o p m e m ,基于组件的软件 开发) 方法是近几年来日益成熟起来的崭新的软件开发方法。这一方法是继面向对象 软件开发方法后的又一次浪潮,并被誉为是下一世纪主流的软件开发方法。 2 1 1 组件技术概念与特点 面向对象编程的软件重用仅限于程序源代码级别的重用,这是一种较低层次的重 用,真正的代码重用意味着代码必须用以足够通用的方式为重建更大型的代码而编 写,而且还能够按照代码的工作方式得到定制。面向对象方法的重用还存在另一个问 题,它一般要求对象程序和使用对象的客户程序使用同样的编程语言。这些特点使它 面对更加复杂的现代分布式软件应用,显得有点力不从心,因为它无法使用一个标准 的框架使得来自不同提供商的软件对象可以在同一地址空间通信,更不用说跨进程地 址空间或者通过网络进行通信,于是组件化程序设计思想得到了迅速的发展。 组件化程序设计方法的思想是将复杂的应用程序设计成一些小的、功能单一的组 件模块,组件之间可以跨进程、跨机器、跨语言甚至跨操作平台进行通信。要实现这 样的应用软件,组件程序之间必须要遵循严格的规范,软件系统才能正常运行。 对于用什么特性来标识软件组件的基本属性,有代表性的观点主要包括: 组件是软件的基本量子。它具有一定的功能,可重用、可维护。 组件是软件开发中一个可替换的单元,它封装了设计决策,并作为一个 大单元的一部分和其他组件组合起来。 组件是具有特定功能的,能够跨越进程边界,实现网络、语言、应用程 序、开发工具和操作系统的“即插即用”的独立的对象。 组件是指任何可被分离出来,具有标准化的、可重用的公开接口的软件。 根据以上的论述,将组件定义为软件的基本单元,基本单元定义包含三个方面: f 南隶航e 航大尺学碾:f 时论文 组件是可复用的、自包含的、独立于具体应用的软件对象模块: 组件只能通过其接口来访问; 组件不直接于别的组件通信。 组件的特点有: 可插用是现成的可打包的软件部件,可从经销商处购得: 可维护组件是足够小的,因而易于维护和升级; 有功能组件是足够大的,以它所期望的方式工作; 有特点组件是设计用于执行某种特定任务的,它代表了整个应用程 序中的一个部件。这个部件可以是细颗粒、中颗粒、或大颗粒的: 没有与别的组件直接通信的路径不直接通信是组件可维护和可升级 的必要条件。此夕 ,它使得组件可被用于分布式环境; 自我可描述组件能向系统的其余部分描述它提供的服务。这种描述 通常是通过说明性的、与实现无关的接口定义语言来提供的: 目标框架组件通常是为一特殊的框架所建立的,这种组件不能在其 它框架中运行。例如:j a v a b e a n 组件不能直接用于a c t i v e x 环境; 目标对象总线直接与某一对象总线接口相联的组件或许不能与另一 对象总线一起使用。要用网关来提供不同对象总线之间的可互操作性。 2 1 2 基于组件的软件开发 2 1 2 1 基于组件的开发过程 基于组件的开发过程包括步骤如下: 1 ) 设计:在抽象层描述系统中包含的组件,包括组件的接口、组件的属性以及 组件间的关联等信息; 2 ) 部置:根据设计运行环境,决定组件的分布、组件的实现等细节; 3 ) 具体化组件:将逻辑组件转化为物理组件,使组件与具体的代码对应起来; 4 ) 具体化连接:将逻辑连接转化为物理连接,将组件间的连接以代码的形式表 现出来: 5 ) 产生代码:包括对象的初始化,对象实例问的连接,文件系统信息,需连接 的库,以及编译开关等信息; 6 ) 编译、连接,产生最终目标码。 基卜组件的工怍流管理信恩系统的研究披应h j 2 1 2 2 组件接口设计要求 组件的接口在整个应用系统中起决定作用。接口设汁不合理,不仅影响组件本身 的可重用性,并且将影响整个应用系统的升级,缩短系统的生命周期。基于这样的考 虑,组件接口设计要求有: 般接口应具有较高的通用性,以提高整个应用系统的复用能力,同时还要 兼顾简单和实用性; 组件的内部实现细节不能反映到接口中,接口同内部实现细节的隔离程度越 高,组件或应用发生变化对接口的影响将越小。在设计组件的接口时,还要 尽量估计到将来可能出现的各种情况,力争设计出具有高复用性、适应性和 灵活性的接口。 2 1 2 3 组件的组装及连接 组件组装过程是利用现有的组件加入一个框架中,然后将所加入的组件利用事件 进行连接的过程。该过程既可以对应于一个静态的组件设计行为,又可以对应于个 动态的组件配置行为。 对于源码型组件,相互之间一旦建立起连接关系之后就不易调整。所以分布式组 件间的连接一般是在不改变目标码的前提下加入连接信息,使用户可以在系统运行过 程中增加新的组件或替换它的组件,并且不影响系统的正常运行。 2 1 2 4 基于组件的软件开发的优点 1 ) 组件易替换:在庞大复杂的企业级应用程序中,如果使用组件技术将程序分 成一个个组件模块,在进行程序修改或版本升级时,就可以只修改或替换相关的组件, 而不影响其他众多的程序组件。 2 ) 适应业务需求更改:软件的业务需求通常并不是一成不变的。开发期间和软 件配鬣之后,新的需求会不断涌现。在组件软件中,可以将业务规则放在少数几个组 件中。当业务规则发生改变时,只需修改原组件或重建并发布新组件即可。更新是局 部的,程序中出错的机会也就限制在这个局部,使得程序的调试和测试更为方便。 3 ) 可实现二进制代码重用:组件之间可以在二进制级别上进行集成和重用,这 样一来只需一次编写代码而多处重用。 4 ) 有助于并行开发:一个大应用系统可由许多组件组成,这些组件的实现可以 并列进行。 2 1 3 组件标准比较 目前已制定的组件实现规范主要有c o m 、c o r b a 和j a v ab e a n 。这三种组件规 范皆是针x 寸- - 进制代码组件制定的,为基于组件的软件开发提供了一个对象管理的基 础设施。 c o r b a 的优点是:与开发语言无关的独立性、与开发者无关的独立性和与操作 系统无关的独立性。c o p d 3 a 的o r b 在当前每一种主流操作系统上均有实现。除此 之外,c o r b ao r b 可以访问多种语言实现的对象( 包括c + + ,c o b o l ,s m a l l t a l k 和j a v a ) 。c o r b a 的缺点是:1 ) 各种对c o r b a 的专有扩充。有些o r b 公司在其 产品上包含了扩展性能。在利用这些扩展性能时,开发者可能不得不损失掉o r b 间 的互操作性和移植性。2 ) 大量的命令集。学习一家产品的详细命令要花费定时间, 3 ) 缺乏开发工具。4 ) 缺乏对异步通信的有效支持。5 ) 缺乏性能优化以及防御机制 等。 c o m + 的主要优点是:1 ) 拥有高质量的开发工具,如v c + + 、v b 、d e l p h i 、c 。+ b u i l d e r 等;2 ) 有大量的商品化组件可供选用;3 ) 具有静态和动态接口支持;4 ) 支 持多线程服务。它的主要缺点是缺乏众多的平台支持。 虽然c o m 最初是只用于w i n d o w s 的技术,s o f t w a r ea g 已经以e n t i r e xd c o m 的名义把a c t i v e x d c o m 输出到s o l a r i s 、d i g i t a lu n i x 、l i n u x 以及m m m v so s 3 9 0 操作系统。在i - i p u x 、i b m a i x 、d i g i t a lo p e n v m s 、s i e m e n sn i x d o r f s i n i x 和s c o u n i x w a r e 中也可能已经看到各种版本的c o m 。 本系统将采用c o m + 组件标准来进行软件组件的开发。 2 2c o m + 组件技术 c o m + 是美国m i c r o s o f t 公司提出的对象总线技术,是微软提出的为解决组件之间 进行通信的标准。c o m + 是微软公司的组件软件方案,它是为组件的互操作而定义的 二进制组件模型。c o m + 规定了对象模型和编程要求,使c o m + 对象可以与其他对象 相互操作。这些对象可以用不同的语言实现,其结构也可以不同。c o m + 是基于对象 的程序设计模型。c o m + 是w i n d o w s 2 0 0 0 操作系统的一部分。 2 2 1c o m + 概念 c o m + 预先提供了许多面向企业应用设计者的通用基础设施解决方案,特别是三 层结构模型的中间业务层上的基础设施模块。c o m + 并不是c o m 的新版本,而是 c o m 更高层次上的应用。c o m + 将c o m 的使用从台式机和本地网络扩展到整个企 7 基于组件的工作流管理信息系统的研究及应用 业( 包括i n t e r n e o 。c o m + 的底层结构仍然以c o m 为基础,但不再局限于c o m 的 组件技术,它更加注重于分布式网络应用的设计和实现。c o m + 紧紧地与操作系统结 合起来,通过系统服务为应用程序提供全面的服务。它与c o m 、d c o m 、m t s 的关 系如下图21 : 2 2 2c o l d + 的发展历程 图21 微软的对象总线技术是在以复合文档为中心的o l e l0 基础上发展而来的。在 o l e 技术出现以前,w i n d o w s 用户使用剪贴板简化复合文档的操作。微软在1 9 9 1 匀j 将d d e ( 动态数据交换协议) 扩充为一种标准,即o l e l 0 ,但o l e l0 称不上是真 正面向对象的技术。随着技术的发展,o l e l0 的设计者开始意识到复合文档对象实 际上是软件组件的一种特例。组件比复合文档应用更广泛,为此,微软在1 9 9 3 年拊 出c o m ,并用c o m 体系结构重建o l e 即o l e 20 。1 9 9 5 年,为了适应i n t e r n e t 的发 展,微软推出了a c t i v ep l a t f o r m 。1 9 9 6 年微软正式发布了d c o m 。1 9 9 7 年,微软将 a c t i v ep l a t f o r m 技术重命名为w i n d o w sd n a ( w i n d o w s 分布式i n t e r n e t 应用结构) , d n a 仍然以c o m 为基础,但在这里c o m 已经被增强为c o m + 。在w i n d o w s 2 0 0 0 z ,c o m + 集成了c o m 、m t s 、d c o m ,并有所增强。如下图2 2 所尔: 南京航空航天大学硕士学位论文 2 2 3c o m + 组件接口 图2 , 2c o m + 的发展 c o m + 组件采用面向对象的方法,所有应用都被看作是一个对象,并通过接口提 供对象的服务。客户只能通过指针来使用接口,但不能使用指针于对象。组件对象的 类能提供多种服务,因此组件对象可以有多个接口。组件对象的所有接口都必须继承 名为“i u n k o w n ”的基本接口,它提供三个方法查询对象的不同接口和管理其生命周 期: 1 ) q u e r y i n t e r f a c e 客户可调用它从支持接口的组件对象获得一个接口指针。 2 ) a d d r e f 用于管理对象的生命周期。 3 ) r e l e a s e 当其他组件不需要使用接口时被1 ;f j 用。 所有其它接口均继承1 u n k n o w n ,也可重载这三个函数。c o m 组件的接口被定义为丛 于指针的低层的、标准的二迸制a p l ,客户使用指向函数指针数组( 称为虚表v t a b l e ) 的指针访闷接口。 c o m + 1 1 1 - i = i i , j t 妾口是一些函数( 方法或成员闻数) 的聚集,由接口定义0 裔( i d l ) 址卜组件的工n 。流霄胖衙刖最纨晌研究之f 呕川 j 已义,是语言独立的,阻可以进行跨地址空间凋f | | = i 。c o m + 的i d l 是d c e 的i d l 的 扩展,但c o m + 不提供1 d l 到语言绑定,c o m + 只是定义了如何利用指针防问接口的 二进:剐舰范。 2 2 4c o m + 组件的重用机制 c o m + 组件的一个重要特点是它不支持传统o o p 的实现继承,而采用黑盒重用技 术。它采用两种机制来支持组件的复用:1 ) 包含代理( c o n t a i n m e n t d e l e g a t i o n ) 。代 理是一个对象将另一个对象完全包起来,外部对象利用内部对象接口上提供的服务来 实现自己的接口服务;而对客户机来说,它无法看见内部对象;2 ) 聚合( a g g r e g a t i o n ) , 聚合与代理不同,它虽然也将内部对象包起来,但它把内部对象上的接口直接提供给 了客户机。 2 2 5c o m + 系统结构 2 2 5 1c o m + 组件 组件是业务逻辑的软件实现形式,用来完成业务。组件也是c o m + 中软件功能的 基本单元。任何主流的c o m 开发环境,如v b ( 组件以a c t i v e xd l l 的形式存在) 、 v c + + a t l ( 组件以d l l 的形式存在) 、+ + ( 组件以c o md l l 的形式存在) 等 等都可以用来制作c o m + 组件。c o m + 组件的所有接口和方法都应该通过一个类型库 来描述,通过类型库,c o m + 的许多特性,如队列组件、事件服务等才能起作用。 2 2 5 2c o m + 目录 c o m + 目录是c o m + 的一种保存和访问管理信息的机制。传统的c o m 只需很少 的管理信息,只把这些信息保存在w i n d o w s 注册表中。而c o m + ! 巴它所需要的大量 信息保存在c o m + 目录中。目录通过一个系统提供的实用对象层次结构进行管理,层 次结构中的所有对象都支持脚本操作和远程操作。开发人员可通过c o m + e x p l o r e r 或一系列新的c o m 接口来访问c o m + 目录。 2 2 5 3c o m + 环境 c o m + 运行时刻环境比传统的c o m 环境更为丰富,操作系统为我们提供了更多 的可通过管理达到而不是通过编程实现的。c o m 用来跟踪记录每一个对象行为特性 1 ( j 的数据被引用为该对象的环境。对象的环境是指刘象所乍存的c o m + 状态。当c o m + 微活对象时,它创建对象的环境,对缘怕环境与对缘紧紧附往一起。:与c o m + 为埘像 创建环境时,它检查组件的目录项以便决定哪些属。陆j * 婪被放刮环境- h ,。蛳个 c o m + 对象紧密联系在一起的环境信息位于一个被称为“环境对缘”的独立乜容器。 】 2 2 5 4 安全性 c o m + 使我们继承了一整套安全性基础设施。它的安全性有两种形式:声明性的 和编程性的,这两种类型都建立在角色( r o l e ) 基础之上,角色实际上是应用范围内 的用户组。声明性的安全是由把系统管理员负责实施安全策略。编程授权检查可以通 过加入条件逻辑代码来提供更多的控制。 2 2 6c o m + 的c l i e n t s e r v e r 模型 c o m + ,对象和它的使用者之间的交互采用c l i e n t s e r v e r 模式,一个对象既i 以是服务器也可以是客户。客户与服务器通信的典型过程是: 1 ) 客户向c o m + 发出创建组件对象请求; 2 ) c o m + 库通过目录查询服务器的位置; 3 ) c o m + 库定位并激活服务器; 4 ) 服务器创建对象实例并返回接口指针给客户; 5 ) 客户调用对象的接口。 当客户获得接口指针时,c o m + 自动退出,由客户和服务器直接通信。 2 2 6 1c o m + 客户 c o m + 客户是一段可以获得对象接口指针的代码,且在需要时可以访问对象的服 务。通常客户传送一c l s i d 给c o m + 请求返回一实例化了的对象。客户通过类工厂 建立对象、调用方法的过程如下图2 3 : ,、 伟务器 、 客户 - - - h := = 一 l类工 i r s e t c o m p i e t e ( ) ;,完成事务 p i n s t a n c e c o n t e x t 一 r e l e a s e 0 ;! n - 放对象环境 p l n s t a n c e c o n t e x t = n u l l ; r e t u r ns0 k : 南京航空日j l 凡犬。牛硕t j 学1 节论文 2 ) 牟pj l t , l t l : f l :开发 窖j 、端组f l - 中的c b i l l r :d e t e t e r e c o r d h 法渊川服务器组件中的商业逻辑类中n 勺乃 法c b i l ld :d e l e t e r e c o r d 来删除用户选择的当前的到库登i 已单。其执行流程为: 初始化接口指针和c o m 环境 、世置两个数据结构:有关组件服务器的信息( 如服务器的路径名和验证信息) 、 有关结果的信息 使用函数c e c r e a t e t n s t a n e e e x 0 访阆远程服务器并刨建对象实例 将完成事务的工作信息传递到服务器组件来执行预定的任务 最后取消初始化c o m 环境 以下是客户端组件对象的方法c b i l lr :d e l e t e r e c o r d 的实现代码: s t d m e t h o d m 口c b i l l - r :d e l e t e r e c o r d ( b s t rc o d eb i l l ) ( t o d o :a d dy o u ri m p l e m e n t a t i o nc o d eh e r e i b i l l d 4 m _ p b i l l ;接口指针 h r e s u l t h r ;操作结果 m u l t i q im q i ; c o s e r v e 砌n f o p s i n f o ; 报务器信息 a f x m a n a g e s t a t e ( a f x g e t s t a t i c m o d u l e s t a t e ( ) ) ; mp b i l l = n u l l ;f f 初始化接1 :2 1 指针 c o i n i t i a l i z e ( n u l l ) ;初始化c o m 环境 初始化服务器信息 p s i n f op w s z n a m e = l ”w k y cs e r v e rc o m p o n e n t : p s i n f op a u t h l n f o = n u l l ; m q ip i i d = & l i d _ i b i l l _ d ; m q ip i t f 2n u l l ; m q ih r = o : 伧u 建对象实例 h r = c o c r e a t e l n s t a n c e e x ( c l s i d _ b i l l _ d , n u l l , c l s c t x a l l , & p s l n f o , 1 , & m q i ) : 如果创建失败就退出 i f ( f a i l e d ( h r ) ) 砖j 纠1 1 7 r n i f g ? j q ! ( t i u 缸统的岍宄j 之、i 川 i f ( h r = = r e g bec l a s s n o t r e g 、 a f x m e s s a g e b o x ( “此类没有在服务器卜注册”1 i f ( h r2 = r e g b e i n v a l i d a r g ) a f x m e s s a g e b o x ( 一个或几个参数无效”1 i f ( h r2 = r e g b e n o i n t e r f a c e ) a f x i v l e s s a g e b o x ( “没有接口可用”) ; a f x m e s s a g e b o x ( “对象创建失败”) : r e t u r nh r ; , h r = m q ih r ; i f ( f a i l e d ( h r ) ) a f x m e s s a g e b o x ( “不能检索接口指针”) ; r e t u r nh r ; ) mo b i l l 。( i b i l l d + ) m q ip l t f ; h r2 m _ p b i l l - d e l e t e r e c o r d ( c o d e b i l l ) ; i f ( f a i l e d ( h r ) ) a f x m e s s a g e b o x ( “删除操作失败”) ; c o u l l i 血i a l i z e ( ) ;取消初始化c o m 环境 r e t u r ns _ o k ; ) 3 ) 客户端应用开发 弓i 入类型库 # i m p o r t “b i l l _ r t l b 、 r e n a m e _ n a m e s p a c e ( “”) u s i n gn a m e s p a c e ; i m m m ;定义成员变量 i f ( f a i l e d ( m _ m c r e a t e l n s t a n c e ( _ u u i d o f 0 ) ) ) 仓w j 建客户端组件对象 a f x m e s s a g e b o x ( “创建m 组件对象失败”) : ,释放对象,退出 一! 羔 型塑竺堕垒垒竺竺! ! 竺堕! v o i dc m a i n t e n a n c e d l g :o n d e l e t e 0 t r y b s t r t s t r = m m 一 d e l e t e r e c o r d ( c o d e _ b i l l ) ;调用客户端组件对象的方挺 d e l e t e r e c o r d 删除指定的到库登记单 m e s s a g e b o x ( s t r ) ; ) c a t c h ( _ c o m _ e r r o r & e 、 a f x m e s s a g e b o x ( ee r r o r m e s s a g e 0 ) ; ) ) 6 3 建模工具及模型建立 根据第四章对工作流模型的介绍知,工作流模型是烟叶管理经营过程的抽象表 示,它是由用户根据烟叶管理业务特点建立的,是业务运转的依据,为了方便用户定 义,提供一个建模工具是必要的,这一节将介绍建模工具的开发以及运用此工具建立 烟叶管理业务工作流模型。 6 3 1 建模工具的开发 烟叶c w m i s 工作流建模工具提供的主要功能有: 用户可以对任务的属性进行编辑。 用户可以在模型中定义工作流相关数据。 用户可以保存和读取模型。 提供过程模型与组织模型的接口。 以树状显示组织模型、过程模型 用户可以编辑部门组织定义、人员角色定义。 管理任务对象 下面将对一些主要表进行介绍。 啮j f i i f t 。的1 :f i , t i ”p f 占启、系统的研究,之j 直川 流程表:w o r l ( f l o w 属性名称类型注释 c o d e c h a r ( 1 5 )流程的编号 n a n l e c m r ( 4 0 ) 流程的名称 t y p ec h a r ( 1 ) 流程的类型 p a r e n t c h a r ( 1 5 ) 流程所属于的父流程的编号 i n f o r m a t i o n c h a r ( 6 0 ) 对流程台勺描述 任务表:t a s k 属性名称类型注释 c o d e c h a r ( 1 5 ) 任务的编号 n a m e c h a r ( 4 0 ) 任务的名称 a p p l i c a t i o nc h a r ( 2 0 ) 完成任务时所用的应用程序 r o l e c h a r ( 1 5 ) 执行任务的角色 bc o n d i t i o n c h a r ( 1 0 0 ) 任务的开始条件 ec o n d i t i o n c h a r ( 1 0 0 )任务的结束条件 w fc o d e c h a r ( 1 5 )任务所属于的流程的编号 i n f o r m a t i o n c h a r ( 6 0 ) 对任务的描述 任务的后续任务表:p o s t t a s k 属眭名称类型注释 c o d e c h a r ( 1 5 1 流程的编号 t a s k c h a r ( 1 5 ) 任务的编号 p1 h s k c h a r ( 15 )后续任务的编号 ac o n d i t i o n c h a r ( 1 0 0 )后续任务的激活条件 应用程序表:a p p l i c a t i o n 属性名称类型注释 c o d e c h a r ( 15 )应用程序的编号 n a m e c h a r ( 4 0 )应用程序的名称 t y p ec h a r ( 1 )应用程序的类型 i n f o r m a t i o n c h a r ( 6 0 )对应用程序的描述 应用程序参数表:p a r a a p p l i c a t i o n 属性名称类型注释 c o d e c h a r ( 1 5 )应用程序的编号 n a m e c h a r ( 4 0 )参数名称 t y p ec b a r ( 1 )参数类型 v 甜u e c h a r ( 2 0 )参数的缺省值 h f f o r m a l i o a c h a r ( 6 0 ) 对参数的描述 相关数据表:r d a t a 属性名称类型注释 c o d e c h a r ( 1 5 ) 变量代号 n a m e c h a r ( 4 0 ) 变量名称 t y p ec h a r ( 1 ) 变量的类型 v a l u e c h a r ( 2 0 )变量的缺省值 w fc o d e c h a r ( 1 5 、 所属于流程的编号 i n f o r m a t i o n c h a r ( 6 0 )对变量的描述 角色表:r o l e 属性名称类型注释 c o d e c h a r ( 15 )角色代号 n a l l l e c h a r ( 4 0 )角色名称 o r g a n i z a t i o ns t r i n g角色所属于的组织实体 a b i l l t y c h a r ( 1 5 )角色的能力 i n f o r m a f i o n c h a r ( 6 0 ) 对角色的描述 部门表:d e p a r t m e n t 属性名称类型注释 c o d e c h a r ( 1 5 )部门编号 n a m e c h a r ( 4 0 )部门名称 p a r e n t c h a r ( 1 5 )上级部门的编号 i n f o r m a t i o n c h a r ( 6 0 )对该部门的描述 人员表:p e r s o n 【属性名称类型注释 lw o r k n oc h a r ( 1 5 )人员工号 n a l n e c h a r ( 2 0 )人员名称 k e y w o r dc h a r ( 1 5 )人员个人口令 d e p a r t m e n tc h a r ( 1 5 ) 人员所属于的部门 i n f o r m a t i o n c h a r ( 6 0 )有关人员的描述 角色一人员表:r o l e p e r s o n j 厕一陀名硝:类型;l 释 w o r k n oc h a r ( 15 ) 扎i :一| = 弓 r o l ec h a r ( 15 、 员工刘应的角色 bd td a t e t i m e 员工具有该角色权限的开始时间 ed td a t e t i m e 员工具有该角色权限的结束时间 建模工具的功能结构图如图6 - 5 所示 图6 - 5 功能结构图 6 3 2 模型建立 利用建模工具,建立烟叶c w m i s 组织模型和过程模型。分别进行 部门定义 角色定义 雀j 爿l 仲的j n 流伫_ ! l ! f 。;息系统的研钾比心川 人员定义 f f j 包一人员定义,如图6 - 6 所示 f 包一任务定义等。如图6 7 所示。 应用对象定义 流程定义,如图6 - 8 和图6 - 9 所示 图6 - 6 角色一人员定义 图6 7 角色任务定义 业墅盟坠塑竺堕兰 “烟叶采购入f 车”流程涉及的任务纰件有:删叶到j ;谬n 颅分配垛f 五、灿川过 磅、烟叶化验、烟叶质检、烟叶审核、煳叶降级、办q ! 入库等任务组件。 图6 - 8 流程定义( 一) 图6 - 9 流程定义( 二) l 点。甜l 什的l :n 流竹j _ 1 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论