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

        ?

        基于WS-BPEL的物流信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2013-02-06 01:06:52黃川林陳偉衛(wèi)大連東軟信息學(xué)院遼寧大連116023
        物流科技 2013年4期
        關(guān)鍵詞:請(qǐng)求者服務(wù)提供者調(diào)用

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

        隨著經(jīng)濟(jì)全球化的迅速發(fā)展,現(xiàn)代物流信息系統(tǒng)的作用日益突出,它已經(jīng)被越來越多的企業(yè)作為自己趕超世界潮流的標(biāo)志之一。然而現(xiàn)有的物流信息系統(tǒng)基本都采用面向?qū)ο笤O(shè)計(jì),造成系統(tǒng)在體系結(jié)構(gòu)、數(shù)據(jù)標(biāo)準(zhǔn)和接口等各方面的不一致。因此,現(xiàn)代物流技術(shù)中急需解決的問題是如何有效地整合異構(gòu)的物流信息系統(tǒng),從而實(shí)現(xiàn)物流相關(guān)信息系統(tǒng)的信息互通,提高物流運(yùn)作效率和降低物流成本。

        WS-BPEL(Web Services Business Process Execution Language)是一種業(yè)務(wù)流程的建模語言,基于一系列的開放技術(shù)標(biāo)準(zhǔn)[1]。利用WS-BPEL作為描述企業(yè)的物流信息系統(tǒng)Web服務(wù)組合的語言,可以管理和優(yōu)化物流中的各企業(yè)各部門之間的異構(gòu)資源,實(shí)現(xiàn)基于面向服務(wù)的體系架構(gòu)的物流信息系統(tǒng)的集成。

        1 基于SOA的系統(tǒng)架構(gòu)

        目前物流信息系統(tǒng)主要存在以下問題:

        (1)由于實(shí)現(xiàn)技術(shù)和系統(tǒng)結(jié)構(gòu)的不同,導(dǎo)致系統(tǒng)間交互復(fù)雜;

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

        (3)結(jié)構(gòu)復(fù)雜,使得業(yè)務(wù)需求不易改變。

        針對(duì)目前物流信息系統(tǒng)存在的問題,在對(duì)現(xiàn)有系統(tǒng)的有效集成基礎(chǔ)上,利用Web Services封裝原有需要開放出來的功能,從而使各系統(tǒng)都具有統(tǒng)一的接口標(biāo)準(zhǔn),并通過引入SOA架構(gòu),不但能夠?qū)崿F(xiàn)各系統(tǒng)間的信息交互,還能使之成為既相互獨(dú)立,又協(xié)調(diào)統(tǒng)一的整體,構(gòu)建出如圖1所示的物流信息系統(tǒng)架構(gòu)。在此架構(gòu)中還搭建了一個(gè)公共信息交換平臺(tái),該平臺(tái)是為實(shí)現(xiàn)系統(tǒng)集成和各個(gè)系統(tǒng)之問的數(shù)據(jù)共享,提供有效地決策支持?jǐn)?shù)據(jù),需要建立基于數(shù)據(jù)管理和利用的綜合性技術(shù)方案的共享數(shù)據(jù)中心,用以存放大量數(shù)據(jù)的同時(shí)有效地將數(shù)據(jù)管理起來,提供數(shù)據(jù)訪問的手段,為集成系統(tǒng)和各個(gè)子系統(tǒng)之間的數(shù)據(jù)共享提供平臺(tái),保證數(shù)據(jù)的及時(shí)性、完整性和一致性[2]。

        2 面向Web服務(wù)技術(shù)

        Web服務(wù)體系結(jié)構(gòu)描述了服務(wù)請(qǐng)求者、服務(wù)提供者和UDDI服務(wù)注冊(cè)中心三個(gè)角色以及查找、發(fā)布和綁定與發(fā)現(xiàn)這三種操作[3]。服務(wù)提供者通過客戶端發(fā)布代理在服務(wù)注冊(cè)中心 (通常采用UDDI)注冊(cè)配置和發(fā)布服務(wù);服務(wù)請(qǐng)求者需要使用某個(gè)Web服務(wù)時(shí),根據(jù)服務(wù)信息使用客戶端查找代理在服務(wù)注冊(cè)中心查找所需的服務(wù),注冊(cè)中心返回服務(wù)的接口描述文檔 (WSDL);服務(wù)請(qǐng)求者根據(jù)獲取的服務(wù)接口描述文檔通過SOAP協(xié)議綁定服務(wù)提供者并調(diào)用提供者所提供的服務(wù)。

        圖1 基于SOA的物流信息系統(tǒng)架構(gòu)

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

        3 基于服務(wù)代理的BPEL流程框架

        以擴(kuò)展的SOA模型為依據(jù),建立基于服務(wù)代理的BPEL流程框架,如圖2所示。對(duì)于BPEL流程的一般節(jié)點(diǎn)來說,在流程定義時(shí)已經(jīng)為其指定了用于實(shí)現(xiàn)的Web Services,當(dāng)路由到該節(jié)點(diǎn)時(shí)就可以直接調(diào)用該Web Services;而對(duì)于BPEL流程中需要?jiǎng)討B(tài)調(diào)用Web Services的節(jié)點(diǎn)來說,它們要先發(fā)送調(diào)用Web Services的請(qǐng)求到服務(wù)代理,由服務(wù)代理根據(jù)請(qǐng)求為該節(jié)點(diǎn)在多個(gè)Web Services中擇優(yōu)選擇并分配一個(gè)Web Services,從而實(shí)現(xiàn)BPEL流程動(dòng)態(tài)地調(diào)用 Web Services。

        基于服務(wù)代理的BPEL流程框架最大的優(yōu)點(diǎn)在于:結(jié)構(gòu)簡單,易于實(shí)現(xiàn)。首先,該框架可以視為是對(duì)SOA的擴(kuò)展,由于服務(wù)代理本身就是一個(gè)Web服務(wù),這樣BPEL流程與服務(wù)代理之間的關(guān)聯(lián)通過簡單的BPEL編碼就可以實(shí)現(xiàn)。

        4 Web服務(wù)代理的實(shí)現(xiàn)

        Web服務(wù)代理的實(shí)現(xiàn)主要是對(duì)服務(wù)的動(dòng)態(tài)調(diào)用和流程的調(diào)用接口的實(shí)現(xiàn)。下面主要對(duì)這兩方面進(jìn)行描述。

        (1)Web服務(wù)動(dòng)態(tài)調(diào)用的實(shí)現(xiàn)

        實(shí)現(xiàn)BPEL流程對(duì)Web服務(wù)動(dòng)態(tài)調(diào)用分兩個(gè)階段:首先,服務(wù)選擇器根據(jù)Web服務(wù)的功能擇優(yōu)選擇一個(gè)Web服務(wù);最后,通過一定方法調(diào)用該Web服務(wù),并將執(zhí)行結(jié)果反饋給BPEL流程。

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

        public String service Optimization(String class,String rule)

        {

        switch rule

        case Duration

        //選擇響應(yīng)時(shí)間短的Web服務(wù)

        case Price

        //選擇服務(wù)價(jià)格最低的Web服務(wù)

        case QoS

        //選擇服務(wù)質(zhì)量綜合測評(píng)最好的

        return服務(wù)地址

        圖2 基于服務(wù)代理的BPEL流程框架

        }

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

        圖3 Web服務(wù)本地實(shí)例化的過程

        下面是將實(shí)現(xiàn)Web服務(wù)遠(yuǎn)程調(diào)用算法的描述。

        public static object invokeWebService(url,arg[])

        {

        //獲取 WSDL

        webClient wc=new webClient();

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

        //從str中截取服務(wù)描述信息ServiceDescription

        //生成代理類代碼

        CodeCompileUnit ccu=new CodeCompileUnit();

        ccu.Namespaces.Add(cn);

        sdi.Import(cn,ccu);

        CSharpCodeProvider icc=new CSharpCodeProvider();

        //設(shè)定編譯參數(shù)

        CompilerParameters cplist=new CompilerParameters();

        //為 cplist對(duì)象添加 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);

        //生成代理實(shí)例,并調(diào)用方法

        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);

        //返回結(jié)果

        return mi.Invoke(obj,args);

        (2)BPEL流程的調(diào)用接口實(shí)現(xiàn)

        BPEL流程本身也是以Web服務(wù)的形式向外提供調(diào)用接口的,下面是對(duì)BPEL流程接口的WSDL定義。

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

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

        <portType name=“process”>

        <o(jì)peration name=“callAgent”>

        <input message=“inputMessage”/>

        <o(jì)utput 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操作,其輸入和輸出消息的定義類似于服務(wù)代理中操作消息的定義,此不贅述。為了描述BPEL流程和服務(wù)代理的交互關(guān)系,需要預(yù)先在BPEL流程接口的描述中定義合作關(guān)系的類型,由于BPEL流程和服務(wù)代理之間的屬于同步調(diào)用關(guān)系,只需定義服務(wù)代理的端口和角色。

        5 結(jié)束語

        本文通過采用SOA重構(gòu)技術(shù),利用以Web Services為基礎(chǔ)的WS-BPEL技術(shù)解決了目前物流相關(guān)企業(yè)的信息系統(tǒng)架構(gòu)各異,實(shí)現(xiàn)的技術(shù)眾多,無法采用傳統(tǒng)的架構(gòu)模式對(duì)現(xiàn)有的系統(tǒng)進(jìn)行有效集成,從而導(dǎo)致物流資源信息缺乏有效共享等問題,最終實(shí)現(xiàn)了基于面向服務(wù)的體系架構(gòu)的物流信息系統(tǒng)的集成。

        [1] 李文娟.基于WS-BPEL的Web服務(wù)組合執(zhí)行引擎的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西北大學(xué) (碩士學(xué)位論文),2009.

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

        [3] 劉樹軍.基于WebService的應(yīng)用集成關(guān)鍵技術(shù)研究[D].銀川:寧夏大學(xué) (碩士學(xué)位論文),2011.

        [4] 趙廣建,申利民,劉波,等.BPEL流程動(dòng)態(tài)調(diào)用Web服務(wù)的實(shí)現(xiàn)方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(11):2952-2954.

        猜你喜歡
        請(qǐng)求者服務(wù)提供者調(diào)用
        基于D2D 多播通信的合作內(nèi)容下載機(jī)制
        網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任研究
        法制博覽(2020年11期)2020-11-30 03:36:52
        群智感知中基于云輔助的隱私信息保護(hù)機(jī)制
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        論網(wǎng)絡(luò)服務(wù)提供者刑事責(zé)任的歸責(zé)模式一一以拒不履行網(wǎng)絡(luò)安全管理義務(wù)罪為切入點(diǎn)
        漢語自然會(huì)話中請(qǐng)求行為的序列結(jié)構(gòu)
        論網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任
        法制博覽(2017年16期)2017-01-28 00:01:59
        基于差值誘導(dǎo)的Web服務(wù)評(píng)價(jià)可信度的評(píng)估
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        红杏亚洲影院一区二区三区| 日本九州不卡久久精品一区| 国产变态av一区二区三区调教 | 阴唇两边有点白是怎么回事| 国产av无码专区亚洲版综合| 亚洲国产天堂一区二区三区| 男女超爽视频免费播放| 福利片免费 亚洲| 久久99免费精品国产| 国产精品主播在线一区二区| 亚洲人成无码区在线观看| 人与嘼交av免费| 91福利国产在线观看网站| 亚洲三区av在线播放| 国产午夜亚洲精品国产成人av| 国产黄大片在线观看| 久久久久久国产精品美女| 粉嫩高中生无码视频在线观看| av天堂在线免费播放| 亚洲精选自偷拍一区二| 麻豆免费观看高清完整视频| 中出内射颜射骚妇| 尤物蜜芽福利国产污在线观看| 国产不卡av一区二区三区| 国产高颜值女主播在线| 亚洲国产精品毛片av不卡在线| 996久久国产精品线观看| 亚洲一区二区三在线播放| 亚洲一区二区三区视频免费看| 精品人妻大屁股白浆无码| 国产成人无码一区二区在线观看 | 国产自拍视频免费在线观看| 亚洲日韩成人无码| 台湾无码av一区二区三区| 亚洲av不卡电影在线网址最新| 天堂av一区二区麻豆| 久久精品色福利熟妇丰满人妻91| 中文字幕久久熟女蜜桃 | 日韩精品成人无码AV片| 青青草绿色华人播放在线视频| 凌辱人妻中文字幕一区|