{"id":251,"date":"2006-07-18T21:55:27","date_gmt":"2006-07-19T04:55:27","guid":{"rendered":"http:\/\/www.redmonk.com\/cote\/wp\/?p=251"},"modified":"2006-07-18T21:55:27","modified_gmt":"2006-07-19T04:55:27","slug":"on-the-death-of-java-ee-aka-j2ee","status":"publish","type":"post","link":"https:\/\/redmonk.com\/cote\/2006\/07\/18\/on-the-death-of-java-ee-aka-j2ee\/","title":{"rendered":"On the Death of Java EE, aka, J2EE"},"content":{"rendered":"<p>I&#8217;ve spoken with <a href=\"http:\/\/www.webpronews.com\/topnews\/topnews\/wpn-60-20060711JavaEEMarkedForDeath.html\">several<\/a> <a href=\"http:\/\/searchwebservices.techtarget.com\/originalContent\/0,289142,sid26_gci1201062,00.html\">people<\/a> about <a href=\"http:\/\/searchwebservices.techtarget.com\/originalContent\/0,289142,sid26_gci1198211,00.html\">the recent prediction, from Burton&#8217;s Richard Monson-Haefel, that &#8220;JEE will be the CORBA of the 21st Century&#8221; in five years, <\/a> meaning, it will be an annoying, obsolete platform. The original report is <a href=\"http:\/\/www.burtongroup.com\/research_consulting\/doc.aspx?cid=70\">only available to Burton clients<\/a>, so I have haven&#8217;t taken a gander at it myself. But, there&#8217;s also an <a href=\"http:\/\/inflectionpoint.burtongroup.com\/ip\/2006\/07\/jee5_the_beginn.html\">MP3\/podcast episode from Richard<\/a> on the topic.<\/p>\n<h2>Still, and Always, Work to Do<\/h2>\n<p>I&#8217;m probably more in agreement with Monson-Haefel than <a href=\"http:\/\/searchwebservices.techtarget.com\/originalContent\/0,289142,sid26_gci1201062,00.html\">the vendors who &#8220;struck back&#8221;<\/a> in the reply article and <a href=\"http:\/\/javaposse.com\/index.php?post_id=111426\"> other folks who reacted strongly<\/a> to Monson-Haefel. Long time Cot&eacute; readers and <a href=\"http:\/\/drunkandretired.com\/podcast\/\">listeners<\/a> know that I&#8217;ve spent plenty of time complaining about <a href=\"http:\/\/www.drunkandretired.com\/2003\/06\/30\/java-io-sucks-goat-ass\/\">Java<\/a>, <a href=\"http:\/\/www.redmonk.com\/cote\/archives\/2006\/02\/java_culture_up.html\">Java developers<\/a>, and especially <a href=\"http:\/\/www.redmonk.com\/cote\/archives\/2006\/02\/the_exciting_wo.html\">J[2]EE<\/a>.<\/p>\n<p>I am after all, a Java developer of about 10 years: while I still like Java and JEE, I have several chips on my shoulder. Substantial changes towards simplification and inclusion of other languages and approaches to web applications still need to be rolled into JEE.<\/p>\n<h2>JAMP<\/h2>\n<p>Here&#8217;s what I&#8217;ve said to the folks who&#8217;ve talked with me:<\/p>\n<blockquote>\n<p>Sure, if Java EE were frozen as it is now and never changed, it&#8217;d become obsolete once simpler and lighter-weight platforms, <a href=\"http:\/\/blog.scribestudio.com\/articles\/2006\/06\/30\/railsconf-2006-keynote-series-dave-thomas\">like Rails, were fully injected with the enterprisey serum<\/a>. However, if Java EE continues it&#8217;s goal of simplifying <i>and<\/i> adds in support for more languages than just Java &#8212; such as JavaScript, PHP, Ruby, Python, and\/or Perl &#8212; it can keep it&#8217;s position as platform for developing enterprise applications and services.<\/p>\n<p>When I boil it down, Java EE programers want two things: transactions and scalability. Every single alternative is eventually judged by those two criteria. Once an alternative has the same mind-share for doing transactions well and scaling, Java EE will be truly threatened.<\/p>\n<p>While maintaining Java EE&#8217;s strengths in those two areas, Java EE also needs to become a more inclusive platform, pulling in as many non-Java languages and technologies as possible. Java EE has lost a lot of ground on the platform front to Linux in the form of the LAMP stack. The LAMP genie is out of the bottle, but it highlights strategic thinking for Java EE in the future: it needs to become not just a container, but the entire platform for applications.<\/p>\n<p>Abstracting away the OS was the early dream, but the missing feature to all of that was limiting the platform to Java only. The dynamic language JSRs are key to realizing this broader platform play. As such, the next bet for Java EE&#8217;s long-term survival is for the Java EE community to make running dynamic languages and frameworks like PHP, Rails, JavaScript, and python work as well, and even better, in Java EE as they do in Linux.<\/p>\n<p>Java EE will steeply decline if the Java EE community keeps Java EE as a mono-language environment, where only Java is spoken. I don&#8217;t yet see WS-* driven SOA as any sort of panacea of the Next Great Framework, but we&#8217;re now starting see <a href=\"http:\/\/www.loudthinking.com\/arc\/000585.html\">a solid WS-* backlash<\/a> that could lead to the ideal SOA we&#8217;ve been mashing out over the past few years.<\/p>\n<p>Key to riding out those waves, for Java EE, is being as open a platform as possible. Otherwise, the combination of Linux and the dynamic language <i>du jour<\/i> (PHP, JavaScript, Ruby, Python, Perl, or whatever comes next) will have a good chance of wining the day as the enterprise application platform of choice.<\/p>\n<\/blockquote>\n<p>As <a href=\"http:\/\/www.voiceoftheresistance.com\/\">Dick Wall<\/a> would <a href=\"http:\/\/javaposse.com\/\">remind us<\/a>, <a href=\"http:\/\/groovy.codehaus.org\/\">Groovy<\/a> is looking pretty good nowadays as well.<\/p>\n<h2>Further Chewing<\/h2>\n<p>All that said, you might look at the result of those suggestions as something that wouldn&#8217;t be the next evolutionary stages in JEE&#8217;s life, but something else entirely. Fair enough, I wouldn&#8217;t argue against that understanding of such an arc. But it wouldn&#8217;t be my way of looking at it.<\/p>\n<p>There&#8217;s a long, low-level discussion we could get into at this point about several &#8220;what is JEE?&#8221; questions and lines of thought, like:<\/p>\n<ul>\n<li>The ball and chain (or &#8220;excuse&#8221;) of backwards compatibility<\/li>\n<li>Tools making things &#8220;simpler&#8221; (not my cup of tea)<\/li>\n<li>What parts of JEE people actually use? (now we&#8217;re talkin&#8217;!)<\/li>\n<li>How do implementations of JEE effect complexity<\/li>\n<li>JEE&#8217;s many Red Headed Step Children<\/li>\n<\/ul>\n<p>But, we&#8217;ll skip that for another time if you, dear readers, are interested. I&#8217;m sure <a href=\"http:\/\/javaposse.com\/index.php?post_id=111426\">other people<\/a> will take up many of those topics as well.<\/p>\n<h2>Avoiding the Wile E. Coyote Anti-Pattern<\/h2>\n<p>\n<a href=\"http:\/\/www.studyphysics.ca\/newnotes\/20\/unit02_circulargravitation\/chp07_2d\/lesson26.htm\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/static.flickr.com\/73\/193082911_14f51afe24_o.jpg\" width=\"191\" height=\"144\" alt=\"Wile E Coyote\" \/><\/a><\/p>\n<p>There&#8217;s enough maneuvering room for JEE to apply the breaks and avoid spilling over the CORBA cliff. We advise Sun along these lines almost every chance we get: essentially it boils down to (a.) recognizing what users\/developers want, and, (b.) giving it to them as fast as possible.<\/p>\n<p>That&#8217;s key advice we give to everyone in this day and age. Sure, we might get <a href=\"http:\/\/www.redmonk.com\/cote\/archives\/2006\/05\/episode_11_more.html\">The BigCo excuse<\/a>, or &#8220;The Committee Excuse&#8221; in the case of JSRs, from everyone, including Sun. I roll my eyes every time I hear it &#8212; often, only in my head to be polite. But, I&#8217;ve liked <a href=\"http:\/\/www.redmonk.com\/jgovernor\/archives\/001550.html\">what we&#8217;ve been seeing coming from Sun<\/a> and, more importantly, the Java\/JEE community recently. My belief that they can &#8220;turn it around&#8221; is still in wait-and-see mode, but I&#8217;m far from writing them off yet.<\/p>\n<p>That is, my warm-and-fuzzies are still OK in the Java\/JEE world.<\/p>\n<p><b>BIG Disclaimer:<\/b> Sun a client. In fact, they referred me to Rich Seeley for <a href=\"http:\/\/searchwebservices.techtarget.com\/originalContent\/0,289142,sid26_gci1201062,00.html\">the followup article<\/a>.<\/p>\n<p><!-- technorati tags start --><\/p>\n<p>Technorati Tags: <a href=\"http:\/\/www.technorati.com\/tag\/burton\" rel=\"tag\">burton<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/dynamiclanguages\" rel=\"tag\">dynamiclanguages<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/j2ee\" rel=\"tag\">j2ee<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/java\" rel=\"tag\">java<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/jee\" rel=\"tag\">jee<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/platform\" rel=\"tag\">platform<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/redmonkadvice\" rel=\"tag\">redmonkadvice<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/simple\" rel=\"tag\">simple<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/soa\" rel=\"tag\">soa<\/a>, <a href=\"http:\/\/www.technorati.com\/tag\/sunw\" rel=\"tag\">sunw<\/a><\/p>\n<p><!-- technorati tags end --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve spoken with several people about the recent prediction, from Burton&#8217;s Richard Monson-Haefel, that &#8220;JEE will be the CORBA of the 21st Century&#8221; in five years, meaning, it will be an annoying, obsolete platform. The original report is only available to Burton clients, so I have haven&#8217;t taken a gander at it myself. But, there&#8217;s [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,15,23],"tags":[],"class_list":["post-251","post","type-post","status-publish","format-standard","hentry","category-enterprise-software","category-java","category-programming"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts\/251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/comments?post=251"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts\/251\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/media?parent=251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/categories?post=251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/tags?post=251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}