基于面向?qū)ο蠹夹g(shù)的異構(gòu)系統(tǒng)整合
發(fā)表時(shí)間:2024-02-21 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]作者:吳上榮摘要:本文研究了XMI技術(shù)的核心概念,提出了整合系統(tǒng)的XMI集成模型,并研究了其表達(dá)和處理,給出了基于XMI模型的異構(gòu)系統(tǒng)之間的信息交換模式。工作流技術(shù)在異構(gòu)系統(tǒng)的整合中,已經(jīng)有很豐富的研究成果。本文將XMI/XML與工作流技術(shù)相結(jié)合,提出了基于XMI/XML技術(shù)的工作流模型,以用于異...
作者:吳上榮
摘要:本文研究了XMI技術(shù)的核心概念,提出了整合系統(tǒng)的XMI集成模型,并研究了其表達(dá)和處理,給出了基于XMI模型的異構(gòu)系統(tǒng)之間的信息交換模式。工作流技術(shù)在異構(gòu)系統(tǒng)的整合中,已經(jīng)有很豐富的研究成果。本文將XMI/XML與工作流技術(shù)相結(jié)合,提出了基于XMI/XML技術(shù)的工作流模型,以用于異構(gòu)系統(tǒng)的整合。
關(guān)鍵詞: 系統(tǒng)整合 XMI 工作流技術(shù)
隨著信息技術(shù)在企業(yè)的運(yùn)營和管理中應(yīng)用的不斷深入,不同信息系統(tǒng)之間的大量信息交流使得系統(tǒng)接口越來越復(fù)雜而難以維護(hù),成為信息建設(shè)的瓶頸,系統(tǒng)整合成為企業(yè)信息化建設(shè)的當(dāng)務(wù)之急。本文闡述了利用面向?qū)ο蟮募夹g(shù)構(gòu)建了企業(yè)的信息交換標(biāo)準(zhǔn),結(jié)合工作流技術(shù)對(duì)異構(gòu)系統(tǒng)進(jìn)行整合。
用面向?qū)ο蟮挠^點(diǎn)來考察系統(tǒng)整合中的資源、信息和業(yè)務(wù)流程,并進(jìn)行系統(tǒng)設(shè)計(jì),有很大的優(yōu)勢(shì)。在異構(gòu)應(yīng)用之間交換元模型信息的國際標(biāo)準(zhǔn)是OMG提出的XMI,它是UML與XML技術(shù)結(jié)合的成果。本文研究了整合系統(tǒng)XMI模型的表達(dá)和處理,提出了基于XMI模型的應(yīng)用信息交換模式。
企業(yè)內(nèi)部系統(tǒng)整合和重構(gòu)也可以看成是一個(gè)業(yè)務(wù)流程重構(gòu)(BPR)的過程。它的核心是整個(gè)企業(yè)內(nèi)部作業(yè)和管理鏈信息流程的重新組織,如果考慮到企業(yè)外部相關(guān)企業(yè)和組織應(yīng)用系統(tǒng)的整合,也可以認(rèn)為是整個(gè)產(chǎn)業(yè)鏈信息流程的重新組合。工作流技術(shù)在這一方面已經(jīng)有很豐富的研究成果,同時(shí)仍然存在著不足。本文將XMI/XML技術(shù)與工作流管理技術(shù)相結(jié)合,提出了基于XMI/XML技術(shù)的工作流模型,進(jìn)行異構(gòu)系統(tǒng)的整合。
1 基于XMI的面向?qū)ο笮畔⒔粨Q技術(shù)
在系統(tǒng)整合過程中,應(yīng)用系統(tǒng)一般都是異構(gòu)的,在不同平臺(tái)上的。因此要在它們之間交換信息必須有統(tǒng)一的交換開發(fā)環(huán)境的對(duì)象和信息的工業(yè)標(biāo)準(zhǔn)。在這個(gè)方面,對(duì)象管理組織(OMG)制定了相關(guān)標(biāo)準(zhǔn)。操作性標(biāo)準(zhǔn)XMI最初是為了利用XML解決開發(fā)者在不同工具間交換資源的問題而提出的,并成為OMG的推薦標(biāo)準(zhǔn),成為開放信息模型交換的基礎(chǔ)。[1]
XMI聲明了一個(gè)開發(fā)的信息交換模型,使用面向技術(shù)的開發(fā)者可以在Internet上以標(biāo)準(zhǔn)的方式交換程序數(shù)據(jù),這為協(xié)同環(huán)境下的應(yīng)用帶來了一致性和兼容性。通過建立存儲(chǔ)和共享對(duì)象信息的工業(yè)標(biāo)準(zhǔn),使用不同工具的開發(fā)團(tuán)隊(duì)可以在應(yīng)用級(jí)合作,允許開發(fā)者在Web上交換應(yīng)用、工具和存儲(chǔ)的數(shù)據(jù),創(chuàng)建團(tuán)隊(duì)開發(fā)環(huán)境的安全、分布式的應(yīng)用。
XMI實(shí)現(xiàn)了UML和MOF(Meta Object Facility)基于XML技術(shù)的集成。XMI標(biāo)準(zhǔn)覆蓋了UML模型的轉(zhuǎn)換和MOF的元模型。定義了標(biāo)準(zhǔn)的XML DTD實(shí)現(xiàn)UML和MOF信息的交換。還將包括其他領(lǐng)域如數(shù)據(jù)倉庫,基于組件的開放,Web元數(shù)據(jù)等。XMI允許為元信息模型自動(dòng)生成XML DTD。允許使用不同工具的對(duì)象技術(shù)的開發(fā)者在Internet上共享信息。在應(yīng)用系統(tǒng)的互操作性上有很大作用,XMI使得XML能夠在不同的應(yīng)用環(huán)境之間傳遞重要的模型信息。XMI是"流"標(biāo)準(zhǔn),能夠存儲(chǔ)于文件系統(tǒng)或者從數(shù)據(jù)庫、存儲(chǔ)中提取出Internet上傳輸?shù)牧鳌?br>XMI在現(xiàn)實(shí)中有巨大的應(yīng)用價(jià)值。在Internet上集成了這些技術(shù),簡化了不同開發(fā)工具的互操作性問題。例如,XMI使得Rational的Rose建立的模型可以轉(zhuǎn)換為XMI文件,能夠?yàn)镺racle數(shù)據(jù)庫和IBM的VA for Java,IBM DB2,Unisys等軟件接受。通過知識(shí)庫和數(shù)據(jù)庫對(duì)XMI的支持,可以降低異構(gòu)軟件環(huán)境下互操作的時(shí)間和代價(jià)。XMI實(shí)現(xiàn)前所未有的知識(shí)庫集成。存儲(chǔ),交換,提取數(shù)據(jù),可以在大范圍的開發(fā)中共享元信息,如代碼,數(shù)據(jù)架構(gòu),數(shù)據(jù)管理等。
在系統(tǒng)整合開始時(shí),各個(gè)參與方需要進(jìn)行XMI的構(gòu)建,也需要進(jìn)行統(tǒng)一的XMI表達(dá)的構(gòu)建。整合系統(tǒng)各個(gè)成員所采用的應(yīng)用軟件的模型是不同的,它們對(duì)于自己的類、對(duì)象等模型的表達(dá)也不相同。因此,在互相交換模型信息的時(shí)候,就需要有合適的途徑來表達(dá)。在整合系統(tǒng)成員的模型信息交換時(shí),XMI在表達(dá)元模型上的優(yōu)勢(shì)就表現(xiàn)出來,通過XMI對(duì)元模型的表達(dá),整合系統(tǒng)的各種應(yīng)用可以在同樣的層次上進(jìn)行模型信息的統(tǒng)一,從而構(gòu)建出最終的企業(yè)XMI模型。
下圖為整合系統(tǒng)中的一個(gè)實(shí)例。根據(jù)整合系統(tǒng)成員的摩托車的模型,生成XMI的模型表達(dá)。然后進(jìn)行模型的一致性檢查。在這一步對(duì)來自不同應(yīng)用的模型進(jìn)行統(tǒng)一,并且生成XMI模型。然后把經(jīng)過一致性檢查的XMI模型傳遞給下一步的應(yīng)用,應(yīng)用可以據(jù)此生成交換信息的Schema。應(yīng)用之間進(jìn)行信息交換就是通過基于這些Schema的XML文檔或消息進(jìn)行的。
圖1 整合系統(tǒng)XMI模型的表達(dá)和處理
下面是上圖中的摩托車模型的XMI表達(dá)代碼。
<?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以后,整合系統(tǒng)的信息交換進(jìn)一步得到了優(yōu)化。我們?cè)黾恿薠MI作為信息交換的元模型表達(dá)工具,進(jìn)行一定的轉(zhuǎn)換和映射,從而得到了更多的靈活性和工具之間的兼容性。如圖。
圖3 XMI信息的表達(dá)和處理模型
整合系統(tǒng)成員的應(yīng)用所建立的對(duì)象模型首先通過XMI生成工具轉(zhuǎn)換為XMI表達(dá)。這一局部的XMI模型與其他整合系統(tǒng)成員應(yīng)用的XMI模型一起,應(yīng)用UML的設(shè)計(jì)工具如Rose等進(jìn)行一致化處理,生成一致的整合系統(tǒng)XMI對(duì)象模型。同時(shí),從一致化的整合系統(tǒng)XMI對(duì)象模型應(yīng)用UML的活動(dòng)設(shè)計(jì)工具,我們可以生成有效的整合系統(tǒng)信息流模型。在這一模型的基礎(chǔ)上,應(yīng)用UML的迭代開發(fā)模式,可以有效的開發(fā)出整合系統(tǒng)的XML信息服務(wù)器。XML信息服務(wù)器就是整合系統(tǒng)成員與外界進(jìn)行信息交換的統(tǒng)一接口。
2 系統(tǒng)整合的工作流XML解決方案
為了應(yīng)付包括市場在內(nèi)的外部環(huán)境和內(nèi)部成員的變化,整合系統(tǒng)必須保持自身調(diào)整的靈活性。工作流技術(shù)研究企業(yè)業(yè)務(wù)處理過程的自動(dòng)化,對(duì)于企業(yè)應(yīng)用系統(tǒng)的整合提供了很好的研究手段。本節(jié)結(jié)合XMI技術(shù)和面向?qū)ο蠹夹g(shù),提出了一個(gè)整合系統(tǒng)的工作流模型。
2.1 工作流技術(shù)簡介
工作流就是業(yè)務(wù)過程部分或全部地計(jì)算機(jī)化或自動(dòng)化(WfMC)。換言之,工作流是為了達(dá)到一定的業(yè)務(wù)目的而根據(jù)一組定義的規(guī)則將文本、信息和任務(wù)在工作過程參與者之間傳送的過程自動(dòng)化。工作流也可以描述為業(yè)務(wù)過程(或事務(wù)處理過程)中信息和控制的流。
工作流管理系統(tǒng)(WfMS)就是支持工作流運(yùn)行的系統(tǒng)環(huán)境。典型的業(yè)務(wù)流程如貸款批準(zhǔn),索賠處理以及開具帳單,這些業(yè)務(wù)流程以工作流表示,即計(jì)算機(jī)化的業(yè)務(wù)流程模型,它說明了完成這些流程所涉及的所有參數(shù)。這些參數(shù)包括定義每個(gè)步驟(輸入顧客信息,訪問數(shù)據(jù)庫,取得簽名),建立各步執(zhí)行的順序及包括諸如步驟間的數(shù)據(jù)流等方面在內(nèi)的條件,每步的負(fù)責(zé)者,以及每次動(dòng)作所用到的應(yīng)用軟件(數(shù)據(jù)庫,編輯器,電子表格)。因此工作流管理系統(tǒng),WfMS,就是用來定義、設(shè)計(jì)工作流流程和流程得以運(yùn)行其中的環(huán)境的工具集,以及工作流流程涉及的用戶和應(yīng)用程序的界面。
圖4 工作流的元模型
WfMC認(rèn)識(shí)到一種通用的工作流定義模型能帶來兩方面的好處:(1)由某種工作流建模工具產(chǎn)生的工作流定義可以在多種工作流運(yùn)行系統(tǒng)中執(zhí)行(Enact);(2)通過輸出一種通用的工作流定義到其它工作流系統(tǒng)可以使工作流之間實(shí)現(xiàn)協(xié)作。為此,WfMC提出工作流的元模型(Meta Model)來描述工作流定義中的對(duì)象、對(duì)象關(guān)系和屬性,以此形成一個(gè)工作流信息交換的格式集合的基礎(chǔ)。圖4是工作流的一個(gè)元模型,這個(gè)元模型是我們進(jìn)行工作流管理系統(tǒng)設(shè)計(jì)的重要參照,它給出了重要的對(duì)象類別,以及對(duì)象類之間的關(guān)系。傳統(tǒng)的工作流理論主要針對(duì)要解決的問題是共享與協(xié)作(sharing and cooperation),而幾乎沒有考慮性能、可擴(kuò)充性和可靠性。不僅如此,目前的工作流研究針對(duì)單個(gè)制造業(yè)企業(yè)進(jìn)行了相當(dāng)多的研究,但是對(duì)于流通企業(yè)和跨多個(gè)企業(yè)的工作流研究則尚有不足。
2.2 整合系統(tǒng)工作流管理系統(tǒng)模型
要實(shí)現(xiàn)靈活有效的工作流管理系統(tǒng),必須有一系列關(guān)鍵技術(shù)的支撐。這涉及到以下幾個(gè)主要方面:a. 基于XMI的資源與對(duì)象定義技術(shù)。b. 基于規(guī)則的工作流引擎和監(jiān)控引擎技術(shù)。 c.基于白板(共享工作臺(tái)面)的信息交流技術(shù)。 d.基于 XML/XSL的規(guī)則定義和校驗(yàn)技術(shù)。e.基于XML Server的信息處理技術(shù)。f.基于Web的通信技術(shù)。等等。
XMI/XML系列技術(shù)與工作流理論結(jié)合的關(guān)鍵點(diǎn)是,應(yīng)用XMI來表達(dá)工作流中的各種資源、組織、應(yīng)用XML/XSL來表達(dá)流程的規(guī)則。
XMI表達(dá)資源的能力是通過它表達(dá)元模型的能力來實(shí)現(xiàn)的。采用XMI的表達(dá)可以保證無論是基于何種應(yīng)用的資源都可以把它的資源模型準(zhǔn)確的描述出來并以標(biāo)準(zhǔn)的XML語法提供給其它應(yīng)用。
XML/XSL表達(dá)規(guī)則的能力則不是很明顯。由于XML本質(zhì)上是一種表示性語言而不是處理性語言,它在表達(dá)流程方面并不是很有優(yōu)勢(shì)。但是XSL和XPATH等標(biāo)準(zhǔn)的發(fā)展給XML帶來了變化。XSL也是遵守XML規(guī)范的語言,XSL的文檔同時(shí)也是XML文檔,它的最初設(shè)計(jì)目的是一種處理和轉(zhuǎn)換XML文檔的語言,即使用XML的語法來處理XML文檔。但是在處理和轉(zhuǎn)換XML文檔過程中不可避免的要使用各種程序設(shè)計(jì)語言的語法結(jié)構(gòu),如If、When等等。這就給XML帶來了過程描述能力。我們借助這種能力來實(shí)現(xiàn)XML/XSL對(duì)于工作流規(guī)則的表達(dá)。
下面我們給出一個(gè)XSL表達(dá)規(guī)則的實(shí)例。
<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="motor/@order_no"/>
</xsl:attribute>
</xsl:element>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
<xsl:variable name="disposer">/moter_store</xsl:variable>
<xsl:template match ="motor">
<xsl:element name="order_dispatch">
<xsl:attribute name="disposer">
<xsl:value-of select="{$disposer}/sales"/>
</xsl:attribute>
</xsl:element>
</xsl:template>
<motor price="2500" order_no="011204"/>
在上面的例子中,XSL模板通過對(duì)XML訂單文檔的解析,生成對(duì)該訂單的處理指示文檔并且附加了相關(guān)信息。這一處理指示文檔可以發(fā)送給相應(yīng)的處理方,依據(jù)它來完成訂單的處理工作。以下是一個(gè)基于XMI/XML技術(shù)的整合系統(tǒng)的工作流模型。如圖。
圖6 基于XMI/XML技術(shù)的整合系統(tǒng)的工作流模型
上圖所示的模型基于XML技術(shù),以工作流引擎為核心,客戶端和服務(wù)器端都采用Web技術(shù)進(jìn)行通信。工作流引擎是實(shí)現(xiàn)工作流調(diào)度的關(guān)鍵部分,我們采用了Facilitator來實(shí)現(xiàn)它。Facilitator所使用的推理規(guī)則是通過基于XML/XSL的規(guī)則生成工具來提供的。這些推理規(guī)則采用XML/XSL表達(dá),存放在行為規(guī)則庫中。規(guī)則生成工具還提供了編輯監(jiān)控規(guī)則的手段。這些監(jiān)控規(guī)則也同樣采用XML表達(dá),存放在監(jiān)控規(guī)則庫中。采用XML/XSL表達(dá)規(guī)則編輯的意義還在于,由于XML技術(shù)是標(biāo)準(zhǔn)的信息交流語言,支持它的工具越來越多。采用XML語法表達(dá)的規(guī)則將可以為眾多的第三方校驗(yàn)工具所理解和兼容,也可以為各種其他應(yīng)用接受。[2]
監(jiān)控系統(tǒng)采用Agent來實(shí)現(xiàn)。它和工作流引擎都可以感知運(yùn)行環(huán)境(白板)的變化,從而決定自己的行為。觸發(fā)工作流引擎動(dòng)作的可以是客戶端的應(yīng)用程序動(dòng)作,也可以是客戶端的請(qǐng)求通過服務(wù)器端的處理程序來觸發(fā)。[4]
我們使用一個(gè)XMI資源生成工具來對(duì)企業(yè)的資源進(jìn)行表達(dá)。這個(gè)生成工具可以是直接使用XML的編輯器來實(shí)現(xiàn),也可以采用圖形化的界面讓客戶進(jìn)行設(shè)置,然后生成XMI格式的資源描述。XMI資源庫和XML/XSL行為規(guī)則庫、XML/XSL監(jiān)控規(guī)則庫都應(yīng)該使用面向?qū)ο蟮腦ML數(shù)據(jù)庫存儲(chǔ)。
工作流引擎對(duì)于事件的處理是通過調(diào)用服務(wù)器端的XMI資源庫來實(shí)現(xiàn)的。這些資源庫可能是來自于封裝后的Legacy系統(tǒng)。通過XMI的封裝,我們可以形成XML服務(wù)器,接受引擎的調(diào)度。此外,我們使用XMI表達(dá)的資源和服務(wù)是開放的,通過Web它可以為企業(yè)外的其他合法的客戶端提供服務(wù)。注意到XMI的資源表達(dá)是可以為大量工具理解和接受的。[3]
通過基于XMI/XML技術(shù)的整合系統(tǒng)工作流模型,具有以下的一些優(yōu)點(diǎn)。
1. 目的驅(qū)動(dòng)。保證任務(wù)的完整性,正確性,時(shí)間限制,健壯性,服務(wù)質(zhì)量是通過提高監(jiān)控系統(tǒng)智能化來實(shí)現(xiàn)的。利用XML編輯工具可以編寫出監(jiān)控系統(tǒng)所遵循的規(guī)則。而這些規(guī)則可以通過Petri Net和自動(dòng)機(jī)等工具進(jìn)行驗(yàn)證[18],從而可以做出達(dá)到對(duì)于各種情況的正確處理方案,需要指出的是,雖然監(jiān)控規(guī)則采用XML描述,但是XML Editor完全可以也應(yīng)該是可視化的,還可以利用Rose等工具來驗(yàn)證模型的正確和有效。[5]
2. 建立于業(yè)務(wù)過程處理模型上。整合系統(tǒng)的工作流管理系統(tǒng)通過使用XSL技術(shù)來實(shí)現(xiàn)業(yè)務(wù)處理模型。XML不具備足夠的工作流描述能力,它對(duì)于例如條件等問題無法描述,但是XSL語言對(duì)此提供了很好的補(bǔ)充。工作流管理系統(tǒng)通過利用XSL語言很好地支持了支持企業(yè)的業(yè)務(wù)處理模型。
3. 和組織模型集成。XML語言的結(jié)構(gòu)化特點(diǎn)非常符合描述企業(yè)的組織模型的要求,并且XML的可擴(kuò)展性對(duì)于組織模型的靈活重構(gòu)提供了強(qiáng)有力的支持。因此采用XML/XSL技術(shù)來構(gòu)造行為規(guī)則/監(jiān)控規(guī)則庫可以綜合解決前述問題。
4. 降低應(yīng)用復(fù)雜性。XML/XSL規(guī)則本身是機(jī)器和人同時(shí)可讀的,規(guī)則可懂度和結(jié)構(gòu)化的提高使規(guī)則的表達(dá)和處理都得到了簡化。
5. 通過開放標(biāo)準(zhǔn),保證了系統(tǒng)之間的互操作性。互操作性實(shí)際上是可以通過制定標(biāo)準(zhǔn)來實(shí)現(xiàn)的。有信息交流標(biāo)準(zhǔn)后,系統(tǒng)間的交流就從兩兩對(duì)應(yīng)轉(zhuǎn)換變成了通過向標(biāo)準(zhǔn)的映射來實(shí)現(xiàn)轉(zhuǎn)換。通過企業(yè)XMI/XML信息交換標(biāo)準(zhǔn)的定義,規(guī)定了信息系統(tǒng)交換的語義和結(jié)構(gòu)模型,從而達(dá)到了高度的標(biāo)準(zhǔn)化和互操作性。
3 總結(jié)
將XMI/XML技術(shù)與工作流管理技術(shù)有機(jī)結(jié)合,對(duì)系統(tǒng)地敏捷整合帶來非常大的好處,保證了系統(tǒng)的互操作性。工作流在實(shí)質(zhì)上需要的靈活性正是XMI/XML等整合系統(tǒng)技術(shù)的長處。因此它們的結(jié)合有很好的效果,也是自然和容易實(shí)現(xiàn)的。
參考文獻(xiàn):
[1] J.E.Robbins, D.F.Redmiles. Cognitive Support, UML adherence, and XMI interchange in Argo/UML. 79-89. Information and Software Technology 42(2000).
[2] A.H.M. ter Hosftede, M.E. Orlowsja, J. Rajapakse. Verification problems in conceptual workflow specifications. Data & Knowledge Engineering 24(1998) :235-256.
[3] DEFINING THE SEMANTICS OF REACTIVE COMPONENTS IN EVENT-DRIVEN WORKFLOW EXECUTION WITH EVENT HISTORIES. Information System 1998, 23(3):235-252.
[4] Robert J. Glushko, Jay M. Tenenbaum, Bauer Meltzer. An XML Framework for Agent-based E-Commerce. Communications of the ACM. 106-114. March 1999/Vol42.No.3.
[5] W.M.P. van der Aalst and A.H.M. ter Hofstede. Verification of Workflow Task Structures: A Petri-net-based Approach. Information Systems, 2000, 25(1):43-69.