基于面向对象技术的异构系统整合

作者:吴上荣

摘要:本文研究了XMI技术的核心概念,提出了整合系统的XMI集成模型,并研究了其表达和处理,给出了基于XMI模型的异构系统之间的信息交换模式。工作流技术在异构系统的整合中,已经有很丰富的研究成果。本文将XMI/XML与工作流技术相结合,提出了基于XMI/XML技术的工作流模型,以用于异构系统的整合。
关键词: 系统整合 XMI 工作流技术

随着信息技术在企业的运营和管理中应用的不断深入,不同信息系统之间的大量信息交流使得系统接口越来越复杂而难以维护,成为信息建设的瓶颈,系统整合成为企业信息化建设的当务之急。本文阐述了利用面向对象的技术构建了企业的信息交换标准,结合工作流技术对异构系统进行整合。
用面向对象的观点来考察系统整合中的资源、信息和业务流程,并进行系统设计,有很大的优势。在异构应用之间交换元模型信息的国际标准是OMG提出的XMI,它是UML与XML技术结合的成果。本文研究了整合系统XMI模型的表达和处理,提出了基于XMI模型的应用信息交换模式。
企业内部系统整合和重构也可以看成是一个业务流程重构(BPR)的过程。它的核心是整个企业内部作业和管理链信息流程的重新组织,如果考虑到企业外部相关企业和组织应用系统的整合,也可以认为是整个产业链信息流程的重新组合。工作流技术在这一方面已经有很丰富的研究成果,同时仍然存在着不足。本文将XMI/XML技术与工作流管理技术相结合,提出了基于XMI/XML技术的工作流模型,进行异构系统的整合。
1 基于XMI的面向对象信息交换技术
在系统整合过程中,应用系统一般都是异构的,在不同平台上的。因此要在它们之间交换信息必须有统一的交换开发环境的对象和信息的工业标准。在这个方面,对象管理组织(OMG)制定了相关标准。操作性标准XMI最初是为了利用XML解决开发者在不同工具间交换资源的问题而提出的,并成为OMG的推荐标准,成为开放信息模型交换的基础。[1]
XMI声明了一个开发的信息交换模型,使用面向技术的开发者可以在Internet上以标准的方式交换程序数据,这为协同环境下的应用带来了一致性和兼容性。通过建立存储和共享对象信息的工业标准,使用不同工具的开发团队可以在应用级合作,允许开发者在Web上交换应用、工具和存储的数据,创建团队开发环境的安全、分布式的应用。
XMI实现了UML和MOF(Meta Object Facility)基于XML技术的集成。XMI标准覆盖了UML模型的转换和MOF的元模型。定义了标准的XML DTD实现UML和MOF信息的交换。还将包括其他领域如数据仓库,基于组件的开放,Web元数据等。XMI允许为元信息模型自动生成XML DTD。允许使用不同工具的对象技术的开发者在Internet上共享信息。在应用系统的互操作性上有很大作用,XMI使得XML能够在不同的应用环境之间传递重要的模型信息。XMI是"流"标准,能够存储于文件系统或者从数据库、存储中提取出Internet上传输的流。
XMI在现实中有巨大的应用价值。在Internet上集成了这些技术,简化了不同开发工具的互操作性问题。例如,XMI使得Rational的Rose建立的模型可以转换为XMI文件,能够为Oracle数据库和IBM的VA for Java,IBM DB2,Unisys等软件接受。通过知识库和数据库对XMI的支持,可以降低异构软件环境下互操作的时间和代价。XMI实现前所未有的知识库集成。存储,交换,提取数据,可以在大范围的开发中共享元信息,如代码,数据架构,数据管理等。

在系统整合开始时,各个参与方需要进行XMI的构建,也需要进行统一的XMI表达的构建。整合系统各个成员所采用的应用软件的模型是不同的,它们对于自己的类、对象等模型的表达也不相同。因此,在互相交换模型信息的时候,就需要有合适的途径来表达。在整合系统成员的模型信息交换时,XMI在表达元模型上的优势就表现出来,通过XMI对元模型的表达,整合系统的各种应用可以在同样的层次上进行模型信息的统一,从而构建出最终的企业XMI模型。
下图为整合系统中的一个实例。根据整合系统成员的摩托车的模型,生成XMI的模型表达。然后进行模型的一致性检查。在这一步对来自不同应用的模型进行统一,并且生成XMI模型。然后把经过一致性检查的XMI模型传递给下一步的应用,应用可以据此生成交换信息的Schema。应用之间进行信息交换就是通过基于这些Schema的XML文档或消息进行的。


图1 整合系统XMI模型的表达和处理

下面是上图中的摩托车模型的XMI表达代码。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE XMI SYSTEM "motor.dtd">
<XMI xmi.version="1.0" >
<XMI.header>
<XMI.documentation>
Motor Model by XMI.
</XMI.documentation>
</XMI.header>
<XMI.content>
< motor >
< motor.Make>JinCheng</ motor.Make>
< motor.Type>JC125</ motor. Type >
< motor.Year>99</ motor.Year>
< motor.Color>red</ motor.Color>
< motor.Price>5000</ motor.Price>
</ motor >
</XMI.content>
</XMI>
在集成了XMI以后,整合系统的信息交换进一步得到了优化。我们增加了XMI作为信息交换的元模型表达工具,进行一定的转换和映射,从而得到了更多的灵活性和工具之间的兼容性。如图。


图3 XMI信息的表达和处理模型

整合系统成员的应用所建立的对象模型首先通过XMI生成工具转换为XMI表达。这一局部的XMI模型与其他整合系统成员应用的XMI模型一起,应用UML的设计工具如Rose等进行一致化处理,生成一致的整合系统XMI对象模型。同时,从一致化的整合系统XMI对象模型应用UML的活动设计工具,我们可以生成有效的整合系统信息流模型。在这一模型的基础上,应用UML的迭代开发模式,可以有效的开发出整合系统的XML信息服务器。XML信息服务器就是整合系统成员与外界进行信息交换的统一接口。

2 系统整合的工作流XML解决方案
为了应付包括市场在内的外部环境和内部成员的变化,整合系统必须保持自身调整的灵活性。工作流技术研究企业业务处理过程的自动化,对于企业应用系统的整合提供了很好的研究手段。本节结合XMI技术和面向对象技术,提出了一个整合系统的工作流模型。
2.1 工作流技术简介
工作流就是业务过程部分或全部地计算机化或自动化(WfMC)。换言之,工作流是为了达到一定的业务目的而根据一组定义的规则将文本、信息和任务在工作过程参与者之间传送的过程自动化。工作流也可以描述为业务过程(或事务处理过程)中信息和控制的流。
工作流管理系统(WfMS)就是支持工作流运行的系统环境。典型的业务流程如贷款批准,索赔处理以及开具帐单,这些业务流程以工作流表示,即计算机化的业务流程模型,它说明了完成这些流程所涉及的所有参数。这些参数包括定义每个步骤(输入顾客信息,访问数据库,取得签名),建立各步执行的顺序及包括诸如步骤间的数据流等方面在内的条件,每步的负责者,以及每次动作所用到的应用软件(数据库,编辑器,电子表格)。因此工作流管理系统,WfMS,就是用来定义、设计工作流流程和流程得以运行其中的环境的工具集,以及工作流流程涉及的用户和应用程序的界面。

 

图4 工作流的元模型
WfMC认识到一种通用的工作流定义模型能带来两方面的好处:(1)由某种工作流建模工具产生的工作流定义可以在多种工作流运行系统中执行(Enact);(2)通过输出一种通用的工作流定义到其它工作流系统可以使工作流之间实现协作。为此,WfMC提出工作流的元模型(Meta Model)来描述工作流定义中的对象、对象关系和属性,以此形成一个工作流信息交换的格式集合的基础。图4是工作流的一个元模型,这个元模型是我们进行工作流管理系统设计的重要参照,它给出了重要的对象类别,以及对象类之间的关系。传统的工作流理论主要针对要解决的问题是共享与协作(sharing and cooperation),而几乎没有考虑性能、可扩充性和可靠性。不仅如此,目前的工作流研究针对单个制造业企业进行了相当多的研究,但是对于流通企业和跨多个企业的工作流研究则尚有不足。
2.2 整合系统工作流管理系统模型
要实现灵活有效的工作流管理系统,必须有一系列关键技术的支撑。这涉及到以下几个主要方面:a. 基于XMI的资源与对象定义技术。b. 基于规则的工作流引擎和监控引擎技术。 c.基于白板(共享工作台面)的信息交流技术。 d.基于 XML/XSL的规则定义和校验技术。e.基于XML Server的信息处理技术。f.基于Web的通信技术。等等。
XMI/XML系列技术与工作流理论结合的关键点是,应用XMI来表达工作流中的各种资源、组织、应用XML/XSL来表达流程的规则。
XMI表达资源的能力是通过它表达元模型的能力来实现的。采用XMI的表达可以保证无论是基于何种应用的资源都可以把它的资源模型准确的描述出来并以标准的XML语法提供给其它应用。
XML/XSL表达规则的能力则不是很明显。由于XML本质上是一种表示性语言而不是处理性语言,它在表达流程方面并不是很有优势。但是XSL和XPATH等标准的发展给XML带来了变化。XSL也是遵守XML规范的语言,XSL的文档同时也是XML文档,它的最初设计目的是一种处理和转换XML文档的语言,即使用XML的语法来处理XML文档。但是在处理和转换XML文档过程中不可避免的要使用各种程序设计语言的语法结构,如If、When等等。这就给XML带来了过程描述能力。我们借助这种能力来实现XML/XSL对于工作流规则的表达。
下面我们给出一个XSL表达规则的实例。
<xsl:choose>
 <xsl:when test="motor[@price>2000]">
 <xsl:element name="dispose_process">
  <xsl:attribute name="dispose_type">special_approve</xsl:attribute>
  <xsl:attribute name="order_no">
   <xsl:value-of select="

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值