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

           

          JBI and SCA Are Complimentary!

          from http://www.jroller.com/bsnyder/entry/jbi_and_sca_are_complimentary

          JBI and SCA Are Complimentary!

          For the past 16 months I've been saying that JBI and SCA are complimentary technologies and finally someone has been quoted as saying the same thing! It was announced this week that SCA/SDO are being donated to the Oasis standards body and Jeff Mischkinsky, director of Fusion middleware and web services standards for Oracle, stated:

          This [SCA] is a higher level than JBI," he said, stating that this covers development time, whereas JBI covers run-time.
          This is exactly correct. The fact that JBI and SCA have been developed in separate camps needs to change. I like the fact that SCA is finally leaving IBM's closed doors. However, I think that a formal effort should be started to make sure that the two are developed in a way that they continue to compliment one another and interoperate well.

          In December of 2005 Hiram and I met with people from IBM and other companies in Boston who all supported SCA. We explained to everyone that we saw JBI and SCA as being complimentary and that they should be treated as such. But it seemed that our explanations went in one ear and out the other. It's great to see someone quoted as stating this very thing in these announcements. Hopefully this will begin to get the message out there.

          JBI vs. SCA? Not From My Perspective

          The real reason that JBI and SCA are perceived to be in opposition to one another is largely due to the target audience of each technology. JBI is focused on container developers - folks whose goal is to implement an integration platform providing a vendor independent API for binding components and service engines (JBI components) that plug in to the JBI integration platform. The JBI APIs are geared toward implementing the runtime container and the JBI components. SCA is focused on application developers - folks who are developing applications that are deployed to a JavaEE platform, but I question that type of deployment because it begets David Chappell's (the Sonic David Chappell) concept of J2EE everywhere.

          J2EE everywhere is the concept of requiring the installation of a J2EE (or JavaEE now) container on every application deployment node your network. This idea has many downsides, the two most common being that chances are you won't be using all components that make up the JavaEE container so why are you deploying the whole thing? (You'd be better to use Apache Geronimo in this case anyway because it's so modular and allows deployment of only the components you need, but that's another discussion.) It's never a good idea to try to use the one-size-fits-all approach in software. By deploying a full JavaEE container on every application node you are doing exactly this. In addition, being required to deploy an entire JavaEE container on every application node is bound to drive up your production costs in terms of services and support, especially if license costs are involved.

          First let's take a look at some of the areas where JBI and SCA are in harmony, then we'll circle back and look at some areas where JBI and SCA are unique.

          • Both JBI and SCA are focused squarely on Service Oriented Architecture but each is attacking it from opposite ends of the problem. JBI is concerned with an integration runtime and deployment packaging whereas SCA is concerned with a component model for development and deployment.
          • Both JBI and SCA promote the concept of separating the business logic from the infrastructure logic. Business logic should not be concerned with what implementations need to be used for, say, persistence or transactionality because this is infrastructure logic.
          • Both JBI and SCA promote a concept of component building blocks for development. These building blocks are then wired together using metadata understood by each container and bundled together with each component.
          • Both JBI and SCA provide an XML dialect for component metadata. Each type of metadata contains references to components bundled into an artifact bundle, interface and endpoint descriptions and references to other components used by the components in the artifact bundle. See below why SCA wins out in the metadata area.
          • Both JBI and SCA allow for synchronous and asynchronous invocation of components.

          Now let's look at some of the areas where JBI and SCA are unique. These unique qualities offer many complementary items to the other technology and create definite possibilities when considering the integration of JBI and SCA.

          • SCA provides a client programming model for locating and accessing service components. JBI offers no such model because it is not focused on the application development side of integration. This model supports both dynamic invocation and typed invocation and it contains a richer response model than JBI.
          • JBI provides a runtime container for the deployment of SCA bundles instead of just relying on a JavaEE container.
          • JBI provides APIs for vendor independent component interoperability in the runtime container. E.g, deploying BPEL processes is certainly appealing, but augmenting that with all the capabilities of JBI and SCA is much more attractive that just using a BPEL container alone. A rising tide raises all boats.
          • SCA wins out in the metadata are because it's metadata model is richer than JBI because it provides the ability to define reference multiplicity, binding types over which a component is exposed and accessed, explicit imports and exports and much more.
          • JBI is extremely focused on WSDL whereas SCA supports both WSDL and Java. JBI uses the WSDL mediated messaging model but doesn't require WSDL for every component.
          • SCA provides explicit qualifiers for asynchronous requests, transactions, security, etc. for explicit Quality of Service (QoS) whereas JBI only mentions QoS and some intended uses, no mandates.
          • JBI offers the support of the four most common Message Exchange Patterns (MEPs) for JBI components.
          I'm sure there are many more things, but I'll stop here. I'm simply trying to point out some of the items that are obvious to me.

          If JBI and SCA worked together, the result would be a specification for both development time and runtime that is much more nimble and modular than the integration servers of old. And this synergy is only logical - why continue to work in different camps only to eventually meet in the middle and produce two specs that overlap more and more as development of each continues. Besides, some users are already confused by the separation and don't understand how much each spec compliments the other. Instead of causing yet another EJB fiasco because companies can't agree, let's solve this issue now for the good of the users.



          posted on 2010-03-08 14:17 gembin 閱讀(416) 評(píng)論(0)  編輯  收藏 所屬分類: SOA

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(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

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          free counters
          主站蜘蛛池模板: 宜宾县| 北安市| 大悟县| 牟定县| 镇巴县| 宣恩县| 汾阳市| 临夏市| 且末县| 龙口市| 海南省| 无锡市| 海阳市| 天峻县| 榆中县| 通辽市| 临江市| 木兰县| 朝阳市| 吕梁市| 安国市| 永和县| 连南| 遵化市| 名山县| 禹州市| 温州市| 贵德县| 共和县| 常德市| 阜平县| 施秉县| 绥芬河市| 翁牛特旗| 河北区| 上高县| 华宁县| 昌吉市| 土默特左旗| 辛集市| 定襄县|