基于面向對象技術的異構系統整合
發表時間:2024-06-22 來源:明輝站整理相關軟件相關文章人氣:
[摘要]作者:吳上榮摘要:本文研究了XMI技術的核心概念,提出了整合系統的XMI集成模型,并研究了其表達和處理,給出了基于XMI模型的異構系統之間的信息交換模式。工作流技術在異構系統的整合中,已經有很豐富的研究成果。本文將XMI/XML與工作流技術相結合,提出了基于XMI/XML技術的工作流模型,以用于異...
作者:吳上榮
摘要:本文研究了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="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訂單文檔的解析,生成對該訂單的處理指示文檔并且附加了相關信息。這一處理指示文檔可以發送給相應的處理方,依據它來完成訂單的處理工作。以下是一個基于XMI/XML技術的整合系統的工作流模型。如圖。
圖6 基于XMI/XML技術的整合系統的工作流模型
上圖所示的模型基于XML技術,以工作流引擎為核心,客戶端和服務器端都采用Web技術進行通信。工作流引擎是實現工作流調度的關鍵部分,我們采用了Facilitator來實現它。Facilitator所使用的推理規則是通過基于XML/XSL的規則生成工具來提供的。這些推理規則采用XML/XSL表達,存放在行為規則庫中。規則生成工具還提供了編輯監控規則的手段。這些監控規則也同樣采用XML表達,存放在監控規則庫中。采用XML/XSL表達規則編輯的意義還在于,由于XML技術是標準的信息交流語言,支持它的工具越來越多。采用XML語法表達的規則將可以為眾多的第三方校驗工具所理解和兼容,也可以為各種其他應用接受。[2]
監控系統采用Agent來實現。它和工作流引擎都可以感知運行環境(白板)的變化,從而決定自己的行為。觸發工作流引擎動作的可以是客戶端的應用程序動作,也可以是客戶端的請求通過服務器端的處理程序來觸發。[4]
我們使用一個XMI資源生成工具來對企業的資源進行表達。這個生成工具可以是直接使用XML的編輯器來實現,也可以采用圖形化的界面讓客戶進行設置,然后生成XMI格式的資源描述。XMI資源庫和XML/XSL行為規則庫、XML/XSL監控規則庫都應該使用面向對象的XML數據庫存儲。
工作流引擎對于事件的處理是通過調用服務器端的XMI資源庫來實現的。這些資源庫可能是來自于封裝后的Legacy系統。通過XMI的封裝,我們可以形成XML服務器,接受引擎的調度。此外,我們使用XMI表達的資源和服務是開放的,通過Web它可以為企業外的其他合法的客戶端提供服務。注意到XMI的資源表達是可以為大量工具理解和接受的。[3]
通過基于XMI/XML技術的整合系統工作流模型,具有以下的一些優點。
1. 目的驅動。保證任務的完整性,正確性,時間限制,健壯性,服務質量是通過提高監控系統智能化來實現的。利用XML編輯工具可以編寫出監控系統所遵循的規則。而這些規則可以通過Petri Net和自動機等工具進行驗證[18],從而可以做出達到對于各種情況的正確處理方案,需要指出的是,雖然監控規則采用XML描述,但是XML Editor完全可以也應該是可視化的,還可以利用Rose等工具來驗證模型的正確和有效。[5]
2. 建立于業務過程處理模型上。整合系統的工作流管理系統通過使用XSL技術來實現業務處理模型。XML不具備足夠的工作流描述能力,它對于例如條件等問題無法描述,但是XSL語言對此提供了很好的補充。工作流管理系統通過利用XSL語言很好地支持了支持企業的業務處理模型。
3. 和組織模型集成。XML語言的結構化特點非常符合描述企業的組織模型的要求,并且XML的可擴展性對于組織模型的靈活重構提供了強有力的支持。因此采用XML/XSL技術來構造行為規則/監控規則庫可以綜合解決前述問題。
4. 降低應用復雜性。XML/XSL規則本身是機器和人同時可讀的,規則可懂度和結構化的提高使規則的表達和處理都得到了簡化。
5. 通過開放標準,保證了系統之間的互操作性。互操作性實際上是可以通過制定標準來實現的。有信息交流標準后,系統間的交流就從兩兩對應轉換變成了通過向標準的映射來實現轉換。通過企業XMI/XML信息交換標準的定義,規定了信息系統交換的語義和結構模型,從而達到了高度的標準化和互操作性。
3 總結
將XMI/XML技術與工作流管理技術有機結合,對系統地敏捷整合帶來非常大的好處,保證了系統的互操作性。工作流在實質上需要的靈活性正是XMI/XML等整合系統技術的長處。因此它們的結合有很好的效果,也是自然和容易實現的。
參考文獻:
[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.