Which is the most suitable application server to prepare for SCDJWS?
Harsh Ravindra Gupta
Greenhorn
Joined: Oct 29, 2006
Posts: 8
posted
Hi Fellows,
I am planning to give the SCDJWS exam in a couple of months( i.e by october end). I have started to prepare and i would like to try my hand and do some hands on. Please suggest which Application Server is the most suited for this.
Thanks and Regards<br />Harsh Gupta<br />SCJP 1.4 (95%)<br />SCDJWS--(Prep)
sachin bhatt
Greenhorn
Joined: Sep 03, 2007
Posts: 2
posted
hey dude.
try out apache axis
Peer Reynders
Bartender
Joined: Aug 19, 2005
Posts: 2906
posted
Originally posted by sachin bhatt: hey dude.
try out apache axis
Ever tried implementing a JAX-RPC EJB Endpoint in Axis? You can't. Also the Axis deployment files do not match up with those for J2EE 1.4 Web Services. Those are just the differences that I remember off the top of my head.
Edit: Apparently JWSDP 1.6 is no longer available for download though its documentation is available here. Basically you will have to use JWSDP 2.0. However the exam focuses on JAX-RPC 1.1, not the later JAX-WS 2.0 (and annotations aren't covered either). [ September 13, 2007: Message edited by: Peer Reynders ]
Thanks for the Reply I will use the Sun Application Server and the JWSDP 2.0 as per your advice. Also please clarify if the JWSDP 2.0 supports the JAX-RPC 1.1 specification.
I will bug you again if i face any problems in the hands on. Hope you dont mind
Peer Reynders
Bartender
Joined: Aug 19, 2005
Posts: 2906
posted
Originally posted by Harsh Ravindra Gupta: Also please clarify if the JWSDP 2.0 supports the JAX-RPC 1.1 specification.
Axis also doesn't directly support JAXR - a separate package would be required.
Naren Chivukula
Ranch Hand
Joined: Feb 03, 2004
Posts: 303
posted
Hello,
Couple of questions from the above.
1. Can we still rely on J2SDK1.4.2 to work on the J2EE Web Services? 2. Is there any relationship between the usage of JWSDP2.0 with J2EE1.4? 3. What are the advantages of JAX-WS over JAX-RPC? Can JAX-WS fulfil all the programming concepts that we typically do using JAX-RPC?
Now, I have to change the development environment for J2EE Web Services using Sun App Server and JWSDP. I may come up with more questions whilst working on the examples.
Thanks for all those participating actively on this topic.
Cheers, Naren
Peer Reynders
Bartender
Joined: Aug 19, 2005
Posts: 2906
posted
Originally posted by Naren Chivukula: 1. Can we still rely on J2SDK1.4.2 to work on the J2EE Web Services?
If a platform is J2EE 1.4 certified it has to have at least support Java 2 1.4 and JAX-RPC 1.1. So JAX-RPC 1.1 has to work in a Java 2 1.4 environment.
2. Is there any relationship between the usage of JWSDP2.0 with J2EE1.4?
You cannot use the JWSDP 2.0 in a strict J2EE 1.4 environment. JWSDP 1.6 was the last one that only needed the 1.4.2 JVM (though it was never sanctioned for production use anyway). It seems that Sun has withdrawn the complete JWSDP 1.6 download. However the documentation lists the components of the JWSDP 1.6. You should be able to find these parts separately on dev.java.net. Examples: JAX-RPC 1.1 source JAXB 1.0.x
3. What are the advantages of JAX-WS over JAX-RPC? Can JAX-WS fulfil all the programming concepts that we typically do using JAX-RPC?
As the name implies JAX-RPC was primarily focused on using web service interfaces as a remote procedure call protocol (which is a paradigm easily understood by programmers) - even though there is some support for document-orientation (which is immediately undermined by JAX-RPC tools that try to turn these documents automatically into java objects and methods - some concerted effort is required to build document-oriented web services with JAX-RPC properly - see Strategy: Integration with JAXB). Basically JAX-RPC was recognized as being fragile and overly complicated for what it does (See: RMH: JAX-RPC is Bad, Bad, Bad!).
So first the name had to change: JAX-WS (Web services. RPC is gone - from the name at least). IIRC JAX-WS doesn't support the dreaded RPC/encoded messaging style that usually is implemented with the Section 5 SOAP Encoding. Good riddance, as that was an interoperability nightmare anyway.
However JAX-WS introduced web service annotations which was often cited as the biggest improvement. In fact this reinforced RPC-thinking in the specification. Microsoft had introduced web service attributes with the first .NET version of Visual Studio and BEA was pressing hard to get something equivalent into the Java specifications. They are popular because they give the developer the illusion that they can happily design/specify service-oriented artifacts in the object-oriented domain - and hopefully save them from the burden of learning all about, XML, XML-Schema and WSDL because the service interface and contract are automatically derived from the Java artifacts. In practice this usually creates service interfaces and contracts that are not as clear as they could be for other third party tools and developers using other platforms. This also completely ignores the fact that you need to design your service interaction separately from any object model that may be present inside the services and clients. The object models may be different or there may not even be an object model. Just as you design an object model for your application, you need to design a services-model on the next higher level - you can't simply imply it from the lower level.
This is why web service annotations are being called web service magic pixie dust. (Now annotations that contain hints on how to bind to an existing contract - that might be genuinely helpful.)
All in all the RPC mindset needs to be broken; SOAP based web services will be around for a while but most of the ones that will stick around will be documented-oriented. One big feature of document-oriented: there is no method/operation name in the SOAP message. Basically the document is submitted to the endpoint and that is it. The endpoint has to figure out what to do with the document either based on the document type or the document content; there is no method to give it a "hint".
I'd have replied at the very first instance when I saw your response. But, your analysis is too much for me to digest, especially to go through the links to understand
Though I have not fully understood, I can get the things slowly in bits and pieces. I'm grateful to you for showing me the direction.
It's really interesting to work on Sun Application Server with J2EE 1.4 tutorial in hand
According to the writeup that server is Java EE 5 compatible.
For the time being the Sun Certified Developer for Java Web Services exam (CX-310-220) (2004 July) is still about "creating web services applications using Java technology components such as those supported by the Java Web Services Developer Pack and the Java 2, Enterprise Edition 1.4 platform". So the Sun Java System Application Server PE 8.2 with the JWSDP 2.0 is the most up to date J2EE 1.4 reference platform (despite the fact the it uses the 1.5 JVM).
If I wanted to learn about JAX-WS in a Java EE 5 environment I would probably choose Glassfish instead.
Section 4: JAX-RPC 4.2 Given a set of requirements for a Web service, such as transactional needs, and security requirements, design and develop Web service applications that use servlet-based endpoints and EJB based endpoints.
Section 8: Security 8.3 Given a scenario, implement J2EE based web service web-tier and/or EJB-tier basic security mechanisms, such as mutual authentication, SSL, and access control.
Section 9: Developing Web Services 9.1 Describe the steps required to configure, package, and deploy J2EE Web services and service clients, including a description of the packaging formats, such as .ear, .war, .jar, deployment descriptor settings, the associated Web services description file, RPC mapping files, and service reference elements used for EJB and servlet endpoints.
With Sun Java System Application Server PE 8.2/JWSDP you can also deploy EJB based endpoints.
(Now the wisdom behind exposing pre-existing SLSBs as a web services - well that is an entirely different matter.)
Naren Chivukula
Ranch Hand
Joined: Feb 03, 2004
Posts: 303
posted
Excellent Peer!
My gratitude for all your help.
Cheers, Naren
khushhal yadav
Ranch Hand
Joined: Jun 20, 2007
Posts: 242
posted
Thanks a lot Peer
How much knowledge of EJB, we are supposed to have? And whether that is for EJB2 or EJB3.
And one more thing I have given a glance to Richard-Monson-Haefel book. But don't think, it covers all the topics?
Where can I get a tutorial for a proper structure of an complete and entire application and its deployment? I know about each ingredients of an application but little confused how they are structured and placed to communicate with each other?
Originally posted by khushhal yadav: How much knowledge of EJB, we are supposed to have? And whether that is for EJB2 or EJB3.
As per J2EE 1.4 Spec EJB 2.1. Whatever is in RMH should be enough - just make sure that you understand it all. EJB 2.0 didn't support web services at all. EJB 2.1 allows you to expose SLSBs through a web service interface.
Originally posted by khushhal yadav: And one more thing I have given a glance to Richard-Monson-Haefel book. But don't think, it covers all the topics?
Originally posted by khushhal yadav: Where can I get a tutorial for a proper structure of an complete and entire application and its deployment? I know about each ingredients of an application but little confused how they are structured and placed to communicate with each other? Khushhal
After that use what you have learned in your preparation and try to do the same thing with the Sun Application Server/JWSDP, first as a servlet based endpoint then as an EJB based endpoint. After that see if you can find ways to integrate other J2EE 1.4 features that you have learned about.
One more thing, is the exam WS-I BP 1.0 conformant or not?
The exam requires you to know about WS-I BP 1.0a - i.e. what features make a web service conformant, what features make it non-conformant. The J2EE 1.4 specification includes support for some non-conformant features like RPC/encoded (Section 5 SOAP Encoding) which as per objectives is within scope:
Objective 2: SOAP 1.1 Web Service Standards 2.1 List and describe the encoding types used in a SOAP message.
So you are responsible for knowing how to create a WS-I Basic 1.0a compliant web service AND how to use (and possibly avoid) non-compliant J2EE 1.4 features. Though the emphasis is on compliant web service features - but not to the exclusion of the non-compliant J2EE 1.4 features.
khushhal yadav
Ranch Hand
Joined: Jun 20, 2007
Posts: 242
posted
Thank you Peer,
I was really in need of all that stuff. Thanks a lot once again
Please pardon my ignorance but I have just started looking into getting this cert. Can Metro 1.0 be used with Glassfish App server or Sun Java System Application Server PE 9.0 Update 1 can be used for preparing for this exam?
Thanks, Rohit
SCJP, SCWCD
Peer Reynders
Bartender
Joined: Aug 19, 2005
Posts: 2906
posted
Originally posted by Rohit Poddar: Can Metro 1.0 be used with Glassfish App server or Sun Java System Application Server PE 9.0 Update 1 can be used for preparing for this exam
Personally I would advise against using Glassfish, a Java EE 5 application server, as a platform when preparing for the (July 2004) SCDJWS exam. The exam certifies you for a platform as it is enabled and constrained by the J2EE 1.4 specification. Many things are done differently in a Java EE 5 environment and not everything that works in a strict J2EE 1.4 environment will work in a strict Java EE 5 environment. Do you want to keep track of all the differences between the J2EE 1.4 SCDWJS exam and the Java EE 5 compatible application server that you are using?
Even with the JWSDP there are a few bumps and hurdles (...like the WEB_INF/jaxrpc-ri.xml and config.xml files; Using JAX-RPC to expose a Java object as a web service) � you don�t want any more. Also remember that relevant tutorials are written for the J2EE 1.4 reference application server. The Java EE 5 tutorials focus on the "Java EE 5 way" of doing things.
Rohit Poddar
Ranch Hand
Joined: Aug 18, 2001
Posts: 36
posted
Thanks Peer.
I am thinking if it is even worth taking such an outdated certification where most of the underlying technology has changed.
Does anyone know if a new syllabus is in works and if it is coming out soon?
Peer Reynders
Bartender
Joined: Aug 19, 2005
Posts: 2906
posted
I am thinking if it is even worth taking such an outdated certification where most of the underlying technology has changed.
I've recently commented on that at the end of this topic: Which Book to use ?
It's a "sparrow in the hand is better than a pigeon on the roof" thing. People have been waiting for two years for an update and they are still waiting...