国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
技術(shù)文章-SOA中的數(shù)據(jù),第1部分:將數(shù)據(jù)轉(zhuǎn)換成信息
dev2dev 首頁(yè) > 資源中心 > 技術(shù)文章
SOA中的數(shù)據(jù),第1部分:將數(shù)據(jù)轉(zhuǎn)換成信息

時(shí)間:2007-08-07
作者:Richard Manning
瀏覽次數(shù): 331
本文關(guān)鍵字:Data Services Aqualogic Data Services AquaLogic Data Services Platform Richard Manning 數(shù)據(jù)服務(wù) 數(shù)據(jù)平臺(tái) 數(shù)據(jù)集成 aqualogic數(shù)據(jù)服務(wù) 數(shù)據(jù)層
文章工具
 推薦給朋友
 打印文章

  數(shù)據(jù)和數(shù)據(jù)管理是幾乎所有企業(yè)軟件解決方案的關(guān)鍵因素。SOA也不例外。有效的數(shù)據(jù)建模和管理是成功實(shí)現(xiàn)SOA的基礎(chǔ)。要將數(shù)據(jù)提高一個(gè)層次,需要把數(shù)據(jù)轉(zhuǎn)換成信息;要將信息提高一個(gè)層次,需要把信息轉(zhuǎn)換成知識(shí)。

  本文是關(guān)于“SOA中的數(shù)據(jù):將數(shù)據(jù)轉(zhuǎn)換成知識(shí)”的兩篇系列文章的第一篇。本文通過SOA參考架構(gòu)(SOA RA)的定義介紹了在SOA中從數(shù)據(jù)到信息的轉(zhuǎn)換方法,它構(gòu)成了完整SOA轉(zhuǎn)換方案的一部分,并且還講述了一個(gè)企業(yè)SOA的實(shí)現(xiàn)。這個(gè)系列的第二部分描述了在SOA中從信息到知識(shí)的轉(zhuǎn)換方法,這是對(duì)完整SOA轉(zhuǎn)換方案的一個(gè)擴(kuò)展,并且還描述了一個(gè)企業(yè)SOA RA的很有價(jià)值的擴(kuò)充。

為什么使用數(shù)據(jù)?

  數(shù)據(jù)是普遍存在的(data是復(fù)數(shù);datum是單數(shù),盡管“data”能夠同時(shí)使用單數(shù)和復(fù)數(shù))。大部分 IT工作的核心就是收集、分發(fā)和管理數(shù)據(jù),并且當(dāng)需要數(shù)據(jù)的時(shí)候、在需要數(shù)據(jù)的地方、以要求的方式為需要數(shù)據(jù)的人(擁有正確的權(quán)限)提供數(shù)據(jù)。有些人可能會(huì)想起在IT(“信息技術(shù)”)這一術(shù)語(yǔ)出現(xiàn)之前,多數(shù)的企業(yè)把他們的“計(jì)算機(jī)部門”及其工作稱為DP或“數(shù)據(jù)處理”。

  在過去、現(xiàn)在和可預(yù)見的將來,數(shù)據(jù)是所有技術(shù)浪潮中一個(gè)不變的常量。同樣的數(shù)據(jù),過去由(很可能仍然是)大型機(jī)處理,現(xiàn)在也很可能已經(jīng)由一個(gè)或多個(gè)的客戶機(jī)-服務(wù)器、CORBA/DCOM、 Java EE、.NET、 Web services、SOA和Web 2.0來完成。隨著時(shí)間的流逝,數(shù)據(jù)的存儲(chǔ)、格式和傳輸可能已經(jīng)改變,數(shù)據(jù)的處理方式可能已經(jīng)改變,但是“數(shù)據(jù)”依然保留(而且還在增加)。其實(shí),所有工業(yè)技術(shù)浪潮有著一個(gè)相同點(diǎn):它們都是新的或者改良的數(shù)據(jù)處理方法。數(shù)據(jù)就是基礎(chǔ)。如果您您也認(rèn)為數(shù)據(jù)是企業(yè)解決方案的基礎(chǔ),則由此得出結(jié)論:數(shù)據(jù)(以及數(shù)據(jù)建模/管理)也是SOA(與Web 2.0)的企業(yè)架構(gòu)需要優(yōu)先考慮的事情。

數(shù)據(jù)是什么?

  讓我們先看一下字典中“數(shù)據(jù)”的定義,然后對(duì)其進(jìn)行補(bǔ)充。就本文而言,數(shù)據(jù)是基本的、最小的,或者擁有一些結(jié)構(gòu)、關(guān)系和狀態(tài)的“信息”片斷的底層集合,但不包括行為。例如,一個(gè)包含街道地址、城市等數(shù)據(jù)列的地址表是數(shù)據(jù)。就像一個(gè)用戶表中的地址定義。數(shù)據(jù)是結(jié)構(gòu)和狀態(tài),但沒有行為。數(shù)據(jù)是構(gòu)成信息的原始的構(gòu)建材料。數(shù)據(jù)是信息的前提。

信息是什么?

  讓我們?cè)倏匆幌滦畔⒌亩x,然后對(duì)其進(jìn)行補(bǔ)充。就本文而言,信息是數(shù)據(jù)的集合,是提供附加的形式、基本關(guān)系、語(yǔ)法和語(yǔ)義上下文的基本邏輯——也就是說,它是狀態(tài)和核心模型行為。例如,確保ZIP碼有效并與城市一致。信息是數(shù)據(jù)的擴(kuò)展,它向和域(語(yǔ)法和語(yǔ)義)上下文一致的行為模型提供映射或關(guān)聯(lián)數(shù)據(jù)、定義邏輯的能力。信息基于數(shù)據(jù),需要數(shù)據(jù)。換句話說,信息表示封裝了狀態(tài)(數(shù)據(jù))和行為(邏輯)的實(shí)體(主體,對(duì)象)??梢哉J(rèn)為信息類似于面向?qū)ο缶幊讨械哪P皖惖膶?shí)例,這個(gè)實(shí)例包含用于保持狀態(tài)的數(shù)據(jù)成員(實(shí)例變量)和提供(模型)行為的方法。

SOA中數(shù)據(jù)的價(jià)值

  各種組織對(duì)于定義和細(xì)化自身SOA參考架構(gòu)(SOA RA)有著不同的動(dòng)機(jī)、出發(fā)點(diǎn)和優(yōu)先次序,向SOA轉(zhuǎn)換時(shí)可能會(huì)發(fā)生變化。規(guī)劃設(shè)計(jì)SOA RA的完整方法應(yīng)該包括數(shù)據(jù)服務(wù)(data services)層。本文采用數(shù)據(jù)服務(wù)層這一術(shù)語(yǔ)包含數(shù)據(jù)和信息訪問服務(wù)。

  如果在SOA RA中沒有企業(yè)數(shù)據(jù)服務(wù)層,則其后的業(yè)務(wù)項(xiàng)目將被迫開發(fā)成特定于每一個(gè)應(yīng)用程序的專用“點(diǎn)”或者一次性解決方案。幾乎沒有通用性,幾乎沒有共享的服務(wù)定義、重用和一致性,規(guī)范的數(shù)據(jù)模型的定義也會(huì)變得難懂。如果認(rèn)識(shí)到SOA的優(yōu)點(diǎn),則會(huì)逐漸認(rèn)識(shí)到它的眾多優(yōu)勢(shì)。我們很可能都看到過這樣的統(tǒng)計(jì)信息:企業(yè)應(yīng)用程序軟件開發(fā)的50%到80%的項(xiàng)目資源消耗在數(shù)據(jù)集成任務(wù)上。這一“事實(shí)”應(yīng)該足以確定在任何SOA實(shí)現(xiàn)中數(shù)據(jù)服務(wù)層是必不可少的一部分。企業(yè)軟件解決方案的主要設(shè)計(jì)目標(biāo)是數(shù)據(jù)處理,結(jié)合這一概念, SOA 中數(shù)據(jù)的價(jià)值應(yīng)該非常明顯。

  圖1展示了BEA的SOA參考架構(gòu)較高層次上的概念,它說明了位于上面的幾個(gè)層。注意,數(shù)據(jù)服務(wù)層位于第一個(gè)區(qū)域,這表明它在SOA RA中的重要性。

  

  圖1:SOA參考架構(gòu)的層次

  數(shù)據(jù)、數(shù)據(jù)模型和數(shù)據(jù)管理是SOA成功的基礎(chǔ)。實(shí)際上,BEA對(duì)數(shù)據(jù)服務(wù)如此高度地重視,以至于我們不僅提供 AquaLogic Data Services Platform 產(chǎn)品,還把數(shù)據(jù)服務(wù)當(dāng)作許多 BEA Consulting 服務(wù)產(chǎn)品的基礎(chǔ),其中包括一個(gè)Data Services Consulting Service,該服務(wù)著重于SOA數(shù)據(jù)和信息層的規(guī)劃、設(shè)計(jì)和開發(fā)。

關(guān)于數(shù)據(jù)訪問和連通性服務(wù)的注釋

  訪問數(shù)據(jù)資源的數(shù)據(jù)訪問服務(wù)通常被總稱為企業(yè)信息系統(tǒng)(EIS),也叫數(shù)據(jù)庫(kù)和文件系統(tǒng)。它們可以是遺留系統(tǒng)、記錄系統(tǒng),包裝好的商業(yè)應(yīng)用程序、用戶、伙伴、第三方應(yīng)用程序和服務(wù),以及Web services。它們的共同之處是向其他應(yīng)用程序提供數(shù)據(jù)和/或信息(在本文中的意思是行為)。因此,這些應(yīng)用程序在通過數(shù)據(jù)訪問層被訪問時(shí)就是數(shù)據(jù)的另一種形式或另一個(gè)數(shù)據(jù)源。在一個(gè)更高的抽象層上,數(shù)據(jù)服務(wù)與消費(fèi)應(yīng)用程序看上去一樣,這是SOA RA的數(shù)據(jù)服務(wù)層的主要目標(biāo)(標(biāo)準(zhǔn)化/一致性)之一。公開的接口與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)、表、后臺(tái)、遺留系統(tǒng)、快速收縮的系統(tǒng)和/或外部系統(tǒng)交互,這是數(shù)據(jù)服務(wù)層封裝的一個(gè)實(shí)現(xiàn)細(xì)節(jié)。

  連通性服務(wù)以基于標(biāo)準(zhǔn)的方式將應(yīng)用程序和數(shù)據(jù)庫(kù)公開為應(yīng)用程序服務(wù)。

將數(shù)據(jù)轉(zhuǎn)換成信息

  假設(shè)您的組織正計(jì)劃向 SOA轉(zhuǎn)換。 SOA RA的所有層和所有方面(見圖1)的研究和規(guī)劃已經(jīng)開始,您的任務(wù)是數(shù)據(jù)服務(wù)層的實(shí)現(xiàn)?,F(xiàn)在該怎么辦?想想下面的幾個(gè)步驟:

  1. 盤點(diǎn)現(xiàn)有的數(shù)據(jù)和系統(tǒng)訪問資源
  2. 確定依賴關(guān)系矩陣
  3. 建立基線度量/SLA
  4. 設(shè)置資源優(yōu)先級(jí)
  5. 執(zhí)行數(shù)據(jù)建模
  6. 創(chuàng)建邏輯建模
  7. 設(shè)置信息規(guī)則
  8. 建立應(yīng)用程序規(guī)范

  圖2是SOA RA數(shù)據(jù)服務(wù)的一組可能的內(nèi)部抽象層示例,這里將采用我們的9個(gè)步驟來映射這些需求和性能。

  

  圖2:數(shù)據(jù)服務(wù)層——內(nèi)部層抽象

  基于現(xiàn)在和將來的需要,您可以為一組不同的抽象層定義需求。至少,您應(yīng)該分離物理層和邏輯層,并相應(yīng)地分配規(guī)則類型。

  現(xiàn)在,讓我們更具體地看一下每一個(gè)步驟。

  1)盤點(diǎn)現(xiàn)有的數(shù)據(jù)和系統(tǒng)訪問資源

  第一步是確定數(shù)據(jù)內(nèi)容,即您您當(dāng)前的數(shù)據(jù)和信息系統(tǒng)訪問資源。您您的組織擁有哪些數(shù)據(jù)和信息資源(本文后面,簡(jiǎn)稱為“資源”)?例如,數(shù)據(jù)庫(kù)、信息資源和應(yīng)用程序(指遺留系統(tǒng)、記錄系統(tǒng))。對(duì)于每一個(gè)資源,您需要了解支撐元數(shù)據(jù),如文檔、歷史、技術(shù)/工具/產(chǎn)品/平臺(tái)、版本、所有權(quán)/管理部門、位置、安全性和訪問機(jī)制。根據(jù)資源及其元數(shù)據(jù)的數(shù)量,您可能想考慮某些元數(shù)據(jù)目錄或者儲(chǔ)存庫(kù),也可能是一個(gè)或一組標(biāo)準(zhǔn)模板,能夠以一致的方式獲取元信息并允許進(jìn)行檢索。

  2)確定依賴關(guān)系矩陣

  一旦您已經(jīng)開始創(chuàng)建資源目錄,第二步就是確定依賴關(guān)系矩陣。依賴關(guān)系矩陣也是資源元信息的一部分,它獲取關(guān)于資源的使用者、使用時(shí)間、使用頻率、使用目的(例如,CRUD)和使用地點(diǎn)(即,訪問類型——成批的、在線的、實(shí)時(shí)的或報(bào)告式的)的信息。了解用戶為何使用某個(gè)特殊的資源也是很重要的,這將有助于任務(wù)優(yōu)化,而且為新的數(shù)據(jù)模型提出要求。

  一旦您得到了使用某個(gè)資源的每個(gè)已知用戶的情況——“使用者、使用內(nèi)容、使用地點(diǎn)、使用時(shí)間、如何使用以及為什么使用”,您就可以開始分析和形成所有資源用戶的概括。這樣做的目的是要找到在現(xiàn)有資源向SOA構(gòu)建塊轉(zhuǎn)換的過程中進(jìn)行簡(jiǎn)化和重用的可能。它們包括,但不限于,那些面向服務(wù)的、自描述的和可發(fā)現(xiàn)的資源,這些資源能夠便捷地應(yīng)用于采用開放的、公共的、行業(yè)和/或企業(yè)標(biāo)準(zhǔn)的SOA生態(tài)系統(tǒng)。

  在這組SOA構(gòu)建塊中包含的一個(gè)定義是您的服務(wù)定義。要使用什么樣的標(biāo)準(zhǔn)、規(guī)格和版本呢?例如,可能會(huì)要求 WSDL、SOAP、UDDI、WS-Security、WS-I Basic Profile、WS-Addressing、XML和XSD之中的某一個(gè)的特定版本,而其它的則可以是可選項(xiàng)/推薦項(xiàng)。數(shù)據(jù)和信息訪問資源很可能會(huì)采用與基本SOA構(gòu)建塊定義(即服務(wù))一致的格式。(使用您喜歡的搜索引擎搜索“Service Identification”和“Service Definition”這兩個(gè)主題可以找到這方面的內(nèi)容。)

  建立基線度量/SLA

  由于每個(gè)編目好的資源已經(jīng)以某種方式存在,所以應(yīng)該具有預(yù)測(cè)的或者實(shí)際的產(chǎn)品使用統(tǒng)計(jì)信息,包括事務(wù)規(guī)模、模式、并發(fā)用戶、可靠性、可用性、可伸縮性和性能(RASP)等方面的信息。

  使用信息也很好地表明了業(yè)務(wù)和IT的價(jià)值和優(yōu)先權(quán)。這個(gè)基線信息用來定義一組度量,這組度量將構(gòu)成服務(wù)級(jí)別協(xié)議(SLA)并允許目標(biāo)定義和歷史跟蹤。為了支持 SOA的數(shù)據(jù)服務(wù)層,要規(guī)劃軟硬件的大小和容量,在這一過程中,度量和當(dāng)前產(chǎn)品信息的價(jià)值是無法估量的。確定您的SLA是雙向的,即服務(wù)提供者針對(duì)每個(gè)用戶定義SLA術(shù)語(yǔ)、條件和處罰;用戶應(yīng)該遵守這個(gè)協(xié)議。

  例如,一個(gè)協(xié)議聲明用戶A每天(這里指一天24小時(shí),從午夜GMT12:00開始計(jì)算)可以在DataServiceXYZ(資源/服務(wù)的提供者)上執(zhí)行最多100個(gè)get()請(qǐng)求,而每個(gè)請(qǐng)求的響應(yīng)時(shí)間將≤2秒。如果用戶A發(fā)出了超過協(xié)議規(guī)定的最大數(shù)量的get()請(qǐng)求,那么服務(wù)提供者能夠根據(jù)協(xié)議規(guī)定對(duì)其處罰。對(duì)服務(wù)提供者也有相應(yīng)的要求。如果用戶A的請(qǐng)求數(shù)量不大于規(guī)定的最大值,則服務(wù)提供者必須提供≤2秒的響應(yīng)時(shí)間,否則就要面對(duì)協(xié)議規(guī)定的相應(yīng)的處罰。

  度量和SLA定義約定的要求和規(guī)則,這些要求和規(guī)則影響每個(gè)資源的價(jià)值、目標(biāo)和規(guī)模的基礎(chǔ)。跟蹤并重用您的基線度量、SLA,建立一個(gè)成本和效益模型。

  有了上述的一定程度的一組已獲取信息,應(yīng)該可以在所有其它的編目好的資源上下文中開始評(píng)價(jià)每個(gè)資源——即,指定每個(gè)資源的優(yōu)先權(quán)。一個(gè)好的策略是擁有最少3個(gè)、最多10個(gè)優(yōu)先權(quán)級(jí)別(過多了);小于3個(gè)不夠,多于10個(gè)難于管理。

  優(yōu)先權(quán)分配的目的是幫助識(shí)別在應(yīng)用上最重要的資源和所支持的業(yè)務(wù)功能的價(jià)值。您應(yīng)該設(shè)計(jì)一組度量(包括第三步中的那些)和定義來根據(jù)經(jīng)驗(yàn)比較和評(píng)價(jià)每個(gè)資源,以確定其優(yōu)先級(jí)。分配資源優(yōu)先級(jí)將有助于確定項(xiàng)目的合理起點(diǎn)、潛在的∵業(yè)務(wù)/IT贊助和相關(guān)的業(yè)務(wù)價(jià)值。

  當(dāng)這些資源向SOA構(gòu)建塊轉(zhuǎn)換時(shí),使用上述的所有信息能夠建立、記錄和跟蹤每個(gè)資源的“當(dāng)前使用”快照。對(duì)于剩下的幾個(gè)步驟,應(yīng)該在所有編目好的資源中選擇那些被指定為最高優(yōu)先級(jí)的資源。實(shí)際數(shù)量的選擇要根據(jù)您的風(fēng)險(xiǎn)評(píng)估、優(yōu)先權(quán)評(píng)價(jià)、業(yè)務(wù)/IT目標(biāo)、資源以及其它類似的因素來進(jìn)行。

  5)數(shù)據(jù)建模

  從第一個(gè)選定的資源開始(我建議您首先端到端地制作一個(gè)資源,也許不是最高優(yōu)先級(jí)的那個(gè),這允許您使用控制度更高并且便于管理的方式實(shí)現(xiàn)數(shù)據(jù)管理和數(shù)據(jù)服務(wù)層的SDLC過程),對(duì)現(xiàn)有的物理方面進(jìn)行檢查。對(duì)于數(shù)據(jù)庫(kù)或者一組表,考慮來自用戶的各種查詢、數(shù)據(jù)庫(kù)的邏輯存儲(chǔ)過程及其觸發(fā)器、各種具有副作用的操作。這構(gòu)成了物理數(shù)據(jù)資源定義和描述。對(duì)于信息訪問,要使用什么呢?MOM、第三方適配器、專有的集成或者點(diǎn)對(duì)點(diǎn)的定制集成?這構(gòu)成了物理信息資源定義和描述。

  由于數(shù)據(jù)服務(wù)層是完整的SOA參考架構(gòu)的一部分,所以應(yīng)該規(guī)定SOA構(gòu)建塊的定義和要求。您的資源的當(dāng)前狀態(tài)與SOA RA構(gòu)建塊的目標(biāo)狀態(tài)之間很可能存在差距。業(yè)務(wù)的第一步是引導(dǎo)當(dāng)前的物理狀態(tài)盡可能地接近您的SOA構(gòu)建塊目標(biāo)狀態(tài)標(biāo)準(zhǔn)。您可能會(huì)想起前面討論的關(guān)于SOA參考架構(gòu)中“服務(wù)”的定義和描述。為簡(jiǎn)單起見,假設(shè)您的服務(wù)定義要求包含WSDL、SOAP和用XSD定義的文檔樣式。其它推薦的規(guī)范包括 WS-Addressing和XQuery/XPath。有了這個(gè)定義,我們需要考慮怎樣把關(guān)系數(shù)據(jù)庫(kù)、XML數(shù)據(jù)和/或信息訪問系統(tǒng)中的表轉(zhuǎn)換或者映射到一組滿足構(gòu)建塊服務(wù)定義準(zhǔn)則的服務(wù)上。

  有許多不同的工具和技術(shù)可以映射現(xiàn)有的數(shù)據(jù)和信息訪問資源到圖2所示的物理數(shù)據(jù)層,定義與您的特殊要求和服務(wù)定義一致的邏輯服務(wù)模型。BEA的 AquaLogic Data Services Platform(ALDSP)是我們的從數(shù)據(jù)/信息訪問資源向SOA構(gòu)建塊(數(shù)據(jù)服務(wù))轉(zhuǎn)換的實(shí)現(xiàn)技術(shù),它為您的SOA參考架構(gòu)提供了基于標(biāo)準(zhǔn)的、面向服務(wù)的數(shù)據(jù)服務(wù)層。

  一旦您導(dǎo)入了您的物理資源(不考慮它們的接口和實(shí)現(xiàn)),您就有了物理的數(shù)據(jù)服務(wù)層(參見圖2)。物理的數(shù)據(jù)服務(wù)層中的服務(wù)有著一致的外觀和表示——即底層的實(shí)現(xiàn)細(xì)節(jié)和通信協(xié)議被抽象化和封裝,并且從視圖中移除(必要時(shí),您仍然可以訪問底層),只提供了資源定義(服務(wù)定義)和操作的信息。 既然您有了自己的“數(shù)據(jù)”,下面該定義您的邏輯模型。

  6)邏輯建模

  邏輯建模的目標(biāo)是抽象、集成、規(guī)范和管理一個(gè)或多個(gè)物理數(shù)據(jù)服務(wù)的集合,可以將這些操作抽象到兩個(gè)層上:邏輯數(shù)據(jù)標(biāo)準(zhǔn)化層和邏輯數(shù)據(jù)集成層,如圖2所示,它們也有一組可用的規(guī)則:管理規(guī)則、數(shù)據(jù)規(guī)則、集成規(guī)則和業(yè)務(wù)規(guī)則。

  在進(jìn)一步討論之前,需要注意: ALDSP允許支持您的邏輯抽象設(shè)計(jì)要求所需的任何邏輯層。這些邏輯層只是面向設(shè)計(jì)時(shí)的,其作用是允許設(shè)計(jì)和開發(fā)人員有效地分離和分層邏輯模型和內(nèi)容。這些邏輯層不是運(yùn)行時(shí)部署的一部分——也就是說,即使設(shè)計(jì)時(shí)可以有若干邏輯層,但它們并沒有對(duì)應(yīng)于運(yùn)行時(shí)的一組間接層。通過平展和優(yōu)化,它們成為一個(gè)運(yùn)行時(shí)層。開發(fā)和操作人員能夠察看這些運(yùn)行時(shí)工件和優(yōu)化,并且在認(rèn)為必要時(shí)進(jìn)行調(diào)整。

  您可以規(guī)定一組不同的準(zhǔn)則和因素作為邏輯模型層的基礎(chǔ),而不是我在這里所使用的。例如,可以有單獨(dú)一個(gè)層來包含所有的邏輯抽象,也可以有若干個(gè)邏輯層。經(jīng)證明,邏輯層太少可能有限制作用并可能隨時(shí)間增加了復(fù)雜性。至少,您應(yīng)該規(guī)定一組準(zhǔn)則來確定邏輯抽象層和它們所包含的內(nèi)容。

  例如,您可以有一個(gè)邏輯抽象來執(zhí)行標(biāo)準(zhǔn)化,如圖2所示。邏輯數(shù)據(jù)標(biāo)準(zhǔn)化層允許您“清除”和簡(jiǎn)化任何復(fù)雜的或混亂的信息。改變那些您不直接擁有或負(fù)責(zé)的現(xiàn)有數(shù)據(jù)庫(kù)或者其他系統(tǒng)的物理結(jié)構(gòu)通常也是困難的,或者任何程度的改變都是不可行的。邏輯數(shù)據(jù)標(biāo)準(zhǔn)化層讓您可以重新構(gòu)建而不必強(qiáng)制改變物理數(shù)據(jù)層。(如果您需要關(guān)于“數(shù)據(jù)標(biāo)準(zhǔn)化”的更多信息,我建議您用“數(shù)據(jù)標(biāo)準(zhǔn)化”進(jìn)行Web搜索,會(huì)了解到更多的相關(guān)內(nèi)容和要求。)這個(gè)邏輯層提供一個(gè)模型設(shè)計(jì),當(dāng)更新或退出直接使用這些數(shù)據(jù)資源的系統(tǒng)時(shí),它可以用作未來物理數(shù)據(jù)和信息的模型。邏輯數(shù)據(jù)服務(wù)的目標(biāo)是提供一個(gè)高級(jí)共享服務(wù)和消費(fèi)應(yīng)用程序更加易于使用的、更加易懂的和更加可重用的服務(wù)模型。

  第五步和第六步可以顛倒次序。關(guān)鍵是確保邏輯模型不受當(dāng)前物理資源的過度約束。換句話說,在邏輯模型將要利用物理數(shù)據(jù)服務(wù)的時(shí)候,不要讓當(dāng)前那些物理資源的局限性限制它們,或者對(duì)您的整個(gè)數(shù)據(jù)服務(wù)層設(shè)計(jì)施加過度的影響。物理資源是起點(diǎn),接著是建立更豐富的更多表示形式的模型。

  7)信息規(guī)則

  規(guī)則和規(guī)則的處理決定了數(shù)據(jù)是怎樣變成信息的。它們?cè)跀?shù)據(jù)服務(wù)層提供了關(guān)系、語(yǔ)義和行為。如圖2所示,規(guī)則分為幾類:

  1. 管理規(guī)則給出利用物理數(shù)據(jù)層的系統(tǒng)和數(shù)據(jù)資源的各種要求和/或限制。這可能包括安全性、訪問窗口(日期/時(shí)間)、緩存,元數(shù)據(jù)、事務(wù)和各種副作用或需要執(zhí)行的輔助操作(例如,登錄和審計(jì))。
  2. 數(shù)據(jù)規(guī)則提供驗(yàn)證、一致性、反復(fù)確認(rèn)和其它與數(shù)據(jù)準(zhǔn)確性和一致性相關(guān)的規(guī)則。它們也能在物理模型或邏輯模型中提供緩存管理和其它的副作用。數(shù)據(jù)規(guī)則可作用于表級(jí)別、行級(jí)別、列級(jí)別或字段級(jí)別。
  3. 集成規(guī)則提供跨邏輯數(shù)據(jù)層和物理數(shù)據(jù)層的映射和一致性。集成映射更高一級(jí)的抽象到對(duì)應(yīng)的邏輯層或物理層。例如,一個(gè)位于更高一級(jí)的抽象的用戶ID是新的規(guī)范的數(shù)據(jù)模型的一部分,這個(gè)模型轉(zhuǎn)換自/被轉(zhuǎn)換到幾個(gè)底層的來自若干用戶數(shù)據(jù)庫(kù)和/或后端系統(tǒng)的本地格式。集成規(guī)則位于系統(tǒng)和/或數(shù)據(jù)庫(kù)層。
  4. 業(yè)務(wù)規(guī)則提供有意義的業(yè)務(wù)關(guān)系和一些業(yè)務(wù)邏輯,即行為。面向?qū)ο缶幊炭紤]的是封裝在模型對(duì)象中的狀態(tài)和行為。在數(shù)據(jù)服務(wù)中,業(yè)務(wù)規(guī)則扮演一個(gè)類似行為的角色。業(yè)務(wù)規(guī)則在數(shù)據(jù)模型層捕捉業(yè)務(wù)處理邏輯。這個(gè)邏輯是業(yè)務(wù)實(shí)體的恰當(dāng)定義的基礎(chǔ),也是這個(gè)業(yè)務(wù)實(shí)體與其他業(yè)務(wù)實(shí)體的關(guān)系的基礎(chǔ),這些實(shí)體的關(guān)系是跨所有應(yīng)用的業(yè)務(wù)實(shí)體固有的,例如,在一個(gè)企業(yè)級(jí)的或至少一個(gè)部門級(jí)的范圍里。在這些規(guī)則中,有些是在規(guī)范的模型中定義的,而另外一些是在應(yīng)用程序規(guī)范模型中定義的。

  8)應(yīng)用程序?qū)iT化

  一旦完成了邏輯模型,您就有效地定義了一個(gè)規(guī)范的信息模型。這個(gè)模型的定義將完成您的信息模型的初始設(shè)計(jì),就意味著您已經(jīng)有效地開始將數(shù)據(jù)變成信息。還有最后一步,就是進(jìn)一步改進(jìn)您的信息模型:應(yīng)用程序規(guī)范。

  不是所有的消費(fèi)應(yīng)用程序?qū)?huì)直接使用規(guī)范的信息模型。應(yīng)用程序規(guī)范為消費(fèi)應(yīng)用程序提供一個(gè)抽象層來定義它們自己的特定于其自身需求的邏輯模型。

  應(yīng)用程序規(guī)范封裝了消費(fèi)應(yīng)用程序需要的額外的信息模型狀態(tài)和行為,簡(jiǎn)化了消費(fèi)應(yīng)用程序?qū)σ?guī)范的信息模型資源的使用。由于每個(gè)消費(fèi)應(yīng)用程序或者一組關(guān)聯(lián)的業(yè)務(wù)應(yīng)用程序的應(yīng)用程序規(guī)范都是惟一的,所以不需要在規(guī)范的信息模型中包括它們。如果應(yīng)用程序規(guī)范包含更大范圍(例如,跨部門或者跨企業(yè)),那么它應(yīng)該成為規(guī)范的信息模型的一部分。

  結(jié)束語(yǔ)

  為SOA參考架構(gòu)創(chuàng)建數(shù)據(jù)服務(wù)層和為組織定義規(guī)范的信息模型是困難的,這些任務(wù)實(shí)現(xiàn)起來都非常困難,而具有挑戰(zhàn)性的任務(wù)又很少能贏得什么榮譽(yù):實(shí)現(xiàn)起來非常困難,很少能夠做到最好。本文所述的方法應(yīng)該能給您足夠的信息去規(guī)劃、評(píng)估和開始設(shè)計(jì)數(shù)據(jù)層的SOA轉(zhuǎn)換,并將組織的數(shù)據(jù)變成信息。在實(shí)際當(dāng)中,SOA參考架構(gòu)的數(shù)據(jù)服務(wù)層的規(guī)劃、設(shè)計(jì)和開發(fā)依賴于許多特殊的因素,這些因素特定于您的組織或狀況,它們已經(jīng)超出了本文所討論的范圍。

  既然我們已經(jīng)開始在SOA系統(tǒng)中把我們的數(shù)據(jù)變成信息,那么我們可以考慮把這些信息變成知識(shí)。本系列的第二篇也是最后一篇文章“SOA中的數(shù)據(jù),第二部分:將信息轉(zhuǎn)換成知識(shí)”將介紹這一過程。

參考資料

  

     作者簡(jiǎn)介
    Richard Scott Manning 是美國(guó)南部地區(qū)BEA專業(yè)服務(wù)部的企業(yè)級(jí)架構(gòu)負(fù)責(zé)人。主要關(guān)注的領(lǐng)域有:企業(yè)級(jí)架構(gòu),SOA,BPM,組織與管理,信息與知識(shí)建模,Web 2.0,語(yǔ)義網(wǎng)與人工智能 。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
研究SOA中信息管理的不同方法
關(guān)于微服務(wù)架構(gòu),你需要關(guān)注的那些點(diǎn)
阿里架構(gòu)師的靈魂拷問:你真的懂SOA嗎?
理解SOA數(shù)據(jù)集成生命周期_理解SOA數(shù)據(jù)集成生命周期_Web服務(wù)技巧_SOA_IT專家網(wǎng)
sql 模式,外模式,內(nèi)模式 二級(jí)映像
實(shí)體框架簡(jiǎn)介
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服