{"id":1438,"date":"2008-02-05T18:29:01","date_gmt":"2008-02-05T18:29:01","guid":{"rendered":"http:\/\/www.redmonk.com\/jgovernor\/2008\/02\/05\/osgi-and-the-rise-of-the-stackless-stack-just-in-time\/"},"modified":"2008-02-05T18:29:01","modified_gmt":"2008-02-05T18:29:01","slug":"osgi-and-the-rise-of-the-stackless-stack-just-in-time","status":"publish","type":"post","link":"https:\/\/redmonk.com\/jgovernor\/osgi-and-the-rise-of-the-stackless-stack-just-in-time\/","title":{"rendered":"OSGi and The Rise of The Stackless Stack: Just in Time"},"content":{"rendered":"<p>When I first heard about <a href=\"http:\/\/www.osgi.org\/\">OSGi<\/a> I had no clue what it was. To be honest I&nbsp;initially confused it with <a href=\"http:\/\/www.globus.org\/ogsa\/\">OGSA<\/a>, the Open Grid Services Architecture, which seems like another&nbsp;over-ambitious (and ultimately unsuccessful)&nbsp;initiative to enable pooled computing resources through traditional vendor standards efforts. <\/p>\n<p>But I swiftly realised the error of my ways. OSGi has massive potential.&nbsp;It is an industry changer. Any time an initiative from the cell phone and device&nbsp;world is enthusiastically adopted by major middleware vendors you think it has to be worth&nbsp;examining.&nbsp;So what is the Open Services Gateway Initiative (OSGi) and what does it have to do with Stackless Stacks? Component-based development is a common idea, but component-based production is a whole different ballgame. <\/p>\n<h2>OSGi in the Wild<\/h2>\n<p>OSGi allows modules of Java classes to be loaded&nbsp;on demand. There is no need to load the entire Java stack to run an application &#8211; just the runtime services it actually requires. OSGi therefore enables a more dynamic, less constricted Java, which&nbsp;partially explains its enthusiastic backing from major vendors such as IBM, BEA and Oracle. Sun is <a href=\"http:\/\/www.osgi.org\/blog\/2007\/11\/jsr-294-superpackages.html\">not such a big fan<\/a> because it fears a loss of control of Java stack standards efforts. (How many times will I have to write that?)<\/p>\n<p>IBM and BEA are currently more aggressive in consuming OSGi than exposing it in their production environments. Nobody is talking about a Websphere OSGi Edition for example. But OSGi is underpinning some of IBM and BEA&#8217;s&nbsp;most interesting technologies.<\/p>\n<p>BEA&#8217;s&nbsp;&#8220;micro-services&#8221; architecture, allowing it to be far more flexible in absorbing acquired technologies, and repackage existing technologies in different bundles, is OSGi-based.<\/p>\n<p>Meanwhile <a href=\"http:\/\/www-306.ibm.com\/software\/lotus\/products\/expeditor\/\">IBM Lotus Expeditor<\/a>, a client side integration framework,&nbsp;is extremely flexible. Customers can, for example, choose to deploy only&nbsp;those&nbsp;services which they require for collaboration applications. That is, the enterprise can define and deploy its own service bundle, based on a subset of the &#8220;stack&#8221;&nbsp;IBM provides. Another powerful effect of using OSGi in its Lotus products is the slick and seamless integration it enables- for example with <a href=\"http:\/\/www.cisco.com\/en\/US\/products\/sw\/voicesw\/ps5475\/index.html\">Cisco IP Communicator<\/a>. <\/p>\n<h2>The Death Of The Stack: SOA for production<\/h2>\n<p>When I planned to write this quick post I had a title&nbsp;in mind &#8211; the Death of the Stack. While I realised the inflammatory and possibly misleading aspects of the title,&nbsp;I felt it captured something of the move to more&nbsp;flexible production environments. The &#8220;stack&#8221;, after all, as seen&nbsp;on&nbsp;PowerPoint decks&nbsp;slide everywhere is a monolithic&nbsp;but comfortable&nbsp;place to run apps with confidence&nbsp;(and to sell middleware). It was on an OSGi&nbsp;call&nbsp;with <a href=\"http:\/\/ianskerrett.wordpress.com\/\">Ian Skerrett<\/a>, marketing director of the Eclipse Foundation (client), which is a strong supporter of OGSi in the shape of its <a href=\"http:\/\/www.eclipse.org\/equinox\/\">Equinox runtime<\/a> project, that my colleague Cote casually&nbsp;came up with a far better construction: &#8220;oh sure&#8230; you mean a Stackless Stack&#8221;.<\/p>\n<p>As&nbsp;Cote himself&nbsp;might say- blammo! <\/p>\n<p>In case you didn&#8217;t take that in &#8211; Eclipse, which used to be a developer tools framework is now evolving into a fully fledged component\/service oriented runtime. SOA is one of the most hyped terms of the recent few years in IT, but the story&nbsp;has largely focused on design time, rather than runtime flexibility. What would a SOA for middleware deployment look like? Like OSGi.<\/p>\n<p>Another technology carrying us towards the stackless stack is <a href=\"http:\/\/www.springframework.org\/\">Spring<\/a>, which simplifies interfaces for enterprise Java programming. Spring has exploded onto the Java middleware scene-already adopted by BEA, IBM (client)&nbsp;and Oracle&nbsp;<a href=\"http:\/\/www.springframework.org\/\">in response to strong customer demand<\/a> for the open source software. <\/p>\n<h2>Starting Up With&nbsp;Distributed OSGi Runtimes<\/h2>\n<p>An interesting&nbsp;example of the stackless stack approach comes from RedMonk client <a href=\"http:\/\/www.paremus.com\/\">Paremus<\/a>, which recently announced support for Spring Dynamic Modules in its Infiniflow Service Fabric product. Paremus uses the <a href=\"http:\/\/www.ibm.com\/developerworks\/library\/specification\/ws-sca\/\">Service Component Architecture<\/a> (SCA) descriptions to manage the component model, so a Spring application&nbsp;can be dynamically loaded and reloaded&nbsp;from a&nbsp;single machine to a massive cluster. &nbsp;Build in Eclipse then choose a target deployment architecture. Sweet. <\/p>\n<p>As Paremus puts it: &#8220;the production runtime is built in the same way as the application&#8221;. Its early days for&nbsp;the company&nbsp;but the kind of standards-based open source approach it is taking&nbsp;is finding favour, notably&nbsp;in financial services companies in London and New York. Spring is&nbsp;increasingly an ecosystem, but also an open source project with significant services revenues.<\/p>\n<h2>Springtime for Covalent<\/h2>\n<p><a href=\"http:\/\/www.springsource.com\/web\/guest\/home\">SpringSource<\/a>, the commercial arm of Spring, recently announced it is acquiring Covalent (also a RedMonk client). This transaction will bring together two of the most successful examples of the&nbsp;new commercial software&nbsp;reality:&nbsp;paying vendors for services rather than code. Covalent is a major supporter of Apache, and offers support for&nbsp;the web and application servers. While traditional software companies encouraged customers to deploy applications on expensive JEE application servers, Covalent helps companies such&nbsp;as Bear Sterns,&nbsp;which are building enterprise-class scale out applications comprising hundreds of open source servers, but want enterprise support from a&nbsp;firm where the coders who built the runtimes work. SpringSource may just have lost some of its purity, but the transaction points towards the future&nbsp;economics of the industry.&nbsp;The Register developer zone calls the combo an &#8220;<a href=\"http:\/\/www.regdeveloper.co.uk\/2008\/01\/29\/springsource_buys_covalent\/\">open source supergroup<\/a>&#8220;. Well <a href=\"http:\/\/blog.springsource.com\/main\/2008\/01\/29\/some-decisions-are-easy-%e2%80%93-like-springsource-acquiring-covalent\/\">Rod Johnson<\/a>, head of SpringSource, is definitely a rockstar. You&#8217;re going to hear a lot more from him. Frankly&nbsp;Rod is far more deserving of the tag <a href=\"http:\/\/www.linuxworld.com\/slideshows\/2008\/011108-linuxworld.html\">Top Leader in Open Source business<\/a> than anyone at RedMonk, but there you go. At this point I consider&nbsp;it a racing certainty that SpringSource is eventually acquired. Possibly sooner rather than later- the combination of Spring and Apache has got to worry&nbsp;traditional app server vendors. The game is changing.<\/p>\n<h2>Stackless, Microsoft and Green APIs<\/h2>\n<p>It is not just the Java world that is componentising. Microsoft is also delivering just-in time functionality to allow for targeted bundles, rather than needing to run the entire Windows stack. In discussion with Rob Bernard, Microsoft&#8217;s chief environmental strategist the other day, he suggested the approach had ecological implications. If you only run what you need you use less power. I mention Microsoft here primarily for context though, to show stackless isn&#8217;t just an OSGi story. It would be great to get your thoughts about where more flexible stacks are heading.<\/p>\n<p> For more background we have some <a href=\"http:\/\/www.redmonk.com\/cote\/2008\/01\/17\/osgi-in-java-eclipse-equinox-screencast-and-video-series\/\">great RedMonkTV shows<\/a> about OSGi, Equinox and so on. <\/p>\n<p>update: <a href=\"http:\/\/ianskerrett.wordpress.com\/2008\/02\/05\/osgi-buzz\/\">super bonus OSGi buzz link roundup<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Technorati Tags:<\/strong> <a href=\"http:\/\/technorati.com\/tag\/OSGi\" rel=\"tag\">OSGi<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Sun\" rel=\"tag\">Sun<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Eclipse\" rel=\"tag\">Eclipse<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Equinox\" rel=\"tag\">Equinox<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Spring\" rel=\"tag\">Spring<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/SpringSource\" rel=\"tag\">SpringSource<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Covalent\" rel=\"tag\">Covalent<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/BEA\" rel=\"tag\">BEA<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/IBM\" rel=\"tag\">IBM<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Microsoft\" rel=\"tag\">Microsoft<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Stackless\" rel=\"tag\">Stackless<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Paremus\" rel=\"tag\">Paremus<\/a> &#8211; <a href=\"http:\/\/technorati.com\/tag\/Infiniflow\" rel=\"tag\">Infiniflow<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When I first heard about OSGi I had no clue what it was. To be honest I&nbsp;initially confused it with OGSA, the Open Grid Services Architecture, which seems like another&nbsp;over-ambitious (and ultimately unsuccessful)&nbsp;initiative to enable pooled computing resources through traditional vendor standards efforts. But I swiftly realised the error of my ways. OSGi has massive<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[],"class_list":["post-1438","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9wfjh-nc","_links":{"self":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/1438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/comments?post=1438"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/1438\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/media?parent=1438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/categories?post=1438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/tags?post=1438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}