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

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

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

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    Distributed OSGi - On The Scent Of Red Herrings

    from http://www.tensegrity.hellblazer.com/2008/06/distributed-osgi---on-the-scent-of-red-herrings.html

    So, this morning my alarm clock was inexplicably set to the central time zone and consequently I arose 2 hours before my regularly scheduled time. Unable or unwilling to go back to bed after my morning "get ready for work" rituals, I settled down to read a few articles from my RSS feeds. The first one I read was a rather odd post on Distributed OSGi - Tilting at Windmills by Roger Voss. Laughing a bit as I read the opening paragraph, I didn't think much more about the post as it really had nothing to do with what the OSGi RFP 119 "Distributed OSGi" really is about. Fortunately or unfortunately, several people started peppering me with tweets, IMs and emails asking if I had read the post in question and what were my thoughts about it. So, here they are.

    Basically, I'm not really going to defend the OSGi EEG RFC 119, "Distributed OSGi" as my own interest in the matter rested largely with the acquisition of the so called "registry hooks" which allow infrastructure developers such as myself to hook into the queries of the OSGi service registry and do cool things like manifest services on demand. Once this capability was present and decoupled from the 119 RFC, I felt I had all the tools I needed to do any damn thing I wanted to, regardless of what the 119 RFC was doing. (for background as to how I fell in love with the idea of the registry hooks, see my posts on remote OSGi, which predated the RFC 119 here and here and a post during the formulation of the RFP which led to RFC 119 here)

    Oddly, I happen to agree with the basics of what Roger Voss has to say in his post which really doesn't have much to do with Distributed OSGi qua RFC 119. I mean, I was doing orthogonal persistence and distribution before Microsoft even invented the term Object and when the OMG was a toddler. All the issues that have since become well known regarding distributed computing, RPC and "transparence" are well known to me and something that I internalized quite a long while ago.

    There's something that I've tried to get across in the various forums I've been a part of - SCA and now the OSGi EEG - but the point doesn't seem to get across too well and that is this:

    Fine. You don't like transparent, RMI style distribution. You think there's a huge difference between 'remote' communication and 'local' communication that you believe should be ensconced in the very bowels of a 'distributed' interface. Fine. But what you seem to be completely missing is that the API presented by the 'service' is a Java object. It has Java semantics. If you want an exception thrown to indicate remote communication issues, then you had damn well put it in the interface specification. If you want to expose the wonderful rawness of the asynchronous communication patterns underlying all distributed communications, then by all means encode it into the interface of your Java object.
    The point being simply that you have a Java object there. You don't like "transparency". Then you can pretty much define any interface you damn well like. My only request is that you don't "force" it on the rest of us.

    Look. OSGi services aren't anything magical at all. One thing that I think people who haven't used OSGi at all are extremely confused about is that OSGi services are simply Java objects. They are not proxied - meaning that you have access to the actual, honest to "Bob" Java object that is the service. They do not have to implement an interface - meaning that there is literally no restrictions on what you can publish as a service.

    And so all this whining and moaning about how we don't need yet another failed "transparent", "RPC-based" distributed object model is really just whining and moaning without understanding what is going on. RFC 119 (so far!) doesn't say jack about what the actual model for the distributed object model actually is. Yes, there's a lot of people working on the spec who honest to "Bob" believe that they really, really do have the uber distributed computing model sewn up and that's what all the really cool (and productive) programmers will be using next year. But RFC 119 doesn't promulgate any such model.

    And that's the way I hope it stays. There's always a lot of loose talk about defining an "asynchronous" model or another god forsaken web services model, but these are and should remain orthogonal to the oddly named RFC 119, "Distributed OSGi" specification. My personal opinion is that the days of communist inspired, five year centrally planned API specifications by standards organizations are long, long gone and will be quite infrequent in the future. POJOs rule and there's really absolutely no reason to specify much beyond what is already specified in RFC 119 (there's already, imho, too much specified in RFC 119, but that is purely my personal opinion and in any event, it's done in such a way as I don't have to pay attention to it if I don't want to).

    However, what is important is the way services are used in OSGi and the way the service registry hooks allow some highly sophisticated and quite magical (if I may be so bold as to use that term) capabilities in OSGi that really are quite handy. Regardless of whether you have Ajax communication, JMS messaging, god's own event oriented communications APIs or (shudder) straight up RMI "transparent" communication, the facilities that RFC 119 relies on (and, of course RFC 119 itself) will make not only the development, but the actual interaction with your services from the end programmer's perspective a fantastic experience.

    Focussing on the API of some mythical dream of transparent, RPC style (or even event oriented) distributed communication is completely missing the point of what is happening with OSGi and distributed communications - and RFC 119, "Distributed OSGi", in particular.



    posted on 2010-02-26 15:22 gembin 閱讀(438) 評(píng)論(0)  編輯  收藏 所屬分類: OSGi

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊(cè)

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    free counters
    主站蜘蛛池模板: 未满十八私人高清免费影院| 国产AV无码专区亚洲Av| 亚洲一区二区三区深夜天堂| 色天使亚洲综合一区二区| 成人免费无码大片a毛片软件 | 国产成人在线观看免费网站| 亚洲一级毛片免费观看| 久久久久久国产a免费观看黄色大片 | 亚洲精品无码AV人在线播放 | 99爱视频99爱在线观看免费| 亚洲国产美女精品久久久久∴| 99视频在线免费观看| 亚洲精品乱码久久久久久蜜桃不卡| 两性色午夜免费视频| 免费视频专区一国产盗摄| 亚洲专区一路线二| 成人性生免费视频| 边摸边吃奶边做爽免费视频网站 | 免费v片在线观看视频网站| 亚洲国产精品无码久久久不卡 | 亚洲精品国产手机| ww4545四虎永久免费地址| 亚洲精品无码av人在线观看| 成人久久免费网站| 91亚洲导航深夜福利| 国产免费丝袜调教视频| 亚洲精品乱码久久久久66| 国产羞羞的视频在线观看免费| 亚洲产国偷V产偷V自拍色戒| 91青青青国产在观免费影视| 中文字幕亚洲乱码熟女一区二区| 国偷自产一区二区免费视频| 中文文字幕文字幕亚洲色| 亚洲AⅤ视频一区二区三区| 亚洲国产精品精华液| 成年女人免费v片| 一级毛片免费一级直接观看| 亚洲经典在线中文字幕| 国产成人综合久久精品免费| 成全视频在线观看免费| 亚洲一区二区三区丝袜|