Java Webservices certificering
Recentelijk ben ik geslaagd voor het Sun Certified Developer For Java Web Services (SCDJWS) examen en dat is dan ook de directe aanleiding om hier wat van mijn ervaringen te vertellen. De reden om specifiek dit certificaat te gaan halen is dat bij de in-take voor een nieuw project expliciet naar SCDJWS gevraagd werd. Alhoewel ik destijds zonder certificaat wel door de in-take heen gekomen ben vond ik het toch wel aantrekkelijk om het certificaat te halen, ook al omdat ik de techniek van web services erg leuk vind. SOA en webservices zullen in de komende jaren een uitgebreide rol gaan spelen bij het ontwikkelen van informatie systemen en zullen engineers voldoende technische uitdagingen bieden. Doordat de nadruk van SCDJWS vooral op conceptueel niveau ligt is de studie om het certificaat te halen ook meteen een prima manier om meer van webservices te leren.
Het lastige aan dit certificaat is dat het een uitgebreid palet aan onderwerpen bestrijkt en er niet een boek is die precies alle onderdelen van het examen beschrijft. Om te voorkomen dat iedereen opnieuw het wiel moet uitvinden is hier beschreven welke bronnen gebruikt kunnen worden om je voldoende voor te bereiden.
Studiemateriaal
Java certificaten zijn populair. Niet alleen onder werknemers en Java engineers, ook voor auteurs van technische boeken is het een dankbaar onderwerp. Het webservices certificaat is hierop echter de uitzondering. Er is wel een boek specifiek voor dit examen, namelijk “Sun Certified Developer for Java Web Services Study Guide (Exam 310-220)” van Prasas Kukkamalla en Jerome Josephraj, maar de publicatie van dit boek is sinds 2005 al zo vaak uitgesteld (recentelijk weer tot september 2008) dat de kans dat het werkelijk nog eens te koop is eerder nihil dan gering is.
Gezien het brede spectrum wat het examen bestrijkt valt het aantal benodigde boeken eigenlijk nog wel enorm mee. Het belangrijkste boek is “J2EE Web Services: XML SOAP WSDL UDDI WS-I JAX-RPC JAXR SAAJ JAXP” van Richard Monson-Haefel (op internetfora vaak afgekort tot RMH, waarbij de afkorting van de auteur vaak naar dit specifieke boek verwijst.). Dit al wat oudere boek wordt nog steeds als de bijbel beschouwd op het gebied van Java webservices. Zoals de titel al duidelijk maakt beschrijft het een groot aantal technieken en ook nog eens in de juiste versies voor het examen. Op het UDDI gedeelte na is het ook heel prettig geschreven en leest het vrij snel weg.
Twee onderwerpen komen niet in RMH aanbod en dat zijn security en architectuur. Voor dat laatste kun je je toevlucht nemen tot Sun’s Blueprint “Designing Web Services with the J2EE(TM) 1.4 Platform : JAX-RPC, SOAP, and XML Technologies”. Dit boek is in printvorm in de boekhandel te verkrijgen maar ook online te lezen. Lees vooral niet meer dan alleen hoofdstuk 3 van het boek. Het is zo saai en gort droog geschreven dat te veel lezen ernstige consequenties kan hebben voor de voortgang van je studie.
Van alle afzonderlijke onderdelen, zoals XML, JAXB en SOAP, zijn er ook specificaties geschreven. Deze heb ik op 1 na allemaal links laten liggen maar de Basic Profile (BP) van het WS-I (web service interoperability organisation) is wel verplichte kost. De Basic Profile is geschreven om onduidelijkheden en tegenstrijdigheden in de specificaties van SOAP, WSDL en webservices in het algemeen op te lossen of in ieder geval te vermijden. De Basic Profile is voor de verandering eens een toegankelijk geschreven specificatie. Niet alleen de regels staan er in, maar ook de reden waarom een regel bedacht is. In RMH wordt per onderdeel al naar de BP verwezen, maar het is wel goed om dit in het geheel (meerdere malen) door te lezen omdat een groot aantal examenvragen hierop gebaseerd is.
Als laatste is er een aantal samenvattingen beschikbaar die ook het onderwerp beveiliging afdoende behandelen. De twee belangrijkste zijn SCDJWS certification op www.xyzws.com en de SCDJWS study guide van Mikalai Zaiken. De eerste is wat uitgebreider en de notes van Mikalai Zaiken is uitstekend te gebruiken om alles nog een laatste keer door te nemen.
Examen
Het examen zelf bestaat uit 69 multiple choice en drag & drop vragen. De meeste vragen gaan over XML schema, beveiliging en de Basic Profile. Het aantal vragen over API’s is beperkt en er worden ook geen detail vragen over gesteld. Het Engels van de vragen is voor iedereen met een redelijke kennis van de Engelse taal goed te doen maar zeker op het gebied van beveiliging komen een aantal termen voor, zoals non-repudiation en renounce, die niet in mijn standaard vocabulaire zaten.
Om goed beslagen ten ijs te komen is het verstandig om proefexamens te maken. Hiervoor is een aantal commerciële en vrij beschikbare examens verkrijgbaar. Whizlabs heeft proefexamens in alle soorten en maten en ook speciaal voor Java webservices certificatie. Bij de studienotes op www.xyzws.com kun je, na aanmelding, gratis een proefexamen doen. Hier krijg je 69 vragen uit een pool van meer dan 200. Om alle vragen een keer gezien te hebben zul je het examen meerdere keren moeten afleggen. Het niveau van de vragen is behoorlijk goed en bij elke vraag krijg je goede uitleg waarom een bepaald antwoord goed is. Als laatste kun je ook voor een gering bedrag bij Mikalai Zaiken een proefexamen kopen. Ikzelf heb alleen ervaring met de examens op www.xyzws.com maar er zijn veel positieve ervaring met Mikalai’s examens te vinden.
Tot slot
Sun heeft 3 EE (Enterprise Edition) certificaten, namelijk webcomponenten (SCWCD), businesscomponenten (SCBCD) en webservices (SCDJWS). Officieel zit er geen volgorde in deze certificaten. Toch is het wel handig om wat kennis van de web en businesscomponenten te hebben omdat de webservices hierop gebouwd zijn. Vooral wat voorkennis over deployment descriptors is wel handig. Als je toch al van plan bent alle drie de certificaten te gaan halen dan zou ik adviseren om als eerste de webcomponenten te halen, daarna businesscomponenten en tot slot webservices.
Het huidige examen bestaat al een tijdje en is nog gebaseerd op JAX-RPC. Zou het misschien verstandig zijn om nog even te wachten op een nieuwe versie van het examen? JAX-WS is immers al een tijdje uit als opvolger en de verschillen met JAX-RPC zijn toch wel aanzienlijk. Persoonlijk denk ik van niet. Het lijkt er op dat Sun op korte termijn geen nieuwe versie in de planning heeft en het examen richt zich toch meer op concepten dan op API’s.
Referenties:
http://www.sun.com/training/certification/java/scdjws.xml
http://www.amazon.com/exec/obidos/tg/detail/-/0321146182
http://java.sun.com/blueprints/guidelines/designing_webservices/
http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html
http://www.xyzws.com/scdjws.do?cat=scdjws
http://java.boot.by/wsd-guide/
http://www.whizlabs.com/scdjws/scdjws-details.html


