This week's book giveaway is in the Agile and Other Processes forum. We're giving away four copies of Darcy DeClute's Scrum Master Certification Guide: The Definitive Resource for Passing the CSM and PSM Exams and have Darcy DeClute on-line! See this thread for details.
Thanks to those JavaRanch posters who helped with pointers to learning material or general queries about the exam and also to those whose learning resources I used. I thought I'd share my exam preparations just in case it helps others with theirs.
Previous experience of web services/XML/Java:
General development with XML and XMLSchema. Use of basic JAXP APIs plus JAXB in J2EE apps. Development of (non web service) XML-based B2B apps in Java. Some development of web services with Java, mainly WSDL to Java approach envolving manual XMLSchema design followed by WSDL creation using the IBM WebSphere web services runtime tools (basically Apache Axis with WebSphere extensions). Brief usage of WS-Security 1.0 standards (SOAP message level security) as supported by the WebSphere runtime. Very little experience of using the JAX-RPC API directly. No UDDI, SAAJ or JAXR experience.
Duration of preparation:
7.5 weeks of revising the material, broken down into 1-2 hours of learning each day - at least double at weekends - and 1 week of solid home revision.
Books: J2EE Web Services by Richard Monson-Haefel (Addison Wesley - known on here as the RMH book) Web Services Security by Mark O'Neil (McGraw Hill) Java and XML 2nd Edn. by Brett McLaughlin (O'Reilly)
My revision, broken down into exam objectives, went as follows:
Objective 1: XML Web Service Standards RMH book chapters 2 and 3 XMLSchema specification WS-I Basic Profile 1.0
Objective 2: SOAP 1.1 Web Service Standards RMH book chapter 4 and appendix D SOAP 1.1 specification WS-I Basic Profile 1.0
Objective 3: Describing and Publishing (WSDL and UDDI) RMH book chapters 5 to 8 WSDL 1.1 specification
Objective 4: JAX-RPC RMH book chapters 9 to 14 JAX-RPC 1.0 specification (only to clarify a few points, reading the whole spec is not necessary) (I covered objective points 4.5 and 4.6 when revising the materials for Objective 10 and 11)
Objective 5: SOAP and XML Processing APIs (JAXP, JAXB and SAAJ) RMH book chapter 13 and appendicies E to G JAXB 1.0.x documentation - (I already had JAXB experience so I just used the docs to brush up, e.g. the different kinds of validation supported) (I covered objective point 5.1 while revising the materials for Objective 7 and 9)
Objective 6: JAXR MZ's notes on the JAXR publish/query APIs and infomodel. I did not use the RMH book chapters (16 to 19) due to time constraints.
Objective 7: J2EE Web Services I didn't really revise for objective 7.1 as I felt I knew enough but RMH book chapter 1 is a starting point. I covered objective 7.2 when revising the materials for Objective 10 and 11. For objective 7.3: RMH book chapters 20 and 21 Java and XML book chapters 3, 5 and 9 (I already had SAX/DOM/JAXP experience so I only referred briefly to these chapters to brush up) I felt I'd covered objective 7.4 when revising for Objective 1, 2, 3 and 4 as the Basic Profile is covered where relevant in the materials used for revising those objectives.
Objective 8: Security MZ's notes on XML Encryption, XML Digital Signature, SSL, SAML, XACML, XKMS, federated identity, the Liberty Project and WS-Security. I referred only briefly to the relevant parts of the Web Services Security book and chapter 7 of the Web Services Blueprints due to time constraints. (web services security is not covered in the RMH book)
Objective 9: Developing Web Wervices RMH book chapters 15, and 22 to 24 I had covered most of the APIs mentioned in point 9.2 while revising for object 7. I used the J2EE 1.4 JavaDoc to brush up on the javax.xml.transform package.
Objective 10: General Design and Architecture Web Services Blueprints chapters 5 and 8
Objective 11: Endpoint Design and Architecture Web Services Blueprints chapter 3
I bought the WizLabs SCDJWS exam simulator but I only used the interactive quiz feature because you can use it on an objective by objetive basis. However, after using it I found the tool to be poor in a number of areas:
Some questions are ambiguous.
Poor use of English. This may seem a minor point but for users for whom English is not their native language some questions may be ambiguous or confusing.
Vague references to learning materials. They refer to online or book materials but don't offer hints as which chapter or section one should look at (great when the RMH book is 800+ pages). As a customer of previous Whizlabs simulators (IBM J2EE and IBM OOAD) this represents a stark drop in quality. For example the Whizlabs IBM simulators gave explanations and even references to page numbers in books recommended as learning materials which allowed the user to quickly locate information in external sources.
The inability to click or select and copy the URLs given as sources of more information. This is such a simple feature that would save the user time.
As a result I didn't use the Whizlabs simulator mock tests. I used the xyzws.com mock tests instead. Due to time constraints I only did 2 xyzws.com mock tests, achieving just over 80% both times.
After doing the real test I found the questions to be of a very similar level to the questions in the xyzws.com mock tests and, after revising the materials listed above, there were no nasty surprises where I felt "I have no idea!!!".
In all I am very pleased with my score and it shows the endless hours of revision do pay off.
Hope this information is of use to future candidates.