<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) 評論(0)  編輯  收藏 所屬分類: OSGi

    導航

    統(tǒng)計

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊

    收藏夾(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

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    free counters
    主站蜘蛛池模板: 亚洲色图在线观看| 国产大片免费观看中文字幕| 美腿丝袜亚洲综合| 在线观看国产一区亚洲bd| 毛片a级毛片免费观看品善网| 亚洲日本国产乱码va在线观看| 亚洲免费观看在线视频| 亚洲国产av美女网站| 成年在线观看网站免费| 亚洲日韩一区二区一无码| 永久黄网站色视频免费直播| 亚洲国产成人无码AV在线影院| 国产免费小视频在线观看| 一区免费在线观看| 亚洲精品V欧洲精品V日韩精品 | 亚洲一区二区三区在线视频| 丰满妇女做a级毛片免费观看| 久久久久亚洲AV无码专区桃色| 在线观看免费黄色网址| 亚洲电影一区二区三区| 成人免费午夜无码视频| 亚洲AV综合永久无码精品天堂| 亚洲成片观看四虎永久| a在线观看免费视频| 亚洲欧洲国产综合| 国产一区二区三区无码免费| 黄色网页在线免费观看| 亚洲黄色在线电影| 日本久久久免费高清| 国内精品99亚洲免费高清| 亚洲女人初试黑人巨高清| 在线精品免费视频| a视频在线免费观看| 亚洲一区二区三区深夜天堂| 亚洲成av人片不卡无码久久| 日韩精品无码一区二区三区免费 | 青青草a免费线观a| 高潮内射免费看片| 亚洲视频2020| 亚洲AV无码专区日韩| 蜜臀AV免费一区二区三区|