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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于接收表的ESB研究與設計

          基于接收表的ESB研究與設計

          作者: 時間:2009-12-16 來源:網絡 收藏


          在上述xml形式的接收者計算邏輯中,以服務單元B為例對規(guī)則庫進行說明?!皉ule name=”region”value=”Beijing”>/rule>”定義了服務地域的規(guī)則,即只服務北京的客戶,“rule name=”client”value=”enterprise”>/rule>”定義了服務客戶類型的規(guī)則,即只服務于企業(yè),“rulename=”maxloanamout”value=”5 000”>/rule>”定義了服務項貸款的最大金額,其值為5 000萬元。
          獲取接收者列表的算法,可以進行如下描述:S為服務單元的集合,Si為的某個服務單元。ri為服務單元i的規(guī)則集,rij為服務單元i的某條規(guī)則,servicerList為接受者列表,在初始化時加載所有的服務單元(1≤i≤n,1≤j≤m,n為節(jié)點的個數(shù),m為某個服務節(jié)點的規(guī)則的個數(shù))。


          //如果不能滿足此服務單元的路由規(guī)則,則接收者列表中刪除此服務單元。

          1.2 動態(tài)化
          為了使服務能夠動態(tài)的調整自己的服務對象,提高整個系統(tǒng)集成的靈活性。將路由規(guī)則分布到各個服務來控制,是一種理想的解決方案。通過接收表的動態(tài)化,整個系統(tǒng)的實時性也有進一步的提高。例如,服務單元N以前只能處理貸款金額1 000萬元的服務請求,而服務單元N進行系統(tǒng)升級后,可以處理貸款金額1億元的服務請求,此時應該對接收表中規(guī)則庫做相應的調整。為了實現(xiàn)這種功能,應在服務節(jié)點和接收表之間建立控制信息傳輸通道,使得服務節(jié)點能把自己處理消息的要求發(fā)送給接收表,并存儲到其規(guī)則庫中,其流程如圖2所示。

          接口程序是由路由器提供,服務單元只需調用的(修改xml路由文件)服務接口,實現(xiàn)對接收表計算邏輯的修改。
          接口設計:
          class ServiceOperation
          {
          CreateServicer(Servicel s);//創(chuàng)建服務
          UpdateServicer(Serricer s);//更新服務包括服務名,路徑的修改
          RemoveServicer(String ServicerID);//根據(jù)服務的ID刪除對應服務在路由器中的信息
          CreateServicerRule(String ServicerID,StringruleName,String rule Value);
          //根據(jù)服務的ID,創(chuàng)建該服務新的規(guī)則
          UpdateServicerRule(String ServicerID,StringruleName,String ruleValue);
          //根據(jù)服務的ID和規(guī)則的名稱,更新規(guī)則的值
          RemoveServicerRule(String ServicerID,StringruleName);
          //根據(jù)服務的ID和規(guī)則的名稱,刪除該規(guī)則
          }
          此接口應以Web服務的方式暴露給與集成的服務單元,使其可以調用接口中的方法來實時改變服務單元的服務。



          關鍵詞: ESB

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();