{"id":2994,"date":"2010-11-22T17:11:29","date_gmt":"2010-11-22T17:11:29","guid":{"rendered":"http:\/\/www.redmonk.com\/jgovernor\/2010\/11\/22\/pace-layering-in-software-websphere-feature-packs-vs-major-releases\/"},"modified":"2010-11-22T17:11:29","modified_gmt":"2010-11-22T17:11:29","slug":"pace-layering-in-software-websphere-feature-packs-vs-major-releases","status":"publish","type":"post","link":"https:\/\/redmonk.com\/jgovernor\/pace-layering-in-software-websphere-feature-packs-vs-major-releases\/","title":{"rendered":"Pace Layering in Software: WebSphere Feature Packs vs Major Releases"},"content":{"rendered":"<p><a title=\"harvest begins by 416style, on Flickr\" href=\"http:\/\/www.flickr.com\/photos\/sookie\/247080463\/\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm1.static.flickr.com\/81\/247080463_215003aedb.jpg\" border=\"0\" alt=\"harvest begins\" width=\"500\" height=\"375\" \/><\/a><\/p>\n<p>One of the biggest challenges for any software organisation is how and when to deliver new functionality. Customers demand new features, yet they also don\u2019t want to do anything to affect the stability of existing applications and services. This Hobson\u2019s choice affects all software companies, as well of course in-house development \u2013 the app dev teams build software the ops guys don\u2019t want to deploy.<\/p>\n<p>Many of today\u2019s key developer trends are attempts to bridge the functionality\/stability gap \u2013 the public cloud largely took off as it did because it removed barriers to deployment. Developers could get apps up and running without having to ask permission or wait until someone was ready to deploy their code. DevOps is the new buzzword for shops that closely integrate development and operations processes \u2013 largely a web phenomenon so far, DevOps is gaining currency \u2013 but we need to be a little careful about assuming it will work for everyone \u2013 generally shops successfully using DevOps have hired the best technical talent to make it work. Another software approach designed to collapse the distinction between Dev and Ops is Continuous Deployment, an agile development practice, based on running a battery of tests during the development process using a continuous integration server such as Hudson, so the developer can be be confident they won\u2019t break anything when they ship.<\/p>\n<p>The new hotness is all very well and good, but for most shops traditional approaches will hold sway for a long time to come. So the question remains \u2013 how to get new functionality into the hands of developers, and so to end users?<\/p>\n<p>Historically, IBM tracked innovations in the Java space with rapid iterations of WebSphere App Server (WAS). But customers found there were just too many releases to sensibly consume. WAS has therefore now formalised its delivery mechanisms with a stable core, every two years, with new functionality delivered through Feature Packs on an ongoing basis. Decoupling support for new APIs with core WAS Java and JEE support makes sense. The need for new services is only accelerating as web innovation is increasingly consumed by the enterprise \u2013 customers can\u2019t wait years to take advantage of new technology, but they also demand stability. IBM can focus on fundamental architectural concerns such as rewriting the app server from the ground up to take advantage of OSGi, while new functionality is delivered at the edges. WAS tracks core Java specs, while Feature Packs allow IBM to support other stuff like OSGi, and dynamic languages:<\/p>\n<ul>\n<li>Feature Pack for Communications-Enabled Applications (CEA) &#8211; I have <a href=\"http:\/\/www.redmonk.com\/jgovernor\/2009\/09\/08\/user-interaction-improvements-meet-websphere-comms-extensions\/\">written before<\/a> about CEA before \u2013 <em>cool functionality<\/em> \u2013 SIP calls in portals through Javascript, two users sharing one browser session &#8211; <em>terrible name<\/em>.<\/li>\n<li>Feature Pack for Web 2.0 &#8211; <em>Cool functionality<\/em> \u2013 all about AJAX goodness for more interactice UIs, even on iPhones, <em>terrible name<\/em>\u2026 (seems to be a theme emerging.) A good example of tech suitable for a Feature Pack, without the need for a major, or minor WAS release \u2013 support for the <a href=\"http:\/\/incubator.apache.org\/wink\/\">Apache Wink<\/a> incubator project.<\/li>\n<li>Feature Pack for Dynamic Scripting \u2013 this time the name is spot on but the functionality is lacking. PHP and Grails\u2026 Come on IBM, sMash was nice and all, but I think we can safely file under- needs work if IBM wants to attract dynamic developers, and help its customers take advantage of their skills.<\/li>\n<\/ul>\n<p>There are a few more to check out. But when it comes the new workloads, exciting functionality for developers and businesses WebSphere really needs a <em>Feature Pack for NoSQL<\/em>, helping enterprises consume some of the new data management hotness (largely) being standardised by the ASF. But then IBM has its own data grid software called <a href=\"http:\/\/www-01.ibm.com\/software\/webservers\/appserv\/extremescale\/\">eXtreme Scale<\/a>.<\/p>\n<p>I have written about Stewart Brand\u2019s notion of Pace Layering before <a href=\"http:\/\/www.redmonk.com\/jgovernor\/2008\/10\/17\/on-timeless-software-pace-layering-and-the-sap-software-architecture\/\">here<\/a> and <a href=\"http:\/\/www.google.com\/url?sa=t&amp;source=web&amp;cd=3&amp;ved=0CCIQFjAC&amp;url=http%3A%2F%2Fwww.redmonk.com%2Fjgovernor%2F2007%2F04%2F05%2Fwhy-applications-are-like-fish-and-data-is-like-wine%2F&amp;rct=j&amp;q=pace%20layering%20monkchips&amp;ei=bLXiTPHmOIHGlQeKmYmYAw&amp;usg=AFQjCNFb5zvym1lidyzj8uSSV1pVqVJbAg&amp;sig2=e0W-jaUY_Mbq0_ed7MB4wA&amp;cad=rja\">here<\/a>, funnily enough both in the context of SAP, a company which more than most understands the tension of stable core vs innovation, and the pressure customers exert for both. SAP CTO Vishal Sikka has pace layering as a strategic concern under the rubric <a href=\"http:\/\/vishalsikka.blogspot.com\/\">Timeless Software<\/a>. One of the biggest pathologies in enterprise software is the pickup truck upgrade aka giving birth to a pumpkin\u2013 where it seems everything needs to be upgraded in order to upgrade anything. Stable core, innovate at the edges. IT needs to be more like building architecture, where it is accepted, even expected, that different elements of the infrastructure will evolve at different speeds. You don\u2019t re-dig the foundations in order to modernise the wiring\u2026 But the problem of driving into a monolith remains a pathology \u2013 just see Windows Vista. So much for service-oriented architecture.<\/p>\n<p>You see \u2013 SOA can underpin pace layering. Without the hard work of modularisation and componentisation over the few years, driven by SOA, IBM couldn\u2019t be delivering Feature Packs as it is.<\/p>\n<p>Its good to see IBM acknowledge and formalise pace laying in WebSphere: Feature Packs should make it easier for application developers to get what they need from IBM as they get out in front of the Java train. Indeed if you are a developer with a wish list item please let me know. If there is Java-based technology you\u2019d like to be building apps to, but your ops folks say IBM doesn\u2019t support it please let me know. I am happy to hassle IBM on your behalf.<\/p>\n<p>And one last thing, for the purchaser-minded among you\u2013 the battle between new functionality vs operational stability maps pretty much directly to the ongoing License Fees vs Maintenance fees discussion in enterprise software. IBM has got this right with its Feature Packs- they are free to existing, version-current, WebSphere customers. One final advantage to IBM and customers of Feature Packs \u2013 delivering functionality becomes less about tracking formal JCP specs and more about implementing Java-functionality: IBM may be making nice with Oracle around Open-JDK but that doesn\u2019t mean the Java innovation system isn\u2019t <a href=\"http:\/\/www.redmonk.com\/jgovernor\/2010\/10\/01\/java-the-unipolar-moment-on-distributed-governance-for-distributed-software\/\">multipolar<\/a>.<\/p>\n<\/p>\n<p>disclosure: Yes IBM is a client. And yes I wrote a positive piece about them Friday. But I really want to up my posting frequency, and this was in the hopper. [<strong>update<\/strong>: got an interesting email from an ex IBMer saying the disclosure statement might be misconstrued. To clarify then &#8211; of course features vs stability is a relevant, indeed vital, industry issue, otherwise I wouldn&#8217;t post on it. That said- I do try and post on a range of topics, technologies and vendors. I don&#8217;t want to be, or appear, too IBM heavy, even in a month where I am taking so many briefings from the firm.]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the biggest challenges for any software organisation is how and when to deliver new functionality. Customers demand new features, yet they also don\u2019t want to do anything to affect the stability of existing applications and services. This Hobson\u2019s choice affects all software companies, as well of course in-house development \u2013 the app dev<\/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":[21],"tags":[95,419,278,427,386],"class_list":["post-2994","post","type-post","status-publish","format-standard","hentry","category-ibm","tag-cea","tag-ibm","tag-pacelayering","tag-sap","tag-websphere"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9wfjh-Mi","_links":{"self":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/2994","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=2994"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/2994\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/media?parent=2994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/categories?post=2994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/tags?post=2994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}