




已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀
(計算機軟件與理論專業(yè)論文)soa中服務建模與設計的原理及方法研究.pdf.pdf 免費下載
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要 摘要 面向服務的體系結構( s e r v i c eo r i e n t e da r c h i t e c t u r e ,s o a ) 是一種新型的軟 件體系結構,它具有可重用性、松散耦合、粗粒度、互操作性等優(yōu)點。s o a 已 經成為企業(yè)應用系統(tǒng)架構設計的主要方法,得到了廣泛應用。目前服務建模主 要采用三種建模抒則:面向對象的分析與設計、企業(yè)體系結構框架和業(yè)務流程 建模。但是早期的s o a 項目經驗表明,上述三種建模方法各自單獨使用時均達 不到s o a 的要求。有必要研究服務建模的新方法,使得容易、成功地進行s o a 開發(fā)。 本文首先闡述了s o a 的概念、基本框架和原則,分析了s o a 中的服務及 s o a 架構所帶來的優(yōu)點。研究了s o a 架構當前最好的實現(xiàn)方式一、b 服務技 術。 接著,描述了面向服務的開發(fā)流程,明確了服務建模和設計在s o a 交付周 期中所處的位置,分析了面向服務的設計和分析過程。重點研究服務建模與設 計的原理與方法。通過研究已有的服務建模方法的不足,論文提出了一個基于 s o a 交付周期的、自頂向下發(fā)現(xiàn)服務的建模方法,用于指導系統(tǒng)的建模。 在服務設計的研究中,分析了服務設計的過程,研究了服務粒度的劃分對 s o a 質量的影響。重點從服務層次和操作層次對設計合適粒度的服務做了研 究,總結出了服務設計的原則。 采用w e b 服務技術開發(fā)和實現(xiàn)了一個基于s o a 的在線醫(yī)藥銷售系統(tǒng)應用 實例。實踐表明,本文提出的服務建模與設計的方法是先進的,可行的。 關鍵字:面向服務的體系結構,服務,服務建模,企業(yè)服務總線,服務粒度 a b s t r a c t r e s e a r c h0 1 1p r i n c i p l e sa n dm q , , t h o d so fserviceresearc 0i t e t0 d so te r v i c e m o d e l i n ga n dd e s i g ni ns o a a b s t r a c t s e r v i c eo r i e n t e da r c h i t e c t u r e ( s o a ) i san e ws o f t w a r ea r c h i t e c t u r ew i t hm a n y a d v a n t a g e s ,s u c ha sr e u s a b i l i t y , l o o s ec o u p l i n g ,c o u r s eg r a n u l a r i t y , i n t e r o p e r a b i l i t y a n ds oo n a d o p t i o no ft h es o a d e s i g ni d e a sc a ng e tt h eg r e a t e s te x t e n tt or e d u c e t h ec o u p l i n gb e t w e e ns y s t e m s ,e n h a n c e dr e u s a b i l i t y , a n db e t t e ri n t e g r a t i o no fl e g a c y s y s t e m s ,e n h a n c i n gt h es y s t e m sf l e x i b i l i t ya n di n t e r o p e r a b i l i t y s o ah a saw i d e r a n g eo fa p p l i c a t i o n sa n dh a sb e c o m et h em a i nm e t h o do fe n t e r p r i s ea p p l i c a t i o n s y s t e ma r c h i t e c t u r ed e s i g n b yi n t r o d u c i n gt h ec o n c e p t so ft h es o a ,b a s i cf r a m e w o r ka n dp r i n c i p l e s ,t h e a d v a n t a g e so fs o a a r ed i s c u s s e di nd e t a i li nt h i sp a p e r , a n dt h ei m p o r t a n tc o n c e p t “s e r v i c e i se x p l a i n e di nd e t a i l w e bs e r v i c e sa st h eb e s ti m p l e m e n t a t i o no fs o ai s s t u d i e di n - d e p t ha sw e l l s e r v i c e o r i e n t e da p p l i c a t i o nd e v e l o p m e n tp r o c e s si sp r e s e n t e d t h i sh e l p su st o f u l l yu n d e r s t a n dt h el o c a t i o no fm o d e l i n ga n dd e s i g ns e r v i c ei nt h es o a l i f ec y c l e p r i n c i p l e sa n dm e t h o d so fs e r v i c em o d e l i n ga n dd e s i g nh a v eb e e ns t u d i e di n - d e p t h b ya n a l y s i s i n gt h es h o r t c o m i n g so fe x i s t i n gm o d e l i n gm e t h o d s ,an e w m e t h o do f s e r v i c em o d e l i n gi sd e s c r i b e d ,w h i c hi sb a s e do ns e r v i c e - o r i e n t e d a p p l i c a t i o n d e v e l o p m e n tp r o c e s sa n ds e r v i c ed i s c o v e r yf r o mt o p t od o w n s i n c es e r v i c ed e s i g n i so n ei m p o r t a n tp r o c e s so fs e r v i c e - o r i e n t e dd e s i g n , s e r v i c e - o r i e n t e dd e s i g np r o c e s s i sp r e s e n t e di nd e t a i l a i m i n gt of m dm e t h o d su s e dt od e s i g na p p r o p r i a t es e r v i c e s g r a n u l a r i t y , t h o s ei s s u e sf r o ms e r v i c el e v e lt oo p e r a t i o n a ll e v e ld e f i n i t i o n sa n d p r i n c i p l e so fs e r v i c ed e s i g na l es t u d i e di nd e t a i l a sad e m o ,a l lo n - l i n em e d i c i n es a l e ss y s t e mb a s e do ns o ai sa n a l y z e da n d d e s i g n e db yu s i n gp r i n c i p l e sa n dm e t h o d so fs e r v i c e sd e c o m p o s i t i o na n dd e s i g n t h e p r a c t i c a lp r o j e c ts h o w st h a tt h em e t h o d sd e s c r i b e di nt h i sp a p e ra r eg o o da n d u s e f u l k e yw o r d s :s e r v i c eo r i e n t e da r c h i t e c t u r e ,s e r v i c e ,s e r v i c em o d e l i n g ,e n t e r p r i s e s e r v i c eb u s ,s e r v i c e sg r a n u l a r i t y 西北大學學位論文知識產權聲明書 本人完全了解西北大學關于收集、保存、使用學位論文的規(guī)定。 學校有權保留并向國家有關部門或機構送交論文的復印件和電子版。 本人允許論文被查閱和借閱。本人授權西北大學可以將本學位論文的 全部或部分內容編入有關數據庫進行檢索,可以采用影印、縮印或掃 描等復制手段保存和匯編本學位論文。同時授權中國科學技術信息研 究所等機構將本學位論文收錄到中國學位論文全文數據庫或其它 相關數據庫。 保密論文待解密后適用本聲明。 學位論文作者簽名: 盤毛 指導教師簽名: 如p 羅年舌月行日弘餌6 月f 1 9 日 西北大學學位論文獨創(chuàng)性聲明 本人聲明:所呈交的學位論文是本人在導師指導下進行的研究工作及取得的研究 成果。據我所知,除了文中特別加以標注和致謝的地方外,本論文不包含其他人已經 發(fā)表或撰寫過的研究成果,也不包含為獲得西北大學或其它教育機構的學位或證書而 使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確 的說明并表示謝意。 學位論文作者簽名: 趙免 伽礦年6 月1 1 9 西北大學碩士研究生學位論文 第一章引言 1 1 1 研究背景 第一章引言 計算機技術的迅速發(fā)展把人類社會帶入了信息化時代。隨著信息處理技術 在各個領域中的廣泛應用,現(xiàn)代企業(yè)面臨的系統(tǒng)環(huán)境越來越復雜,使用的應用 系統(tǒng)的數量也越來越多。這些應用系統(tǒng)可能使用不同的工具和語言進行開發(fā), 甚至運行在不同的操作平臺上。隨著企業(yè)業(yè)務的進一步發(fā)展,企業(yè)的應用系統(tǒng) 需要高度的集成和開放,而且要求能夠快速高效地適應業(yè)務變化。同時也要求 企業(yè)能夠將其內部的各種信息系統(tǒng)整合為一個統(tǒng)一的平臺,以適應信息化的發(fā) 展。 面向服務的體系結構( s e r v i c eo r i e n t e da r c h i t e c t u r e ,s o a ) 是一種建立、 管理、維護i r r 系統(tǒng)和業(yè)務流程的方法。在s o a 架構下,由各自獨立可復用的 服務構成系統(tǒng)功能。通過構建服務能夠建立一個業(yè)務邏輯抽象和技術抽象,把 業(yè)務邏輯與具體實現(xiàn)技術分離開來,使企業(yè)應用徹底擺脫面向技術解決方案的 束縛,使企業(yè)能夠適應業(yè)務和實現(xiàn)技術的不斷變化,輕松應對企業(yè)業(yè)務變化和 發(fā)展的需要。服務可以被共享、重用和配置,如此一來,能夠從整體考慮企業(yè) 的信息系統(tǒng),選擇一個合適的集成平臺,把企業(yè)的各個“信息孤島”有機地集 成起來【i j 。 面向服務的體系結構在解決了企業(yè)應用系統(tǒng)集成問題的同時也讓企業(yè)應 用徹底擺脫面向技術的解決方案的束縛。伴隨著大規(guī)模企業(yè)級應用的不斷發(fā) 展,為了減少異構性、滿足互操作性和不斷變化的業(yè)務要求,作為一種新型的 軟件體系結構一面向服務的體系結構,已經成為信息技術領域研究的熱點之 1 。2 國內外研究發(fā)展現(xiàn)狀 1 9 9 6 年,g a r t n e r 最早提出面向服務的體系結構( s e r v i c eo r i e n t e d 西北大學碩士研究生學位論文第一章引言 a r c h i t e c t u r e ,s o a ) 的思想,但是當時并沒有引起人們的足夠重視。隨著網絡 技術的不斷發(fā)展,特別是w e bs e r v i c e s 技術的日趨成熟,2 0 0 2 年1 2 月,g a r t n e r 提出s o a 是“現(xiàn)代應用開發(fā)領域最重要的課題 ,預計到2 0 0 8 年,s o a 將成 為占有絕對優(yōu)勢的軟件工程實踐方法。g a r t n e r 為s o a 描述的遠景目標是:在 于讓i t 變得更有彈性,以更快地響應業(yè)務單位的需求,實現(xiàn)實時企業(yè) ( r e a l t i m ee n t e r p r i s e ) 2 1 。 目前,世界上的許多研究機構、大學和業(yè)界著名的軟件公司如微軟,m , s u n 等紛紛推出自己的基于s o a 信息開發(fā)平臺和解決方案,并且聲稱這些平 臺可以幫助用戶實現(xiàn)基于s o a 的企業(yè)級系統(tǒng)。微軟用于構建基于s o a 應用程 序的i n d i g o 平臺,使得專門用于創(chuàng)建s o a 應用程序的技術得到廣泛應用。i b m 實現(xiàn)了基于w e b s p h e r e 產品族的e s b 平臺,構成了i b ms o a 的基礎架構。s u n 的s o a 路徑服務導向架構在s o a 技術的整個生命周期內從概念論證、準備階 段,到實際執(zhí)行等各個關鍵時刻,采用s u n 的j a v a 平臺和s o a 執(zhí)行經驗。雖 然如此,s o a 發(fā)展到今天還遠未達到完善成熟的地步,就連s o a 的基本概念 迄今為止還沒有一個被業(yè)界所公認的定義,研究工作也都大多處于理論研究階 段。w e b 服務作為目前實現(xiàn)s o a 的最佳手段,提供了基于x m l 標準接口的若 干中間件,具有完好的封裝性、松散的耦合性、協(xié)議規(guī)范的標準性、以及高度 的可集成性等特點,能夠很好的滿足s o a 應用模式需求p 】。 在國內,科研機構的理論研究成果也并不多。s o a 的研究主要體現(xiàn)在部分 中間件產品上,而基于s o a 的e s b 整體解決方案非常缺乏,更多的是一些中 間件產品和協(xié)同軟件產品。對于企業(yè)的s o a 應用部署多數由國外大公司如m m , b e a 等提供。由于多種因素的限制,國內對s o a 的研究還處于起步階段。 對于s o a 中的服務建模,人們大多采用已有的面向對象的分析與設計 ( o b j e c to r i e n t e da n a l y s i sa n dd e s i g n ,o o a d ) 、企業(yè)體系結構( e n t e r p r i s e a r c h i t e c t u r e ,e a ) 框架和業(yè)務流程建模( b u s i n e s sp r o c e s sm o d e l i n g ,b p m ) 這些 現(xiàn)有的建模規(guī)則。但是早期的s o a 項目經驗表明,諸如o o a d 、e a 和b p m 這些現(xiàn)有開發(fā)流程和表示方法各自單獨使用時均達不到s o a 的要求。所以, 有必要將o o a d 、e a 和b p m 中的適當原理與一些獨特的新理論組合起來,研 究服務建模的方法,使得容易、成功地進行s o a 開發(fā)。因此本課題具有研究 2 西北大學碩士研究生學位論文第一章引言 的理論價值和現(xiàn)實意義。 1 3 本文的研究內容和創(chuàng)新 面向服務架構的研究大多著眼于整個架構設計的原則與模型的討論,本文 在分析已有的服務建模規(guī)則和方法的基礎之上,研究了s o a 中服務建模與設 計的原理及方法。 本文的研究內容: 1 深入研究面向服務的體系結構的相關概念、原理及其實現(xiàn)技術。 2 研究服務建模和服務設計的原理和方法。服務如何構建,如何決定服 務粒度的大小,怎樣使服務內部高內聚,而服務之間又是松散耦合。 在服務建模的研究中,首先研究了將現(xiàn)有建模方法應用到s o a 項目開 發(fā)時的不足。同時,研究了三種發(fā)現(xiàn)服務的方式。論文提出了一個基 于s o a 交付周期的、自頂向下發(fā)現(xiàn)服務的建模方法。 3 在服務設計的研究中,分析了服務設計的過程,研究了服務粒度的劃 分對s o a 質量的影響。重點從服務層次和操作層次對設計合適粒度的 服務做了研究,并且總結出了服務設計的原則。 4 研究在j 2 e e 平臺上使用w e bs e r v i c e s 技術實現(xiàn)s o a 架構的系統(tǒng)開發(fā) 設計。 論文主要在以下幾個方面進行了改進和創(chuàng)新: 1 在已有的面向服務的分析和設計方法之上,系統(tǒng)地研究了服務建模和 設計的原理與方法。使服務模塊具有內部高內聚、服務模塊之間松耦 合的特點,從而使整個系統(tǒng)具有很強的可互操作性、可重用性和靈活 性。 2 深入研究服務粒度對s o a 質量的影響。 3 論文提出了一個基于s o a 交付周期的、自頂向下發(fā)現(xiàn)服務的建模方 法。 4 在服務設計的研究中,分析出從服務層次和操作層次設計合適粒度服 務的方法。 3 西北大學碩士研究生學位論文第一章引言 5 給出了服務的一般設計過程,并提煉出服務設計的原則。 1 4 本文組織結構 本課題闡述了面向服務的分析和設計過程,深入研究了在基于s o a 的企業(yè) 應用系統(tǒng)開發(fā)設計中服務建模與設計的原理和方法。 全文由以下五章組成: 第一章:緒論。闡述研究背景、國內外研究發(fā)展現(xiàn)狀、本文的研究目標和 內容以及論文的組織結構。 第二章:面向服務的體系結構及其相關技術。介紹了s o a 的概念、s o a 中 的服務、基本框架和原則,以及采用s o a 架構所帶來的優(yōu)點,之后研究了s o a 架構當前最好的實現(xiàn)方式w e b 服務技術和面向服務的開發(fā)流程。 第三章:服務建模與設計。研究服務建模和服務設計的原理與方法。在研 究現(xiàn)有建模方法的不足和服務發(fā)現(xiàn)方式之后,提出了一個基于s o a 交付周期的 自頂向下服務建模方式。研究服務設計過程、服務粒度對s o a 質量的影響以及 服務粒度的設計,總結出服務設計的原則。 第四章:基于s o a 的在線醫(yī)藥銷售系統(tǒng)設計與實現(xiàn)。描述了一個在j 2 e e 平 臺上使用w e bs e r v i c e s 技術實現(xiàn)s o a 架構的在線醫(yī)藥銷售系統(tǒng)實例開發(fā)和實現(xiàn) 過程。驗證本文提出的服務建模和設計的原理與方法。 第五章:總結與展望。對全文進行總結,并對以后的研究工作進行展望。 4 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 第二章面向服務的體系結構及其相關技術 本章闡述t s o a 的概念、s o a 中的服務、基本框架和原則,通過這些理解 s o a 架構所帶來的優(yōu)點。接著,研究t s o a 架構當前最好的實現(xiàn)方式一w e b 服 務技術和面向服務的開發(fā)流程。 2 1面向服務的體系結構s o a 2 1 1s o a 的概念 在企業(yè)的發(fā)展過程中,隨著業(yè)務的增長、信息化的發(fā)展,系統(tǒng)間信息的交 互與互操作變得非常困難,從而形成了一個個“信息孤島”。傳統(tǒng)方法不能方 便、靈活、低代價地實現(xiàn)異構系統(tǒng)的集成,難于快速適應企業(yè)現(xiàn)代業(yè)務變化的 需求。在不改變企業(yè)應用底層架構的基礎上,基于s o a 的應用集成開發(fā)方案可 以很好地解決上述問題。s o a 是基于面向對象技術和面向組件技術之上更高級 別的抽象。s o a 的優(yōu)勢在于高可復用性,靈活性,以及更好的擴展性和可用性。 迄今為止,對于面向服務的體系結構【4 】( s o a ) 還沒有一個公認的定義。許 多組織從不同角度和不同側面對s o a 進行了描述。下面給出業(yè)界一些關于 s o a 定義: 萬維網聯(lián)盟( 1 1 1 ew o r l dw i d ew e bc o n s o r t i u m ,w 3 c ) 將s o a 定義為:“一 種應用程序體系結構,在這種體系結構中,所有功能都定義為獨立的服務,這 些服務帶有定義明確的可調用接口,可以以定義好的順序調用這些服務來形成 業(yè)務流程”。w 3 c 將服務定義為:“服務提供者完成一組工作,為服務使用者 交付所需的最終結果。 s e r v i c e a r c h i t e c t u r e c o m 將s o a 定義為:“本質上是服務的集合。服務間 彼此通信,這種通信可能是簡單的數據傳送,也可能是兩個或更多的服務協(xié)調 進行某些活動。服務間需要某些方法進行連接。所謂服務就是精確定義、封裝 完善、獨立于其他服務所處環(huán)境和狀態(tài)的函數。 5 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 m 認為:“s o a 展現(xiàn)出比w e bs e r v i c e s 更加廣泛的應用前景,s o a 是 一種構建能夠交付終端用戶服務或構建其他服務的功能組件?!? 】 g a r t n e r 將s o a 定義為:“面向服務的體系結構( s o a ) 是客戶端n 務器的 軟件設計方法,_ 項應用由軟件服務和軟件服務使用者組成,s o a 與大多數通 用的客戶端服務器模型的不同之處,在于它著重強調軟件組件的松散耦合,并 使用獨立的標準接口。 6 1 本文將面向服務的體系結構定義如下:面向服務的體系結構是一個開放 的、可擴展、可組合的組件模型,它將應用程序的不同功能單元封裝為服務。 服務之間通過定義良好的接1 2 和契約聯(lián)系起來,接口是采用中立的方式進行定 義的,獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言,使得構建在各種這 樣的系統(tǒng)中的服務可以用一種統(tǒng)一和通用的方式進行交互。 2 1 2s o a 的基本架構 圖2 1 描述了s o a 的基本架構【7 】【引。s o a 由以下三個角色組成:服務提供 者( s e r v i c ep r o v i d e r ) 、服務請求者( s e r v i c er e q u e s t e r ) 、服務注冊中,t l , ( s e r v i c e r e g i s t r y ) 。 1 服務提供者( s e r v i c ep r o v i d e r ) 服務提供者是一個可通過網絡尋址的實體,它接受和執(zhí)行來自服務請求者 的請求。它將自己的服務和接口契約發(fā)布到服務注冊中心,以便服務請求者可 以發(fā)現(xiàn)和訪問該服務。 2 服務請求者( s e r v i c er e q u e s t e r ) 服務請求者負責查找發(fā)布在一個或者多個服務注冊中心的服務描述,并負 責利用服務描述,綁定或者調用由服務提供者提供的服務。服務請求者有時候 也叫服務使用者、服務消費者。 3 服務注冊中心( s e r v i c er e g i s t r y ) 服務提供者可以在服務注冊中心發(fā)布服務描述,服務注冊中心負責為其登 記,并允許服務請求者搜索服務注冊中心所包含的服務描述集合。服務注冊中 心的作用就是服務請求者和服務提供者之間的中介。一旦服務注冊中心完成了 匹配,它也就完成了任務,其余的交互也就是在服務請求者和服務提供者之間 6 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 的直接服務調用。服務契約是服務請求者和服務提供者間交互方式的規(guī)范,指 明了服務請求和響應的格式。 圖2 - 1s o a 的基本架構 對應于s o a 中的三個角色,s o a 也包含三個操作:發(fā)布( p u b l i s h ) 、發(fā)現(xiàn)( f i n d ) 和綁定調用( b i n d i n v o k e ) 。這些操作定義了s o a 角色之間的約定關系。 1 發(fā)布操作是一種服務注冊或者服務登記的行為。它起著服務注冊中心 與服務提供者之間的連接作用。當服務提供者在服務注冊中心發(fā)布其服務描述 后,服務注冊中心就將該服務的細節(jié)通知給服務請求者。發(fā)布的實際細節(jié)取決 于服務注冊中心的實現(xiàn)。簡單的發(fā)布是將服務描述發(fā)布到應用服務器的目錄結 構中,復雜的發(fā)布操作則通過獨立的單元來管理服務描述。 2 發(fā)現(xiàn)操作是獲得服務的調用細節(jié)信息,起著服務注冊中心和服務請求 者之間連接作用。在進行發(fā)現(xiàn)操作時,服務請求者向服務注冊中心提供查詢條 件,如服務類型、服務質量保證、安全驗證等等。服務注冊中心根據查找條件 在所發(fā)布的服務描述結合中進行搜索,查找與查找標準匹配的服務描述。 3 綁定操作是服務請求者通過分析從服務注冊中心中得到的服務綁定信 息,包括服務的訪問路徑、服務調用的參數、返回結果、傳輸協(xié)議、安全要求 等,對自己的系統(tǒng)進行相應配置,進而遠程調用服務提供者所提供的服務。 從概念上講,s o a 中有四個不同抽象級別的組件【9 】:消息、操作、服務和 業(yè)務流程。 消息代表完成工作單元所需要的部分或所有數據。操作代表單個邏輯工作 單元( l o g i c a lu n i to fw o r k , l u w ) 的事務。每一個操作監(jiān)管服務能夠執(zhí)行一 7 西北大學碩士研究生學位論文 第二章面向服務的體系結構及其相關技術 個特定功能的處理。執(zhí)行操作通常會導致讀、寫或修改一個或多個持久性數據。 s o a 操作可以直接與面向對象( o o ) 的方法相比。它們都有特定的結構化接口, 并且返回結構化的響應,完全同方法一樣,特定操作的執(zhí)行可能涉及調用附加 的操作。服務代表操作的邏輯分組。業(yè)務流程是為實現(xiàn)特定業(yè)務目標而執(zhí)行的 一組長期運行的動作或活動。業(yè)務流程通常包括多個業(yè)務調用。 在s o a 術語中,業(yè)務流程包括依據一組業(yè)務規(guī)則按照有序序列執(zhí)行的一 系列操作。操作的排序、選擇和執(zhí)行稱為服務或流程編排。操作發(fā)送及接收消 息以執(zhí)行工作,操作最常由其處理的消息來定義。服務最常由包含它的操作來 定義。流程實例可組成服務,但是不必由其服務定義,因為也許只需要服務所 提供的功能子集。 2 。1 3s o a 中的服務 對于普通架構的企業(yè)應用系統(tǒng)可以分為業(yè)務流程層和應用層,而采用面向 服務架構的企業(yè)應用系統(tǒng)結構如下圖2 - 2 所示,在業(yè)務流程層與應用層之間有 一個服務接口層1 0 1 。服務是被精確定義、封裝完善、獨于其他服務所處環(huán)境和 狀態(tài)的并應用于業(yè)務流程的可重用組件的函數。它提供息并簡化業(yè)務數據從一 個有效、一致的狀態(tài)向另一個狀態(tài)的轉變。 這是企業(yè)中s o a 特征最常出現(xiàn)的地方。面向服務方法在企業(yè)業(yè)務系統(tǒng)的 應用是通過服務的引進而實現(xiàn)的。服務建立了一個夾在傳統(tǒng)的業(yè)務與應用層之 間的高級抽象形態(tài),位于此處的服務能夠封裝物理的應用邏輯和業(yè)務流程邏 輯。服務接口層起到封裝抽象下層應用邏輯,對上層提供接口。應用層是由不 同技術解決方案的業(yè)務邏輯的自動化實現(xiàn)組成,如n e t 應用、j 2 e e 應用和遺 留的應用。 服務將企業(yè)模塊化,在服務接口層形成孤立的邏輯單元一服務。服務可以 分層,以便上層的服務能夠封裝下層服務。服務接口層從低高可分為應用服務 層、業(yè)務服務層和編排服務層,所以對應的服務可以分為應用服務、業(yè)務服務 和編排服務。 應用服務層建立了用來表示特定技術功能的底層基礎。位于這一層的服務 稱為應用服務。其目的是要在新的或遺留應用之內提供處理數據相關的公共 8 西北大學碩士研究生學位論文 第二章面向服務的體系結構及其相關技術 的、可復用功能。比如工具服務和包裝服務就是典型的應用服務。工具服務是 提供可復用邏輯的一種服務,主要用于解決方案無關的應用服務,也可以用于 指可復用的服務。包裝服務最常用于集成目的,它包含封裝一些或全部遺留環(huán) 境的服務,以便將遺留功能暴露給服務請求者。最常見的包裝服務形式是遺留 應用的服務適配器,它建立了遺留應用底層a p i 的接口服務。 業(yè)務流程層 3 服務接口層 編排服務層 業(yè)務服務層 應用服務層 n 應用層 、 圖2 - 2 企業(yè)應用模型中的服務接口層 業(yè)務服務層引入了專注于表示業(yè)務邏輯的原子性業(yè)務服務,即不可再分解 的業(yè)務服務。業(yè)務服務是業(yè)務服務模型的實現(xiàn)。業(yè)務服務的唯一目標是形成一 個獨立的業(yè)務服務層,以便可能以最純粹的形式表示業(yè)務邏輯。但是,這并不 阻止它們實現(xiàn)其他服務模型。 業(yè)務服務可以分為兩類: ( 1 ) 以任務為核心的業(yè)務服務。它是封裝特定任務或業(yè)務流程的業(yè)務邏 輯的服務。通常這種類型的服務在業(yè)務流程邏輯不是集中成為編排層部分時所 需要的。 ( 2 ) 以實體為核心的業(yè)務服務。它是封裝特定業(yè)務實體的服務( 如一個 訂單或發(fā)票等企業(yè)業(yè)務環(huán)境中的實體) 。以實體為核心的服務在于創(chuàng)建高可復 用性的服務,以及由包含編排層或以任務為核心的業(yè)務服務組合而成的與業(yè)務 流程無關的服務。 編排服務層引入了一個減輕對其他服務需求的抽象父層,來管理確信服務 9 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 操作以特定的序列執(zhí)行的交互。編排服務層包含一個或多個流程服務,以依照 流程定義內的業(yè)務規(guī)則與業(yè)務邏輯組合業(yè)務服務與應用服務。其中流程服務是 企業(yè)業(yè)務流程自身所表示成為的一個服務,流程服務需要組合其他服務以執(zhí)行 業(yè)務流程。編排抽象了來自其他服務的業(yè)務規(guī)則和服務執(zhí)行序列,促進了敏捷 性和復用性。同時,編排層的引入通常將新的中間件引入i t 基礎設施,它會 顯著增加成本和復雜性【1 1 1 。 編排的主要標準行業(yè)規(guī)范是w e b 服務業(yè)務流程執(zhí)行語言b p e l 4 w s 。它能 夠創(chuàng)建如w e b 服務調用、數據操縱、故障處理或終止某個流程等工作的不同 活動,然后將這些活動連接起來,從而創(chuàng)建出復雜的流程,以達到s o a 中服 務編排和整合的目的。 引入服務接口層后可以實現(xiàn)s o a 所承諾的可復用性、可組合性、自治性 等幾大優(yōu)點。其實幾大優(yōu)點有部分重疊,但又不完全重合,通過運用面向服務 的設計理念實現(xiàn)自治性,最大程度地減少對其他服務的依賴,把所有的邏輯都 控制在本服務所管轄的范圍內,通過組合現(xiàn)有的服務,來達到可復用的目的。 以上介紹了在企業(yè)應用模型中的服務層,以及服務層的基本構成和相應層 的功能。正是因為在s o a 中引入了服務接口層才使其區(qū)別于以往的系統(tǒng)架構。 用于實現(xiàn)特定服務的流程并不重要,只要它能夠響應服務請求者的命令并 使其提供高質量的服務就可以了。通過定義的通信協(xié)議可以調用服務來實現(xiàn)互 操作性和位置透明性。一個服務表現(xiàn)為一個軟件組件,為從服務請求者的角度 來看,它就像是一個自包含的函數。然而,實際上服務實現(xiàn)可能包括在一個企 業(yè)內部的不同計算機上或者許多業(yè)務合作伙伴擁有的計算機上執(zhí)行的很多步 驟。就封裝的軟件而言,服務可能是一個組件,也可能不是個組件。 服務的特征【1 2 1 可歸納如下: ( 1 ) 服務是軟件實體。服務作為軟件實體,通常為粗粒度的,對特定的 高層業(yè)務邏輯進行了封裝,并向用戶提供了有意義的功能。該軟件實體應該是 長期穩(wěn)定的。服務通常為粗粒度的,對特定的高層業(yè)務邏輯進行了封裝,并向 用戶提供了有意義的功能。 ( 2 ) s o a 中所有功能都定義為服務。這是面向服務的分析思想的基礎。 這包括業(yè)務功能、由底層功能組成的業(yè)務事務和系統(tǒng)服務功能。 1o 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 ( 3 ) 服務的接口是可調用的。在體系結構的層面上,它們究竟是本地的 在系統(tǒng)內還是遠程的( 或直接在系統(tǒng)外) 、是用什么互連s c h e m a 或協(xié)議調用 或需要什么樣的基礎架構組件來連接,都是無關緊要的。 ( 4 ) 服務是底層邏輯的抽象。只有經由服務描述所暴露的部分服務對于 外部世界是可見的。服務描述之外所表達的底層邏輯是不可見的,且與服務請 求者無關。 2 1 4s 0 的原則 s o a 的關鍵目標是實現(xiàn)企業(yè)應用系統(tǒng)的最大化重用,使得企業(yè)應用擺脫面 向技術的解決方案的束縛,輕松應對企業(yè)商業(yè)服務變化、發(fā)展的需要。s o a 具 有以下原則9 】【1 3 】: 1 服務是可復用的 面向服務鼓勵所有服務中的復用性,不管是否存在直接的復用性需求。通 過應用設計標準使得每個服務都具有潛在的可復用性,能夠有機會適用未來需 求而不增加開發(fā)負擔。內在的可復用服務也減少了對于創(chuàng)建暴露包裝服務的需 求,包裝服務通過暴露普遍接口而具備較少復用性的服務。 2 月艮務共享一個正式契約 服務之間為了交互,只需要共享描述每個服務信息交換術語定義的正式契 約。服務契約正式定義了服務、操作、面向服務架構的消息組件。因為服務契 約是服務間共享的,其設計就顯得非常重要,同意某個契約的服務請求者會變 得對其定義有依賴。契約發(fā)布之后需要謹慎維護和修訂。 3 月艮務的互操作性 服務間的互操作性指系統(tǒng)跨越不同平臺和編程語言進行通信的能力。每一 個服務都提供可以通過連接適配器調用的接口,連接適配器由服務潛在客戶能 夠理解的協(xié)議和數據格式組成,支持標準協(xié)議和數據格式的技術通過將不同平 臺特性和編程語言映射到一個中介規(guī)范來實現(xiàn)。例如:w e b 服務就是一個在不 同系統(tǒng)問通信的中介規(guī)范,j a x - r p c 和j a x m 將j a v a 數據類型映射到s o a p 。 4 服務是松耦合的 松散耦合是一個服務獲知另外一個服務的同時依舊保持服務獨立性的條 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 件。對于服務來說,位置和接口定義( 包括數據類型定義) 組成了耦合。在s o a 中,服務提供者使用一種標準定義語言來定義和發(fā)布其服務接口。接口定義了 服務請求者和服務提供者之間的調用契約。只要服務接口保持一致,就可以修 改服務提供者的實現(xiàn)而不影響服務請求者的調用。 s o a 通過服務契約和綁定實現(xiàn)松散耦合,請求者通過第三方注冊機制來獲 得它所需要的服務信息,注冊機制返回所有的符合條件的可用服務。請求者基 于注冊機制提供的服務描述來選擇合適的服務,通過傳輸機制與服務進行綁定 并調用其中的方法。服務請求者并不直接依賴服務的實現(xiàn)而是依賴服務契約。 5 服務的可發(fā)現(xiàn)和動態(tài)綁定 s o a 支持服務發(fā)現(xiàn)的概念,服務請求者需要在運行時根據一定的標準來發(fā) 現(xiàn)可用的服務,服務請求者查詢服務注冊機制來得到服務的位置信息。 6 服務抽象底層邏輯 服務抽象底層邏輯也稱為服務接口層次抽象,允許將服務當作黑盒,對外 部世界隱藏其細節(jié)。 7 服務是可組合的 服務能夠代表來自任何類型源的任何范圍的邏輯,包括其他服務。服務應 該被設計為能夠參與其他服務組合的有效成員。服務的組合性涉及到模塊化結 構,模塊化結構使服務可以被組裝成開發(fā)者在設計服務時沒有意識到的應用, 使用已經存在并測試好的服務模塊大大提高了系統(tǒng)的質量以及開發(fā)效率。 8 服務是自包含的 服務所暴露的邏輯范圍位于一個清晰的邊界內,允許服務對所有的處理進 行自我管理。這消除了對其他服務的依賴。 9 服務是無狀態(tài)的 服務應當盡量少地保存和管理狀態(tài)信息,以及保持的持續(xù)時間。狀態(tài)信息 是對當前活動的特定數據。無狀態(tài)是推動服務復用性和可擴展性的首要條件。 2 1 5s o a 的優(yōu)勢 在企業(yè)級應用中采用面向服務的體系結構具有以下優(yōu)勢f 1 4 】: ( 1 ) 利用現(xiàn)有的資產 1 2 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 s o a 提供了一個高層次的抽象層,通過這個抽象層,可以將業(yè)務構造成現(xiàn) 有服務的集合。使用這種新的服務只需要知道它的接口和名稱,服務的內部細 節(jié)以及組成服務的組件之間的數據復雜性都對外界隱藏了。這種組件的匿名性 使組織能夠利用現(xiàn)有的資產,從而通過合并構建在不同的機器上、運行在不同 的操作系統(tǒng)中和用不同的編程語言開發(fā)的組件來創(chuàng)建服務。組織可以繼續(xù)從現(xiàn) 有的資源中獲益,而不必重新構建系統(tǒng)。 ( 2 ) 更易于集成和管理 在面向服務的體系結構中,集成點是規(guī)范而不是實現(xiàn)。這提供了實現(xiàn)的透 明性,并將因為基礎設施和實現(xiàn)發(fā)生的改變帶來的影響降到最低限度。通過提 供針對基于完全不同的系統(tǒng)構建的服務規(guī)范,使應用集成變得更加易于管理。 特別是當多個企業(yè)一起協(xié)作時,這會變得更加重要。 ( 3 ) 更快的響應速度 利用現(xiàn)有的組件和服務,可以縮短軟件開發(fā)生命周期( 包括收集需求、進 行設計、開發(fā)和測試) 。包含松散耦合的、可組合的、以及可互操作的和有復 用潛力的服務的標準化技術環(huán)境,可以建立更具適應力的自動化環(huán)境,從而提 高了企業(yè)適應業(yè)務變化的能力。 ( 4 ) 與技術的松散耦合 在基于s o a 的應用開發(fā)中,服務建模獨立于服務的執(zhí)行環(huán)境。通過構建 服務能夠建立一個業(yè)務邏輯抽象和技術抽象,把業(yè)務邏輯與具體實現(xiàn)技術分離 開來,使企業(yè)應用徹底擺脫面向技術的解決方案的束縛。 ( 5 ) 有利于職責的劃分 業(yè)務人員和技術人員分別關注業(yè)務問題和技術問題,兩組人員通過服務契 約進行協(xié)同。 2 2w e b 服務 s o a 在w e b 服務出現(xiàn)之前就已經存在了,然而,沒有更先進的技術比w e b 服務更適合表現(xiàn)s o a 。w 曲服務是廣泛普及的、簡單的和平臺中立的。 w e b 服務并不是實現(xiàn)s o a 的惟一方式。通用對象請求代理體系結構 1 3 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,c o r b a ) 已經出現(xiàn)很長時間了, 其定義的概念與s o a 相似,同樣面向消息的中間件( m e s s a g e o r i e n t e d m i d d l e w a r e ) 系統(tǒng)也是一種方式。 如圖2 3 所示,基本的w e b 服務協(xié)議?!? 5 】包含了s o a p 、w s d l 、u d d i 等支持服務請求者與服務提供者進行交互,以及用于w e b 服務發(fā)現(xiàn)的規(guī)范。 服務提供者通常用w s d l 來描述它所提供的w e b 服務,然后將該w s d l 描述 發(fā)布;服務請求者可以通過u d d i 或其他注冊庫來獲取w s d l 描述,并通過向 服務提供者發(fā)送一個s o a p 消息來請求執(zhí)行服務?;镜膚 e b 服務標準,已 經適于構建基本s o a 的應用了,但還不足以構建其他應用。 w 汛臣垂習 一- 叵因 w 眥臣垂習 s o a p 至 一叵 一 服 、安 管務 全 理質 量 圖2 - 3 基本的w e b 服務協(xié)議棧 除基本的w e b 服務規(guī)范( s o a p 和w s d l ) 以外,其他各種用于安全性 ( s e c u r i t y ) 、可靠性( r e l i a b i l i t y ) 、事務性( t r a n s a c t i o n s ) 、元數據管理( m e t a d a t a m a n a g e m e n t ) 及服務編$ 1 ( o r c h e s t r a t i o n ) 等方面的補充w e b 服務規(guī)范也正在標 準化的過程之中,這些都為基于s o a 的解決方案提供了必須的企業(yè)級服務質 量,以支持各類任務關鍵型、企業(yè)級的項目。下面幾節(jié)將對w e b 服務協(xié)議棧 中的相關協(xié)議進行研究。 可擴充標記語言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 標準是一個基于文本 的w 3 c 規(guī)范的標記語言【1 6 】。與h t m l 使用標簽來描述外觀和數據不同,x m l 1 4 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 嚴格地定義可移植的結構化數據。它可以作為定義數據描述語言的語言,例如 標記語法或詞匯、交換格式和通訊協(xié)議和契約等。 x m l 作為一種標記語言,有以下特點: 1 ) 可擴展性:標記是面向內容的,用戶可以自定義所需要且有實際意義的 標記。 2 ) 具有結構化特性:x m l 文檔的實現(xiàn)是一種樹形的結構,通過標簽的嵌套, x m l 可以描述任意層次的文檔結構。 3 ) 內容與表示的分離性:x m l 文檔只是對內容的描述,它的外觀則需要通 過x s l ( x m l 模式語言) 來描述。 4 ) 平臺無關性:x m l 是一種自描述的語言,數據本身包含了元數據。另外, x m l 是基于純文本的語言,能夠被各種平臺支持。在面向服務的體系結構中 的關鍵問題就是服務如何描述,服務描述的重點是要讓服務請求者能夠更好的 理解服務。在服務描述中,x m l 模式是基本數據類型的機制,所有服務描述 技術都使用x m l 來表示。s o a 中服務的許多強大的功能均來自x m l 的強大 能力。 2 2 2w s d l w e b 服務描述語言【1 7 】( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,w s d l ) 是一個 提供描述服務i d l ( 接口定義語言) 標準方法的x m l 詞匯,它是理解s o a 中 服務的關鍵,也是服務設計相關的最基礎的技術標準。w s d l 是融合 n a s s l ( m ) 和s d l ( m i c r o s o f t ) 之間的活動產物,它為服務提供者提供了描述 遠程方法調用( r m i ) 的請求消息和響應消息的格式的一個簡單方法。w s d l 不 依賴于底層的協(xié)議和編碼要求,它是一種抽象的語言,利用各自的參數和數據 類型來定義被發(fā)布的操作。該語言還涉及了服務的位置和綁定細節(jié)的定義,開 發(fā)者用w s d l 描述一組s o a 中服務所支持的操作,包括:操作輸入和輸出所 期望的對象類型,具體網絡的格式約定,以及數據編碼的方案,這一層構成了 服務接口的核心定義。w s d l 文檔類型還可以幫助在u d d i 注冊中心發(fā)布和查 找服務描述,w s d l 文檔被分為兩種類型:服務接口( s e r v i c ei n t e r f a c e ) 和服 務實現(xiàn)( s e r v i c ei m p l e m e n t a t i o n s ) 。 1 5 西北大學碩士研究生學位論文第二章面向服務的體系結構及其相關技術 服務接口由w s d l 文檔來描述,這種文檔包含服務接口的t y p e s 、i m p o r t 、 m e s s a g e 、p o r t t y p e 和b i n d i n g 等元素。服務接口包含將用于實現(xiàn)一個或多個服 務的w s d l 文檔定義,它是w e b 服務的抽象定義,并被用于描述某種特定類 型的服務。通過使用一個i m p o r t 元素,一個服務接口文檔可以引用另一個服務 接口文檔。例如,一個僅包含
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 情經費預算方案(3篇)
- 工裝材料現(xiàn)場管理制度
- 宜昌裝修監(jiān)理方案(3篇)
- 唐山培訓機構管理制度
- 小米老板日常管理制度
- 哈根達斯公司管理制度
- 公園加強日常管理制度
- 平安校園建設管理制度
- 兒童藝術劇場管理制度
- 健全質量安全管理制度
- 中醫(yī)針灸治療腦梗塞后遺癥的應用實踐
- 2025年高等數學期末考試試題及答案
- 2024中國國新基金管理有限公司相關崗位招聘7人筆試參考題庫附帶答案詳解
- 2025屆各地名校4月上旬高三語文聯(lián)考作文題目及范文12篇匯編
- 【9語一模】2025年4月天津市和平區(qū)九年級中考一模語文試卷(含答案)
- 青少年網絡安全知識講座
- 2025年高考物理大題突破+限時集訓(含解析)
- 人體解剖學題庫(含答案)
- 法人授權委托書深圳標準版
- srs13a中文說明書編程手冊
- 江西省部分高中學校2024-2025學年高一下學期聯(lián)考生物試卷(原卷版+解析版)
評論
0/150
提交評論