<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,  comments - 11,  trackbacks - 0

    ??? XFire、Axis

    ??? XFire、Axis是Webservice的實現框架,WebService可算是一個完整的SOA架構實現標準了,因此采用XFire、Axis這些也就意味著是采用webservice方式了。

      1、是基于什么協議實現的?

      基于SOAP協議。

      2、怎么發起請求?

      獲取到遠端service的proxy后直接調用。

      3、怎么將請求轉化為符合協議的格式的?

      將請求信息轉化為遵循SOAP協議的XML格式,由框架轉化為流進行傳輸。

      4、使用什么傳輸協議傳輸?

      Http協議。

      5、響應端基于什么機制來接收請求?

      監聽Http請求。

      6、怎么將流還原為傳輸格式的?

      根據SOAP協議進行還原。

      7、處理完畢后怎么回應?

      返回結果寫入XML中,由框架返回至調用端。

      ------------------------------------------------------------------------------------------------------------------------------

      ActiveMQ

      ActiveMQ是JMS的實現,基于JMS這類消息機制實現遠程通訊是一種不錯的選擇,畢竟消息機制本身的功能使得基于它可以很容易的去實現同步/異步/單向調用等,而且消息機制從容錯角度上來說也是個不錯的選擇,這是Erlang能夠做到容錯的重要基礎

      1、是基于什么協議實現的?

      基于JMS協議。

      2、怎么發起請求?

      遵循JMS API發起請求。

      3、怎么將請求轉化為符合協議的格式的?

      不太清楚,猜想應該是二進制流。

      4、使用什么傳輸協議傳輸?

      支持多種傳輸協議,例如tcp/ip、udp、http等等。

      5、響應端基于什么機制來接收請求?

      監聽符合協議的端口。

      6、怎么將流還原為傳輸格式的?

      同問題3。

      7、處理完畢后怎么回應?

      遵循JMS API生成消息,并寫入JMS Queue中。

      基于JMS此類機制實現遠程通訊的例子有Spring-Intergration、Mule、Lingo等等。

     -----------------------------------------------------------------------------------------------------------------------------

    ??? Mina

    ??? Mina是Apache提供的通訊框架,在之前一直沒有提到網絡IO這塊,之前提及的框架或library基本都是基于BIO的,而Mina是采用NIO的,NIO在并發量增長時對比BIO而言會有明顯的性能提升,而java性能的提升,與其NIO這塊與OS的緊密結合是有不小的關系的。

    ??? 1、是基于什么協議實現的?

    ??? 可選的傳輸協議+NIO.

    ??? 2、怎么發起請求?

    ??? 通過Mina提供的Client API.

    ??? 3、怎么將請求轉化為符合協議的格式的?

    ??? Mina遵循java串行化機制對請求對象進行序列化。

    ??? 4、使用什么傳輸協議傳輸?

    ??? 支持多種傳輸協議,例如tcp/ip、http等等。

    ??? 5、響應端基于什么機制來接收請求?

    ??? 以NIO的方式監聽協議端口。

    ??? 6、怎么將流還原為傳輸格式的?

    ??? 遵循java串行化機制對請求對象進行反序列化。

    ??? 7、處理完畢后怎么回應?

    ??? 遵循Mina API進行返回。

    ??? MINA是NIO方式的,因此支持異步調用是毫無懸念的。

     --------------------------------------------------------------------------------------------------------------------------------

    ??? EJB

    ??? EJB最突出的在于其分布式,EJB采用的是ORMI協議,和RMI協議是差不多的,但EJB在分布式通訊的安全控制、transport pool、smart proxy等方面的突出使得其在分布式領域是不可忽視的力量。

    ??? 1、是基于什么協議實現的?

    ??? 基于ORMI協議。

    ??? 2、怎么發起請求?

    ??? EJB調用。

    ??? 3、怎么將請求轉化為符合協議的格式的?

    ??? 遵循java串行化機制對請求對象進行序列化。

    ??? 4、使用什么傳輸協議傳輸?

    ??? tcp/ip.

    ??? 5、響應端基于什么機制來接收請求?

    ??? 監聽協議端口。

    ??? 6、怎么將流還原為傳輸格式的?

    ??? 遵循java串行化機制對請求對象進行反序列化。

    ??? 7、處理完畢后怎么回應?

    ??? 直接返回處理對象即可。

    ??? 在之前的分布式服務框架系列的文章中對于jndi有誤導的嫌疑,在這篇blog中也順帶的提下jndi的機制,由于JNDI取決于具體的實現,在這里只能是講解下jboss的jndi的實現了。

    ??? 在將對象實例綁定到jboss jnp server后,當遠程端采用context.lookup()方式獲取遠程對象實例并開始調用時,jboss jndi的實現方法是從jnp server上獲取對象實例,將其序列化回本地,然后在本地進行反序列化,之后在本地進行類調用。

    ??? 通過這個機制,就可以知道了,本地其實是必須有綁定到jboss上的對象實例的class的,否則反序列化的時候肯定就失敗了,而遠程通訊需要做到的是在遠程執行某動作,并獲取到相應的結果,可見純粹基于JNDI是無法實現遠程通訊的。

    ??? 但JNDI也是實現分布式服務框架一個很關鍵的技術點,因為可以通過它來實現透明化的遠端和本地調用,就像ejb,另外它也是個很好的隱藏實際部署機制(就像datasource)等的方案。

    ??? 總結

    ??? 由上一系列的分析可知,在遠程通訊領域中,涉及的知識點還是相當的多的,例如有:通信協議或遠程調用協議(tcp/http/udp/rmi/xml-rpc etc.)、消息機制、網絡IO(BIO/NIO/AIO)、MultiThread、本地調用與遠程調用的透明化方案(涉及java classloader、Dynamic Proxy、Unit Test etc.)、異步與同步調用、網絡通信處理機制(自動重連、廣播、異常、池處理等等)、Java Serialization (各種協議的私有序列化機制等)、各種框架的實現原理(傳輸格式、如何將傳輸格式轉化為流的、如何將請求信息轉化為傳輸格式的、如何接收流的、如何將流還原為傳輸格式的等等),要精通其中的哪些東西,得根據實際需求來決定了,只有在了解了原理的情況下才能很容易的做出選擇,甚至可以根據需求做私有的遠程通訊協議,對于從事分布式服務平臺或開發較大型的分布式應用的人而言,我覺得至少上面提及的知識點是需要比較了解的。

    posted on 2009-08-15 15:10 jadmin 閱讀(239) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 大地资源在线观看免费高清| 国产成人AV片无码免费| 嫩草影院在线免费观看| 亚洲一区中文字幕| AA免费观看的1000部电影| 亚洲人6666成人观看| 成人黄18免费视频| 色窝窝亚洲AV网在线观看| 亚洲av日韩av欧v在线天堂| 国产福利在线观看永久免费| 国产午夜亚洲精品午夜鲁丝片| 美女又黄又免费的视频| 亚洲真人日本在线| 国产成人免费ā片在线观看老同学 | 四虎影视在线影院在线观看免费视频 | 中文字幕一精品亚洲无线一区| 成av免费大片黄在线观看| 久久亚洲AV午夜福利精品一区| 免费人妻无码不卡中文字幕系| 久久精品国产亚洲AV蜜臀色欲| 日本特黄a级高清免费大片| 一区二区免费电影| 亚洲av日韩av不卡在线观看| 国产乱码免费卡1卡二卡3卡| 国产大陆亚洲精品国产| 亚洲国产精品无码专区影院 | 在线视频免费观看www动漫| 一级毛片视频免费| 亚洲日韩乱码久久久久久| 老司机永久免费网站在线观看| 瑟瑟网站免费网站入口| 亚洲精品无码久久千人斩| 又黄又爽又成人免费视频| 麻豆一区二区三区蜜桃免费| 久久久亚洲精品国产| 天天摸天天操免费播放小视频| 一区二区三区在线免费观看视频| 亚洲AV无码码潮喷在线观看| 午夜视频免费观看| 在线人成免费视频69国产| 亚洲乱妇熟女爽到高潮的片|