版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
使用BPEL構建Web服務網絡【2005-12-2709:47】【】【Oracle】受不斷成熟的Web服務標準的鼓舞,越來越多的組織正在協(xié)作環(huán)境中使用Web服務。BPEL正快速成為為實現(xiàn)企業(yè)間協(xié)作而編排這些Web服務的平臺。BPEL為構建在線市場或協(xié)作網絡的公司提供了引人矚目的好處,即基于標準的方法和松散耦合的流程集成。而Web服務提供的激動人心的新功能卻隱藏著某些風險。在許多情況下,如果在設計時未解決某些技術和管理難題,則合作伙伴關系將會破裂或集成成本飆升:·合作伙伴必須事先進行充分的協(xié)商,約定根據(jù)特定標準開展業(yè)務。傳輸協(xié)議、交互目的、消息格式以及業(yè)務約束必須實現(xiàn)清晰地通信?!みB接網絡必須是一個簡單的過程;協(xié)作網絡主要通過不斷壯大取得成功?!び脩舯仨氃谶\行時輕松地找到業(yè)務服務,否則將在很大程度上無法實現(xiàn)面向服務體系結構(SOA)這一承諾。(服務信息庫在這方面很有用。)如果開發(fā)人員無法輕松地找到和重用服務,則這些服務本質上就算不存在?!ず献骰锇閼軌驅崟r監(jiān)控Web服務。最終用戶應能跟蹤特定訂單的進度,并且貿易合作伙伴應能診斷業(yè)務流程中的特定瓶頸。如果協(xié)作網絡在托管環(huán)境中運行,這些難題將變得更為棘手。在該模型中,合作伙伴將他們原有應用程序提供的功能公開到Web服務中,并將此Web服務發(fā)布到集中的信息庫中。主機負責編排復雜的業(yè)務流程,后者反過來利用合作伙伴的Web服務。在BPEL指南的這一部分中,我將把歐洲航天局(ESA)項目(來自Spacebels.a.的小組參與了該項目)作為一個案例分析,介紹與這些挑戰(zhàn)相關的體系結構注意事項。此外,我還將介紹該項目如何利用BPEL作用域、BPEL域和OracleBPEL流程管理器API構建一個“易于合作伙伴使用的”協(xié)作網絡。ESA網絡概述ESA已著手制定一個戰(zhàn)略性計劃,旨在完全基于開放標準創(chuàng)建一個BPEL驅動的服務提供商協(xié)作網絡。該網絡稱作服務支持環(huán)境(SSE)網絡,它組合第三方的地球觀測(EO)和地理信息系統(tǒng)(GIS)服務,提供增值的復合型服務。SSE是一個不斷壯大的網絡,目前包括遍布9個不同國家/地區(qū)的20多個合作伙伴。如圖1所示,SSE是一個支持BPEL的網絡的簡單實現(xiàn)。ESA充當中介,它使用各種Web服務標準(如SOAP、WSDL、WS-Addressing、WS-Inspection等)為不同合作伙伴之間基于流程的協(xié)作提供支持。該網絡在集中星型拓撲環(huán)境中運行:服務提供商使用OracleBPELDesigner將不同類型的地球觀測和GIS服務集中到一個信息庫中,從而創(chuàng)建了一個不斷擴大的服務目錄。圖1SSE體系結構SSE提供執(zhí)行以下任務所必需的基礎架構·承載和管理充當可用服務目錄的中央信息庫·在中央目錄內部注冊和搜索服務挨誠·話在茫Or逐ac咸le糟B充PE銳L括引擎光內部糟執(zhí)行團短期獎和長報期的撇業(yè)務輝流程法端·奉使合扶作伙曾伴能笛夠使糾用亮Or哥ac冬le放B冤PE兔L嶼流程擺管理粗器控釣制臺轟監(jiān)控斥W平eb乏服塌務的蠻執(zhí)行啊胖最終挪用戶腿通過佛瀏覽弄可用索服務竟目錄畏請求凳特定券服務號。S泡SE握根宿據(jù)請富求調牢用相欺關的墓業(yè)務統(tǒng)流程聾。該偶業(yè)務社流程攤調用侄W勒eb命服所務(援運行升在服沙務提淋供商蟲處)洗來完省成請恢求。趴者SS麗E岸支持邁同步圣和異廚步的沿交互嘩模型孟。E名SA賞廣岡泛使統(tǒng)用雨Or棗ac玉le掃B梳PE棚L泰流程旁管理濃器肯AP谷I子來為郊提供坑商和猛最終欲用戶累提供沃最大勺程度的的靈筋活性故和易射用性戲體驗絨。懇設計暢W襲eb鈔服淋務網砌絡加寶開放側標準迷正在老不斷聲改變扶集成影的規(guī)志則。瞇BP形EL刊提叛供了杏一個副以流揀程為啞中心武的跨炭企業(yè)倡集成剝方法野,因承此可違以使仇用市BP舟EL壩流邊程流辟定義跪合作棄伙伴紹集成頂。S里OA判與奶B赤PE刺L別的這出一組序合為軌構建貫松散嫁耦合船的協(xié)鋸作網吵絡提脖供了搞一個坦前所售未有歸的良銜機。歐暫集中械星型勉(S斧SE淹采豈用的污方法熱)是允一個削廣泛據(jù)使用蘋的網者絡拓逐撲,億組織滑通過彎它與磨各種嫩合作萬伙伴伏建立堆連接朵。網布絡也季可以晶采用凡單向核對等晴模型添。這廳種情趁況下選,每特個合織作伙久伴都票為域We棒b電服務獄安全剪性和怖供應謝提供喇了一沈個平軟臺。盤酷現(xiàn)在險,我閃們來羨看網荷絡設椒計的印四個棟方面袋:劃劍·檔設置獵接口屑關系沒慨·虧簡化槐合作后伙伴幅支持蓬刻·抓創(chuàng)建捷集中怒的服目務注任冊表告館·鋸為合罰作伙沃伴和等最終觸用戶貴提供耕自助穗監(jiān)視文功能登偷設置塊接口齒關系敢。協(xié)發(fā)作網梁絡設瘋計從斬定義舒參與鉛規(guī)則紹開始酸。這涂些規(guī)均則指插定在慌業(yè)務迅流程優(yōu)中交鮮換的俘消息呈、這參些消羅息的立交換舉順序迫以及怠該消尺息的櫻物理萍屬性料。要攻正確察通信及,所捧有合翻作伙茂伴都跑必須艘能夠怖回答堤以下怎問題次。腹胳·賣交互必的目豬的禍—察是請棍求報榨價還搜是訂民單?開暢·咸消息殼格式香啊-銷消息響是如含何編串碼的悼?煎泥·呈詞匯優(yōu)—脅應飼如何患構造軌消息惕,以椒便其你他各鵝方可恒以理哭解和鑒處理手它們棋?網純·徹業(yè)務吹約束務-丙應敏在多黑長時挽間內祖響應缸請求弓?赤杰·境通信置渠道贏-仗是牲否應體把消虧息加勤密?氣鴨為幫奸助合持作伙消伴回況答以蝶上問注題,泳ES襪A答公布共了一糊個接攔口控萬制文邊檔來杰定義陳這些巡術語恨。本責文檔紋正式廢確定爆了在鍛多個館E承SA免贊果助的我項目推中建援立、么改進挽和驗奮證的買技術囑集成貢規(guī)則栽。基簡于消膚息的護S住OA穿P(廈通過暫H宋TT趙P非或漫HT仗TP鍋S迅實現(xiàn)零安全盤通信貪)是賭S伍SE流服坊務器偽與服碼務提貍供商弱之間遠采用哭的通榜信協(xié)體議。超(對味于本文文檔姐,我出們將鄭分析泡W氣S-梳Se戲cu先ri荷ty震的栗用法透。霞)W鼻eb觸服憑務定膊義語灣言加(W綁SD夕L)畜是堵唯一沃一個晴綁定伶了所囑有實漸體的蜜接口委協(xié)定呆;服屯務提艘供商鍛必須也創(chuàng)建襲一個載W跌SD柔L順文件巖,用眾于描即述它滾的草SO死AP觸接腦口并震使其語他合泛作伙俊伴可遺以訪拐問該衡接口指。W程SD薯L麥文件柴中包訪含的耗某些拘信息罪是固攜定的仁,但寇必須嗓提供絨以下粥信息磁:強障·橫根據(jù)吐選定紫的交酬互模絨型(女搜索歸、R桐FQ渴、訂圾購)居選擇塘的操同作叉階·謙服務遣的物佛理位理置同奉·撕服務屬X女SD蹤模簡式的鈴導入艦如為便嶄于服腸務、奉一致偵性和央消息數(shù)轉換仰的比族較,絹ES妻A爆要求往使用雖X督SD替模病式表糟示討XM耍L燕有效恒載荷叉。S單SE果還給要求肥使用緊主奶XS追LT欄文親檔來無確保傭表示沿層中驅的一管致性潔。必盾須按衣如下椒所示掉在每兆個服刪務中景導入晶模板貼樣式且表:挑<x憑sl勁:s紗ty謀le繪sh順ee彈t守ve宅rs沉io竭n=跪"1獨.0煎"質xm梁ln莖s:學xs裕l=罪"h渾tt揀p:崖//章ww效w.燦w3次.o疊rg沖/1伙99維9/把XS撇L/呈Tr蔥an瀉sf乎or偏m"慣x鄉(xiāng)ml呆ns處:o紹i=環(huán)"h在tt休p:狡//斜ww蔬w.祖es暫a.央in筋t/蝦oi接">舌<!第--單I畏mp紐or亮t士st溝at徒em喚en扒ts中-夫->候<x披sl良:i掃mp侮or涌t典hr志ef眨="姐./軌SS圣E.監(jiān)xs救l"碧/>砍<!廚--圖A牢pp撕ly皂t育he商t脹em粥pl吧at繡e哭fo頂r嫌th清e免ro條ot訊e建le幕me久nt挨f巷ro讓m屈SS槽E姨st胡an殖da頂rd耗t盡e唉mp氧la潔te歐-述->驅<x西sl仆:t湯em阿pl雀at蕉e替ma植tc名h=太"/錦">魄<x型sl份:a觸pp蝕ly龍-i拔mp圈or臟ts針/>夜</政xs鍬l:蘿te誦mp她la擋te貧>便..辣.掙剃xs桶l(fā):毅ap域pl縣y-鍛im鳳po臨rt雜s如使用遵從留SS侵E獻樣式騰表中斧導入海的模登板規(guī)尿則處測理根甜節(jié)點選。注飯冊該僵服務釣時,塊服務抽提供飽商提愛供布XM掠L恢模式典、W燦SD虜L枝和征XS啦LT瓜文崗件的驢U仔RL凳。S炕SE姑強簽制使斜用文排檔樣回式的蹈S餐OA哄P??煸摲饺辗ㄔ拭驮S使鋸用互XM態(tài)L股模式板對輸莊入服凱務和絡服務圣輸出喚的數(shù)廟據(jù)進跡行詳劫細的客指定幣并驗刮證傳爹入和頂傳出辱的消盞息。盾召ES土A侮采用而的方夫法為窯打算勸構建誦一個蒜合作谷伙伴稿數(shù)量恥有限爆的掏We辯b店服務事網絡休的公滾司提貼供了起一個彩便捷植解決怎方案括。隨耀著網六絡規(guī)呆模的飄增長敬,將征需要茶引入朽新的面消息瘡格式儉、通巖信規(guī)隨則、咐安全濾性以廚及傳慘輸機能制。裳尼簡化矩合作屋伙伴戰(zhàn)的參濕與。瘡任何顏網絡宜的壯戲大都嚷離不局開合決作伙蕉伴的案輕松升參與針。下燕列因頌素將霸對此顛過程角產生儀很大偷的影可響。做御·謎與集績線器垂的集嫁成唉-嗽合作抱伙伴藝如何心創(chuàng)建糕和提隸交他去們的撲W閉eb怪服扒務?秤集線落器能鞭否支紗持不嘴同的層傳輸問協(xié)議炎?英識·柿流程礎管理先-客不隸同合見作伙義伴流劍程之栽間是報否有拴清晰聯(lián)的界恒限?冠合作斬伙伴匠能否箏修改舅它的皮業(yè)務構流程矮而不公影響縮整個耀網絡擇的可牌靠性栽?能齒否使糖用元蘆數(shù)據(jù)音定義中即時冷生成咬流程濁?偵萌SS腦E氏通過想降低警對服叮務提上供商索的技速術要腎求成褲功穩(wěn)棍固了京與其澆合作槍伙伴冒的聯(lián)宵系。社ES夏A盾通過撕分發(fā)穗合作稈伙伴掏連接慢軟件愚、劃財分開載發(fā)平售臺以歇及自徑動代歷表合夠作伙偽伴生塌成流第程流另實現(xiàn)醋了該解目標互。侄鋪例如棟,為翠加快料集成突流程海的速沖度,成ES廣A午分發(fā)綁了逢SS撒E腎To顏ol貌bo鈔x,防這是逃一個咬在澆SS腫E塑與服企務提煎供商稍的現(xiàn)琴有系蜘統(tǒng)間捉充當骨接口蜻的免拉費工團具包返。基使于蔥Su各n哪Ja焰va迷W冤eb造S罩er酒vi油ce焦s勞De半ve唉lo乖pe吧r型Pa起ck府的效S莊SE兩T矛oo再lb側ox產提強供了惜一個解支持基各種摩后端帶集成爭機制枯(如捎F診TP旋、文準件交占換、罪JD雜BC耕、調百用沙Ja不va州A縮PI揭、H頂TT彼P乘等)牢的桌XM政L童腳本肯語言嘗。它抖還自背動生啊成注墾冊服椅務所拾需的棕W械SD屢L寶文件乏。左不同悲的合慣作伙冰伴將鞠多個枝服務支提供互給中腐央信伸息庫朝。開幼發(fā)和橋部署憑環(huán)境靠的劃盟分使升合作軌伙伴賄間的顏更改驅互不升影響依。S棚SE尚通煮過在細O火ra植cl貸e穴BP噴EL晶流炸程管曉理器典中使胃用逮BP貨EL暴域喚有效擠地利幅用了賞劃分與功能送。B奴PE迎L蕉域使婚開發(fā)飄人員愿或管誓理員武能夠丸將劇Or回ac嚴le遮B詠PE快L胸流程蟻管理盜器的方單個棕實例畜劃分救為多燭個虛碧擬皺BP翼EL孔沙庭箱。棄BP抽EL崖域前由一義個汽ID在標得識,推并由伶一個極口令伏保護惡。當挎服務芽提供聽商在妥S司SE婆上貫注冊啞時,簽將調塔用饒Or拐ac叉le筐B(yǎng)圍PE躁L皺流程豐管理州器且AP秋I禍自動還創(chuàng)建顆一個視B枕PE堵L噴域保斑存服餅務定曠義文吩件。綠宜以下投是一危個事cr褲ea數(shù)te籃Do南ma答in臺方庭法示哈例:/***Createnewdomainspaceforaserviceprovidertoholdher/hisservicesworkflow*definitionsfilesin
**@paramdomainNameTheIdtoidentifythedomain*@parampasswordThepasswordusedtologintothecorrespondingdomain*@exceptionRemoteExceptionSystemcommunicationerror*@exceptionWorkflowExceptionThrownifanyerrorhappensontheserverthatpreventthedelete
*
*/publicvoidcreateDomain(StringdomainName,Stringpassword)throwsRemoteException,WorkflowException{if(ml.isDebugEnabled())ml.debug("EntercreateDomain(domain="+domainName+"password="+password);
/***checkifthebeingcreateddomainexist?
*/try{
Locatorlocator=newLocator(domainName,password);露百ml翼.i孕nf瓦o(貓"S目to為p身cr曠ea療ti李ng楊d抓om堅ai債n:郊"初+耳do棄ma染in押Na殺me豪+簽"炭b挨ec洽au輩se西i訂t菌ha葛s固al績re山ad洋y倒ex蓬is薦te響d.牽")悉;倉剪th看ro通w揭ne嘴w祥Wo升rk紙fl思ow閣Ex幣ce頸pt至io首n(癢"1醬01產9"駱);疫贏}良ca王tc盒h璃(c螺om抄.o判ra珍cl鉗e.峰bp鏈el挨.c目li紗en欄t.倘Se質rv隆er冊Ex紙ce吉pt輪io圈n鬼e)含{滲護;御訂輕憶}溝tr爪y鋪{明//媽ob記ta方in總t丙he雕d件om家ai軍n五ad紙mi勝n幟pa轉ss雁wo呼rd豆f編ro耕m晴th濤e護sy濕st僵em將c汽on住fi柴gu坐ra晶ti道on愈S速SE屑.p鋒ro油pe旋rt攀ie播s暗fi慕le露St辣ri柜ng材d身om胖ai史nA涉dm康in魂Pa式ss腐wo飽rd友=個S亮ys悲te施mC習on塌fi滅gu寬ra揚ti呢on客In援fo睡.g組et撓Pr甩op四er潮ty貸(W池or堵kf杜lo肯wC禍on毛st妙an矛t.劇BP鼻EL顆_D農OM駐AI呼N_語AD殲MI緞N_渣PA叮SS模WO使RD閃);堵Se后rv接er蹈Au忌th筒a婦ut勢h容=摟Se紙rv制er窯Au都th串Fa釣ct艦or啊y.端au劫th莊en臥ti宏ca倉te洪(滅do控ma腦in款Ad隨mi蓄nP這as樓sw寨or我d,品"第lo徑ca剖lh步os礦t"緩)妥;找if堅(m艘l.奏is杠De督bu稱gE夏na蜜bl陣ed麗()仍)端ml粉.d炕eb垂ug慧("憶ob穿ta旨in疑a霞ut孩he苗nt宇ic銷at動io辯n貢ok祖")壓;厘//投C飲re漂at繭e滿se鄉(xiāng)rv剪er名o滴bj職ec隔t湖..導.權th允is曉i救s斃ou興r使se銷rv世ic冠e剛in菊te槐rf藥ac醒e父險療雁友織//雜Se壤rv噸er市s僵er有ve妹r軟=吳ne映w成Se呆rv迅er畜(敬au血th測)復;林//傷D糧om備ai狂n關id院i獻s朱"n兆ew閣Do充ma仿in擦",業(yè)t兔he摟p寒as斑sw桿or們d聞is洗"輛my歪Pa傲ss柜wo圍rd悉"鈴if塵(m捕l.廊is擋De攪bu寫gE臘na撒bl滋ed及()英)為ml浪.d黎eb勻ug睜("宋cr顯ea看te愿s帳er裳ve癢r谷in漆st必an谷ce償o構k"必);導籌模智過都//簡胡柳Ma盞p紛do支ma騎in保Pr促op歷er腦ti喂es詳=遺n賺ew洪H協(xié)as涼hM襯ap狂()劣;候塑材do陪ma而in薄Pr監(jiān)op脈er道ti由es沃.p維ut嘗(待Co壩nf丈ig倍ur給at剝io訪n.路DA像TA滑SO臥UR譜CE搏_J綱ND啦I,瞇S符ys蠢te句mC腿on今fi昏gu談ra厚ti興on睡In桶fo暴.g佩et脹Pr榆op薄er淹ty卵(C記om臟mo兩nC隙on離st蝕an偽t.宅DE久FA蠶UL梅T_楚BP口EL冤DO險MA愁IN扮_D趟S_但JN劍DI淘))秧;粥堅背do戲ma米in明Pr正op滿er鄭ti水es鑄.p蓬ut雕(何Co翅nf辣ig撕ur昆at廢io悲n.寸TX將_D晨AT漲AS布OU鑼RC紡E_赴JN汪DI佛,川Sy誦st而em禾Co愈nf然ig棒ur校at輸io駱nI糕nf義o.號ge刻tP瘋ro甲pe費rt酬y招(C盾om技mo谷nC斗on罪st輛an鹿t.撲DE吩FA廚UL憶T_磁BP公EL誓DO咳MA幫IN勢_D寨S_炸JN掃DI榜))掛;傳徒荒展眼if吧(m揪l.嫌is蒸De歉bu材gE拜na陰bl情ed挑()睬)平ml值.d之eb添ug投("清cr秋ea尸te消d償om莖ai傘n降-蜜ds鈔j冊nd牌i虛pr靠op銅er管ty瞞k坦ey懼/v鵝al豎ue炮:墾"辣+盛Co腦nf堡ig錢ur惕at錦io子n.抖DA痕TA畢SO矛UR板CE彼_J航ND云I士+獲"/迫"兔+罰Sy行st安em羨Co班nf烏ig躬ur踏at戀io兩nI胃nf呼o.墓ge糞tP享ro床pe添rt杯y慘(C賭om范mo顛nC身on巾st灑an送t.琴DE晝FA嘉UL震T_瞧BP汽EL糞DO服MA往IN抬_D磨S_側JN年DI昂))姥;
走贏賤粒劇競饑鮮濃衡if繁(m碰l.麥is蔥De概bu竿gE企na纖bl償ed注()莊)朵ml息.d得eb扮ug互("泉cr疑ea垃te箏d售om拘ai倒n及-遼tx溉_d婚s壯jn盜di園p負ro臉pe由rt熱y蛇ke律y/想va腰lu綱e:海最"甩+趴Co贊nf泰ig幸ur然at園io榨n.泊TX鼠_D卵AT涌AS候OU姨RC桶E_供JN本DI誼+名"嗎/"僻+層S盡ys肢te獸mC保on革fi毅gu匠ra挎ti脅on約In激fo幫.g飯et王Pr臂op叮er植ty夕(C縫om畢mo貝nC挎on結st覽an晉t.支DE能FA疲UL際T_應BP餅EL席DO桿MA委IN貸_D糊S_粉JN訊DI憤))朱;尺se括rv坡er溫.c芝re媽at獲eD版om夕ai侄n(蕉do著ma棚in盡Na誼me菊,尚pa服ss鉗wo汽rd寺,農do辭ma笛in升Pr司op癥er搞ti變es工);南湊雪菠杯懸在摔藍興紐喇曾池if爆(m姥l.液is雷De花bu腹gE額na市bl竄ed恒()疏)飾ml嶼.d樹eb梁ug霞("昏En痰te眾r裙cr驕ea撒te縣Do灑ma刊in塑(d株om拘ai拜n揮=猾"毅+桃do瓦ma沖in逼Na句me太+悼"耕p屢as弓sw繡or縮d報=盲"哭+第pa醫(yī)ss輪wo準rd夾);}catch(com.oracle.bpel.client.ServerExceptionse){ml.error(se.getMessage());if(ml.isDebugEnabled())se.printStackTrace();thrownewWorkflowException("1018",se.getCause());
}
}在下面runBuildScript方法的實現(xiàn)中,通過一個Ant構建腳本訪問Oraclebpelc函數(shù)。runBuildScript方法調用一個Ant項目文件,后者隨后調用bpelc編譯和部署服務提供商的BPEL流程。/***executetheantscripttobuildanOracleBPELprocessthatimplementstheworkflow.*Thescriptalsodeploystheworkflowtotheservicedomains.*Allinputinformationisprovidedunderthepropsattheinputparam.*@parampropsContainallnecessarypropertiesusedtobuild/deploytheworkflowBPELprocess*@throwsWorkflowException
*/privatevoidrunBuildScript(StringbuildFilename,Propertiesprops)throwsWorkflowException{if(ml.isDebugEnabled())ml.debug("EnterrunBuildScript(buildFileName="+buildFilename+",properties=...");try{Projectproject=newProject();project.init();FilebuildFile=newFile(buildFilename);if(!buildFile.exists())thrownewWorkflowException("1015");if(ml.isDebugEnabled())ml.debug("antbuildfile:"+buildFile.getAbsolutePath());ProjectHelper.configureProject(project,buildFile);//prepareloggerfortheprojectbuildPrintStreamout=System.out;BuildLoggerlogger=newDefaultLogger();logger.setMessageOutputLevel(Project.MSG_DEBUG);logger.setOutputPrintStream(out);logger.setErrorPrintStream(out);project.addBuildListener(logger);//setprojectpropertiesEnumerationkeys=props.keys();while(keys.hasMoreElements()){Stringkey=keys.nextElement().toString();project.setProperty(key,props.getProperty(key));
}//test//excutedefaulttargetproject.executeTarget(project.getDefaultTarget());
if(ml.isDebugEnabled())ml.debug("ExitrunBuildScript(buildFileName="+buildFilename+
",properties=...");
}catch(Exceptionex){ml.error(ex.getMessage());if(ml.isDebugEnabled())ex.printStackTrace();thrownewWorkflowException("1002",ex.getCause());
}
}在Web服務網絡設計中,應考慮使用BPEL域為所有相關各方劃分流程設計和部署平臺。以下是一些可能的應用:·將單個OracleBPEL流程管理器實例劃分為多開發(fā)人員環(huán)境。這種情況下,域ID通常標識擁有該域的開發(fā)人員?!蝹€OracleBPEL流程管理器實例劃分為開發(fā)環(huán)境和QA環(huán)境。這種情況下,域ID可能為“test”和“QA”?!蝹€OracleBPEL流程管理器實例劃分為一個可以由多個部門或合作伙伴使用的環(huán)境。這些情況下,域ID是部門或合作伙伴的名稱。創(chuàng)建中央服務信息庫。定義了網絡關系后,合作伙伴便可以免費加入并提供他們的服務。當然,發(fā)布和搜索這些服務的功能是SOA平臺的一個基礎功能。在該流程中,合作伙伴將他們的Web服務發(fā)布到一個中央信息庫,有關該服務的所有信息都在這里進行管理。這個中央框架提高了服務的可重用性,最大限度地降低了定位服務所需的工作量和時間。沒有中央信息庫將導致不一致和混亂。這反過來會降低網絡的靈活性和開放性。SSE網絡頻繁使用中央Web服務信息庫;合作伙伴使用Web服務檢查語言(WSIL)發(fā)現(xiàn)可用服務。服務提供商可以通過選擇相應的WSDL文件重用現(xiàn)有的Web服務(由網絡中的其他提供商提供)??梢栽贠racleBPELDesigner工具配置文件UDDIProviderList.xml中添加WS-InspectionURL:///inspection.wsil來完成此任務,如下所示。<provider>
<description>ESASSEPortal</description>
<type>wsil</type><inquiryURL></inquiryURL>
</provider>位于服務提供商處的OracleBPELDesigner連接到SSE服務器并使用WS-Inspection協(xié)議發(fā)現(xiàn)可用服務及其WSDL文件。連接到WS-Inspection服務器后,將顯示所有可用服務列表,如圖2中所示。圖2可用SSE服務列表對于每個服務,將提供相應的WSDL文件和簡短的文字描述??梢酝ㄟ^選擇WSDL文件為該服務添加一個合作伙伴鏈接。構建流程流后,可以使用BPEL控制臺將其部署在SSE門戶上。(在它的下個版本中,SSE將實現(xiàn)UDDI注冊表與OracleBPEL的集成。注冊新服務時,還將在此UDDI注冊表中自動注冊該服務。該集成將簡化使用外部工具的服務發(fā)現(xiàn),目前僅當這些工具支持WS-Inspection時才能發(fā)現(xiàn)服務。)盡管您不必建立服務信息庫即可構建SOA并獲得它的眾多好處,但從長遠來看,信息庫是不可或缺的。如果服務的作用域只是一個項目,則架構師不用信息庫也能處理。但大多數(shù)企業(yè)都擁有各種服務和合作伙伴,并且這些服務和合作伙伴的大部分都在不斷變化。提供自助式監(jiān)視。在多方參與業(yè)務流程的協(xié)作網絡中,對業(yè)務流程執(zhí)行情況的監(jiān)視非常關鍵,因此可以將圍繞業(yè)務流程的關鍵性能指標與服務級協(xié)議相聯(lián)系。(例如,加入網絡的關鍵要求之一可能是確認兩小時內的報價請求。)監(jiān)視業(yè)務流程可以更好地獲知特定業(yè)務流程實例執(zhí)行的時間、出現(xiàn)延遲的原因以及如何為未來事務修復此問題。應向合作伙伴和最終用戶提供該級別的診斷。通過創(chuàng)建自助式環(huán)境,合作伙伴和最終用戶可以跟蹤他們的單個流程,從而減輕中央監(jiān)視框架檢測到的問題??梢允褂肙racleBPEL控制臺監(jiān)視和調試業(yè)務流程(參見圖3)。ESA和服務提供商利用BPEL控制臺跟蹤正在運行和已經完成的BPEL流程實例數(shù)量、流程實例的平均持續(xù)時間(從而細分流程中消耗的時間)以及文本格式的流程實例審計線索,從而使合作伙伴可以查看中間結果。圖3使用OracleBPEL控制臺監(jiān)視業(yè)務流程此外,訂購了特定服務的最終用戶可以跟蹤其訂單的狀態(tài)。可以使用OracleBPEL流程管理器API在BPEL控制臺的外部顯示該信息。建議服務提供商在他們的BPEL流程中使用有意義的作用域名稱;在運行時,門戶使用IInstanceHandle.getStatus()API提取當前BPEL“作用域”的名稱向最終用戶顯示該進度的信息。作用域按層次結構組織,一個復雜的業(yè)務流程可以分為幾個作用域。它們?yōu)榛顒犹峁┝诵袨樯舷挛?。通過在BPEL流程中使用有意義的作用域名稱,合作伙伴可以跟蹤“短期”和“長期”業(yè)務流程的狀態(tài)。例如以下getOrderSubstatus方法的實現(xiàn)。該方法使ESS合作伙伴可以使用在bpel文件中執(zhí)行的作用域的名稱獲取BPEL流程實例的當前狀態(tài)。*calltheOracleBPELAPItogetcurrentstatusoftheworkflowinstance,correspondingto*theorderedsuppliedattheinput*@paramorderedTheorderidentified*@paramworkflowIdTheworkflowname(orId)thatisprocessingtheorderstage.*Normally,therearetwostagesofanorder:send(process)rfqandsend(process)order*@paramdomainThedomainthattheorderworkflowbelongsto*@parampasswordThepasswordusedtologintotheworkflowdomain*@returnthecurrentstatusoftheworkflowinstance-particularly,itisthenameofth
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 售后維修委托協(xié)議
- 2025版無產權儲藏室租賃及買賣一體化協(xié)議3篇
- 市場監(jiān)督管理局廉政風險點排查及防控措施
- 2025年度個人二手房交易合同模板創(chuàng)新版
- 2025年全球及中國石墨氮化碳行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國肺癌機器人放射治療行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國硅基封端聚合物行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球電梯漸進式安全裝置行業(yè)調研及趨勢分析報告
- 2025年全球及中國定制基因合成行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年度二零二五年度鋼房租賃及智能化升級服務協(xié)議3篇
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項目可行性研究報告編制標準
- 【奧運會獎牌榜預測建模實證探析12000字(論文)】
- 主要負責人重大隱患帶隊檢查表
- 魯濱遜漂流記人物形象分析
- 危險廢物貯存?zhèn)}庫建設標準
- 新加坡小學二年級英語試卷practice 2
- 多層工業(yè)廠房主體結構施工方案鋼筋混凝土結構
- 救生艇筏、救助艇基本知識課件
- 阻燃壁紙匯報
- 梁若瑜著-十二宮六七二象書增注版
- 企業(yè)年會盛典元旦頒獎晚會通用PPT模板
評論
0/150
提交評論