Currently I read some article from Richard monson Haefel, he emphasis in all his current article that JEE is near dead because of SOA, JAX-RPC is bad and... can somebody explain me more. some of his opinion I think is right he is one of the best java book writer but I want to know others Guru opinions.
I'm not a Guru by any stretch of the imagination but here it goes...
I presume you are referring to the Burton Group Report "JEE5: The Beginning of the End of Java EE" as reported by SearchWebServices.com and serverside.com. This can be seen as a culmination of what has been going on on RMH's blog. And before you despair too much also see this quote:
The Java programming language is not threatened here, I think the Java programming language is going to continue to thrive and be the mainstay for most enterprise development for years to come."
So what is threatened here is Java EE, NOT Enterprise Java.
And before we even go into that part of the discussion, I'd like to make one observation. In my opinion, if SOA is being developed to realize the vision as described in SOA antipatterns, then it ultimately will suffer a similar fate to EJB and possibly Java EE as it ultimately collapses under the weight of its own complexity that only very few (well-financed) organizations really need. As far as web services go (IBM's) SOA represents the overly-complex extreme end of the spectrum that counterpoints the other extreme of over-simplified attempts of using web services as a means of RPC and object-remoting. The true value of web services is somewhere in the middle (with the document-oriented exchange of data).
The success of Spring as microcontainer and Hibernate as an ORM solution over the past two years (or so) is a testament to the fact that J2EE has traditionally put "might" over "will", i.e. satisfied the needs of a minority of well-financed IT-departments at the cost of burdening the majority of its IT-departments with complexity that they individually derive no benefit from. In order to address the needs of that majority (my guess is probably about 80%) Java EE would have needed a sub-specification stripped of the overall complexity but with a functional feature set similar to the one that can be derived from a web-container/Spring/Hibernate combination (without the marketing-hooks of: "With our full-blown specification you could have xxx feature"). JDO may have been a good replacement for persistence EJB for such a sub-spec, but JDO was neglected in favor of EJB and now Hibernate has the upper hand (though the jury is still out on whether linking Hibernate's future with JBoss will be of benefit in the long term).
As far a JAX-RPC/JAX-WS goes - so what if they are replaced by something like XFire or something that has yet to emerge? As a web service developer you should be primarily concerned with WSDL, XML, XML Schema, SOAP, various WS-* spec (despite what some toolmakers may lead you to believe) - information that applies to web services on all platforms. At the same time you need to be aware of the SOAP vs REST battle. (IBM's) SOA needs SOAP and vendors "love" WSDL/SOAP for its tool-ablity - however if SOA fails to address the needs of the majority of IT-departments (like EJB apparently did), then much of SOAP's complexity has little benefit, and an approach like REST or another successor that addresses the true needs of the majority may yet prevail.
So lets go in more detail: EJB : Session Bean: will die Message Bean(and JMS): will die Entity Bean : Now is dead in JEE5 so no more discussion required ------------------------------------ Java Persistent API: ?, Is Hibernate better than this, or which one will remian? ------------------------------------ Web component: Servlet and JSP : ? JSF : ? taglib and EL: ? Spring : ? ------------------------------------ Web Service: JAX-RPC: ? JAX-WS: ?
Sorry this is more precise I just want to know which one remain and which one will die I think EJB 100% will die but about others I don't have any idea so please tell me in detail
[ July 24, 2006: Message edited by: Reza Rawassizadeh ] [ July 24, 2006: Message edited by: Reza Rawassizadeh ]
I would like to know the following and would appreciate any of your responses:
1. What is the difference between SOA and Web Services? 2. Where is Web Services going? 3. I know that Web Services can be implemented using Web Logic, Axis and others. But I want to know the actual difference between using Web Logic server to implement Web Services and using Axis to implement Web Services. 4. what are the other java based technologies that can be used to implement web services? What are the advantages and disadvantages of using WebLogic, Axis and others? And in today's IT industry, what is the most adopted and widely used technology to implement Web Services and why? Also which one of these is easier and best to use to implement Web Services? 5. Would getting certified in Web Services help any?
I would like to mould my career and shift to developing Web Services and would like to take some advice from experts like you folks before taking this step. Is my thinking in the right direction?
I would love to take any of your priced suggestions. I am currently a J2EE developer.
Joined: Jun 08, 2004
Sarin you change the topic completly but No Problem
1) Web service is a technology used to create service for SOA(Service Oriented Architecture) so SOA is based on web service, like OOA is base on OOP
2) Going to be main technol in software eng.
3) I worked with axis, I know it is based on JAX-RPC and make it easy to implement and use web services . Axis is tool for implementing web service, Weblogis is another tool I think it is base on JAX-RPC to.
4)Your question is very wide but I think current de-facto standard for implementing web service in java is Axis so learn Axis.
5)I think SCWSD is not good because it is Java oriented for learning Web service component like SOAP and WSDL I plan for IBM-141 and for SOA architecture I see something realy interesting IBM-665
I'm not expert to advice you but expert to put my nose everywhere so your decision is absolutly right to move to web service.
I hope somebody will answer my secodn post in this thread :roll:
Joined: Aug 19, 2005
Originally posted by Reza Rawassizadeh: I hope somebody will answer my secodn post in this thread
Many people wish they had that crystal ball - and ultimately anything stated is nothing but a guess.
So far the servlet specification has been the work horse. But something silly like the emergence of AJAX could bring it to its knees. The servlet specification is built around the principle of 1 request = 1 thread and serve each request as fast as possible. But some AJAX clients either deliberately poll the server constantly or try to keep a request open so that the response can return relevant callback data. Jetty introduced the continuation API because of this, but it is unclear whether the principles that the Web Container Architecture is based on are still valid.
With all the complaining going on you would think that JSP would have been replaced by now.
JSF has been around but it is hardly all the rage so there is no guarantee that it will catch on once it becomes part of the Java EE spec. Furthermore it has received criticism because every request is an HTTP POST rather than an HTTP GET - some people think that you should only use non-idempotent HTTP functions when you have a good reason to.
Ever since Hibernate became part of JBoss things have become somewhat hostile between Hibernate and Spring - not good for either of them. Also this association with one single application server may make it too JBoss-oriented and may introduce unnecessary bloat for people who want to use it in standalone applications or other containers.
The portions of JAX-WS that are implemented by Axis 2 will probably be around for some time. Meanwhile Spring favors XFire which also seems to want to support JAX-WS. Where is a JAX-WS alternative going to come from?
Sometimes information just creates more confusion... [ July 26, 2006: Message edited by: Peer Reynders ]