<p id="nxp5x"><big id="nxp5x"><noframes id="nxp5x">

    <var id="nxp5x"><video id="nxp5x"></video></var>

          <em id="nxp5x"></em>

              首 頁 本刊概況 出 版 人 發行統計 在線訂閱 歡迎投稿 市場分析 1 組織交流 1 關于我們
             
            1
               通信短波
            1
               新品之窗
            1
               優秀論文
            1
               通信趨勢
            1
               特別企劃
            1
               運營商動態
            1
               技術前沿
            1
               市場聚焦
            1
               通信視點
            1
               信息化論壇
            1
            當前位置:首頁 > 優秀論文
            基于BPEL的校園網服務平臺的研究與實現
            作者:張碩[1] 王鋼[2] 李濱[3] (內蒙古工業大學 信息學院,內蒙古 呼和浩特 010051)
            來源:本站原創
            更新時間:2010/5/25 13:44:00
            正文:

            基于BPEL的校園網服務平臺的研究與實現

            張碩[1] 王鋼[2] 李濱[3]

            (內蒙古工業大學信息學院,內蒙古 呼和浩特 010051)

                BPEL(業務流程描述語言Business Process Execution Language,)是實現SOA思想的重要方法和途徑,BPEL為解決基于不同架構和開發語言的遺留系統整合問題提供了新的思路。文章介紹了一種利用 ORACLE BPEL產品對現有的Web 服務進行業務整合的實際方法,同時闡釋了BPEL流程的內部工作機制,通過實際的整合和應用,使原有的系統可以適應新的業務需求,也論證了SOA設計架構、BPEL業務流程這些技術并非僅僅停留在概念層面上,而是確實可以解決業務流程整合的有效方法。

            關鍵詞: 業務流程描述語言;面向服務的架構; Web 服務

            中圖法分類號:  TP393          文獻標識碼:  A

             Research and Realization of the Application of BPEL in Campus Web Service

            ZHANG Shuo WANG Gang LI Bin

            Inner Mongolia University of Technology,Hu Hehaote 010051,China.zs

            Abstract: It is believed that BPEL (Business Process Execution Language) is an important approach to the realization of SOA (Service Oriented Architecture). BPEL offers new thoughts of solving system integration problems due to different architectures and programming languages. This paper shows that ORACLE BPEL is a practical way of business integration for web service. Meanwhile, it also elaborates the internal mechanism of BPEL-making the existing system adapt to the new business process through integration and application. The design architecture of SOA is also demonstrated in this paper. To sum up, BPEL is not just a concept but an effective way to solve the problems of business process integration.

            Key words: BPEL;SOA;Web services


            1    

            隨著IT技術的不斷發展,信息化建設的不斷變化,Web services技術正在得到廣泛的應用。銀行、企業以及一些高校正逐步在使用這項技術,基于XMLWeb services技術使得整個的應用程序開發技術從以操作系統為中心的應用程序組織模式擴展到以網絡為中心的組織模式,即在模式上從本地擴大到了全球。它給我們帶來的一大好處是:由于XML的支持,使得數據共享方式從原來的人-人、機器-人模式發展到機器-機器模式(軟件-軟件),Web services就是這個模式的具體應用。本文就是利用OracleSOA平臺和Jdeveloper工具對現有的Web 服務進行編排整合,在不改變這些Web services正常運行的情況下,把這些Web services有機的結合起來,從而完成更復雜的功能,并具有敏捷性,可以更好的適應業務的不斷變化,有效的提高了遺留系統的可重用性。

            2 基于BPEL的校園網服務平臺設計

            隨著數字化校園網絡的建設,學校的各個部門、各個學院都將擁有越來越多的Web services,雖然這些Web services優點明顯,但是同樣也存在不足,這時就是每一個Web services都只能完成一些特定的功能,當需要同時完成多個功能或一個復雜的功能時,可能需要訪問兩個或更多的Web services,就必須在這些Web services服務中來回的切換,輸入不同的參數,最后才能得到想要的結果,這將非常煩瑣,也容易出錯。如何在不改變這些Web services正常運行的情況下,把這些Web服務有機的結合起來,來更好的適應業務的變化,就成了各個企業高校要面對解決的問題,而BPEL的出現,為解決這一問題提供了一條途徑。

            BPEL是實現SOA構架的一種方法和手段。傳統軟件的實現方式是緊耦合的,當業務系統變化時,系統不能做到隨之變更或變更成本很大。但是,當一些業務功能轉化為Web services形式的服務后,再利用BPEL整合他們,就使得系統具備了適應業務變化的能力,從而當企業的業務發生變化時,企業不用重新開發系統,在不影響原有Web services運行的的基礎上,利用BPEL進行編排整合,產生新的業務流程,以適應變化的業務需求。

            目前把已有的應用系統Web services化,從而提高資源的利用率已經不是什么難事,有多種工具和技術可以實現,但是要真正體現出Web services的意義則需要把已有的Web services進行整合和編排從而適應新的需求。從高校中的Web services應用情況來看,整合應用是未來發展的主要方向。我校網絡中心的管理平臺兩個獨立的Web services應用系統:設備管理系統和綜合布線資源管理系統,由于是早期開發的產品,單個系統提供的數據已不能滿足日常網絡維護的需求,只有將兩個系統提供的數據合并到一起,才能形成一個有效的維護信息,F為了提高信息使用的靈活性將這兩個系統包裝為獨立的Web services。這樣就可為網絡維護提供一個完整的信息。目前根據網絡中心業務流程需要在客服服務流程中整合這兩個服務用于提供高效便捷的網絡維護。具體做法是利用BPEL整合綜合布線資源管理系統和設備管理系統,在不影響原有Web Services運行的基礎上,生成一個新的業務流程,該流程可通過一次查詢獲得到全部的維護信息。當接線員收到不能馬上解決的問題時,可通過調用該流程,輸入用戶的相關信息,這些信息被送到新的BPEL業務流程中,在業務流中經過參數的判斷,相關的參數被傳遞給了綜合布線資源管理和設備管理系統,數據從兩個系統中被系統篩選出,并生成一個擁有詳細信息的維修工作表單,里面包括了交換機的所在的位置,綜合布線連接的線路,用戶家網口所對應交換機的端口號,以及端口的狀態信息等,然后由維護部的老師再去參照生成的表單去進行設備的檢查維修。系統框架如圖所示:

             

            1:系統框架示意圖

            3 網絡服務平臺的實現

            網絡服務平臺主體采用OracleSOA SuiteOracle 10g數據庫搭建, SOA Suite為開發者提供了集成服務環境,在傳統中間件的基礎上還包含了ESBBPEL的功能支持,開發工具使用的是Jdeveloper10.1.3.4,它支持業務流程的設計、建模和編輯,并提供了一個圖形化的界面來構建 BPEL 流程。JDeveloper 構建的 BPEL 流程其源代碼是XML格式的,因此構建的流程具有可移植性。

            一個BPEL流程的實現是由多個簡單的步驟構成,每一個步驟又稱為一個活動,實現本實例的步驟主要有如下幾個:

            1 熟悉要編排整合的Web服務

            2 定義合作伙伴連接

            3 開發BPEL流程

            1)了解要編排整合的Web services

            在開始編寫BPEL流程之前,需要先了解在業務流程中編排整合的Web 服務,對外提供的接口,以及相應的Web 服務的描述文件(WSDL文件),在本示例中使用的是設備管理系統的Web 服務和綜合布線資源管理系統的Web 服務。

            Web services可以是由不同平臺,不同環境開發出來的,它可以使得任何應用程序或服務,無論其原始的實現如何,都可以封裝成統一形式。用戶不需要知道其具體功能如何實現的,只要拿到它的接口描述(也就是WSDL文件)就可以訪問該服務。

            在本實例中,主要是對設備管理系統務和綜合布線資源管理系統這兩個Web 服務進行編排整合,具體業務流程:當管理員需要查詢用戶信息,通過客戶端調用整合后的BPEL流程,輸入用戶的姓名和所在樓的單元和房間號,業務流程通過判斷,將輸入的信息分別傳送到設備管理系統務和綜合布線資源管理系統這兩個Web 服務,這個兩個Web 服務執行查詢后,并將相應的信息反饋給BPEL流程,最后再由BPEL流程整理得到的信息,生成一個完整的表單,并將該表單反饋給查詢的客戶端。系統實現如圖2所示。

             

            2:系統實現示意圖

            2)第2:定義合作伙伴鏈接

               合作伙伴鏈接市描述業務流程或其他服務的接口。BPEL 流程使用合作伙伴鏈接中存儲的信息調用這些外部服務,本實例主要定義的合作伙伴是:設備管理Web服務和綜合布線資源管理Web服務。每個 Web 服務都應在 WSDL 中定義相應的合作伙伴鏈接類型。每個合作伙伴鏈接可以擁有一個或兩個角色,我們必須為每個角色指定它的 portType。對于同步操作,由于操作只是單向調用,因此每個合作伙伴鏈接類型僅有一個角色。例如,此 BPEL 流程對設備管理服務調用查詢的操作,由于它是同步操作,因此 BPEL 流程等待完成并僅在完成操作后取得響應。合作伙伴鏈接使用 WSDL 中的 portTypes 定義構成服務接口的操作和消息類型。如圖3所示,portTypes 還間接定義了用于與服務(綁定)和服務的位置(服務)進行通信的傳輸。

             

            3工作中的 PortTypes

            3)第3:創建業務流程

            BPEL流程主體指定調用合作伙伴 Web 服務的順序。它通常以 <sequence>(用于定義多個將按順序執行的操作)開始。在順序中,我們首先指定啟動業務流程的輸入消息。我們使用 <receive> 構造(它等待輸入的信息)。在 <receive> 構造中,我們不直接指定消息。而是指定合作伙伴鏈接、端口類型、操作名稱以及可選變量(用于保存收到的消息以用于隨后的操作)。通常,BPEL 流程等待客戶端傳入的消息,以啟動業務流程的執行。在本示例中,客戶端通過發送輸入消息inputMessage 啟動此 BPEL 流程。然后,此 BPEL 流程通過<Assign>節點,將輸入的參數發送給設備管理Web服務和綜合布線資源管理 Web 服務。通過<invoke>節點調用Web服務,每個Web 服務將調用的結果返回給BPEL流程。然后, BPEL 將得到的數據輸出給客戶端。本實冽的BPEL流程示意圖:

             

            4:網絡服務BPEL流程

            實現的部分代碼如下:

            <?xml version = "1.0" encoding = "UTF-8" ?> //BPEL的原始代碼是XML文件

            <!—

            ...

            <process name="BPELProcess" targetNamespace=http://xmlns.oracle.com/BPELProcess

            <partnerLink name="client" partnerLinkType="client:BPEL1"

                             myRole="BPEL1Provider"/>

                <partnerLink myRole="EquipmentService _Role" name="EquipmentService "

                             partnerRole="EquipmentService_Role"

                  partnerLinkType="ns1:EquipmentService_PL"/>

            //合作伙伴鏈接類型在特殊命名空間http://xmlns.oracle.com/ BPELProcessWSDL 定義。partnerLink 定義要調用的Web的名字為EquipmentService,該Web服務在本BPEl流程中扮演的角色是服務提供者。

            。。。

            </partnerLinks>

            <sequence name="main"> //業務流程開始

            。。。

            <receive name="receiveInput" partnerLink="client" portType="client:BPEL1"

                         operation="process" variable="inputVariable" createInstance="yes"/>  

            <assign name="Assign_1">  //定義assgin控件名為Assign_1

            <copy> //賦值操作

            <from variable="inputVariable" part="payload" query="/client:BPEL1ProcessRequest/client:x"/>//將變量名為inputVariable的屬性x的值傳送給 Web服務中Invoke_1_interhello_InputVariable的屬性a.

            <to variable="Invoke_1_interhello_InputVariable" part="parameters"

            query="/ns2:interhelloElement/ns2:a"/>

            </copy>

            。。。

            </assign>

            <reply name="replyOutput" partnerLink="client" portType="client:BPEL1"

            operation="process" variable="outputVariable"/>

            // BPEL流程處理的結果反饋給客戶端

            </sequence> //流程結束

            4)整合后的BPEL流程

            平臺中通過Jdeveloper10.1.3.4提供的一個BPEL組件來實現對相應Web服務的編排整合,整合后的BPEL的流程通過Jdeveloper發布到Oracle SOA 套件中的BPEL流程管理器中,成功發布后,登陸到BPEL流程管理器中,可以看到該流程,該流程也可以看作一個Web服務,并且Oracle 的流程管理器中提供了該業務流程的WSDL文件,利用該WSDL文件,我們可以編寫一個JSP文件,通過網頁直接調用該流程,對于調用該流程的用戶來說,只能看到一個對外的接口,里面具體有多少個Web服務,以及是如何實現的是看不到的,這樣既可以簡化操作,又可以靈活的實現對Web服務的編排整合。通過BPEL整合,大大提高了原有Web服務的工作效率,簡化了操作過程,縮短了數據的查詢時間,更主要的是,在沒有新成本投入的情況下,利用原有的系統,滿足了新的業務需求,避免為了因新的業務而重新開發程序,從而降低了系統的成本,實現了現有應用系統的可重用性。

            4    

            本文對SOA--面向服務的體系架構和BPEL編程思想進行深入的研究。在構建SOA基于統一的標準和松耦合的特性基礎上,利用BPEL將已存在的Web 服務整合起來,生成新的業務來簡化操作的過程,加強服務效率,理順在校園網用戶管理中的每個環節和相互之間的關系和銜接,使得校園網的維護工作的更加簡潔,管理更加到位,實現這些管理軟件的無縫整合,通過對校園網Web services 的編排整合,在SOABPEL方面做一些理論研究和應用,論證其可用性和實用性,從而在今后的校園網建設中,保證不同時期、不同產品供應商開發出來的Web Services可以相互整合在一起,使系統日趨完善,從而保證數字校園建設的可持續性發展。

            參考文獻:

            [1] 梁愛虎.精通SOA:基于服務總線的Struts+EJB+Web Servide 整合應用開發 [M].北京:電子工業出版社,2007.1

            [2] 柴曉路等著.Web Services技術、架構和應用 [M].北京:電子工業出版社,2003.1

            [3] 毛新生著. SOA 原理•方法•實踐 [M].北京:電子工業出版社博文視點,2007.5

            [4] 王紫瑤著, SOA核心技術及應用 [M].北京:電子工業出版社博文視點,2008.5

            [5] 梁愛虎著.精通SOA:思想、技術與系統集成應用詳解 [M].北京:電子工業出版社,2007.12

            [6] 喻堅,韓燕波著.面向服務的計算:原理和應用 [M]. 北京:清華大學出版社,2006.12

            [7]().伊爾(Erl.T.) 著:王滿紅,陳榮華譯.SOA概念、技術與設計 [M]. 北京:機械工業出版社,2006.10

            [8]     Oracle. Oracle® Data Integrator User's Guide 10g Release 3 (10.1.3).2009.

            [9] Oracle. Oracle® Data Integrator Reference Manual 10g Release 3 (10.1.3).2008.

            [10] Oracle. Oracle® SOA Suite Developer's Guide, 10g (10.1.3.1.0).2006.


             

            作者簡介張碩,,內蒙古呼和浩特市人,碩士研究生,研究方向SOA架構、BPEL工作流

                                                                           10354

             
             
               
            《通信市場》 中國·北京·復興路49號通信市場(100036) 點擊查看具體位置
            電話:86-10-6820 7724, 6820 7726
            京ICP備05037146號-8
            建議使用 Microsoft IE4.0 以上版本 800*600瀏覽 如果您有什么建議和意見請與管理員聯系
            欧美成人观看免费全部欧美老妇0