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

基于WS-BPEL的物流信息系統設計與實現

2013-02-06 01:06:52黃川林陳偉衛大連東軟信息學院遼寧大連116023
物流科技 2013年4期
關鍵詞:定義物流服務

黃川林, 程 勖, 陳偉衛 (大連東軟信息學院,遼寧 大連 116023)

隨著經濟全球化的迅速發展,現代物流信息系統的作用日益突出,它已經被越來越多的企業作為自己趕超世界潮流的標志之一。然而現有的物流信息系統基本都采用面向對象設計,造成系統在體系結構、數據標準和接口等各方面的不一致。因此,現代物流技術中急需解決的問題是如何有效地整合異構的物流信息系統,從而實現物流相關信息系統的信息互通,提高物流運作效率和降低物流成本。

WS-BPEL(Web Services Business Process Execution Language)是一種業務流程的建模語言,基于一系列的開放技術標準[1]。利用WS-BPEL作為描述企業的物流信息系統Web服務組合的語言,可以管理和優化物流中的各企業各部門之間的異構資源,實現基于面向服務的體系架構的物流信息系統的集成。

1 基于SOA的系統架構

目前物流信息系統主要存在以下問題:

(1)由于實現技術和系統結構的不同,導致系統間交互復雜;

(2)數據流向混亂、流程繁多;

(3)結構復雜,使得業務需求不易改變。

針對目前物流信息系統存在的問題,在對現有系統的有效集成基礎上,利用Web Services封裝原有需要開放出來的功能,從而使各系統都具有統一的接口標準,并通過引入SOA架構,不但能夠實現各系統間的信息交互,還能使之成為既相互獨立,又協調統一的整體,構建出如圖1所示的物流信息系統架構。在此架構中還搭建了一個公共信息交換平臺,該平臺是為實現系統集成和各個系統之問的數據共享,提供有效地決策支持數據,需要建立基于數據管理和利用的綜合性技術方案的共享數據中心,用以存放大量數據的同時有效地將數據管理起來,提供數據訪問的手段,為集成系統和各個子系統之間的數據共享提供平臺,保證數據的及時性、完整性和一致性[2]。

2 面向Web服務技術

Web服務體系結構描述了服務請求者、服務提供者和UDDI服務注冊中心三個角色以及查找、發布和綁定與發現這三種操作[3]。服務提供者通過客戶端發布代理在服務注冊中心 (通常采用UDDI)注冊配置和發布服務;服務請求者需要使用某個Web服務時,根據服務信息使用客戶端查找代理在服務注冊中心查找所需的服務,注冊中心返回服務的接口描述文檔 (WSDL);服務請求者根據獲取的服務接口描述文檔通過SOAP協議綁定服務提供者并調用提供者所提供的服務。

圖1 基于SOA的物流信息系統架構

系統把服務代理的角色引入SOA模型,從而實現對SOA模型的擴展。該模型除了服務提供者、服務請求者和UDDI服務注冊中心三個基本角色外,還包括一個特殊的角色——服務代理。服務代理處于服務提供者和服務請求者之間,起到中介作用,所有已知并且可用的Web Services都將映射到服務代理上[4]。服務代理將根據自己功能的需要對Web Services的屬性進行擴展,從而達到提高Web Services檢索效率的目的。

3 基于服務代理的BPEL流程框架

以擴展的SOA模型為依據,建立基于服務代理的BPEL流程框架,如圖2所示。對于BPEL流程的一般節點來說,在流程定義時已經為其指定了用于實現的Web Services,當路由到該節點時就可以直接調用該Web Services;而對于BPEL流程中需要動態調用Web Services的節點來說,它們要先發送調用Web Services的請求到服務代理,由服務代理根據請求為該節點在多個Web Services中擇優選擇并分配一個Web Services,從而實現BPEL流程動態地調用 Web Services。

基于服務代理的BPEL流程框架最大的優點在于:結構簡單,易于實現。首先,該框架可以視為是對SOA的擴展,由于服務代理本身就是一個Web服務,這樣BPEL流程與服務代理之間的關聯通過簡單的BPEL編碼就可以實現。

4 Web服務代理的實現

Web服務代理的實現主要是對服務的動態調用和流程的調用接口的實現。下面主要對這兩方面進行描述。

(1)Web服務動態調用的實現

實現BPEL流程對Web服務動態調用分兩個階段:首先,服務選擇器根據Web服務的功能擇優選擇一個Web服務;最后,通過一定方法調用該Web服務,并將執行結果反饋給BPEL流程。

Web服務的優化選擇算法的策略不是唯一的,這些策略可以有:成本最低、響應時間最快、可靠性最好等單一規則,另外根據QoS計算模型所得到的綜合測評結果也可以作為Web服務選擇的策略。將Web服務的類型和選擇策略作為函數的輸入,優化選擇算法的偽代碼描述如下。

public String service Optimization(String class,String rule)

{

switch rule

case Duration

//選擇響應時間短的Web服務

case Price

//選擇服務價格最低的Web服務

case QoS

//選擇服務質量綜合測評最好的

return服務地址

圖2 基于服務代理的BPEL流程框架

}

實現對Web服務的調用根據上一階段獲取的Web服務URL,可以獲取該Web服務的描述WSDL,WSDL中包含一些對Web服務參數的描述,利用.Net的反射Reflection技術,將遠程Web服務在本地進行實例化。按照Reflection的描述,首先定義代理類,根據WSDL中的內容設置代理類的編譯參數,編譯代理類,生成代理實例,并使用被Web服務的方法,最后返回結果,該過程如圖3所示。

圖3 Web服務本地實例化的過程

下面是將實現Web服務遠程調用算法的描述。

public static object invokeWebService(url,arg[])

{

//獲取 WSDL

webClient wc=new webClient();

stream str=wc.OpenRead(url+“?WSDL”);

//從str中截取服務描述信息ServiceDescription

//生成代理類代碼

CodeCompileUnit ccu=new CodeCompileUnit();

ccu.Namespaces.Add(cn);

sdi.Import(cn,ccu);

CSharpCodeProvider icc=new CSharpCodeProvider();

//設定編譯參數

CompilerParameters cplist=new CompilerParameters();

//為 cplist對象添加 GenerateExecutable、GenerateInMemory

Cplist.ReferencedAssemblies.Add(“System.dll”);

Cplist.ReferencedAssemblies.Add(“System.XML.dll”);

Cplist.ReferencedAssemblies.Add(“System.Web.Services.dll”);

Cplist.ReferencedAssemblies.Add(“System.Data.dll”);

//編譯代理類

CompilerResults cr=icc.CompileAssemblyFromDom(cplist,ccu);

//生成代理實例,并調用方法

System.Reflection.Assembly assembly=cr.CompiledAssembly;

Type t=assembly.GetType(@namespace+"."+classname,true,true

object obj=Activator.CreateInstance(t);

System.Reflection.MethodInfo mi=t.GetMethod(methodname);

//返回結果

return mi.Invoke(obj,args);

(2)BPEL流程的調用接口實現

BPEL流程本身也是以Web服務的形式向外提供調用接口的,下面是對BPEL流程接口的WSDL定義。

<wsdl:definitions name=“process”...>

<!--端口類型定義-->

<portType name=“process”>

<operation name=“callAgent”>

<input message=“inputMessage”/>

<output message=“outputMessage”/>

</operation>

</portType>

<!--合作伙伴鏈接類型定義-->

<plnk:partnerLinkType name=“agent”>

<plnk:role name=“agentService”>

<plnk:portType name=“tns:agent”

</plnk:role>

</plnk:partnerLinkType>

</wsdl:definitions>

該WSDL定義聲明了callAgent操作,其輸入和輸出消息的定義類似于服務代理中操作消息的定義,此不贅述。為了描述BPEL流程和服務代理的交互關系,需要預先在BPEL流程接口的描述中定義合作關系的類型,由于BPEL流程和服務代理之間的屬于同步調用關系,只需定義服務代理的端口和角色。

5 結束語

本文通過采用SOA重構技術,利用以Web Services為基礎的WS-BPEL技術解決了目前物流相關企業的信息系統架構各異,實現的技術眾多,無法采用傳統的架構模式對現有的系統進行有效集成,從而導致物流資源信息缺乏有效共享等問題,最終實現了基于面向服務的體系架構的物流信息系統的集成。

[1] 李文娟.基于WS-BPEL的Web服務組合執行引擎的設計與實現[D].西安:西北大學 (碩士學位論文),2009.

[2] 王念念,傅秀芬,呂占德.基于SOA的物流信息系統的研究與設計[J].計算機技術與發展,2011,21(12):213-216.

[3] 劉樹軍.基于WebService的應用集成關鍵技術研究[D].銀川:寧夏大學 (碩士學位論文),2011.

[4] 趙廣建,申利民,劉波,等.BPEL流程動態調用Web服務的實現方法[J].計算機工程與設計,2010,31(11):2952-2954.

猜你喜歡
定義物流服務
本刊重點關注的物流展會
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
“智”造更長物流生態鏈
汽車觀察(2018年12期)2018-12-26 01:05:44
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
基于低碳物流的公路運輸優化
現代企業(2015年2期)2015-02-28 18:45:09
決戰“最后一公里”
商界(2014年12期)2014-04-29 00:44:03
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 亚洲欧美在线综合图区| 99视频精品在线观看| 99在线视频免费| 国产一区二区免费播放| 小13箩利洗澡无码视频免费网站| 成人国产精品一级毛片天堂| 91色老久久精品偷偷蜜臀| 欧美黑人欧美精品刺激| av在线5g无码天天| 国产麻豆福利av在线播放| 亚洲国产天堂久久九九九| 无套av在线| 日本一区二区不卡视频| 香蕉eeww99国产在线观看| 国产特级毛片aaaaaaa高清| 91无码视频在线观看| 久久综合丝袜长腿丝袜| 国产精品尤物在线| 青草午夜精品视频在线观看| 日韩 欧美 国产 精品 综合| AV熟女乱| 啦啦啦网站在线观看a毛片| 日韩天堂网| 亚洲无码A视频在线| 亚洲欧美在线综合一区二区三区| 欧美 亚洲 日韩 国产| 国产成人91精品免费网址在线| 国产成本人片免费a∨短片| 热九九精品| 亚洲 欧美 偷自乱 图片| 在线观看精品自拍视频| 久久9966精品国产免费| 国产精品一线天| 亚洲欧美不卡中文字幕| 亚洲天堂高清| 亚洲天堂免费在线视频| 午夜精品国产自在| 91网址在线播放| 欧美日韩午夜视频在线观看| 亚洲区欧美区| 国产一区二区三区在线无码| 22sihu国产精品视频影视资讯| 亚洲大尺码专区影院| 亚洲天堂久久久| 日本免费新一区视频| 欧美激情成人网| 国产又粗又爽视频| 免费无遮挡AV| 日韩中文无码av超清| 99视频有精品视频免费观看| 在线精品亚洲国产| 不卡视频国产| 亚洲天堂网2014| 亚洲永久精品ww47国产| 国产欧美另类| 久久国产成人精品国产成人亚洲| 9久久伊人精品综合| 四虎永久在线精品影院| 视频一区亚洲| 三上悠亚在线精品二区| 日韩东京热无码人妻| 极品国产在线| 成人福利在线视频免费观看| 亚洲一级毛片免费看| 毛片免费高清免费| 国产一级视频久久| 久久中文字幕2021精品| 中文字幕调教一区二区视频| …亚洲 欧洲 另类 春色| 亚洲国产欧美国产综合久久 | 国产成人精品男人的天堂下载| 中日无码在线观看| 色综合成人| 美女视频黄又黄又免费高清| 十八禁美女裸体网站| 五月婷婷伊人网| 91精品人妻互换| 91成人在线免费视频| 国产在线麻豆波多野结衣| 91蜜芽尤物福利在线观看| 国产一级二级在线观看| 中国精品久久|