Java Platform, Enterprise Edition (Java EE) is not going to survive as a major standard programming model in the next five years, predicts Richard Monson-Haefel, senior analyst with the Burton Group, and SOA is part of the reason.
Java Platform, Enterprise Edition (Java EE) is not going to survive as a major standard programming model in the next five years, predicts Richard Monson-Haefel, senior analyst with the Burton Group, and SOA is part of the reason.
…Here http://jaysonknight.com/blog/archive/2006/07/13/9116.aspx
(I submitted this story to OSNews 2 days ago…glad to see someone else get credit 😉 ).
…not sure if I should be happy or depressed. Took me 5 years to learn what I know about EE and now…
I guess we should have stuck with .net? Or should I just look at this like, “hey! it’s trimming down and we can now target what we want to do with a specific library/product/methodology instead!”
From the article…
“Unfortunately, none of these facets of Java, or any other virtual machine-based, object-oriented runtime environment for that matter, are ideally suited as a platform for SOA.”
That includes .NET. The article doesn’t necessarily invalidate Java EE or .NET. They just claim it isn’t as good for SOA based applications. And that is only one group’s opinion, it doesn’t make it law.
…True… it did say that. Part of my comment was based on something you DIDN’T know which was: we were a pure microsoft shop and when .net came out, we decided to go the Java route feeling it had a brighter future.
So, we could have stayed with .net and had a slightly shorter learning curve… now I don’t know EE sufficiently well to ever call myself an expert, and don’t know .net at all…
Now what? Ruby on rails? I know there is actually some interest by some of our developers at work… I know some Ruby and Python thankfully… but even so.
I’ll get crucified for this, but C#/.Net CODE isn’t really that much different then Java. I took a GUI app and half the coding was deleting java code and then doing global renames to fix capitalizations and a couple other things. Oh and all those annoying .Get and .Set things go away too, and the casts. There are some things that are different, but there are a lot of similarities. The GUI threading issues are similar.
A lot of this depends of course on how big your projects are, but if you’re already passing SOAP, XML or similar data around, moving to C# shouldn’t be that hard.
Mono on Linux is getting quite good. By this fall the WinForms stuff should be declared done. The console apps are already doing quite good. Second Life is/will be using it for all their scripted actions.
>we were a pure microsoft shop and when
>.net came out, we decided to go the
>Java route feeling it had a brighter
>future.
Sounds your shop struggles with the same flaw that ours does. We have nasty habit of being reactive to technology(on the order of 5-7 years), rather than striving to stay at least somewhere in the general vacinity of the curve.
Mind you J2EE isn’t something that you can just pick up over night, but our company is getting ready to deploy it’s first pure J2EE solution. In our case, it’s that or a giant home-grown framework, so, in some sense of course, the choice was clear, as long as we were staying with java(though not necessarily, I admit.)
The point is, this happens every 7-10 years and a smart organization of any size would do well to have already made in-roads into Rails (or a couple of other alternatives). I’m not talking about doing an about face and deploying one’s entire product line into Ruby. Tech shops should, however, be able to turn on a quarter or fifty-cent piece if not a dime.
I feel for ya. I really do. I feel for me.
Thanks, man. Let’s go get a beer.
“Mind you J2EE isn’t something that you can just pick up over night, but our company is getting ready to deploy it’s first pure J2EE solution. In our case, it’s that or a giant home-grown framework, so, in some sense of course, the choice was clear, as long as we were staying with java(though not necessarily, I admit.) “
Here in lies the big reason J2EE is so successful. Yes, it’s a big, complex beast. But in solves huge, complex problems that would otherwise be much harder to solve with other tools, frameworks or home grown solutions.
With J2EE, you get transactions, load balancing, messaging, remoting, connection pooling, security, persistence, SOA, legacy integration, and a host of other powerful features that are all commonly needed in big enterprise computing, all packaged into one consistent standard (into J2EE compliant application servers), that can be deployed across a myriad of platforms and hardware. And you can choose from a number of big vendors, or open source solutions, or a combination there of. And you can draw from a huge developer base.
No other software stack, not .Net, not RoR, not LAMP, or anything else, can match J2EE’s power or features.
J2EE is complex out of necessity. It solves the most complex problems. It is also a big enabler. It allows enterprises to pick and choose any hardware, vendor, platform for whatever task, and J2EE can seemlessly tie it all together.
The problem lies in trying to apply full J2EE to smaller problem domains, like a simple interactive website, where RoR or LAMP would be easier and probably more appropriate. Or sometimes people apply the hardest, most complex bits of J2EE to smaller problem domains. The over hyping of EJB is a perfect example. EJB is only useful for the biggest of problems where both transactions and remoting are essential. But it is sometimes applied where a simple JSP/Servlet/JavaBean/MVC app would do just fine.
we were a pure microsoft shop and when .net came out, we decided to go the Java route feeling it had a brighter future.
It still does. People aren’t going to stop using Java or J2EE tomorrow, no matter what some idiot analyst might say. We have stuff to get done rather than worrying about what will be in vogue by this time next week.
Many companies have got excited about .Net in this area over the years, and then realised when they came to use it that in many ways the whole thing is becoming just as complex as Java and surrounding technology. Just look at Indigo. The excitement has now worn off and hopefully people will view Ruby, Java and .Net objectively.
Now what? Ruby on rails? I know there is actually some interest by some of our developers at work… I know some Ruby and Python thankfully…
Keep on using Java if you want, but look at different ways in which you can use it. Try Ruby and see what it can do for you from a technology perspective.
Posted by: Cameron Purdy on July 11, 2006 in response to Message #213269
So many final death blows. Sooner or later it has to be fatal, right?
Peace,
Cameron Purdy
Tangosol Coherence: Clustered Shared Memory for Java
sorry I couldnt resist … I needed to xpost this one.. whole thread @TheServerSide
http://www.theserverside.com/news/thread.tss?thread_id=41283
Edited 2006-07-13 11:20
“You’ll see that Java EE focuses on providing a framework for scalable n-tier architectures like those that large, transactional Web sites require,” Bloomberg said. “However, if you were to set out to create an enterprise-class framework for SOA, you’d build something quite different. You’d build a framework centered on enabling and maintaining the services abstraction layer so critical to SOA. So, while Java EE is well-suited for running platform-dependent services, it is not built for SOA.”
SOA is more client and server middle ground, where Java EE is just for server backend. SOA is not the total future it’s just a ‘most popular’ model. You can’t really discount the heavy duty languages. CORBA was slow, right.
I think C would be strict static code client/base. Java EE will be best for things like Grid Computing where complexity is needed and the stability of one platform.
These VM languages were specifically invented for databasing no matter what the creator of Java says Actually they work great for client too sometimes like the Quake 2 Java port even though there still using C++ OpenGL for graphics. Not sure about the AI.
There is an article about C vs the VM languages here Don’t fear Native Code:
http://www.infoworld.com/article/06/07/12/29OPcurve_1.html
IMHO for lage scale projects Java EE is the best for at least next 3 years.
I’m an architect of RUNA WFE (an open workflow system, and I claim that if we didn’t use Java EE we’d failed to build our product).
demo is available at
http://wf.runa.ru/English/OnLineDemo/Online_demo.html
Java EE is not only for services. It is very large specification that deals with clustering,ORM, remote method invocation and even web page processing.
Despite SOA and workflow are going to meet each other I don’t like the current standards and products for SOA.
IMHO It will take vendors about 3 years to make their SOA product usable + 2 or 3 years to make their products popular.
Until then Java EE is best and there are no alternative for lage scale applications.
Regards,
Vitaliy S
Not entirely sure how something like Ruby on Rails, or SOA poses a real threat to Java EE at the moment. SOA specifically I think can be complimented very nicely by Java EE, especially in services that experience high loads.
For smaller scale situations, I’m sure Ruby On Rails is great, and may make building a blog or a simple web service quite simple. However, does it really provide the scalability and breadth of services found in Java EE?
Java EE I think still has a fair bit of life in it – incredibly disappointing there was no mention of the serious strides that have been made to reduce complexity in JEE5. I’d suggest the author needs to double check thier facts.
Considering that SAP and PeopleSoft (now Oracle) have heavy investments in J2EE for their SOA products, I just don’t see these extremely large companies switching to newer, whizbang languages like ROR. Like someone else said, J2EE is the new COBOL. I don’t see it going anywhere. I think it’s here to stay.
There have been a series of articles in the last few months about “the death of Java because of xyz” – I can’t believe people are buying this tripe.
I have developed in J2EE/Java EE, .NET, and other technologies for almost ten years now and no one out there has anything *like* Java EE 5 now – it truly is remarkable. What most uninformed folks tend to do is pretend Java EE = J2EE – and it just doesn’t.
I hear a lot of noise about “complexity”. At this point developing a solutiin in ASP.NET is many times more complex than Java EE 5 – especially if you’re using a great web framework like Wicket. Now that we’ve got a hibernate-style API for developing *real* object-oriented solutions and not relational-style objects like .NET pushes – there’s just no comparing the two. Rails you say? Rails is in its bandwagon stage, just like Java/J2EE was in 2000 – get over it, the market demand for ‘rails’ developers is almost non-existent.
Java EE does services great and w/ JAX-WS – the Java EE web services API, they’re much easier to create than ASP.NET WS’s now, believe it or not! Java EE will be as much a part of the new buzzword of the day, “SOA”, as any other technology on the market…perhaps even the leader, again!
You may want to follow this thread to see what actual Java developers think of this:
http://www.theserverside.com/news/thread.tss?thread_id=41283
You can find the wonderful Wicket framework here:
http://wicket.sourceforge.net/
Could SOA please also kill off COBOL while the killing is good? Quite frankly, killing off Java is a much lower priority.
Well, in our company we’re doing sort of SOA with Cobol and MQS.
So, no, SOA does not kill Cobol, they can live together in harmony.
Then whats the alternative? SOAP coupled with the most bloated verbose language in the universe (XML) then having to to use a compressor to make it remotely usable for a large scale project.
If you go for .NET, you’re wedded to Microsoft and Windows for life; you’re basically no better off than if you simply went win32 native.
I’ve seen all sorts of people, including IBM, Oracle and HP, running around trying to convince people of Service Oriented Architectures. It’s been a big buzz phrase these past few months.
However, it’s become very apparent that absolutely no one knows what SOA is. Every piece of technology, whatever technology it is based on, has elements of SOA in them, as does Java and J2EE. Doesn’t mean you can’t architect something differently. The concept SOA does not necessarily dictate XML and HTTP, although there are problems using those technologies in a lot of cases.
SOA is just a money making buzz phrase in search of someone who is stupid enough to spend money on consultants pushing it. In these past few months it’s become clear that the money just isn’t there.
About time.
I think JEE will be around for better or worse. J2EE has really gottne fecking complicated though. But SOA will have nothing to do with J2EE. If you talk SOA you think web services, and you can make an EJB a web service hence you will need J2EE plain and simple. JEE on the other hand is a step in the right direction methinks. But still I dont think it is good enough to combat complexity. Time will tell I guess…and yes I am a Java developer…
Here’s another analyst who’s trying to analyze what they don’t understand. He equates SOA to web services, when this just isn’t the case. Web services (through REST and SOAP) are a part of SOA, but he doesn’t even consider things like MQueue. Do you want to honestly build your entire enterprise infrastructure on HTTP calls? Talk about slow! Sometimes it just makes more sense to serialize objects right onto the wire. Leave the XML stuff for any services you want to make available in business to business communications, not internally!
Java EE is actually a technology used to implement SOA, and it’s one of the best. The reason there are so many tools in Java EE is not because it’s “useless bloat” whereas RoR has some sort of magical way of providing all this functionality without any additional libraries to learn!
If you want to, you’re still free to develop Java web apps the same way now as back in 2000: struts and Tomcat.
There are some people out there that want to somehow build very complex systems without any complexity. Java EE is a big system looking for big problems, and sure, perhaps there is some truth to this article in that Java has engineered itself out of problems more easily addressed by PHP and RoR.
But the biggest advantage of Java EE is that you can build a framework within your organization with great biz-layer integration of code and services. You can get great reusability out of your biz objects across the enterprise, especially now thanks to aspect-oriented programming.
This article is written by and for people who don’t want to spend any time and effort learning what really powers the industry. The biggest critics this article could have won’t respond of course, because they’re too busy out there creating real solutions that work now than sitting here blogging about stuff they don’t understand and buzzwords they heard on some forum.
Very well said.
At the Java user group meeting I went to two nights ago the main theme was how J2EE jobs are starting to go through the roof again. Companies are increasing J2EE adoption and projects, not decreasing.
Also, do searches on Dice, Monster, HotJobs, etc, for Java and/or J2EE, and/or JEE, and then do searches on the so called “hot technologies (Ruby on Rails, PHP, SOA, etc), and the amount of Java jobs to the amount of the other “hot” technologies is like 1000 to 1.
Add to that the fact that JEE has broad across the board support and marketing from some the biggest IT vendors in the world – IBM, Sun, Oracle, HP, BEA, etc, and they are only increasing their Java strategies, not decreasing them.
Add to that the fact that there is huge open sourse adoption of Java, including open source technologies like Spring and Hibernate and Struts that have become “De facto” standards, and these projects are only becoming more popular. Then look at all the other open source Java projects, like Tomcat, Ant, JUnit, xDocklet, gcj, Jikes, Eclipse, and on and on.
Then look at the massive improvements that Sun and the JSR have made to both JSE and JEE. JSE has become more efficient (particularily Swing), has added generics, annotations, etc. JEE has improved massively by adding POJO support, a la Spring and Hibernate, with EJB 3.0.
Then look at the phenomenal success of J2ME on smart phones and the like.
Then add to the that the phenomenal successes of both Eclipse and NetBeans. Both projects are enjoying accelerating adoption.
Then add to that the fact that there are currently more than 5 million (and counting) Java developers.
Then look at the huge success of the Java One conferences the last couple of years. Reports have shown that these have been filled to the rim, with standing room only sessions, and the selling out of various Java paraphanelia.
Nope, Java, or JEE, isn’t going anywhere but through the roof.
The so called “analysts” are increasingly becoming less than uesless. They spout off garbage like “Java is dead”, or “MS is a sinking ship”, or “Linux is a failure”, all for the purpose attracting attention and doing the bidding of (fill in the blank) big vendor.
The so called “analysts” are increasingly becoming less than uesless. They spout off garbage like “Java is dead”, or “MS is a sinking ship”, or “Linux is a failure”, all for the purpose attracting attention and doing the bidding of (fill in the blank) big vendor.
These ‘analysts’ have always spouted crap – these are the same people who claimed that the Itanium server market would be worth 10billion by this time; that Sun and all the other major UNIX players would have moved their UNIX’s to Itanium.
The simple fact is, that hasn’t been the case; IBM is going gang busters with their POWER5 processor, Cell and with the Xbox, P3 and Nintendo all using IBM processor technology, it speaks volumes for the so-called accuracy of these analysts.
It was speculated that Sun would be down, 6 feet under ground, when in reality, the T1 and T2 are sales are going gang busters, there are now 16 way x64 Solaris machines in U2 form factor, x64 workstations being shipped.
Analysts are basically nothing more than over paid soothsayers, basically, an upmarket verson of Dvorak who had the ability to con more people into believing their hype and bullshit.
FUD!