<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 閱讀(242) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 日本XXX黄区免费看| 亚洲精品免费在线| 亚洲av午夜成人片精品电影| 亚洲色大成网站WWW国产| 天天摸天天碰成人免费视频| 亚洲乱码国产乱码精华| 毛片大全免费观看| 亚洲AV无码一区二区三区网址| 在线播放免费播放av片| 激情无码亚洲一区二区三区| 国产在线19禁免费观看国产| 一级做a爱过程免费视| 国内精品99亚洲免费高清| 国产无遮挡无码视频免费软件| 亚洲AV无码欧洲AV无码网站| 免费看又黄又无码的网站| 亚洲午夜在线一区| 天天天欲色欲色WWW免费| 国产成人+综合亚洲+天堂| 精品亚洲视频在线观看| APP在线免费观看视频| 亚洲熟妇无码久久精品| 午夜视频免费成人| 产传媒61国产免费| 亚洲最新永久在线观看| 成年女人男人免费视频播放| 青草青草视频2免费观看| 国产精品亚洲片在线| 999在线视频精品免费播放观看| 亚洲人成色77777在线观看| 国产成人精品日本亚洲专区 | 亚洲精品成人av在线| 91香蕉成人免费网站| MM1313亚洲国产精品| 亚洲国产精品福利片在线观看| 国产无人区码卡二卡三卡免费| 免费高清A级毛片在线播放| 亚洲国产精品久久久久婷婷软件| 大学生一级毛片免费看| xxxxx做受大片在线观看免费| 亚洲第一永久在线观看|