6)信息規則
規則和規則的處理決定了數據是怎樣變成信息的。它們在數據服務層提供了關系、語義和行為。如圖2所示,規則分為幾類:
管理規則給出利用物理數據層的系統和數據資源的各種要求和/或限制。這可能包括安全性、訪問窗口(日期/時間)、緩存,元數據、事務和各種副作用或需要執行的輔助操作(例如,登錄和審計)。
數據規則提供驗證、一致性、反復確認和其它與數據準確性和一致性相關的規則。它們也能在物理模型或邏輯模型中提供緩存管理和其它的副作用。數據規則可作用于表級別、行級別、列級別或字段級別。
集成規則提供跨邏輯數據層和物理數據層的映射和一致性。集成映射更高一級的抽象到對應的邏輯層或物理層。例如,一個位于更高一級的抽象的用戶ID是新的規范的數據模型的一部分,這個模型轉換自/被轉換到幾個底層的來自若干用戶數據庫和/或后端系統的本地格式。集成規則位于系統和/或數據庫層。
第五步和第六步可以顛倒次序。關鍵是確保邏輯模型不受當前物理資源的過度約束。換句話說,在邏輯模型將要利用物理數據服務的時候,不要讓當前那些物理資源的局限性限制它們,或者對您的整個數據服務層設計施加過度的影響。物理資源是起點,接著是建立更豐富的更多表示形式的模型。
業務規則提供有意義的業務關系和一些業務邏輯,即行為。面向對象編程考慮的是封裝在模型對象中的狀態和行為。在數據服務中,業務規則扮演一個類似行為的角色。業務規則在數據模型層捕捉業務處理邏輯。這個邏輯是業務實體的恰當定義的基礎,也是這個業務實體與其他業務實體的關系的基礎,這些實體的關系是跨所有應用的業務實體固有的,例如,在一個企業級的或至少一個部門級的范圍里。在這些規則中,有些是在規范的模型中定義的,而另外一些是在應用程序規范模型中定義的。
7)應用程序專門化
一旦完成了邏輯模型,您就有效地定義了一個規范的信息模型。這個模型的定義將完成您的信息模型的初始設計,就意味著您已經有效地開始將數據變成信息。還有最后一步,就是進一步改進您的信息模型:應用程序規范。
不是所有的消費應用程序將會直接使用規范的信息模型。應用程序規范為消費應用程序提供一個抽象層來定義它們自己的特定于其自身需求的邏輯模型。
應用程序規范封裝了消費應用程序需要的額外的信息模型狀態和行為,簡化了消費應用程序對規范的信息模型資源的使用。由于每個消費應用程序或者一組關聯的業務應用程序的應用程序規范都是惟一的,所以不需要在規范的信息模型中包括它們。如果應用程序規范包含更大范圍(例如,跨部門或者跨企業),那么它應該成為規范的信息模型的一部分。
結束語
為SOA參考架構創建數據服務層和為組織定義規范的信息模型是困難的,這些任務實現起來都非常困難,而具有挑戰性的任務又很少能贏得什么榮譽:實現起來非常困難,很少能夠做到最好。本文所述的方法應該能給您足夠的信息去規劃、評估和開始設計數據層的SOA轉換,并將組織的數據變成信息。在實際當中,SOA參考架構的數據服務層的規劃、設計和開發依賴于許多特殊的因素,這些因素特定于您的組織或狀況,它們已經超出了本文所討論的范圍。
既然我們已經開始在SOA系統中把我們的數據變成信息,那么我們可以考慮把這些信息變成知識。本系列的第二篇也是最后一篇文章“SOA中的數據,第二部分:將信息轉換成知識”將介紹這一過程。
參考資料
相關博客和文章,請訪問Dev2Dev的 AquaLogic Data Services 產品中心(中文網址:http://dev2dev.bea.com.cn/products/aqudtpt/index1.html)。
Information Integration Using the AquaLogic Data Services Platform——Manu Madhusudhanan R編著(Dev2Dev,2005年),關于數據服務層引入的一個極好的介紹。
作者簡介
Richard Scott Manning 是美國南部地區BEA專業服務部的企業級架構負責人。主要關注的領域有:企業級架構,SOA,BPM,組織與管理,信息與知識建模,Web 2.0,語義網與人工智能 。
文章來源于領測軟件測試網 http://www.kjueaiud.com/