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