蘇衛(wèi)*
(勘探數(shù)據(jù)庫(kù)室 中國(guó)石化勝利油田分公司物探研究院,山東東營(yíng),257022)
隨著“兩化”融合的不斷推進(jìn),目前勝利油田信息化建設(shè)邁入了“從離散到集成、從局部到整體、從簡(jiǎn)單向深入”的階段,“集成、協(xié)作、共享、優(yōu)化”成為新的方向和主題。應(yīng)用系統(tǒng)間的業(yè)務(wù)協(xié)作聯(lián)動(dòng)、信息交換以及基于數(shù)據(jù)中心的數(shù)據(jù)服務(wù)與共享等需要驅(qū)動(dòng)著大量點(diǎn)對(duì)點(diǎn)接口產(chǎn)生,也暴露出了接口關(guān)系復(fù)雜難維護(hù)、數(shù)據(jù)格式多樣難復(fù)用、接口分布分散難監(jiān)控、接口產(chǎn)消耦合難優(yōu)化等問題。
針對(duì)油田眾多業(yè)務(wù)系統(tǒng)間服務(wù)接口關(guān)系復(fù)雜,開發(fā)和維護(hù)代價(jià)高昂的問題,勝利油田設(shè)計(jì)并實(shí)現(xiàn)了基于ESB的能應(yīng)開放平臺(tái),實(shí)現(xiàn)各類服務(wù)(公共服務(wù)/業(yè)務(wù)服務(wù))的接入和集中管理,并開放給各業(yè)務(wù)系統(tǒng)進(jìn)行使用。
上圖是ESB企業(yè)服務(wù)總線和互聯(lián)網(wǎng)Open API能應(yīng)開放平臺(tái)的一個(gè)簡(jiǎn)單對(duì)比。對(duì)于在企業(yè)內(nèi)部的服務(wù)集成和管控,由于需要面對(duì)企業(yè)內(nèi)復(fù)雜的業(yè)務(wù)系統(tǒng)間集成和遺留系統(tǒng)適配,因此使用較多的仍然是 ESB企業(yè)服務(wù)總線。而對(duì)于互聯(lián)網(wǎng)應(yīng)用,更多考慮的是輕量和高性能,已經(jīng)開發(fā)和接入的效率,當(dāng)前使用較多的是類似 Open API方式下的能應(yīng)開放平臺(tái)。
對(duì)于能應(yīng)開放平臺(tái),目前有比較明確的定義,具體如下:Open API即開放API,也稱開放平臺(tái)。所謂的開放API(Open API)是服務(wù)型網(wǎng)站常見的一種應(yīng)用,網(wǎng)站的服務(wù)商將自己的網(wǎng)站服務(wù)封裝成一系列API(Application Programming Interface,應(yīng)用編程接口)開放出去,供第三方開發(fā)者使用,這種行為就叫做開放網(wǎng)站的 API,所開放的API就被稱作Open API(開放API)。就現(xiàn)在互聯(lián)網(wǎng)上 Open API的形態(tài)來看,主要分成兩種:標(biāo)準(zhǔn)REST和類REST(也可以叫做RPC形態(tài))。
對(duì)于是否構(gòu)成一個(gè)能應(yīng)開放平臺(tái),有兩個(gè)重點(diǎn),其一是服務(wù)的提供以HTTP rest服務(wù)為主,其二是平臺(tái)本身是提供和暴露服務(wù)能應(yīng),而不消費(fèi)服務(wù)。因此即使是在企業(yè)內(nèi)部,如有ESB平臺(tái)本身能夠?qū)崿F(xiàn)為僅暴露和提供服務(wù),同時(shí)采用輕量的 Rest服務(wù)接入,那么也可以認(rèn)為是能應(yīng)開放平臺(tái)。
目前油田使用的大量服務(wù)中,大部分服務(wù)是使用了Web Service的方式進(jìn)行服務(wù)發(fā)布。但是隨著滑動(dòng)開發(fā)的普及,新開發(fā)的一些服務(wù)也開始使用RESTful API(JSON)over HTTP的服務(wù)進(jìn)行發(fā)布。
對(duì)于企業(yè)內(nèi)部的服務(wù),往往由于服務(wù)接口對(duì)需求規(guī)范要求嚴(yán)格,往往有會(huì)采用SOAP Web Service方式來實(shí)現(xiàn)完整的服務(wù)契約設(shè)計(jì)。即服務(wù)接口本身就對(duì)服務(wù)的調(diào)用規(guī)范進(jìn)行了強(qiáng)約束。而對(duì)于開放平臺(tái)往往采用 http協(xié)議,傳輸?shù)膶?duì)象也是大的Json串,對(duì)于Json串格式的定義往往只有通過文檔約定。這兩種方式各有優(yōu)缺點(diǎn),具體的選擇使用關(guān)鍵還是看使用的場(chǎng)景。
企業(yè)內(nèi)部只是提供和暴露服務(wù),供其它業(yè)務(wù)系統(tǒng)消費(fèi),這種場(chǎng)景往往出現(xiàn)在主數(shù)據(jù)和共享數(shù)據(jù)服務(wù)能應(yīng)提供,因此對(duì)于共享數(shù)據(jù)往往是適合構(gòu)建能應(yīng)開放平臺(tái)的。而對(duì)于企業(yè)內(nèi)部端到端流程引起的橫向業(yè)務(wù)系統(tǒng)接口,這類橫向集成接口本身復(fù)用度不高,更多是為了業(yè)務(wù)系統(tǒng),即使這類服務(wù)接入也很難真正高復(fù)用和共享。
(1)形成了服務(wù)組合與編排技術(shù)。
針對(duì)勘探開發(fā)領(lǐng)域中大量業(yè)務(wù)服務(wù)標(biāo)準(zhǔn)不統(tǒng)一、難以復(fù)用的現(xiàn)狀,研究基于油田業(yè)務(wù)的服務(wù)編排技術(shù),實(shí)現(xiàn)勘探開發(fā)業(yè)務(wù)服務(wù)的共享復(fù)用和資產(chǎn)增值。研究服務(wù)攔截器技術(shù),實(shí)現(xiàn)多種服務(wù)協(xié)議的標(biāo)準(zhǔn)化;研究原子服務(wù)的嵌套與組合,實(shí)現(xiàn)原子服務(wù)的再利用。
(2)實(shí)現(xiàn)了安全、可定制、高并發(fā)的服務(wù)接入與管理。
針對(duì)勘探開發(fā)領(lǐng)域中大量業(yè)務(wù)服務(wù)分散部署、缺乏管控的現(xiàn)狀,研究服務(wù)接入與計(jì)量技術(shù),實(shí)現(xiàn)勘探開發(fā)業(yè)務(wù)服務(wù)的統(tǒng)一管理。研究高性能負(fù)荷代理技術(shù)和SEDA階段事件驅(qū)動(dòng)技術(shù),實(shí)現(xiàn)高并發(fā)、大吞吐情況下的高效、穩(wěn)定的服務(wù)管理。
(3)建立了服務(wù)計(jì)量管控中心與配套機(jī)制。
對(duì)應(yīng)用服務(wù)日志進(jìn)行異步地采集、合并、分析、處理,從而實(shí)現(xiàn)對(duì)服務(wù)的高性能監(jiān)控,通過此項(xiàng)技術(shù)可以處理監(jiān)控每天上億次的服務(wù)訪問。實(shí)現(xiàn)了各類服務(wù)接口運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控和預(yù)警。服務(wù)管控中心可以實(shí)時(shí)監(jiān)控原始服務(wù)的狀態(tài)、ESB運(yùn)行狀態(tài)以及應(yīng)用程序使用服務(wù)狀態(tài),并提供了最近一年的歷史數(shù)據(jù)進(jìn)行查詢。
(4)設(shè)計(jì)并編制了企業(yè)服務(wù)總線的總體實(shí)施方案
實(shí)施方案界定了服務(wù)接口的接入范圍,服務(wù)接口的接入原則,接入的相關(guān)技術(shù)標(biāo)準(zhǔn)、管理規(guī)范和各類流程,實(shí)現(xiàn)了服務(wù)接口的開發(fā)、注冊(cè)、接入、應(yīng)用、升級(jí)到注銷全周期管理。
本文形成了服務(wù)接入和管理、服務(wù)計(jì)量管控等關(guān)鍵技術(shù),建成了勝利油田企業(yè)級(jí)服務(wù)管控中心,對(duì)于縮短軟件開發(fā)周期、提升軟件開發(fā)質(zhì)量、降低軟件開發(fā)成本、增強(qiáng)信息服務(wù)能應(yīng)、促進(jìn)信息應(yīng)用專業(yè)化水平等方面具有重要的經(jīng)濟(jì)意義。該項(xiàng)目目前已經(jīng)應(yīng)用于油田數(shù)據(jù)中心深化應(yīng)用平臺(tái)(SASP),并為油田在建的勘探開發(fā)集成服務(wù)云平臺(tái)(i-Sasp)提供專業(yè)應(yīng)用支持。服務(wù)的共享和復(fù)用有利于改應(yīng)傳統(tǒng)建設(shè)模式,減少重復(fù)投資、重復(fù)建設(shè),將大大提高開發(fā)、測(cè)試等環(huán)節(jié)的效率,預(yù)期節(jié)約應(yīng)用開發(fā)成本約28%。