亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        水廠基于企業(yè)服務總線的應用集成研究

        2014-03-16 11:01:00朱海峰
        凈水技術 2014年1期
        關鍵詞:代理服務消息定義

        冼 峰,朱海峰

        (上海市自來水市北有限公司,上海 200086)

        1 引言

        隨著現(xiàn)代企業(yè)系統(tǒng)信息化應用水平的不斷提高,信息化系統(tǒng)的應用規(guī)模已進入多系統(tǒng)、多業(yè)務、多層次、大規(guī)模的階段。為了進一步提高各個系統(tǒng)的集成性、統(tǒng)一性和可維護性,保障業(yè)務開展和系統(tǒng)運維效率,需要對信息系統(tǒng)進行新的總體規(guī)劃。通過業(yè)界先進成熟的IT技術,以實現(xiàn)內(nèi)部眾多業(yè)務系統(tǒng)之間的數(shù)據(jù)集成、應用集成、流程集成,實現(xiàn)信息共享與知識管理,使得業(yè)務更集約化、扁平化。

        本次基于企業(yè)服務總線(ESB)的應用集成研究的總體目標是:通過ESB的應用研究,在技術、標準和管理方面,為建設基于SOA的企業(yè)架構及進一步推進企業(yè)信息化,奠定堅實的基礎。

        2 應用集成現(xiàn)狀與問題

        2.1 集成現(xiàn)狀

        首先分析供水企業(yè)管理工作中的地理綜合展示系統(tǒng)與相關業(yè)務系統(tǒng)的集成方式。然后分別分析涉及產(chǎn)水[如數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(Supervisory Control And Data Acquisition,SCADA)、水質(zhì)監(jiān)測]、供水(如新裝業(yè)務、項目工程、GIS管網(wǎng))、售水服務(如營收、現(xiàn)場維修)各個環(huán)節(jié)的核心業(yè)務流程、信息系統(tǒng)及其集成方式。

        總體情況概括如圖1所示。

        2.2 存在的問題

        經(jīng)過分析整理,這些應用存在的問題主要有:

        (1)各系統(tǒng)/部門之間的數(shù)據(jù)交換方式包括線上和線下,線下傳遞的圖紙等資料由專人錄入,項目工程的編號依賴人工約束。

        (2)系統(tǒng)間是點對點的集成,一般直接通過數(shù)據(jù)庫,或者XML RPC交換數(shù)據(jù)。

        (3)各個系統(tǒng)有自己獨立的用戶管理體系,而且安全堪憂。

        (4)各系統(tǒng)的主數(shù)據(jù)分散管理,有些系統(tǒng)還存在主數(shù)據(jù)無管理、錯誤的情況。

        (5)包括供水熱線提供的外部主數(shù)據(jù)沒有得到管理和復用。

        圖1 應用集成現(xiàn)狀Fig.1 Status Quo of Application Integration

        (6)各種服務接口一般由提供數(shù)據(jù)的系統(tǒng)廠商作為服務提供者,與作為服務使用者的系統(tǒng)廠商根據(jù)兩兩約定后進行設計開發(fā)。這樣的服務接口沒有復用,且大多處于無管理的狀態(tài),也沒有安全控制。

        3 面向服務的集成架構

        3.1 面向服務的體系結構與集成

        面向服務的集成(Service Oriented Integration,SOI)是在面向服務的體系結構(Service Oriented Architecture,SOA)下,通過服務的交互來集成企業(yè)的各種數(shù)據(jù)資源,幫助企業(yè)將不靈活的舊系統(tǒng)集成起來,把業(yè)務數(shù)據(jù)或業(yè)務功能釋放為可重用的服務。

        面向服務的集成使得IT機構能夠在已有的應用中提取可重用的服務功能,將傳統(tǒng)的集成對象與開放的、高靈活性的Web服務整合在一起,提供抽象的接口來規(guī)定系統(tǒng)如何與其他系統(tǒng)進行通信。系統(tǒng)可以通過這些接口進行交互,而不是使用底層協(xié)議和自定義的編程接口。

        SOI是對以往企業(yè)集成技術的繼承與發(fā)展。它基于關注點分離、松散耦合等源自最佳實踐的架構原則,繼承了企業(yè)應用集成、消息總線、流程集成、數(shù)據(jù)集成等優(yōu)秀技術。結合SOA先進思想的SOI正在成為企業(yè)集成的新方向。

        SOA是能夠使IT和業(yè)務緊密結合的手段和工具,為提升業(yè)務靈活性,其主要達成的目標包括五個方面:

        (1)可重用:通過服務封裝在應用之間實現(xiàn)可重用,這也是SOA的核心價值體現(xiàn);

        (2)分布式:遠程訪問、集中管理;

        (3)開發(fā)性:在不同平臺和操作環(huán)境下共享;

        (4)靈活性:SOA的目標是實現(xiàn)業(yè)務的靈活性,應用可以被加入到新的模塊;

        (5)松散耦合:服務的實現(xiàn)與使用分離。

        3.2 企業(yè)服務總線

        企業(yè)服務總線(Enterprise Service Bus,ESB)的概念是從面向服務的體系結構發(fā)展而來的,與以服務為導向的應用架構體系緊密連接在一起,是SOA核心組成部分,是SOA架構中應用整合的骨干。

        ESB是預裝的SOA實現(xiàn),包括了實現(xiàn)SOA目標所必需的基礎功能組件。服務通過ESB進行交互。

        ESB是傳統(tǒng)中間件技術與Web Service、XML等技術結合的產(chǎn)物,用于消除眾多平臺及具體應用間的異構性,促進平臺間的互操作,使不同格式數(shù)據(jù)間實現(xiàn)共享。

        通過調(diào)查研究,我們選擇Oracle完全基于J2EE技術構建 ESB產(chǎn)品——甲骨文服務總線(Oracle Service Bus,OSB)進行供水企業(yè)應用集成的實證研究。

        4 基于OSB的應用集成研究

        4.1 工廠總體規(guī)劃

        工廠總體規(guī)劃及建議如圖2所示。

        圖2 IT總體規(guī)劃Fig.2 Blueprint of Enterprise IT

        4.2 服務設計開發(fā)標準

        通過研究實際情況,編寫《XX供水企業(yè)基于企業(yè)服務總線的應用集成信息化標準》(以下簡稱《標準》),對Web服務供應方和ESB建立包括互操作性、消息內(nèi)容規(guī)范、消息協(xié)議、傳輸協(xié)議、服務描述、服務安全等在內(nèi)的開發(fā)標準。

        可以據(jù)此基于標準的接口定義和一致的實現(xiàn)手段,以面向服務的方式展開企業(yè)集成,逐步開發(fā)出一套強壯的集成解決方案。

        4.3 既有WEB服務問題分析

        參照《標準》,分析發(fā)現(xiàn)企業(yè)中既有服務的合規(guī)情況如表1所示。

        表1 既有服務合規(guī)情況Tab.1 Compliance of Existing Services

        具體而言,既有服務存在以下問題:

        1)數(shù)據(jù)格式在服務接口中沒有通過XML Schema(XSD)加以規(guī)范

        業(yè)務數(shù)據(jù)作為消息交換主體,在服務接口里被模糊地定義為字符串類型,這使得服務接口無法做到自我描述,增加了調(diào)試維護及使用驗證等方面的困難;另外,由于缺乏對業(yè)務數(shù)據(jù)的對象類描述,Web服務消息協(xié)議SOAP(簡單對象訪問協(xié)議)被事實上降格為一種傳輸通道,完全失去了使用SOAP的好處和意義。

        2)個別服務實現(xiàn)有SQL注入的安全風險

        空間查詢和管網(wǎng)查詢服務在請求消息的主體內(nèi)直接注入SQL查詢語句,這是上述問題所帶來風險的一個極端化實例。

        3)業(yè)務數(shù)據(jù)沒有統(tǒng)一標準

        這更多的不是服務設計問題,而是由于企業(yè)缺乏統(tǒng)一數(shù)據(jù)標準,無法對系統(tǒng)開發(fā)商提出相應的要求與約束;缺乏數(shù)據(jù)標準的結果就是同一數(shù)據(jù)類型在不同Web服務里表現(xiàn)為不同格式,從而造成服務開發(fā)與使用環(huán)節(jié)的浪費。

        4)缺乏對命名空間的規(guī)范管理

        所有既有服務的描述文件(WSDL)都使用臨時的http://tempuri.org/作為目標命名空間;這在服務數(shù)量不多的情況下沒什么問題,但隨著服務數(shù)量不斷增多,缺乏對命名空間的規(guī)范定義和使用會造成潛在的資源名字沖突和管理混亂。

        5)缺乏對服務發(fā)布地址的規(guī)范管理

        表2列出了既有服務的發(fā)布地址;隨著服務數(shù)量的不斷增多,缺乏對服務發(fā)布地址的規(guī)范定義會造成資源管理混亂。

        表2 既有服務發(fā)布地址Tab.2 Addresses of Existing Services

        4.4 典型集成實例的設計開發(fā)

        4.4.1 以透傳的方式發(fā)布既有服務

        “透傳”即透明傳遞,也就是把既有服務接入OSB,然后在不改變服務接口定義的情況下原樣發(fā)布出去。

        通過OSB透傳發(fā)布既有服務非常簡單,分兩個步驟來做,如表3所示。

        表3 既有服務發(fā)布步驟Tab.3 Steps for Publishing Existing Services

        顯然,將既有服務以透傳方式發(fā)布在OSB上有以下好處:

        1)便于對服務的發(fā)布地址進行規(guī)范管理

        這從所有代理服務的新地址上就可一目了然(如表4)。

        表4 規(guī)范服務發(fā)布地址Tab.4 Addresses of Normative Services

        2)便于對服務的使用情況進行集中監(jiān)控

        一旦對既有服務的調(diào)用都割接到對透傳代理服務的調(diào)用,我們就可以通過OSB管理界面對服務的使用情況進行有效的集中監(jiān)控。

        但是,簡單的透傳代理服務無法解決既有服務的《標準》合規(guī)問題,前面第4.3(既有WEB服務問題分析)中列出的1)~4)項問題依然存在。

        為此我們繼續(xù)研究如何基于OSB重構現(xiàn)有的服務。

        4.4.2 為業(yè)務數(shù)據(jù)定義規(guī)范的XSD描述

        在既有服務的WSDL里被定義為字符串類型的業(yè)務數(shù)據(jù),其實有著自身的XML結構;所以,第一步要做的就是用XML Schema(XSD)語言對這些既有數(shù)據(jù)結構進行規(guī)范定義。

        以遠傳水表服務的MeterHistoryInfo操作為例,給定水表ID和時間范圍,它會返回水表在這個時間段內(nèi)的讀數(shù)信息(如圖3、圖4)。

        <MeterHistoryInfoResult>元素在 WSDL里被定義為模糊的String類型,但它其實也是一個XML結構,我們用XSD對其的定義如圖5所示。

        圖3 SOAP請求消息Fig.3 SOAP Request Message

        圖4 SOAP響應消息Fig.4 SOAP Response Message

        圖5 XSD定義Fig.5 XML Schema Definition

        從上面的業(yè)務數(shù)據(jù)結構可以看出幾個問題(其他既有服務都存在同樣問題):

        (1)元素和元素屬性命名非常隨意,在英文大小寫和縮寫的使用上完全沒有規(guī)范可循;

        (2)不少元素屬性的命名采用了讓人無法直觀理解的縮寫,不利于服務維護與使用。

        為此,我們?yōu)槊總€服務定義了全新的采用一致命名規(guī)范的業(yè)務數(shù)據(jù)格式。還是以上面的XML結構為例,新的XSD描述如圖6所示。

        基于新XSD的XML結構與既有結構的格式對照如圖7所示。

        4.4.3 為代理服務定義新的WSDL描述

        對既有服務的重構體現(xiàn)在代理服務擁有不同于(優(yōu)于)既有服務的WSDL描述,這些不同包括:

        1)新WSDL對消息格式的定義基于新的業(yè)務數(shù)據(jù)XSD

        這樣的WSDL在語義上實現(xiàn)了自我描述,容易理解和使用,也便于支持將來的業(yè)務數(shù)據(jù)標準化(如圖8)。

        2)新WSDL及其引用的新XSD都采用了規(guī)范的命名空間

        (1)新代理服務的命名空間都以http://shanghaiwater.com/wsdl開頭;

        圖6 規(guī)范的XSD定義Fig.6 Normative XML Schema Definition

        圖7 格式對比Fig.7 Schema Comparison

        圖8 WSDL定義Fig.8 WSDL Definition

        (2)新業(yè)務數(shù)據(jù)的命名空間都以http://shanghaiwater.com/xsd 開頭。

        3)新WSDL對服務操作的命名進行了規(guī)范

        操作名的修改使得語義上更準確直觀,英文大小寫和縮寫也得到規(guī)范,例如:

        MeterGISInfo→getMeterInfo;

        MeterHistoryInfo → getMeterMeasurement。

        4.5 設計并實現(xiàn)代理服務的消息流

        對既有服務重構的核心在于設計并實現(xiàn)代理服務的消息流業(yè)務邏輯。該消息流把服務請求方發(fā)來的符合新WSDL定義的SOAP請求消息,轉(zhuǎn)換成符合既有服務WSDL定義的SOAP請求消息發(fā)送給對應的業(yè)務服務,再把業(yè)務服務返回的符合既有服務WSDL定義的SOAP響應消息,轉(zhuǎn)換成符合新WSDL定義的SOAP響應消息返回給服務請求方(如圖9)。

        由于響應消息的轉(zhuǎn)換比請求消息的轉(zhuǎn)換來得復雜,所以我們以前者為例做進一步的說明;響應消息的轉(zhuǎn)換涉及多個步驟,其中最關鍵的有兩個:

        1)提取既有服務響應消息里的結果字符串并轉(zhuǎn)換為XML對象

        如前所述,既有服務的WSDL把響應消息里代表結果的XML結構都籠統(tǒng)地定義為字符串;我們要做的就是把這個字符串從響應消息里提取出來,然后轉(zhuǎn)換成OSB所需要的XML對象以便后續(xù)處理。我們?yōu)榇藢懥艘粋€Java調(diào)用函數(shù)XmlObject StringResultParser.parse(String)(如圖 10)。

        圖9 重構后的信息流Fig.9 Reconfigured Information Flows

        圖10 Java調(diào)用代碼Fig.10 Java Callout

        2)把上一步得到的XML對象轉(zhuǎn)換為新的SOAP響應消息

        為完成這個轉(zhuǎn)換,我們須在代表既有服務響應結果的XSD類型(比如MeasurementResultType)和代表代理服務響應結果的 XML元素(比如MeasurementResponse)之間定義 XQuery變換(如圖11)。

        OSB開發(fā)工具會自動生成XQuery變換代碼,涉及既有服務XSD命名空間的個別地方需要手工調(diào)整,最終代碼看起來如圖12所示。

        4.6 為代理服務增加安全性配置

        我們可以根據(jù)《標準》對服務安全性的要求,增加代理服務對請求方的身份認證。下以HTTP Basic Authentication(基本身份驗證)為例,加以說明:

        圖11 定義XQuery變換Fig.11 Defining XQuery Transformation

        圖12 XQuery變換代碼Fig.12 XQuery Transformation Code

        (1)在OSB管理應用里創(chuàng)建用戶賬號和口令(如圖13);

        (2)在代理服務的傳輸配置里增加身份驗證選項(如圖14)。

        增加上述配置后,調(diào)用代理服務必須提供正確的用戶名和口令,否則就會因HTTP 401錯誤而無法訪問服務(如圖15、圖16)。

        4.7 結果對比分析

        使用OSB實現(xiàn)對既有服務的透傳發(fā)布非常容易,只需進行簡單配置,無需定義新的XSD或WSDL等XML描述文件,更不需編程,但獲得的好處有限。

        如果嚴格依照《標準》在OSB上實現(xiàn)對既有服務的重構,就必須對既有服務的消息格式進行分析,重新定義代理服務的XSD和WSDL描述文件,設計不同XML格式之間的XQuery變換,甚至要通過Java編程處理更復雜的業(yè)務邏輯——這對OSB集成開發(fā)員的能力提出了一定要求,但服務重構產(chǎn)生的合規(guī)Web服務對企業(yè)今后推進面向服務的集成有巨大好處,對企業(yè)數(shù)據(jù)標準化也有明顯促進作用。

        圖13 OSB創(chuàng)建用戶界面Fig.13 Creating a User in OSB

        圖14 代理服務配置界面Fig.14 Configuring Proxy Service

        圖15 調(diào)用代理服務Fig.15 Invoking Proxy Service

        圖16 調(diào)用代理服務結果Fig.16 Response from Proxy Service

        5 總結

        本次研究充分借鑒國內(nèi)外公共服務行業(yè)SOA建設經(jīng)驗、融合業(yè)界先進技術標準進行自主研發(fā)、建設,在一定程度上具有領先性,主要體現(xiàn)在架構先進、技術領先方面。

        研究的目標是研究出適合企業(yè)適用的技術標準、管理規(guī)范,選用統(tǒng)一的架構體系和技術構建開放的、集成的、一體化的信息化應用環(huán)境,在此基礎上構建以服務為導向的、一體化的、高效的企業(yè)業(yè)務應用,便于將來在既有應用信息資源的基礎上分階段實施新的信息系統(tǒng)規(guī)劃。

        為了在本次研究的成果之上繼續(xù)深入推進基于服務總線的企業(yè)應用集成,企業(yè)考慮從以下幾個方面著手布局:

        (1)數(shù)據(jù)標準——成立專門的企業(yè)數(shù)據(jù)標準管理委員會,負責制定、維護和推廣企業(yè)主數(shù)據(jù)與業(yè)務數(shù)據(jù)標準。該委員會要對企業(yè)數(shù)據(jù)標準的分類、描述語言、變更(版本)管理、保存與發(fā)布、使用合規(guī)管理等方面做出明確規(guī)定,并提供相應的文檔與流程管理工具?;谏鲜鲆?guī)定,委員會要通過實施專項來定義和維護企業(yè)的數(shù)據(jù)標準;

        (2)主數(shù)據(jù)服務——遵照《標準》(本研究項目的成果)和企業(yè)主數(shù)據(jù)標準,開發(fā)企業(yè)的主數(shù)據(jù)服務并在ESB上部署;

        (3)業(yè)務服務——針對常用的業(yè)務功能或業(yè)務流程,設計開發(fā)可共享的企業(yè)級業(yè)務服務并在ESB上部署;

        (4)人才培養(yǎng)——除非準備完全依靠外部供應商來實施上述任務,企業(yè)IT部門應該加強對內(nèi)部人才的培養(yǎng)和鍛煉,特別是與企業(yè)應用集成相關的分析、設計與開發(fā)能力。這包括(但不限于):常用的企業(yè)集成設計模式與技術、與XML相關的技術標準與 工 具 (XML,XML Namespace,XML Schema,XSLT)、ESB產(chǎn)品的配置與開發(fā)工具、常用的Java集成開發(fā)環(huán)境(Eclipse)等。在項目實施過程中,通過員工管理制度和項目管理安排使內(nèi)部IT人才和外部供應商團隊融為一體,是快速提高他們工作和學習能力的一個捷徑。

        猜你喜歡
        代理服務消息定義
        一張圖看5G消息
        農(nóng)村“三資”代理服務淺析
        網(wǎng)絡安全與防火墻技術
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        基于代理服務的OPAC系統(tǒng)擴展設計及實現(xiàn)
        消息
        消息
        消息
        國際貨物運輸代理服務免征增值稅
        財會學習(2014年8期)2014-09-03 02:15:09
        修辭學的重大定義
        當代修辭學(2014年3期)2014-01-21 02:30:44
        无码a∨高潮抽搐流白浆| 亚洲av午夜福利精品一区不卡| 国产一区二区三区亚洲精品| 国产精品美女久久久久| 真人与拘做受免费视频| 丝袜美女污污免费观看的网站| 99精品成人片免费毛片无码| 91久久国产精品视频| 999精品免费视频观看| 久久道精品一区二区三区| 韩日无码不卡| 久久久久久人妻一区二区无码Av | 99久久免费看少妇高潮a片特黄| 久久精品亚洲乱码伦伦中文| 制服丝袜人妻中出第一页| 久久国产精品男人的天堂av| 亚洲一区二区三区在线观看| 亚洲免费av第一区第二区| 国产av一区二区三区狼人香蕉| 97女厕偷拍一区二区三区 | 国产精品成人自拍在线观看| 国产女优一区在线观看| 在线观看老湿视频福利| 精品乱码一区内射人妻无码| 亚洲热线99精品视频| 久久综合给合综合久久| 亚洲精品92内射| 又硬又粗又大一区二区三区视频 | 性色av 一区二区三区| 国内精品久久久久久无码不卡| 亚洲Va中文字幕久久无码一区| 亚洲人妖女同在线播放| 自拍情爱视频在线观看| 亚洲最大一区二区在线观看| 人人做人人爽人人爱| 免费无码a片一区二三区| 三男一女吃奶添下面| 亚洲熟妇色xxxxx欧美老妇y| 国产麻豆精品久久一二三| 麻豆久久91精品国产| 亚洲色成人网站www永久|