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

打開APP
userphoto
未登錄

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

開通VIP
技術(shù)文章-使用數(shù)據(jù)服務(wù)進(jìn)行數(shù)據(jù)集成
使用數(shù)據(jù)服務(wù)進(jìn)行數(shù)據(jù)集成

時間:2005-09-21
作者:Manu Madhusudhanan R
瀏覽次數(shù): 2683
本文關(guān)鍵字:數(shù)據(jù)服務(wù)sdo集成XMLAquaLogic Data Services PlatformXQuery
文章工具
 推薦給朋友
 打印文章

摘要

  各種分布的信息源為負(fù)責(zé)通過集成和聚集這些源的數(shù)據(jù)而創(chuàng)建和維護(hù)應(yīng)用程序的架構(gòu)師們帶來了許多挑戰(zhàn)。過去,開發(fā)人員必須用每種不同數(shù)據(jù)源可用的API 編寫自定義的代碼。這樣既增加了成本又不穩(wěn)定,改變時需要修改自定義代碼。

  所有應(yīng)用程序架構(gòu)師和數(shù)據(jù)專家面臨的挑戰(zhàn)是,在確保為集成、聚集和轉(zhuǎn)換數(shù)據(jù)所做的工作的可復(fù)用性的同時,容易地向應(yīng)用程序傳遞數(shù)據(jù)。企業(yè)信息集成(Enterprise Information Integration,EII)解決方案解決了這個問題。這些解決方案一般提供一個數(shù)據(jù)服務(wù)層 (Data Service Layer),用于從根本上簡化分布數(shù)據(jù)的訪問和集成。

  本文探討了一個基于數(shù)據(jù)服務(wù)層的解決方案,以及XQuery 在解決業(yè)務(wù)數(shù)據(jù)集成問題時的作用。同時說明了這類解決方案提供的抽象級別如何使得不同的數(shù)據(jù)源對終端用戶是透明的,從而很容易組合附加服務(wù)。

面向服務(wù)架構(gòu)的方式

  面向服務(wù)架構(gòu)(Service Oriented Architecture,SOA)的風(fēng)靡并非毫無根據(jù),而是應(yīng)需而生。SOA 也能應(yīng)用于數(shù)據(jù)集成領(lǐng)域。數(shù)據(jù)服務(wù)層充當(dāng)抽象層,它與底層資源通信,并從應(yīng)用程序去除數(shù)據(jù)位置、類型和管理,留下虛擬數(shù)據(jù)源。對應(yīng)用程序開發(fā)人員而言,虛擬數(shù)據(jù)源意味著集中于手邊的數(shù)據(jù)問題,無需重寫訪問不同數(shù)據(jù)的管道。SOA 的推動力之一是一個松散藕合的系統(tǒng):數(shù)據(jù)分層在數(shù)據(jù)領(lǐng)域提供這一系統(tǒng)。

  此外,數(shù)據(jù)服務(wù)(將在稍后解釋)提供一些用戶可能感興趣的公共函數(shù),可把用戶從底層細(xì)節(jié)中解脫出來。

  當(dāng)設(shè)計一個數(shù)據(jù)訪問層基礎(chǔ)架構(gòu)時,需要解決許多因素以提供一個有效且可伸縮的解決方案。以下是最為重要的幾個因素:

  • 沒人愿意圍繞EII 又多一個標(biāo)準(zhǔn),因而我們必須選擇一個能解決問題并減輕開發(fā)人員和數(shù)據(jù)專家的負(fù)擔(dān)的現(xiàn)有標(biāo)準(zhǔn)。
  • 元數(shù)據(jù)由不同數(shù)據(jù)源以不同形式來表示;對于所有數(shù)據(jù)源,我們需要統(tǒng)一的元數(shù)據(jù)信息。我想您應(yīng)該能猜到我們將使用何種元數(shù)據(jù)。
  • 處理不同類型的數(shù)據(jù)源時數(shù)據(jù)源返回的數(shù)據(jù)格式是另一個挑戰(zhàn)。因此XML 應(yīng)運(yùn)而生。

  本文接下來將探討這些想法將如何應(yīng)用于數(shù)據(jù)服務(wù)層。

數(shù)據(jù)服務(wù)層

  數(shù)據(jù)服務(wù)層有助于形成一個統(tǒng)一的數(shù)據(jù)編目。有了“數(shù)據(jù)編目”后,根據(jù)應(yīng)用程序的需要,它可以被邏輯分段,每一段表示為一個可被標(biāo)準(zhǔn)API 訪問的“數(shù)據(jù)服務(wù)”。數(shù)據(jù)編目因此成為一個很容易被其他開發(fā)人員和應(yīng)用程序重用的接口。基于數(shù)據(jù)服務(wù)層的解決方案的架構(gòu)如圖1 所示。

  具有一個編目會有很多優(yōu)點(diǎn):

  1. 對數(shù)據(jù)的集中控制簡化了對數(shù)據(jù)的管理。
  2. 實(shí)時數(shù)據(jù)變得可用(依靠Extract、Transform 和 Load (ETL) 工具)。
  3. 集成的虛擬數(shù)據(jù)源使得報表生成更容易。
  4. 簡化了數(shù)據(jù)訪問,因?yàn)楝F(xiàn)在一個統(tǒng)一的接口取代了在沒有數(shù)據(jù)編目時需要使用的多個不同API。


    圖1:數(shù)據(jù)服務(wù)層的架構(gòu)

  數(shù)據(jù)服務(wù)層封裝了應(yīng)用程序的業(yè)務(wù)邏輯。因而數(shù)據(jù)服務(wù)是一個自包含的模塊,其中每個數(shù)據(jù)服務(wù)被認(rèn)為是一個根據(jù) E-R 圖中的實(shí)體建模的基于XML 的類。這些實(shí)體通過函數(shù)相關(guān)聯(lián)。

  為使數(shù)據(jù)服務(wù)是自包含的,最理想的情況下它們應(yīng)包含以下信息:

  1. 數(shù)據(jù)源的元數(shù)據(jù)
  2. 連接信息
  3. 用于讀取/導(dǎo)航和更新數(shù)據(jù)源的接口函數(shù)
  4. 數(shù)據(jù)服務(wù)間的關(guān)系信息
  5. 安全信息
  6. 數(shù)據(jù)服務(wù)的元數(shù)據(jù)

  因此,數(shù)據(jù)服務(wù)充當(dāng)?shù)讓訑?shù)據(jù)基礎(chǔ)架構(gòu)的邏輯接口;它可以稱為虛擬視圖。數(shù)據(jù)服務(wù)包含了足夠的信息量,以便為客戶應(yīng)用程序查找、執(zhí)行和轉(zhuǎn)換有用格式的信息。

  盡管我們定義了數(shù)據(jù)服務(wù)基礎(chǔ)架構(gòu)的需求,但是還得實(shí)現(xiàn)它,實(shí)現(xiàn)時要考慮前面提到過的設(shè)計因素。一個新興的設(shè)計模式使用XQuery來提供不同數(shù)據(jù)源的統(tǒng)一視圖。

  XQuery 是一種強(qiáng)大的語言,受到行業(yè)龍頭們?nèi)鏘BM、BEA 和 Oracle 的支持。這是一個富有表現(xiàn)力的語言,它語法通俗簡單,并與XML 數(shù)據(jù)結(jié)構(gòu)有機(jī)地結(jié)合在一起。數(shù)據(jù)服務(wù)可以利用XQuery 的內(nèi)在能力處理關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫。因此,使用XQuery 可以實(shí)現(xiàn)數(shù)據(jù)服務(wù)中提供的接口函數(shù)。優(yōu)秀的XQuery 引擎和工具的可用性使得 XQuery 成為不同數(shù)據(jù)源的集成語言的自然選擇。XQuery 引擎提供數(shù)據(jù)集成的核心。

  由于XML 數(shù)據(jù)能被其他應(yīng)用程序普遍讀取,或者能被XMLBeans 或其他技術(shù)轉(zhuǎn)換為Java 對象,所以客戶能夠使用行業(yè)標(biāo)準(zhǔn)訪問信息。所以它在現(xiàn)代企業(yè)需求中是一個很受歡迎的解決方案。

Aqualogic數(shù)據(jù)服務(wù)平臺

  BEA 的 AquaLogic 數(shù)據(jù)服務(wù)平臺就是這種方法。該平臺為底層數(shù)據(jù)源提供一個抽象的數(shù)據(jù)服務(wù)層。這里利用了XQuery 的強(qiáng)大功能。BEA 使用XQuery 來實(shí)現(xiàn)數(shù)據(jù)服務(wù)中提供的接口函數(shù),可以是讀或關(guān)系函數(shù)。關(guān)系函數(shù)用于建立與其他數(shù)據(jù)服務(wù)的關(guān)系。例如,通過getItems() 函數(shù)可以使一個 Orders 數(shù)據(jù)服務(wù)與 Line Items 數(shù)據(jù)服務(wù)相關(guān)聯(lián)。此外,數(shù)據(jù)服務(wù)還可以使用 XPath 與其他數(shù)據(jù)服務(wù)進(jìn)行通信,極大地增加了集成的范圍。

  假設(shè)您具有一個與Oracle 數(shù)據(jù)庫通信的Customer 數(shù)據(jù)服務(wù)和一個與Web service 通信的PurchaseOrder 數(shù)據(jù)服務(wù)。Customer 數(shù)據(jù)服務(wù)將會提供諸如getCustomerByID()或getCustomers() 這樣的函數(shù),而 PurchaseOrder 數(shù)據(jù)服務(wù)將有諸如getPOStatus() 這樣的函數(shù)。我們可以使用第三個數(shù)據(jù)服務(wù) —— CustomerSummary,它與Customer 和 PurchaseOrder 數(shù)據(jù)服務(wù)通信以提供集成信息。

  圖2 是數(shù)據(jù)服務(wù)的抽象示意圖。這里,函數(shù)的返回類型由模式建模。這里使用pragma來表示元數(shù)據(jù)信息,可能包括數(shù)據(jù)源的連接信息。XQuery 在讀取數(shù)據(jù)時將會用到連接信息。圖中顯示了XQuery 如何用于實(shí)現(xiàn)這些函數(shù)。即使您對XQuery 不熟悉,也應(yīng)該能夠通過閱讀函數(shù)實(shí)現(xiàn)的代碼而理解函數(shù)的實(shí)現(xiàn)。這就是XQuery 的力量。您可以看到如何通過從一個數(shù)據(jù)服務(wù)引用另一個數(shù)據(jù)服務(wù)而建立關(guān)系。


圖2:數(shù)據(jù)服務(wù)的骨架實(shí)現(xiàn)

  XQuery 可以將抽取的數(shù)據(jù)返回為XML,但這將增加程序員的負(fù)擔(dān),因?yàn)閄ML 可能并非以一種有用的形式存在于用戶的界面上。在BEA 的實(shí)現(xiàn)中,數(shù)據(jù)被返回為Service Data Objects (SDO),它基于BEA 和 IBM 的聯(lián)合規(guī)范(JSR 235)。BEA 的 SDO 實(shí)現(xiàn)是XMLBeans的一個擴(kuò)展。

  SDO 是一種編程模型,支持?jǐn)嚅_連接的應(yīng)用程序編程架構(gòu),該架構(gòu)使用數(shù)據(jù)圖來表示持久存儲的數(shù)據(jù)。SDO 封裝由數(shù)據(jù)對象組成的樹型結(jié)構(gòu)的數(shù)據(jù)圖。可以把數(shù)據(jù)圖看成是那些可從數(shù)據(jù)源斷開連接的值對象的集合,當(dāng)重新建立連接時,在介體的幫助下,所做的任何更改都可以被持久存儲。這些斷開連接的數(shù)據(jù)集使得本地更新成為可能。請參考“參考資料”一節(jié),獲得關(guān)于該技術(shù)的更多信息。

結(jié)束語

  未來的開發(fā)工作將集中于數(shù)據(jù)集成,因此EII 工具的重要性在不斷提升。本文探討了基于數(shù)據(jù)服務(wù)層的解決方案,以及XQuery 在解決業(yè)務(wù)數(shù)據(jù)集成問題時的作用。我們還說明了這樣的解決方案提供的抽象級別如何使得不同的數(shù)據(jù)源對終端用戶是透明的,從而使得組合附加服務(wù)變得非常簡單。

參考文獻(xiàn)

原文出處

http://dev2dev.bea.com/pub/a/2005/06/data_integration.html

 作者簡介

Manu Madhusudhanan R
Manu Madhusudhanan R 是BEA公司Liquid Data團(tuán)隊的成員。他的專長包括設(shè)計和分析企業(yè)應(yīng)用程序。他感興趣的領(lǐng)域包括設(shè)計模式、網(wǎng)格計算和敏捷技術(shù)。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQL Server 2005 數(shù)據(jù)庫開發(fā)新架構(gòu)(2)
架構(gòu)設(shè)計師與SOA
IBM 在 SOA 參考架構(gòu)標(biāo)準(zhǔn)中的優(yōu)勢
SOA 解決方案中涉及的遺留系統(tǒng)的設(shè)計策略
云計算下的這些細(xì)分領(lǐng)域 你都了解嗎?
云計算服務(wù)類型有哪些 云計算服務(wù)類型的功能及對象→MAIGOO知識
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服