本文是關于“SOA中的數據:將數據轉換成知識”的兩篇系列文章的第一篇。本文通過SOA參考架構(SOA RA)的定義介紹了在SOA中從數據到信息的轉換方法,它構成了完整SOA轉換方案的一部分,并且還講述了一個企業SOA的實現。這個系列的第二部分描述了在SOA中從信息到知識的轉換方法,這是對完整SOA轉換方案的一個擴展,并且還描述了一個企業SOA RA的很有價值的擴充。
為什么使用數據?
數據是普遍存在的(data是復數;datum是單數,盡管“data”能夠同時使用單數和復數)。大部分 IT工作的核心就是收集、分發和管理數據,并且當需要數據的時候、在需要數據的地方、以要求的方式為需要數據的人(擁有正確的權限)提供數據。有些人可能會想起在IT(“信息技術”)這一術語出現之前,多數的企業把他們的“計算機部門”及其工作稱為DP或“數據處理”。
在過去、現在和可預見的將來,數據是所有技術浪潮中一個不變的常量。同樣的數據,過去由(很可能仍然是)大型機處理,現在也很可能已經由一個或多個的客戶機-服務器、CORBA/DCOM、 Java EE、.NET、 Web services、SOA和Web 2.0來完成。隨著時間的流逝,數據的存儲、格式和傳輸可能已經改變,數據的處理方式可能已經改變,但是“數據”依然保留(而且還在增加)。其實,所有工業技術浪潮有著一個相同點:它們都是新的或者改良的數據處理方法。數據就是基礎。如果您您也認為數據是企業解決方案的基礎,則由此得出結論:數據(以及數據建模/管理)也是SOA(與Web 2.0)的企業架構需要優先考慮的事情。
數據是什么?
讓我們先看一下字典中“數據”的定義,然后對其進行補充。就本文而言,數據是基本的、最小的,或者擁有一些結構、關系和狀態的“信息”片斷的底層集合,但不包括行為。例如,一個包含街道地址、城市等數據列的地址表是數據。就像一個用戶表中的地址定義。數據是結構和狀態,但沒有行為。數據是構成信息的原始的構建材料。數據是信息的前提。
信息是什么?
讓我們再看一下信息的定義,然后對其進行補充。就本文而言,信息是數據的集合,是提供附加的形式、基本關系、語法和語義上下文的基本邏輯——也就是說,它是狀態和核心模型行為。例如,確保ZIP碼有效并與城市一致。信息是數據的擴展,它向和域(語法和語義)上下文一致的行為模型提供映射或關聯數據、定義邏輯的能力。信息基于數據,需要數據。換句話說,信息表示封裝了狀態(數據)和行為(邏輯)的實體(主體,對象)?梢哉J為信息類似于面向對象編程中的模型類的實例,這個實例包含用于保持狀態的數據成員(實例變量)和提供(模型)行為的方法。
SOA中數據的價值
各種組織對于定義和細化自身SOA參考架構(SOA RA)有著不同的動機、出發點和優先次序,向SOA轉換時可能會發生變化。規劃設計SOA RA的完整方法應該包括數據服務(data services)層。本文采用數據服務層這一術語包含數據和信息訪問服務。
如果在SOA RA中沒有企業數據服務層,則其后的業務項目將被迫開發成特定于每一個應用程序的專用“點”或者一次性解決方案。幾乎沒有通用性,幾乎沒有共享的服務定義、重用和一致性,規范的數據模型的定義也會變得難懂。如果認識到SOA的優點,則會逐漸認識到它的眾多優勢。我們很可能都看到過這樣的統計信息:企業應用程序軟件開發的50%到80%的項目資源消耗在數據集成任務上。這一“事實”應該足以確定在任何SOA實現中數據服務層是必不可少的一部分。企業軟件解決方案的主要設計目標是數據處理,結合這一概念, SOA 中數據的價值應該非常明顯。
圖1展示了BEA的SOA參考架構較高層次上的概念,它說明了位于上面的幾個層。注意,數據服務層位于第一個區域,這表明它在SOA RA中的重要性。
文章來源于領測軟件測試網 http://www.kjueaiud.com/