<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于SOA架構(gòu)的企業(yè)集成系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          基于SOA架構(gòu)的企業(yè)集成系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時間:2009-07-06 來源:網(wǎng)絡(luò) 收藏
          O 引 言
          信息化的發(fā)展,企業(yè)間協(xié)同商務(wù)和企業(yè)信息門戶(EIP)等要求企業(yè)的應(yīng)用系統(tǒng)是一個高度和開放的系統(tǒng)。然而大型企業(yè)往往擁有著異構(gòu)系統(tǒng),導(dǎo)致系統(tǒng)間信息的交互與互操作非常困難,形成了一個個“信息孤島”,為了實(shí)現(xiàn)企業(yè)全局的業(yè)務(wù)過程自動化,人們投入了大量的人力和財(cái)力來進(jìn)行系統(tǒng)。傳統(tǒng)的企業(yè)應(yīng)用(Enterprise Application Integration,EAI)解決方案有4種類型:用戶界面集成、數(shù)據(jù)集成、業(yè)務(wù)流程集成、函數(shù)/方法集成,這4種集成方法不能方便、靈活、低代價地實(shí)現(xiàn)異構(gòu)系統(tǒng)的集成,難以快速適應(yīng)企業(yè)現(xiàn)代業(yè)務(wù)變化的需求。另外,隨著企業(yè)計(jì)算的發(fā)展,企業(yè)級應(yīng)用要求新的軟件系統(tǒng)不再是從底層做起,而只是依據(jù)企業(yè)邏輯需求重新組織己有的數(shù)據(jù)存儲,將現(xiàn)有的數(shù)據(jù)和事務(wù)通過新的渠道,如瀏覽器或者手持設(shè)備呈現(xiàn)給用戶?;诿嫦蚍?wù)(Service Oriented Archi-tecture,)的應(yīng)用集成開發(fā)方案,在不改變企業(yè)應(yīng)用底層的基礎(chǔ)上,可以很好地解決上述問題。它支持在中間層以服務(wù)模塊方式實(shí)現(xiàn)解決方案,當(dāng)多個運(yùn)行在不同平臺和技術(shù)下的應(yīng)用程序必須互相通信時,這種體系結(jié)構(gòu)尤其適用。

          l
          架構(gòu)是一種分布式的軟件組件模型。整個系統(tǒng)被設(shè)計(jì)和實(shí)現(xiàn)為一組相互交互的服務(wù),它使得系統(tǒng)中的某些服務(wù)能夠充分利用其他的服務(wù)同時卻無需考慮其物理位置。在該模型中,任何的業(yè)務(wù)功能被作為提供的一個服務(wù)使用。應(yīng)用程序的不同功能(服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來,使得構(gòu)建在系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方法進(jìn)行調(diào)用。這種具有中立的接口定義(沒有強(qiáng)制綁定到特定的實(shí)現(xiàn)上)的特征稱為服務(wù)之間的松藕合。松藕合系統(tǒng)的好處有兩點(diǎn):它的靈活性;當(dāng)組成整個應(yīng)用程序的每個服務(wù)的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)逐漸地發(fā)生改變時,它能夠繼續(xù)存在。這就為解決EAI集成問題和快速開發(fā)新的IT系統(tǒng)鋪平了道路。SOA模型如圖1所示,說明了SOA中的不同角色及其工作流程。SOA架構(gòu)的組件包括:
          (1)服務(wù)提供者:服務(wù)提供者是一個可通過網(wǎng)絡(luò)尋址的實(shí)體,它接受和執(zhí)行來自使用者的請求;
          (2)服務(wù)使用者:服務(wù)使用者是一組使用服務(wù)提供者所提供的一項(xiàng)或多項(xiàng)服務(wù)的組件;
          (3)服務(wù)儲備庫:服務(wù)儲備庫包含服務(wù)的描述,服務(wù)提供者在該儲備庫中注冊其服務(wù),而服務(wù)使用者訪問該儲備庫已發(fā)現(xiàn)的所提供的服務(wù)。

          本文引用地址:http://www.ex-cimer.com/article/188846.htm

          2 SOA的具體實(shí)現(xiàn)
          SOA是一種軟件架構(gòu),而不是局限于某個技術(shù)的組合,它超越了技術(shù)范圍。SOA的關(guān)鍵是“服務(wù)”。W3C將服務(wù)定義為:“服務(wù)提供者完成一組工作,為服務(wù)使用者交付所需的最終結(jié)果。最終結(jié)果通常是使用者的狀態(tài)發(fā)生變化,但也可能是提供者的狀態(tài)改變,或者雙方都產(chǎn)生變化”。服務(wù)是網(wǎng)絡(luò)中可用的軟件資源。服務(wù)提供者通過標(biāo)準(zhǔn)機(jī)制提供服務(wù),使用者通過網(wǎng)絡(luò)有計(jì)劃地使用服務(wù)。服務(wù)儲備庫發(fā)布服務(wù)所在位置,并在使用者請求服務(wù)時定位服務(wù)。服務(wù)使用者和提供者的角色不是惟一的,服務(wù)提供者也可以是使用者,反之亦然。SOA具體的實(shí)現(xiàn)有很多,包括Web Service,Ses-sionBean,JINI等,但隨著Web Service技術(shù)被越來越重視,其己經(jīng)成為構(gòu)建SOA的主要技術(shù)。

          3 基于Web Service實(shí)現(xiàn)SOA
          3.1 Web Service體系結(jié)構(gòu)
          Web Service是近幾年提出的一種新的面向服務(wù)的體系結(jié)構(gòu),它是基于Web服務(wù)提供者、服務(wù)請求者和服務(wù)注冊代理的不同操作來建立的。具體來說其運(yùn)作分為三部分:發(fā)布操作一服務(wù)提供者通過發(fā)布操作向服務(wù)注冊代理注冊自己的功能和訪問接口;查找操作一服務(wù)請求者通過查找操作向服務(wù)注冊代理查找特定的服務(wù);綁定操作一服務(wù)請求者通過綁定操作實(shí)際使用服務(wù)提供者所提供的服務(wù)。
          3.2 Web Service技術(shù)支持
          Web Service技術(shù)建立的面向服務(wù)架構(gòu)基于開放性標(biāo)準(zhǔn)。一些典型的開放性標(biāo)準(zhǔn)有:XML(可擴(kuò)展標(biāo)記語言);SOAP(簡單對象訪問協(xié)議);WSDL(Web服務(wù)描述語言);UDDI(Web服務(wù)注冊規(guī)范)。Web Serv-ice本身就是一種SOA架構(gòu),可以實(shí)現(xiàn)各種應(yīng)用程序資源的互聯(lián)互通,大大促進(jìn)了軟件源的共享,從而成為新型的提供分布式的(全球性的)信息整合手段和應(yīng)用系統(tǒng)EAI解決方案。
          3.3 Web Service結(jié)構(gòu)的構(gòu)造實(shí)現(xiàn)
          (1)基于CORBA和Java的Web體系結(jié)構(gòu)
          基于CORBA和Java的Web結(jié)構(gòu)的運(yùn)行機(jī)制是:CORBA客戶方程序從Web服務(wù)器下載執(zhí)行,并與應(yīng)用服務(wù)器上的CORBA應(yīng)用對象通過Internet對象請求代理間協(xié)議(Internet Inter-ORB Protocol,IIOP)通信,調(diào)用其指定的操作。CORBA應(yīng)用對象首先對客戶的請求進(jìn)行認(rèn)證和解釋,根據(jù)客戶請求的內(nèi)容,或直接訪問資源層的數(shù)據(jù)庫或與網(wǎng)絡(luò)上的其他CORBA對象交互,共同完成客戶請求。各種新開發(fā)的Web應(yīng)用,只要使用接口定義語言(IDL)封裝成CORBA對象,在CORBA系統(tǒng)中登記注冊后,就可以動態(tài)地加載進(jìn)入Web系統(tǒng),迅速地為客戶提供服務(wù)。體系結(jié)構(gòu)如圖2所示。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();