{"id":1770,"date":"2013-06-19T10:46:28","date_gmt":"2013-06-19T15:46:28","guid":{"rendered":"http:\/\/redmonk.com\/dberkholz\/?p=1770"},"modified":"2013-07-03T09:50:17","modified_gmt":"2013-07-03T14:50:17","slug":"interest-withering-in-java-application-servers","status":"publish","type":"post","link":"https:\/\/redmonk.com\/dberkholz\/2013\/06\/19\/interest-withering-in-java-application-servers\/","title":{"rendered":"Interest withering in Java application servers"},"content":{"rendered":"<p>Prompted by recent encounters with WebSphere&#8217;s Liberty Profile, which is targeted at <a href=\"https:\/\/www.ibmdw.net\/wasdev\/docs\/introducing_the_liberty_profile\/\">developers<\/a>, and the realization that we haven&#8217;t talked seriously about <strong>Java application servers<\/strong> for years, the time seemed right for a fresh look at them. Going into it, <strong>the outlook from my fellow Monks was grim<\/strong>. For example,\u00a0RedMonk alumnus Cot\u00e9\u00a0<a href=\"http:\/\/redmonk.com\/cote\/2010\/09\/08\/liferay\/\">wrote<\/a> in 2010:<\/p>\n<blockquote><p>The idea of an \u201capplication server\u201d is being eliminated, component by component. In eliminating that idea there\u2019s a huge vacuum when it comes to the runtime developers use to house their projects.<\/p><\/blockquote>\n<p>James even\u00a0<a href=\"http:\/\/redmonk.com\/jgovernor\/2008\/01\/18\/oracle-buys-the-present-that-keeps-on-giving-on-bea-and-ma\/\">pointed out<\/a>\u00a0as far back as 2008 that advances including Ruby on Rails and XML&#8217;s ability to aid interop would drag things away from the J2EE world. <strong>Let&#8217;s examine the data<\/strong> to see whether those predictions held true.<\/p>\n<h2>Broadly fading traction for Java app servers<\/h2>\n<figure id=\"attachment_1774\" aria-describedby=\"caption-attachment-1774\" style=\"width: 335px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/dberkholz-media.redmonk.com\/dberkholz\/files\/2013\/06\/java_combined1.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1774\" data-permalink=\"https:\/\/redmonk.com\/dberkholz\/2013\/06\/19\/interest-withering-in-java-application-servers\/java_combined-2\/\" data-orig-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/java_combined1.png\" data-orig-size=\"930,765\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"java_combined\" data-image-description=\"\" data-medium-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/java_combined1-300x246.png\" data-large-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/java_combined1.png\" class=\" wp-image-1774  \" alt=\"Data from Google Trends search on the app server name plus &quot;java,&quot; normalized by hits for &quot;java&quot; alone.\" src=\"http:\/\/dberkholz-media.redmonk.com\/dberkholz\/files\/2013\/06\/java_combined1.png\" width=\"335\" height=\"275\" \/><\/a><figcaption id=\"caption-attachment-1774\" class=\"wp-caption-text\">Data from Google Trends search on the app server name plus &#8220;java,&#8221; normalized by hits for &#8220;java&#8221; alone.<\/figcaption><\/figure>\n<p>A look at Google search data, reflecting a global and general technical audience, shows an interesting trend \u2014 across the board, overall interest in app servers is shrinking. You can see clearly visible peaks around 2005 for Tomcat, 2007 for JBoss, and 2010 for GlassFish. This is countered in part by an increase in alternatives like Spring, as well as the migration of many use cases to alternative, dynamic languages.<\/p>\n<p>Given the number of acquisitions in this industry over the past decade, it&#8217;s worth taking a look at whether they&#8217;ve caused any impact. Oracle bought BEA (2008) and therefore prolonged the life of WebLogic. I&#8217;ve noted the &#8220;Oracle bump&#8221; in the graph above, where WebLogic went from a steady downhill slope to a level one for a couple of years post-acquisition. In contrast, after Oracle bought Sun (2010), it essentially put the open-source GlassFish into stasis, resulting in a downward spiral. As a third example, Red Hat bought JBoss before either of those examples (2006), and it also transitioned from growth to decline. Now, it may be that there are other factors influencing these changes, but the scattering of acquisitions over time suggests that it&#8217;s more specific to acquisition than it is to broader industry trends.<\/p>\n<p><strong>Only two popular app servers showed increases in the last 5 years: GlassFish and Jetty.<\/strong> By these metrics, GlassFish is well past its prime, post-Oracle. On the other hand, Jetty appears to have very quickly found a solid niche and stuck with it, given its nearly static levels since mid-2006 on this graph.<\/p>\n<h2>Early-adopter communities agree<\/h2>\n<p>If we look at a community of earlier adopters like Stack Overflow, we see general agreement with the above trends with subtle differences.<\/p>\n<figure id=\"attachment_1775\" aria-describedby=\"caption-attachment-1775\" style=\"width: 328px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/dberkholz-media.redmonk.com\/dberkholz\/files\/2013\/06\/so_combined1.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1775\" data-permalink=\"https:\/\/redmonk.com\/dberkholz\/2013\/06\/19\/interest-withering-in-java-application-servers\/so_combined-2\/\" data-orig-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/so_combined1.png\" data-orig-size=\"910,766\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"so_combined\" data-image-description=\"\" data-medium-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/so_combined1-300x252.png\" data-large-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/so_combined1.png\" class=\" wp-image-1775  \" alt=\"Data from Stack Overflow tags for each app server, normalized by the &quot;java&quot; tag count.\" src=\"http:\/\/dberkholz-media.redmonk.com\/dberkholz\/files\/2013\/06\/so_combined1.png\" width=\"328\" height=\"276\" \/><\/a><figcaption id=\"caption-attachment-1775\" class=\"wp-caption-text\">Data from Stack Overflow tags for each app server, normalized by the &#8220;java&#8221; tag count. Obtained from <a href=\"http:\/\/data.stackexchange.com\/stackoverflow\/query\/15901\/how-is-your-favourite-language-tag-doing-on-so\">this query<\/a>.<\/figcaption><\/figure>\n<p>For example, here are some of the differences:<\/p>\n<ul>\n<li>Spring passed Tomcat in traction roughly a year earlier than it did for a general audience;<\/li>\n<li>JBoss peaked in late 2009 rather than late 2007;<\/li>\n<li>GlassFish held steady since its peak rather than declining;<\/li>\n<li>Jetty and GlassFish both have stronger showings relative to WebLogic and WebSphere.<\/li>\n<\/ul>\n<p>Many of these could reflect a stronger bias in the Stack Overflow userbase toward open-source technologies with a low barrier to entry. The GlassFish differential could indicate Oracle&#8217;s preference for WebLogic over GlassFish in the broader audience that Google data reflects, while a more strongly open-source-leaning audience like Stack Overflow may continue to use GlassFish.<\/p>\n<p>If we look at another audience, Hacker News, the results are largely similar with a couple of exceptions worth discussing.<\/p>\n<figure id=\"attachment_1777\" aria-describedby=\"caption-attachment-1777\" style=\"width: 579px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/dberkholz-media.redmonk.com\/dberkholz\/files\/2013\/06\/hn_both_graphs.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1777\" data-permalink=\"https:\/\/redmonk.com\/dberkholz\/2013\/06\/19\/interest-withering-in-java-application-servers\/hn_both_graphs\/\" data-orig-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/hn_both_graphs.png\" data-orig-size=\"1380,571\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"hn_both_graphs\" data-image-description=\"\" data-medium-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/hn_both_graphs-300x124.png\" data-large-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/hn_both_graphs-1024x423.png\" class=\" wp-image-1777     \" alt=\"Methods\" src=\"http:\/\/dberkholz-media.redmonk.com\/dberkholz\/files\/2013\/06\/hn_both_graphs-1024x423.png\" width=\"579\" height=\"240\" \/><\/a><figcaption id=\"caption-attachment-1777\" class=\"wp-caption-text\">Data from Hacker News via <a href=\"http:\/\/hntrends.jerodsanto.net\/\">HN Trends<\/a>, normalized by Hacker News growth and mentions of &#8220;java.&#8221; Lines are shown with Bezier smoothing to remove higher levels of noise.<\/figcaption><\/figure>\n<p><strong>The Spring framework has an overwhelmingly dominant lead over all app servers for this audience.<\/strong>\u00a0On the left-hand graph, you can see that all the app servers are nearly overlapping down at the bottom of the plot, while Spring is trending even further upward beyond its already high share.<\/p>\n<p>On the right, I&#8217;ve removed Spring from the calculations so we can more clearly see what&#8217;s happening within the app servers. The trends are largely consistent over time and in relative ranking, although <strong>Jetty shows a much higher share on Hacker News<\/strong> than in the other two data sets. To clear this up, perhaps we can correlate these conversational data with different types of information.<\/p>\n<h2>How about some actual usage data?<\/h2>\n<p><span style=\"font-size: 13px; line-height: 19px;\">While results based on conversations and searches are all well and good, the question remains whether this correlates with real-world usage. Fortunately we partnered with New Relic and Steve wrote up a post on\u00a0<\/span><a href=\"http:\/\/redmonk.com\/sogrady\/2012\/06\/13\/new-relic-stack-data\/\">the state of the stacks<\/a>\u00a0at this time last year. I&#8217;ve reproduced one of his charts here, and as it turns out,\u00a0the ranks largely hold true between conversation and usage, with a couple of exceptions:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/dberkholz-media.redmonk.com\/dberkholz\/files\/2013\/06\/nr-java-app-servers.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1776\" data-permalink=\"https:\/\/redmonk.com\/dberkholz\/2013\/06\/19\/interest-withering-in-java-application-servers\/nr-java-app-servers\/\" data-orig-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/nr-java-app-servers.jpg\" data-orig-size=\"457,447\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"nr-java-app-servers\" data-image-description=\"\" data-medium-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/nr-java-app-servers-300x293.jpg\" data-large-file=\"https:\/\/redmonk.com\/dberkholz\/files\/2013\/06\/nr-java-app-servers.jpg\" class=\" wp-image-1776 aligncenter\" alt=\"nr-java-app-servers\" src=\"http:\/\/dberkholz-media.redmonk.com\/dberkholz\/files\/2013\/06\/nr-java-app-servers.jpg\" width=\"366\" height=\"358\" \/><\/a><\/p>\n<p>\u00a0<strong>A significant exception is Jetty&#8217;s<\/strong>\u00a0emergence with much greater usage than in Google Trends or Stack Overflow, although it agrees fairly well with Hacker News. <strong>\u00a0<\/strong>This may reflect a bias in the Jetty userbase toward more open-source\u2013 and startup-oriented audiences, since Hacker News &gt; Stack Overflow &gt; Google Trends.\u00a0Given my interactions with the DevOps community, this larger share for Jetty seems reasonable among that population, likely to overlap with the New Relic userbase. The reality of this breakdown is further supported by data from <a href=\"http:\/\/zeroturnaround.com\/rebellabs\/developer-productivity-report-2012-java-tools-tech-devs-and-data\/4\/\">ZeroTurnaround&#8217;s 2012 developer productivity report<\/a>, which shows Tomcat in the lead, followed by a nearly tied JBoss and Jetty.<\/p>\n<p>Another exception, this time among commercial options, is <strong>JRun. <\/strong>While not shown earlier, it trails Resin in Google Trends and is almost entirely absent from Stack Overflow. Adobe no longer sells JRun as of this spring, so it can largely be ignored insofar as predictive power goes.\u00a0Steve talked about some potential reasons for these differences in\u00a0<a href=\"http:\/\/redmonk.com\/sogrady\/2012\/06\/13\/new-relic-stack-data\/\">his post<\/a>\u00a0so I won&#8217;t discuss them in any greater depth here.<\/p>\n<p>Also worth noting is that the size of the differentials \u2014 <strong>the size of the real-world usage leads the top app servers hold above their competitors are amplified beyond the size of the conversations and searches occurring about them<\/strong>.\u00a0I would argue that this illustrates a benefit of the transparent development we see in open-source communities. If the barrier to entry is low \u2014 if it&#8217;s easy to install and use, and the documentation is friendly and accessible \u2014 then conversational and search data may be relatively depressed because people have no reason to go that far.<\/p>\n<p><span style=\"font-size: 1.5em; line-height: 19px;\">Conclusions<\/span><\/p>\n<p>Years ago, James and Cot\u00e9 were on to something with their ideas about the future of the app server, and now we have the data to back up their analysis and qualitative research. As James <a href=\"http:\/\/redmonk.com\/jgovernor\/2005\/07\/13\/on-lotus-and-the-advantages-of-componentization\/\">wrote<\/a> back in 2005, decomposing monolithic software into components has many benefits. Developers today prefer a more composable, flexible system, and I expect <strong>anything resembling a successful app server in the future will in reality be a <a href=\"http:\/\/redmonk.com\/dberkholz\/2012\/07\/23\/what-is-packaging-its-all-about-the-barrier-to-entry\/\">packaging<\/a> exercise of many components that have already gained developer traction, with mix-and-match pieces to suit more individualized development.<\/strong><\/p>\n<p><span style=\"color: #999999;\"><strong>Disclosure<\/strong>: IBM, Red Hat, Adobe, and New Relic are clients. Oracle, Pivotal, Caucho, and ZeroTurnaround are not.<\/span><\/p>\n<div class=\"acc_license\"><a href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\"><img decoding=\"async\" src=\"http:\/\/i.creativecommons.org\/l\/by-sa\/3.0\/88x31.png\" alt=\"by-sa\" \/><\/a><\/div><!--<rdf:RDF xmlns=\"http:\/\/creativecommons.org\/ns#\" xmlns:dc=\"http:\/\/purl.org\/dc\/elements\/1.1\/\" xmlns:rdf=\"http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#\"><Work rdf:about=\"\"><license rdf:resource=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\" \/><\/Work><License rdf:about=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\"><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#Attribution\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#Reproduction\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#Distribution\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#DerivativeWorks\" \/><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#ShareAlike\" \/><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#Notice\" \/><\/License><\/rdf:RDF>-->","protected":false},"excerpt":{"rendered":"<p>Prompted by recent encounters with WebSphere&#8217;s Liberty Profile, which is targeted at developers, and the realization that we haven&#8217;t talked seriously about Java application servers for years, the time seemed right for a fresh look at them. Going into it, the outlook from my fellow Monks was grim. For example,\u00a0RedMonk alumnus Cot\u00e9\u00a0wrote in 2010: The<\/p>\n","protected":false},"author":6,"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":[9,28],"tags":[],"class_list":["post-1770","post","type-post","status-publish","format-standard","hentry","category-ibm","category-java"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p23Tsn-sy","_links":{"self":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts\/1770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/comments?post=1770"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts\/1770\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/media?parent=1770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/categories?post=1770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/tags?post=1770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}