999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2014-03-16 11:01:00朱海峰
凈水技術 2014年1期
關鍵詞:定義規(guī)范標準

冼 峰,朱海峰

(上海市自來水市北有限公司,上海 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)內部眾多業(yè)務系統(tǒng)之間的數據集成、應用集成、流程集成,實現(xiàn)信息共享與知識管理,使得業(yè)務更集約化、扁平化。

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

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

2.1 集成現(xiàn)狀

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

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

2.2 存在的問題

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

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

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

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

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

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

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

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

3 面向服務的集成架構

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

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

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

SOI是對以往企業(yè)集成技術的繼承與發(fā)展。它基于關注點分離、松散耦合等源自最佳實踐的架構原則,繼承了企業(yè)應用集成、消息總線、流程集成、數據集成等優(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等技術結合的產物,用于消除眾多平臺及具體應用間的異構性,促進平臺間的互操作,使不同格式數據間實現(xiàn)共享。

通過調查研究,我們選擇Oracle完全基于J2EE技術構建 ESB產品——甲骨文服務總線(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建立包括互操作性、消息內容規(guī)范、消息協(xié)議、傳輸協(xié)議、服務描述、服務安全等在內的開發(fā)標準。

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

4.3 既有WEB服務問題分析

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

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

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

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

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

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

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

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

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

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

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

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

表2列出了既有服務的發(fā)布地址;隨著服務數量的不斷增多,缺乏對服務發(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)控

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

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

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

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

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

以遠傳水表服務的MeterHistoryInfo操作為例,給定水表ID和時間范圍,它會返回水表在這個時間段內的讀數信息(如圖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è)務數據結構可以看出幾個問題(其他既有服務都存在同樣問題):

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

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

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

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

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

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

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

這樣的WSDL在語義上實現(xiàn)了自我描述,容易理解和使用,也便于支持將來的業(yè)務數據標準化(如圖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è)務數據的命名空間都以http://shanghaiwater.com/xsd 開頭。

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

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

MeterGISInfo→getMeterInfo;

MeterHistoryInfo → getMeterMeasurement。

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

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

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

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

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

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

圖10 Java調用代碼Fig.10 Java Callout

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

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

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

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

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

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

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

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

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

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

4.7 結果對比分析

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

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

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

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

圖15 調用代理服務Fig.15 Invoking Proxy Service

圖16 調用代理服務結果Fig.16 Response from Proxy Service

5 總結

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

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

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

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

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

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

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

猜你喜歡
定義規(guī)范標準
2022 年3 月實施的工程建設標準
來稿規(guī)范
來稿規(guī)范
PDCA法在除顫儀規(guī)范操作中的應用
來稿規(guī)范
忠誠的標準
當代陜西(2019年8期)2019-05-09 02:22:48
美還是丑?
一家之言:新標準將解決快遞業(yè)“成長中的煩惱”
專用汽車(2016年4期)2016-03-01 04:13:43
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 久久久精品无码一二三区| 天天色天天综合网| 被公侵犯人妻少妇一区二区三区| 亚洲成a人在线观看| 91精品久久久无码中文字幕vr| 日韩国产无码一区| 91精品视频播放| 日本免费福利视频| 九色视频在线免费观看| 亚洲欧美色中文字幕| 自拍偷拍欧美日韩| 有专无码视频| 国内精品久久久久鸭| 国产高清精品在线91| 99人妻碰碰碰久久久久禁片| a毛片在线播放| 波多野结衣无码中文字幕在线观看一区二区 | 手机永久AV在线播放| 亚洲无码四虎黄色网站| 园内精品自拍视频在线播放| 国产精品手机视频| 99视频精品全国免费品| 日本一区二区不卡视频| 99视频在线免费观看| 色婷婷视频在线| 亚洲小视频网站| 97国产精品视频自在拍| 亚洲欧美成人影院| 午夜毛片福利| 亚洲国产AV无码综合原创| 欧美精品色视频| 88av在线| 又爽又大又光又色的午夜视频| 一级毛片免费高清视频| 免费不卡视频| 婷婷开心中文字幕| 超薄丝袜足j国产在线视频| 四虎永久免费地址| 久久国产精品影院| 国产在线观看一区精品| 全免费a级毛片免费看不卡| 国产在线一区视频| 国模在线视频一区二区三区| 国产在线91在线电影| 国产欧美在线观看精品一区污| 日本高清视频在线www色| 国产午夜无码专区喷水| 亚洲精品中文字幕午夜| 九色视频最新网址| 亚洲精品欧美重口| 九九九精品成人免费视频7| 亚洲久悠悠色悠在线播放| 国产国产人免费视频成18| av无码久久精品| 美女被操黄色视频网站| 制服丝袜在线视频香蕉| 国产成人亚洲日韩欧美电影| 免费国产不卡午夜福在线观看| 亚洲精品无码专区在线观看| 综合五月天网| 国产一级小视频| 欧美午夜在线观看| 亚洲人成网站色7777| 日韩av无码精品专区| 精品无码视频在线观看| 男女精品视频| 精品国产女同疯狂摩擦2| 99re热精品视频国产免费| 久久免费视频播放| 成年人国产网站| 国产成人精品一区二区免费看京| 国产福利免费在线观看| 欧美一区精品| 国产无人区一区二区三区| 亚洲欧洲日韩久久狠狠爱| 国产黄视频网站| 97色伦色在线综合视频| 欧美亚洲国产视频| 国产色网站| 青草91视频免费观看| 亚洲精品视频免费看| 亚洲成年网站在线观看|