Some experts, such as Richard Monson-Haefel in his recent books, claim that only J2EE 1.4 is mature enough for mission-critical Web Services applications. This leads to the following dilemma, given the current non-availability of commercial app servers supporting J2EE 1.4:
(1) Start working with a beta version (such as WebSphere Application Server Technology for Developers 6.0) and hope that the commercial release will be out at a reasonable time before you deliver your app OR
(2) Go with a J2EE 1.3 compliant server (e.g. WebSphere 5.1) with all the concomitant shortcoming wrt robust Web Services support.
How hampered is one if one decides to stick with J2EE 1.3? Are the limitations so severe that one should wait if at all possible for the J2EE 1.4 server generation of app servers? And when exactly are they expected to be out?
Surely one can develop robust web services on top of pre-J2EE 1.4 technologies. If robustness is the problem, then add in some redundancy and brokers. If you can't/don't want to build a state-of-the-art web services infrastructure, buy the solution from IBM and be done with it.
I would really like to see the exact words used by Richard, for example. Do you have any references at hand?
Here are the exact words (from RMH's "J2EE Web Services" book) you asked for. Emphasis is mine. Actually, J2EE 1.4 app servers are required to support BP 1.0, but this does not preclude J2EE 1.3 app servers to do so. I just do not know if there any actual instances of such servers.
"This book covers the use of the Web Services APIs as specified in J2EE 1.4 because version 1.4 is the first Java platform that fully embraces the Web service paradigm"
"At the heart of J2EE Web Services interoperability, and of Web services interoperability in general, is the Basic Profile 1.0 (BP), published by the Web Services Interoperability Organization (WS-I). The BP provides a set of rules that govern how applications make use of common Web service technologies so that everyone is speaking the same language. The BP makes Web service interoperability practical, and coverage of it is a critical aspect of this book.
Although this book assumes you will want to develop Web services that comply with WS-I, only J2EE 1.4 vendors are required to support the BP."
"Throughout this book, particular care is given to framing most discussions in the context of the Web Services Interoperability Organization's Basic Profile 1.0. If you have worked with Web service technologies in the past and have had a chance to study the BP, then you will probably appreciate why it's so important. To be completely blunt: I do not believe general Web service interoperability with anonymous parties is actually feasible without the guidance of the WS-I Basic Profile 1.0. Experienced Web service developers can tell you numerous interoperability horror stories related to the loose language and broad visions defined by standards like SOAP, WSDL, and UDDI. The WS-I Basic Profile eliminates many, if not all, of the ambiguities inherent in these primary standards, finally making interoperability among disparate Web service platforms (.NET, J2EE, Apache Axis, Perl, etc.) possible." [ August 06, 2004: Message edited by: Panagiotis Varlagas ]
Thanks. However, I really think that drawing the conclusion "only J2EE 1.4 is mature enough for mission-critical Web Services applications" from Richard's text above is exaggeration. It's not a question of maturity at all. It's a question of web services standards compliance which can be accomplished even without any J2EE version...