甲骨文OSB企業(yè)信息總線產(chǎn)品介紹cn_第1頁
甲骨文OSB企業(yè)信息總線產(chǎn)品介紹cn_第2頁
甲骨文OSB企業(yè)信息總線產(chǎn)品介紹cn_第3頁
甲骨文OSB企業(yè)信息總線產(chǎn)品介紹cn_第4頁
甲骨文OSB企業(yè)信息總線產(chǎn)品介紹cn_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、甲骨文OSB企業(yè)服務總線產(chǎn)品介紹ORACLe提交人: 甲骨文(中國)軟件系統(tǒng)有限公司提交日期:2009年2月版本號:v1.01 甲骨文公司簡介2 Oracle OSB企業(yè)服務總線產(chǎn)品簡介 52.1 服務總線的重要作用 72.2 服務總線和服務生命期 92.3 主要架構(gòu)概念102.4 代理服務和基于代理的路由 122.5 服務總線的消息流定義 132.6 服務總線的部署方式 143 Oracle OSB企業(yè)服務總線產(chǎn)品的主要特性 163.1 服務供應163.1.1 服務類型3.1.2 內(nèi)容類型3.1.3通信類型3.1.4更改中心203.1.5項目管理器223.1.6 開發(fā)、測試和生產(chǎn)環(huán)境的遷移

2、233.2 服務集成和路由 243.2.1 管道223.2.2管道階段和活動263.2.3 運行分支283.2.4 轉(zhuǎn)換283.2.5消息操縱223.2.6消息驗證223.2.7動態(tài)路由2_3.2.8服務調(diào)用223.2.9錯誤處理323.2.10 安全性243.3 服務管理223.3.1 監(jiān)視353.3.2利用提示實施SLA36333報告3.4 小結(jié)394 電信行業(yè)實際應用情況401甲骨文公司簡介1977年,拉里艾利森(Larry Ellison )與另外兩個人 Bob Miner和Ed Oates成立 了如今的甲骨文公司(Oracle Corporation )。今天,甲骨文公司(NASDA

3、Q交易代碼: ORCL )早已是全球最大的企業(yè)軟件公司,其技術(shù)在全球幾乎每個行業(yè)以及財富 100 強的98家公司里都能找到。甲骨文公司如今在145個國家和地區(qū)開展業(yè)務,全球客戶達 320,000家,合作伙伴達 19,500家。公司總部設在美國加利福尼亞州的紅木城( Redwood Shores),全球員工達 84,000名,包括20,000名開發(fā)人員、7,500多名技術(shù)支持人員和13,000名實施顧問。甲骨文 公司2008財年(2008年5月31日結(jié)束)銷售收入達224億美元。甲骨文公司在多個產(chǎn)品領(lǐng)域和行業(yè)領(lǐng)域占據(jù)全球第一的位置,其中包括:數(shù)據(jù)庫、數(shù)據(jù)倉庫、基于Linux系統(tǒng)的數(shù)據(jù)庫、嵌入式數(shù)

4、據(jù)庫、增長最快的中間件、商業(yè)分析軟件、 商業(yè)分析工具、供應鏈管理、人力資源管理、客戶關(guān)系管理、應用平臺套件第一、零售行 業(yè)、金融服務行業(yè)、通信行業(yè)、公共事業(yè)行業(yè)和專業(yè)服務行業(yè)等。30多年來,甲骨文向企業(yè)客戶提供領(lǐng)先的軟件與服務,幫助他們以最低的總體擁有 成本獲得更新、更準確的信息,從而改善決策,最終取得更好的業(yè)績。從數(shù)據(jù)庫和中間件 到應用產(chǎn)品和行業(yè)解決方案,甲骨文公司擁有業(yè)內(nèi)最廣泛的企業(yè)軟件。甲骨文在中國甲骨文公司于1989年落戶中國。目前,甲骨文公司在中國的員工超過2600名,以13 個城市(北京的中國公司總部,上海、廣州、南京、成都、深圳、大連、沈陽、濟南、杭 州、西安、重慶和福州等地的分

5、公司)為中心開展業(yè)務。在北京、深1、上海分別設有研 發(fā)中心,在大連設有全球技術(shù)支持服務中心,在成都設有甲骨文咨詢服務中心, 在北京及深圳設有合作伙伴解決方案中心。中國已經(jīng)成為甲骨文公司在全球發(fā)展最快的市場之一, 公司在中國目前擁有超過7,000家客戶。Oracle技術(shù)網(wǎng)絡(OTN)作為甲骨文全球的在線開 發(fā)人員社區(qū),在中國擁有250,000名成員,中國是甲骨文全球第四大開發(fā)人員社區(qū)。目前Oracle中國公司有60%以上的人員是從事技術(shù)支持工作。主要分為:?售前技術(shù)顧問:與銷售代表配合提供售前技術(shù)支持?售后工程師:提供安裝調(diào)試及現(xiàn)場技術(shù)服務。?熱線技術(shù)工程師:提供7x24小時技術(shù)支持熱線服務。?

6、實施顧問:為用戶提供顧問咨詢、結(jié)構(gòu)設計等項目實施工作。Oracle中國公司除了本公司有強大的技術(shù)支持隊伍,還有150多家代理商和軟件開發(fā)商。每一家代理商都有一定數(shù)量 Oracle OCP(Oracle認證工程師),這些工程師都是通過了 Oracle公司全球工程師認證考試,并取得認證證書的。他們是Oracle公司另一支強大的技術(shù)支持隊伍。Oracle公司在提供強有力的技術(shù)支持的同時,還提供配套專業(yè)技術(shù)培訓,Oracle公司在國內(nèi)有兩個培訓中心、4個授權(quán)培訓中心和13所聯(lián)合大學。培訓系統(tǒng)的完善為客戶的 技術(shù)人員能全面和完善的掌握數(shù)據(jù)庫管理和開發(fā)提供了良好的基礎保障。并最終達到知識轉(zhuǎn)移的目的。甲骨文

7、公司為在中國的客戶提供功能全面的企業(yè)級軟件組合產(chǎn)品(包括Oracle數(shù)據(jù)庫、Oracle融合中間件和Oracle應用軟件)與相關(guān)服務(包括咨詢、支持服務和培訓)。公司的目標是幫助中國加快信息技術(shù)在企事業(yè)單位的應用、促進軟件業(yè)的發(fā)展并加 快信息技術(shù)人才的培養(yǎng)。為了實現(xiàn)這個目標,甲骨文在中國實施三合一戰(zhàn)略:加強本地化 建設、建立牢固的合作伙伴關(guān)系、承諾對中國市場的長期投資。2 Oracle OSB企業(yè)服務總線產(chǎn)品簡介面對變幻莫測的市場需求的變化,企業(yè)希望通過推進“服務化”提高敏捷性和響 應能力:更方便地與客戶和合作伙伴交互,更靈活地設計和構(gòu)建IT基礎架構(gòu)。為此,SOA(Serice-Oriente

8、d Architecture面向服務的架構(gòu))日益引起企業(yè)高層的重視。SOA 將分散在企業(yè)應用中的功能組合為基于標準的互操作“服務”,與使用傳統(tǒng)應用相比,企業(yè)可利用SOA,更快地組合和重用“服務”,以滿足業(yè)務需求。SOA圍繞“服務”,而不是“應用”組織企業(yè)IT,能幫助企業(yè)更快地推出新服務,并靈活響應業(yè)務環(huán)境的 變化。為了優(yōu)化IT基礎結(jié)構(gòu),以便交付服務,將SOA變成現(xiàn)實,IT組織需要一個智能化 的基礎架構(gòu),以降低服務重用的復雜性,并可靠地集成IT環(huán)境的各種技術(shù)、協(xié)議和應用。為此,IT組織創(chuàng)建了一個以“服務”為中心的抽象層,以隱藏各種應用和技術(shù)帶 來的底層復雜性,并提供一個定制企業(yè)應用的平臺。今天,

9、我們將上述服務或集成層稱為ESB( Enterprise Service Bus企業(yè)服務總線)。 ESB使“服務端點”本身不必再管理服務之間的交互。ESB允許方便地擴展服務,消除了專門編寫的點對點、硬編碼實現(xiàn)的脆弱性,以及帶來的昂貴代價。有了ESB,開發(fā)人員不必再在各個服務端點構(gòu)建集成和中介服務,如路由、協(xié)議 代理、轉(zhuǎn)化、安全策略和SLA ( Service Level Agreemen,服務級別協(xié)議)質(zhì)量策略, 只需在“ ESB”中配置這些策略即可。也就是說,開發(fā)人員不必重編服務端點的集成 和管理策略,通過“ ESB配置步驟”就能創(chuàng)建動態(tài)服務端點,適應動態(tài)變化。Oracle Service

10、Bu是一個ESB,用于集成服務,管理服務交互,并在不同IT環(huán)境之 間執(zhí)行消息代理。它的輕量級、無狀態(tài)、高性能架構(gòu)扮演“中間人”角色。Oracle Service Bus是部署和實現(xiàn)SOA的理想工具,支持智能消息代理,監(jiān)控和管理服務;它在企業(yè)基 礎架構(gòu)中添加一個可擴展的動態(tài)路由和轉(zhuǎn)換層,并管理服務生命期:配置和供應服務、監(jiān)控服務的運行和履行SLA。Oracle Service Bu以“配置”為中心,由策略驅(qū)動,實現(xiàn)了“服務使用者”和“服務 提供者”之間的松耦合配合。Oracle Service Bu提供動態(tài)配置服務和策略的多功能控制臺 和環(huán)境,能支持多個服務集成項目,能確保所有配置元素的引用完整

11、性, 并能在測試或生 產(chǎn)期間監(jiān)控和運行系統(tǒng)。開發(fā)人員通過“配置”,而不是“編碼”動態(tài)更改服務集成關(guān)系, 以便從幾個方面擴展服務架構(gòu):安全類型、服務位置、服務可用性、服務響應性、數(shù)據(jù)格 式、監(jiān)控、傳輸和通信;與傳統(tǒng)的EAI方法相比,ESB需要的時間少得多.NETDEA圖1 oracle Service Bus可防止服務蔓延“一次性連接”松耦合架構(gòu)促進企業(yè)范圍的重用集中管理減少總擁有成本服務總線軟件的中心是“共享服務”,而不是“應用程序孤島”。利用簡捷 高效的SOA基礎結(jié)構(gòu),IT組織可以在幾乎不影響IT基礎架構(gòu)的前提下,快速提供新 服務功能,重用極具價值的業(yè)務功能,從而實現(xiàn)服務化,實現(xiàn)與業(yè)務需求的

12、同步, 響應業(yè)務流程的更改,并滿足客戶提出的新需要。F面將詳細分析服務總線的必要性,討論它如何管理組織的整個服務生命期2.1服務總線的重要作用SOA之所以變得經(jīng)濟可行,是因為受到了兩種現(xiàn)狀的推動:行業(yè)利用 Web服 務“公開”和“使用”新服務及遺留服務,構(gòu)建了支持“松耦合服務交互”的工具 包和基礎架構(gòu)。在采用SOA策略時,由于成本和復雜性等因素,IT專業(yè)人員并不愿 意完全淘汰現(xiàn)有的基礎架構(gòu),而是希望將現(xiàn)有應用業(yè)務表示為服務, 以供其他業(yè)務 流程和應用重用。這就是說,SOA的成功離不開“集成層”,集成層支持異構(gòu)環(huán)境下的動態(tài)服 務交互。集成層必須對服務使用者隱藏服務端點的更改, 同時支持現(xiàn)有服務的

13、發(fā)展, 并能夠業(yè)務的發(fā)展,快速添加新服務以滿足客戶和合作伙伴的要求。在構(gòu)建和維護SOA時,企業(yè)架構(gòu)師面臨挑戰(zhàn):如何使架構(gòu)適應業(yè)務需求的增 長,并滿足新客戶的需要?在系統(tǒng)中引入動態(tài)行為和運行時配置能力在企業(yè)范圍內(nèi)重用服務,管理服務的生命期適應服務使用者和服務提供者間的變化確保企業(yè)服務的統(tǒng)一使用確保服務的安全性確保企業(yè)服務符合IT策略 監(jiān)控和審計服務使用,并管理系統(tǒng)停運應用應用應用1 安全物流硏發(fā)圖2 SOA面臨的挑戰(zhàn)圖2演示很多組織的典型架構(gòu)和SOA挑戰(zhàn)。此時,必須維護服務使用者和服務提供者 間的點對點連接,也就是說,使用者啟用一個服務端點時,必須復制傳輸、轉(zhuǎn)換、安全和 路由機制。如果服務端點接

14、口發(fā)生變化,使用各個服務使用者將與該服務斷開,并重新開發(fā)和重新部署,最終造成了服務中斷。企業(yè)架構(gòu)師和其他專家想要簡化和控制IT基礎架構(gòu),并促進重用。Oracle Service Bus 是他們的理想工具。Oracle Service Bu支持不同服務的動態(tài)交互,具有以下特點:“本地 服務資源緩存”注冊在總線集成的服務,通過 UDDI ( Universal Description Discovery and In tegratio n,統(tǒng)一描述、發(fā)現(xiàn)和集成)集成到企業(yè)服務注冊表,“服務配置環(huán)境”支持驗 證和版本控制;異構(gòu)服務端點間的協(xié)議和消息代理;服務間的動態(tài)路由和轉(zhuǎn)換;消息和傳輸安全。將Or

15、acle Service Bu添加到圖2的架構(gòu),Oracle Service Bu成為一個分布的服務中 間層。它提供上述功能,運用路由規(guī)則、轉(zhuǎn)換、安全和訪問策略,將這些從服務端點分離 出來,并予以維護,如圖3所示。容戶滬BPHBeen 戶44* 、Oracle ServiceBusET l«ndfcip«KB數(shù)希訂廬輸入產(chǎn)品奠加曇三方欝掘購買瞇草吏討圖 3 SOA與 Oracle Service Bus將Oracle Service Bu作為服務使用者和服務提供者間的中間層,可消除脆弱的點對點連接,并消除這些連接的專門維護。使用者不必詳細了解服務端點的接口和實現(xiàn),企業(yè)可以更

16、靈活地連接不同資源。不同客戶端可與各種資源通信,例如,.NET客戶端不必了解底層服務端點的實現(xiàn)細節(jié)就能使用Java業(yè)務服務。消除點對點連接還意味著,更改服務端點不再影響服務使用者,在服務總線中更改 策略配置即可。這將在服務使用者級別減輕或消除重新開發(fā)和重新部署產(chǎn)生的影響。2.2服務總線和服務生命期Oracle Service Bu是 一個服務中介,在整個服務生命期都扮演著重要的角色:公開服務,并配置、管理和監(jiān)控服務使用者和服務提供者之間的“請求-響應”消息流。圖4演示服務生命期。在開始階段,架構(gòu)師建立服務模型,構(gòu)建服務;在開發(fā)階段, 開發(fā)人員創(chuàng)建和公開應用及服務接口。在創(chuàng)建這些服務接口后,Or

17、acle Service Bu隨著服務的創(chuàng)建注冊這些服務, 并公開它 們,以供其他服務或流程在后期使用。Oracle Service Bu可能在本地注冊表中直接注冊服務,也可能從諸如ORACLE ? Service Registry的企業(yè)服務注冊表導入服務。注冊后,Oracle Service Bus配置代理接口,以定義服務通信的消息流。消息流包含傳輸和安全要求,并說 明如何將消息路由給服務自身。在用Oracle Service Bu注冊服務后,由ORACLE BPM工作流引擎等工具創(chuàng)建的業(yè)務 流程就可以使用和編排這些服務,以滿足各種業(yè)務要求。編排過程包括利用服務滿足業(yè)務 要求,將服務運用于細

18、粒度業(yè)務流程。最終用戶可通過UI (用戶界面),如ORACLEWebLogic PortalTM交易門戶, 或ORACLE ? User In teraction協(xié)作門戶,使用這些業(yè)務流 程。運行和管理基礎架構(gòu)雷求供應和驗證安全發(fā)現(xiàn)和組合構(gòu)建和公開設計S0A部暑圖4服務生命期Oracle Service Bu還監(jiān)控和管理服務端點之間的消息流、系統(tǒng)健康狀況以及可用性。 業(yè)務和運營分析師可能獲取這些信息,以分析行為模式,尋找有待改進之處。隨著服務的改進和新服務版本的推出,新一輪的生命期重新開始。2.3主要架構(gòu)概念Oracle Service Bu是策略驅(qū)動的中介層,它處理消息,確定如何根據(jù)要求路由

19、和轉(zhuǎn)換 消息。它通過諸如JMS或HTTP的傳輸協(xié)議接收消息,并用相同協(xié)議或另一指定的傳輸協(xié) 議發(fā)送消息。消息響應按相反的方向進行。消息處理由元數(shù)據(jù)驅(qū)動,元數(shù)據(jù)由Oracle Service Bus控制臺配置的代理服務的消息流定義指定。使用代理方法,企業(yè)可實現(xiàn)服務客戶端和 業(yè)務服務之間的松耦合,并維護一個集中的安全控制和監(jiān)控點,如下圖所示。+ NETIBM服芻管理監(jiān)控 JI : SLA煌示報告消息代理零置榕架基于內(nèi)睿的路囪_r服筲涓忌傳輸轉(zhuǎn)換l更改中心_ 錯誤處理)1:'i臉證1本地注冊袁Servl« Msagirig- - H - - f元斂據(jù)緩存安全框架身 ifrteiij

20、1S權(quán)I身佛J ws安全二=11SAPBEA圖 5 Oracle Service Bus在使用這使用Oracle Service Bus服務集成關(guān)系通過配置策略和代理服務動態(tài)實現(xiàn)。 種方法時,可以快速擴展服務架構(gòu)的某些系統(tǒng)特性:傳輸協(xié)議和通信范例服務安全性服務位置服務可用性和響應性數(shù)據(jù)格式日志記錄和監(jiān)控由于代理服務扮演中間人角色,故Oracle Service Bu能消除以下領(lǐng)域的服務客戶端和 業(yè)務服務需求之間的差別:?加載內(nèi)容和模式?封送協(xié)議?傳輸協(xié)議? “點對點”和“發(fā)布-訂閱”協(xié)議?單向和請求/響應范例?同步和異步通信?安全性Oracle Service Bu在元數(shù)據(jù)中存儲永久策略、代理

21、服務和相關(guān)的資源配置;元數(shù)據(jù)可 從開發(fā)環(huán)境傳給部署環(huán)境,再傳給生產(chǎn)環(huán)境,還能根據(jù)需要修改。消息代理引擎從元數(shù)據(jù) 緩存訪問配置信息。2.4代理服務和基于代理的路由代理服務是Oracle Service Bu架構(gòu)的一個核心概念。服務使用者經(jīng)由這個接口與托管 的后端服務連接。代理服務是“服務總線”在本地實現(xiàn)的中介Web服務的定義。使用Oracle Service Busg制臺,可按照WSDL和使用的傳輸類型定義接口,配置代理服務;并在消息 流定義和配置策略中指定消息處理邏輯。由于代理服務可將消息路由給多個業(yè)務服務,故可以獨立于與代理通信的業(yè)務服務,配置代理服務的接口。在這種情況下,代理將被配置為消息

22、流定義,它根據(jù)路由邏輯,將 消息路由給相應的業(yè)務服務,然后將消息數(shù)據(jù)映射為業(yè)務服務接口需要的格式。代理服務的核心是“上下文”,上下文是一組 XML變量,由請求流和響應流共享。 可將新變量動態(tài)地添加到上下文,也可從上下文刪除變量。預定義上下文變量包含有關(guān)消息、傳輸頭、安全原理的信息,當前代理服務的元數(shù)據(jù),以及代理服務調(diào)用的主要路由服 務和發(fā)布服務的元數(shù)據(jù)。上下文可由Xquery表達式讀取和更改,并通過轉(zhuǎn)換和適當更新操 作進行更新。上下文核心包括$heade、$body和$attachmen變量。這些變量各自包裝SOAP (Simple Object Access Protocol,簡單對象訪問)

23、頭元素、 SOAP正文元素和 MIME (Multipurpose In ternet Mail Exte nsio ns,通用In ternet郵件擴展)附件。消息均采用 SOAP格式,如果不是 SOAP格式,就映射為SOAP格式。2.5服務總線的消息流定義代理服務的實現(xiàn)由“消息流”的定義指定,消息流確定經(jīng)由代理服務的消息流動。 在構(gòu)建消息流時,將用到以下四個元素:一對管道:一個用于請求,一個用于響應。管道由多個連續(xù)階段組成,“階段”指定處 理請求或響應時執(zhí)行的操作。分支節(jié)點:根據(jù)消息、消息上下文指定的值分岔,或根據(jù)調(diào)用的操作分岔。路由節(jié)點:用來定義消息目的地。默認的路由節(jié)點是一個回顯節(jié)點,

24、可根據(jù)請求返回響 應。啟動節(jié)點??赏ㄟ^多種方法,將以上元素結(jié)合成一顆“樹”,“啟動節(jié)點”一定是“根”,而且是 惟一的根。路由節(jié)點只作為“葉子”。請求消息從啟動節(jié)點開始,沿路徑到達葉子,在 請求管道執(zhí)行操作。如果葉子是路由節(jié)點,就生成響應,對于單向服務而言,響應將為 空。如果葉子是一個回顯節(jié)點,貝肪艮據(jù)請求返回響應。響應沿相反路徑,忽略分支節(jié)點 的操作,但在響應管理執(zhí)行操作。圖6演示一個典型的消息流例子。掛科謨用海住引"路宙炳 口劃ti-對提交擺作誣一對徒査疑惡卻曽進|胖長A黒忙人宙簾到且酋地J一很筆E-掃作占服笛L傑氣日圖6 一個消息示例可以靈活使用路由節(jié)點:可組合和嵌套if結(jié)構(gòu)、f

25、or-each結(jié)構(gòu)和case結(jié)構(gòu),以定義單 個端點和路由消息的操作。在將消息發(fā)送給所選端點前,或接收到響應后,可進行一系 列影響上下文變量的轉(zhuǎn)換。在調(diào)用消息流之前,可透明地執(zhí)行 W安全策略和授權(quán)。2.6服務總線的部署方式Oracle Service Bus在ORACLWebLogic ServerTM 10.0 上運行,并使用 ORACLE WebLogic Server TM 10.0 的運行時工具。ORACLE WebLogic ServerrM®供企業(yè)級 可用性、擴展性和可靠性??赏ㄟ^兩類企業(yè)級配置部署Oracle Service Bus :單個服務器,該服務器也用作管理服務器

26、執(zhí)行消息處理的托管服務器集群?!坝颉卑渴餙racle Service Bus的集群及管理服務器。集群還能運行其他應用。Oracle Service Bus允許集中管理和控制多個分布服務端點,可部署為一個 管理部門或企業(yè)所有We服務通信的“集線器”。還可以對底層ORACLWebLogicServer實施集群化,以便水平擴展單個OracleService Bus,將消息負載均勻分布在集群服務器上,防止出現(xiàn)系統(tǒng)瓶頸。Oracle Service Bus將元數(shù)據(jù)和配置自動傳給托管服務器,加快了本地檢索速度;并自 動從這些服務器收集監(jiān)控信息,將它們集成和顯示在“管理控制臺”上。對于分布式部署用例而言

27、,可將多個 Oracle Service Bus迭代連接起來,為分布企業(yè)相 應創(chuàng)建一個分布網(wǎng)絡。3 Oracle OSB企業(yè)服務總線產(chǎn)品的主要特性Oracle Service Bus#ESB勺概念、消息代理和運行服務管理融合一個產(chǎn)品中,在 服務網(wǎng)絡上管理、集成消息及服務。其核心特性分為三類:.服務供應:注冊和公開服務,以便重用.服務集成和路由:與服務間通信有關(guān)的路由邏輯.服務管理:監(jiān)視和管理服務的活動性和可用性3.1服務供應“服務供應”在機構(gòu)、系統(tǒng)和部門內(nèi)部和之間公開和分配服務。與服務供應相關(guān)的 特性如下:.服務類型.內(nèi)容類型.通信類型.更改中心.開發(fā)、測試和生產(chǎn)環(huán)境的遷移.服務版本控制3.1

28、.1服務類型Oracle Service Bus支持各種服務類型,如常見的 Web艮務(使用 WSD中的XM或SOAP 綁定)和非XML(通用)服務。創(chuàng)建業(yè)務和代理服務時,服務類型在注冊服務時選擇。它還定義服務端點通信使用的協(xié)議。 Oracle Service Bus的服務類型包括:SOA服務:在創(chuàng)建SOA消息時,將標題和正文變量的內(nèi)容打包到<soap:Envelope>元素。如果正文變量包含一個引用XML就原封不動地發(fā)送它,即不將引用內(nèi)容替換為 消息。如果用附件變量定義附件,則從主消息和附件數(shù)據(jù)創(chuàng)建 MIM包。每個附件部分 的內(nèi)容處理類似于消息傳輸服務的處理方式。? XM服務(非

29、SOAP :發(fā)送給基于XM服務的消息是XML也可以是代理服務配置允許 的任何類型。在包含附件的消息中,它們的內(nèi)容是 MIM包,其中包含主XM載荷一通 常是第一部分或由頂級內(nèi)容類標題標識。? 消息傳輸服務:消息傳輸服務指可以接收一類數(shù)據(jù)并響應不同數(shù)據(jù)類型的消息。支持的數(shù)據(jù)類型包括XML MFL文本和非強型二進制數(shù)據(jù)。上面已經(jīng)提到,選擇的服務類型定義了可用于與服務端點通信的協(xié)議。表1顯示了服務類型和支持的傳輸協(xié)議,以及未來版本將支持的其他傳輸協(xié)議。表1支持的服務類型和傳輸協(xié)議服務類型傳輸協(xié)議SOAP WSD或XML nicjmSHTTP(S)SOAP (非 WSD)jmSHTTP(S)2XML (

30、非 WSDLJMSHTTP(S)電子郵件文件FTP消息傳輸類型(二進制、文本、MFL XMLJMSHTTP(S)電子郵件 文件FTP1. 如果啟用了 WS-Security,就不支持JMS青求和JMS向應2. HTTP GET僅用于非 WS的XML圖7是一幅屏幕快照,它顯示了如何在 Oracle Service Bus中選擇服務類型圖7服務類型3.1.2內(nèi)容類型為支持與異構(gòu)端點的互操作性,Oracle Service Bus允許利用“服務配置”,控制使用 的內(nèi)容類型、JM啖型和編碼。它不對外部客戶或服務的需要進行假設,而是使用為此 目的配置的服務定義信息。Oracle Service Bus從

31、服務類型和接口推導出站消息的內(nèi)容 類型。如果服務類型是:? XM或SOAP(有或沒有 WSDL,內(nèi)容類型就是文本或 XML? MFI或二進制消息傳輸和接口,內(nèi)容類型就是二進制或八位字節(jié)流? 文本消息傳輸和接口,內(nèi)容類型就是文本或純文本? XMI消息傳輸和接口,內(nèi)容類型就是文本或XML如果代理服務調(diào)用服務,出站上下文變量($outbound)中就可以覆蓋內(nèi)容類型。代理服務響應時,入站上下文變量 ($inbound)也可以覆蓋內(nèi)容類型。還有JMS類型(字節(jié) 或文本),在“Administration Consol”(管理控制臺)定義服務時,可配置此類型。 在服務定義中還可以為所有出站消息明確配置編

32、碼。3.1.3通信類型為了支持異構(gòu)環(huán)境,Oracle Service Bus提供了多個消息傳輸方式。它支持以下幾種通信類型:? 同步請求和響應? 異步一對一發(fā)布? 異步一對多發(fā)布? 異步請求和響應(同步與異步橋接)同步和異步通信是標準傳輸方式,這里需要對“異步請求/響應”或“同步-異步橋” 接作進一步解釋。在“同步異步橋接”中,同步客戶程序向異步提供者發(fā)出請求。 為此, Oracle Service Bus在一個JMS隊列上發(fā)布消息,配置第二個JMS隊列以便響應,并設置 一個超時值監(jiān)聽響應。在收到請求后,服務總線在請求隊列發(fā)布消息, 并監(jiān)聽響應隊列 中的響應。對于服務使用者,這類服務就像同步服

33、務。使用“異步請求和響應”消息具有以下優(yōu)勢:? 請求線程不會阻塞等待響應,消除了執(zhí)行大量阻塞請求 /響應調(diào)用時潛在的線程管理 問題。? 消息傳輸更可靠。異步請求和響應的一個用例是:客戶端通過 HTTPS用代理Web艮務,而代理服務調(diào) 用的后端系統(tǒng)使用JMS青求和響應。3.1.4更改中心Oracle Service Bus 最重要的一個功能是“ Change Center” (更改中心),更改中心是在服務總線進行配置更改的關(guān)鍵。更改中心有獨特功能,可在更改時鎖定當前配 置(見圖8)。使服務總線可在控制臺執(zhí)行配置更改時,繼續(xù)接收和處理服務請求。此 夕卜,對配置更改“激活”前,不影響當前配置。完成后

34、,這些更改立即生效,服務總線 即可以使用新配置。也就是說,可在不中斷服務的情況下隨時執(zhí)行更改。表2歸納了 Oracle Service Bus 更改中心提供的特性。表2更改中心的特性頁面相關(guān)任務查看配置更改內(nèi)部會話:查看當前會話所做的配置更改。 外部會話:查看以前會話激活的配置更改。撤銷更改內(nèi)部會話:撤銷當前會話所做的配置更改。外部會話:撤銷會話的激活,將過去會話的激活撤銷到新 會話。查看所有會話內(nèi)部和外部會話:查看 Oracle Service Bus控制臺中現(xiàn)有的全部會話。查找和替換內(nèi)部會話:查找和替換環(huán)境值。外部會話:查找環(huán)境變量(替換功能無效)。查看沖突只有內(nèi)部會話:查看和解決控制臺內(nèi)

35、所有會話的更改之間 的所有沖突。如果當前會話修改的資源已經(jīng)被另外的會話修改并激活, 就發(fā)生了沖突。如果兩個會話對同一資源進行兩次更改, 在其中一次會話激活前,不發(fā)生沖突。將顯示會話中的語 義資源錯誤。任務細節(jié)內(nèi)部會話:查看當前會話進行的具體更改的細節(jié)。 外部會話:查看激活會話進行的具體更改的細節(jié)。圖8更改中心(屏幕左上角)如果激活的更改引起意外事件,更改中心還能撤銷任何會話的所有更改。任務細節(jié) 提供有關(guān)更改資源、更改者和時間信息。由于可撤銷整個會話或會話中的個別更改, Oracle Service Bus能將受影響的配置恢復到先前的狀態(tài)。3.1.5項目管理器Oracle Service Bus

36、包含“Project Explorer ”(項目管理器),可按邏輯分類 OracleService Bus的實體,使開發(fā)人員和管理員能更好地組織大型開發(fā)項目。項目屬于非層次、分散和頂級分組結(jié)構(gòu)。所有資源(例如服務、 W策略、WSDL XQuery轉(zhuǎn)換等)位于 一個不重疊項目中。可在項目中直接創(chuàng)建資源,或?qū)①Y源組織到文件夾中。項目或其他 文件夾中可創(chuàng)建文件夾,這類似于文件系統(tǒng)的目錄,項目級別是根目錄。為了增強導航 能力,可為所有項目和文件夾添加描述。圖 9描述了項目管理器。項目管理器的另一個功能是跟蹤文件夾內(nèi)資源引用的外部資源。查看這些引用可以了解所引用資源的位置( 項目名/文件夾名/資源名格式

37、)和類型3.1.6開發(fā)、測試和生產(chǎn)環(huán)境的遷移Oracle Service Bus能簡化從一個環(huán)境到另一環(huán)境(從開發(fā)到測試、再到生產(chǎn))遷 移配置?!皩С觥惫δ芸蓪F(xiàn)有配置導入jar文件,然后利用“導入”功能將文件導入 其他環(huán)境。要導入已導出的資源,必須在導入前建立一個會話。一旦定義了要導入的 jar文件, 項目管理器就會顯示要導入的資源及引用列表(參加圖 10)。用戶隨后可從jar文件導 入所有或部分資源。在導入資源后,在通過更改中心激活后,資源方可生效。多數(shù)情況下,端點服務的“統(tǒng)一資源標識” (URI)會隨環(huán)境而變化,必須在導入后更改。更改中心的“查找和替換”功能允許用戶搜索和替換URI中的文

38、本;這只適用于最近導入的資源圖10導入3.2服務集成和路由如前所述,與服務端點通信有關(guān)的所有路由邏輯都通過“配置代理”處理,使服務 使用者不必考慮與后端服務通信有關(guān)的復雜性。由于可從服務使用者和提供者中刪除路由、轉(zhuǎn)換、安全性和傳輸細節(jié),并將它們置 于可配置的代理服務器中,故服務集成更靈活。如前所述,管道、分支和路由節(jié)點定義 了代理服務的實施。Oracle Service Bus控制臺用來配置代理服務消息流定義中操縱消 息的邏輯。這些邏輯包括轉(zhuǎn)換、發(fā)布和報告等活動,它們作為管道的單獨操作實施。下面詳細描述設計和實施代理服務消息流時使用的功能:? 管道和階段? 轉(zhuǎn)換? 消息驗證? 消息操縱? 運行

39、分支? 動態(tài)路由? 服務調(diào)用? 錯誤處理? 安全性321管道管道是命名的階段序列,代表沒有分支的單向處理路徑。它用于確定進入的請求消 息流。管道分以下三類:.請求:用于處理消息流的請求路徑.響應:用于處理消息流的響應路徑.錯誤:用于錯誤句柄。為了建立請求和響應路徑,請求和響應管道成對出現(xiàn),并且組成一個根目錄的樹形 結(jié)構(gòu)。分支節(jié)點允許這些管道對有條件地執(zhí)行, 而分支端點的路由節(jié)點執(zhí)行請求和響應 發(fā)送。圖11顯示了一個管道樹的例子。管道樹將表3中描述的頂級組件的實例串聯(lián)起來。表3管道分類管道類型描述管道對節(jié)點管道對節(jié)點將一個請求和一個響應管道 連接成一個頂級元素。處理請求時只執(zhí) 行請求管道,而反向

40、處理響應時只執(zhí)行 響應管道。分支節(jié)點分支節(jié)點使處理完全沿著多個可能的路 徑中的一條繼續(xù)進行。分支由查找表驅(qū) 動,每個分支用惟一字符串值標記。消息上下文中的變量被指定為該節(jié)點的查 找變量,其值決定了走哪條分支。路由節(jié)點路由節(jié)點用于執(zhí)行與其他服務的請求和 響應通信。它們代表代理服務的請求和 響應處理之間的界線。當路由節(jié)點發(fā)送 請求消息時,就認為完成了請求處理。 當路由節(jié)點收到響應消息時,響應處理 開始?;仫@節(jié)點回顯節(jié)點(或回顯)將消息從請求管道 的一端發(fā)送到響應管道的起點。該消息 不從代理服務發(fā)到另外的服務,而是保 留在代理服務中。圖11管道樹322管道階段和活動每條管道都是一系列階段,階段是活動

41、容器。這些活動決定了消息通過OracleService Bus傳送時產(chǎn)生的影響(參見圖12)。帶一組上下文變量(包含消息內(nèi)容)的 消息被送入管道,并可在管道階段中用活動訪問或修改消息。表4描述了管道階段中所有可能的活動。表4管道階段中可能的活動活動影響轉(zhuǎn)換轉(zhuǎn)換活動通過轉(zhuǎn)換 格式或操縱消息本 身內(nèi)的數(shù)據(jù),更改 消息上下文。分支分支活動允許使用 嵌套的“ if ”語句結(jié)構(gòu),根據(jù)消息 上下文內(nèi)的元素值 執(zhí)行不同活動集 合。發(fā)布發(fā)布活動向一個或 多個端點發(fā)送消息 的副本。發(fā)布活動 采用異步方式,不 接收響應。報告報告活動從消息上 下文捕捉信息(例 如業(yè)務級數(shù)據(jù)), 以便填充控制臺內(nèi) 的報告。跳轉(zhuǎn)跳轉(zhuǎn)活

42、動終止階段 內(nèi)的處理。它們用 于在發(fā)生某些情況 時,向錯誤句柄拋 出錯誤或跳轉(zhuǎn)到管 道下一階段。日志日志活動能將選定上下文記入ORACLEWebLogic Server 的 系統(tǒng)日志,從而達 到調(diào)試的目的。圖12管道階段和活動。323運行分支由于消息流一般使用基于WSD的服務,所以必須頻繁執(zhí)行運行和專門處理。Oracle Service Bus不需要根據(jù)運行手工配置分支節(jié)點,提供自動分支的零配置分支節(jié)點。如 果沒有為服務端點配置運行分支,Oracle Service Bus會根據(jù)消息上下文中指定的運行 自動分岔到適當?shù)倪\行中。3.2.4轉(zhuǎn)換轉(zhuǎn)換用于源服務與目的地服務間存在不同的數(shù)據(jù)類型,以及需

43、要數(shù)據(jù)映射以便轉(zhuǎn)換數(shù)據(jù)的情況。Oracle Service Bus支持使用XQuery的數(shù)據(jù)映射以及“可擴展樣式表語言 轉(zhuǎn)換”(XSLT)標準。XSLT圖描繪了 XM與XM的映射,而XQuery圖可以描繪“XM與XML、 “XM與非XML和“非XM與XML的映射。這些轉(zhuǎn)換可由開發(fā)人員創(chuàng)建并導入 Oracle Service Bus,也可以利用控制臺本身的XQuery編寫轉(zhuǎn)換的腳本。還有兩種轉(zhuǎn)換消息上下文的方法。第一種使用XQuery或XSLT重新格式化消息,這種方法最常用。第二種操縱 消息的內(nèi)容,以便添加、刪除或只替換某些元素。根據(jù)代理服務的消息流配置,轉(zhuǎn)換可以發(fā)生在不同的位置。圖 13顯示了

44、轉(zhuǎn)換發(fā)生在 動態(tài)路由情況的例子。在消息發(fā)送到目的地服務前,使用導入的XQuery轉(zhuǎn)換消息,而相 反的轉(zhuǎn)換運用于服務響應。圖13轉(zhuǎn)換325消息操縱消息操縱是另一種轉(zhuǎn)換,它通過操縱消息的內(nèi)容(而不是整個結(jié)構(gòu)),使消息與目 的地服務兼容?!盎顒樱ˋction )”可用于消息流的請求或響應管道中的消息。表5中描述了通過內(nèi)容操縱可用于轉(zhuǎn)換消息的不同活動。表5通過內(nèi)容操縱可轉(zhuǎn)換消息的活動活動描述插入將數(shù)據(jù)元素插入消息。這個插入可以按配置時 的指疋,發(fā)生在消息上下文的任何位置。刪除刪除消息中的數(shù)據(jù)元素。它用于目標目的地不 需要消息中特疋數(shù)據(jù)兀素的情況。替換用不冋的系列替換消息中的一系列文本。例如,這可用于替

45、換消息的名稱空間。在圖14中,首先操縱消息的內(nèi)容以刪除其中的數(shù)據(jù)元素,然后將消息發(fā)送到目的地端點。當收到響應時再加回該元素,以便與發(fā)出請求的客戶兼容。圖14消息操縱326消息驗證Oracle Service Bus能通過“驗證活動”,對照 WSD或XMLschema僉證進出的消息 這個活動可以發(fā)生在消息流內(nèi)的任何時間, 并能保進出的消息符合目的地服務使用者或 提供者期望的格式(參加圖15的例子)。驗證失敗的消息可記錄該失敗,還可以產(chǎn)生錯 誤,此時錯誤階段可使用替代活動。消息驗證可用于服務版本控制,以針對不同版本的 schema或 WSD驗證消息。這是為 了確保消息被發(fā)送到服務端點的正確版本,或

46、在發(fā)送消息前檢查是否必須應用轉(zhuǎn)換。圖15消息驗證327動態(tài)路由在請求的某些元素可能造成多目的地服務的情況下,Oracle Service Bus能根據(jù)消息內(nèi)容執(zhí)行動態(tài)路由。當“業(yè)務需求”控制請求的某些條件,定義處理請求的位置時, 動態(tài)路由就有用。例如,金融機構(gòu)申請有關(guān)客戶的信用報告可能根據(jù)客戶或機構(gòu)的住所, 使用多項信用服務。動態(tài)路由通過條件轉(zhuǎn)移語句(或服務調(diào)用)分析消息,從而檢索某個數(shù)據(jù)元素或多 個數(shù)據(jù)元素的數(shù)值。不同的業(yè)務服務目的地被賦予這個條件檢查的不同數(shù)值組合,允許將消息動態(tài)發(fā)送到多項業(yè)務服務。 根據(jù)業(yè)務服務需求,轉(zhuǎn)換可用于一個或多個此類目的 地。圖16提供了一個基于內(nèi)容的動態(tài)路由的例

47、子。Oracle Service Bus 能創(chuàng)建通用代理服務,可接收任何 SOA或XM消息。這些通用 服務類型可以提供基于內(nèi)容的動態(tài)路由。代理服務經(jīng)過配置可分析它接收的SOA或 XML消息,然后決定將消息發(fā)到哪里。此類路由的一個優(yōu)勢是“動態(tài)協(xié)議切換”。例如,女口 果存在多個端點,但有些采用HTT而其他使用JM助議,就在運行時決定采用哪個協(xié)議。 這隱藏了服務使用者面臨的協(xié)議細節(jié)的復雜性。事實上,服務使用者可以向OracleService Bus發(fā)送一條HTT請求,而不必了解該消息通過JM陋是其他協(xié)議最終發(fā)送到服 務端點。圖16基于內(nèi)容的動態(tài)路由328服務調(diào)用Oracle Service Bus

48、提供服務調(diào)用(service callout )活動,為更復雜的消息流 帶來更大的靈活性。這個活動通常用于復雜的動態(tài)路由情況,此時很難決定將消息發(fā)送 到何處,或要執(zhí)行消息擴展。在路由階段使用服務調(diào)用活動時,可請求Oracle ServiceBus內(nèi)注冊的另一個服務在消息上執(zhí)行某種活動。該服務將向消息流返回響應,并將該 響應賦值為本地變量。然后就可以在當前的消息流中使用改變量。3.2.9錯誤處理Oracle Service Bus提供強大的錯誤處理功能,能為配置服務靈活垢處理錯誤。它 可以多種方法處理錯誤,例如:測試斷言是否真實,并在請求或響應管道中發(fā)送失敗響應。配置服務以便在多級捕捉和處理錯誤

49、,包括階段、路由節(jié)點、管道或服務級別。捕捉錯誤的配置 級別可根據(jù)期望的服務行為而定。允許默認系統(tǒng)錯誤句柄處理錯誤。通常,更簡便的方法是在消息流的最低級別處理特定錯誤,使用較高級別的錯誤句 柄默認處理尚未處理的錯誤。最好顯式處理管道中預期錯誤,并允許系統(tǒng)錯誤句柄處理 意外錯誤。但是,與 WS-Security相關(guān)的錯誤必須在服務級別處理。如果發(fā)生錯誤,每個階段都可能有一系列步驟,以便為該階段建立錯誤管道。預定 義的上下文變量$fault保存了錯誤的相關(guān)信息,在錯誤管道中可訪問該數(shù)據(jù)。出錯時 調(diào)用存在的最低范圍的錯誤管道 (意味著為處理錯誤而配置的最低級別)。這條錯誤管 道使用戶可按下列方法處理錯

50、誤:向備用端點發(fā)布原始消息生成錯誤響應消息,返回代理服務的調(diào)用者用日志活動記錄消息,或使用報告活動生成錯誤情況的報告修改上下文后繼續(xù)通過管道處理消息引發(fā)異常,將控制轉(zhuǎn)到下一級更高范圍的錯誤管道Oracle Service Bus控制臺用于跟蹤消息,以便獲得消息流的精確描述,提高錯誤 的可視性;例如,可查看報告原始消息,顯示它被提交處理,然后可查看后來報告的錯 誤,顯示沒有正確處理該消息。這樣會同時提供消息流和錯誤流的全面視圖。3210安全性Oracle Service Bus 將成熟的 ORACLE WebLogic Server 9.0 的WebLogic SecurityFramework

51、用作更高級安全服務的構(gòu)件,包括身份驗證、身份斷言、授權(quán)、角色映射、 審計和憑證映射。同樣,在控制臺用于配置安全性前,要配置ORACLWebLogic Server的安全性??刂婆_具有預定義規(guī)則,允許方便地在多個不同運行級別使用ORACLE WebLogicServer的安全性提供者,如表6所示。表6安全性規(guī)則安全級別描述用戶管理控制臺允許根據(jù)相關(guān)安全策略,添加用于任務級授權(quán)的用戶、組和角 色。控制臺安全性提供對控制臺功能的可管理訪問,限制用戶在其中查看和內(nèi)容和執(zhí)行 的操作。傳輸級安全性Oracle Service Bus支持傳輸級的保密性、消息完整性和客戶身份驗證,可通過HTTPJ進行單向請求

52、或請求與響應的交易,確保連接的安全 性。這些可配置為使用基本的身份驗證、客戶證書確認的身份驗證或 無客戶身份驗證。電子郵件和FTP通過使用安全憑證連接到 FTP或電子郵件服務器,從而 提供服務。消息級安全性消息級安全性指定客戶機應用與Web服務間的SOA消息是否應采用數(shù)字簽名、加密或冋時使用兩種加密方式。它還用于指定用戶名令牌身份驗證、SAML1.1身份傳播和X.509證書身份驗證。 Oracle Service Bus 使用WS-Security作為消息級安全性定義的框架。消息級安全性使用“ Web服務策略” (WS-Policy)指定的安全策略語句 進行配置。WS-Policy是基于XM的

53、可擴展框架,可用特定域的斷言擴展We服務的配置,并指定 Wei服務的要求、期望和功能。3.3服務管理除了提供服務路由和轉(zhuǎn)換這樣的ESB功能外,Oracle Service Bus還包含服務監(jiān)視 和管理功能,可確保按照IT部門的期望成功地運行。下面將詳細描述Oracle Service Bus 的服務管理和監(jiān)視功能。3.3.1監(jiān)視Oracle Service Bus可監(jiān)視和收集系統(tǒng)運行和業(yè)務審計目的的運行信息。通過可定 制的“ Dashboard (管理板)”查看Oracle Service Bus 收集的運行統(tǒng)計信息。Oracle Service Bus管理板能監(jiān)視系統(tǒng)的運行狀況并標記消息傳輸服務中的問題,在發(fā)生問題 時允許快

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論