Montag, 23. August 2010

Java EE 5 Zertifizierung (SCBCD 5)

Die erste Hürde war mit der Zertifizierung zum SCJP 6 überwunden und die zweite Hürde der Business Component Developer konnte nun ebenfalls übersprungen werden. Die Gründe diese Hürde zu meistern liegen auf der Hand. Zum einen war die Voraussetzung das Zertifikat zu erwerben durch das Absolvieren des SCJP 6 vorhanden und zum anderen ist Java EE 5 mit EJB 3 und der JPA ein Meilenstein des Java EE Standards.

Java EE 5 ist leichtgewichtig geworden. Enterprise Java Beans sind POJOs, die annotiert werden und optional einen Deployment Deskriptor haben können. Die Komponenten sind vorkonfiguriert („configuration by exception“), sodass in vielen Fällen die Standardeinstellung ausreichend ist. Die EJB 2.x Komponenten und Home Schnittstellen fallen weg, sodass einfache annotierte Java Schnittstellen ausreichend sind, um eine EJB-Schnittstelle zu deklarieren. Die EJB-Callback Schnittstellen sind ebenfalls obsolet und werden durch annotierte Interzeptoren ersetzt.

Von Dependency Injection (DI) wird häufig Gebrauch gemacht, um Komponenten und Ressourcen in eine Komponente einzubinden. Das JNDI-Lookup kann parallel zu DI weiterhin verwendet werden.

Die Einbindung eines Entity Managers um ein Domain Modell aufzubauen und Datenbankabfragen abzusetzen ist deutlich einfacher geworden und unabhängig von einem speziellen Datenbankhersteller. JPA unterstützt die Vererbung und polymorphe Abfragen. Die JPQL (JPA Abfragesprache) ist aus der EJBQL hervorgegangen und hat viele Schwächen der EJBQL, wie beispielsweise fehlende Join-Abfragen ausgeglichen.

Dies sind nur einige der Gründe warum der Java EE 5 Standard nachhaltig sein wird und eine gute Basis für die Weiterentwicklung im Java Enterprise Umfeld bildet. Deshalb lohnt sich eine Java EE 5 Zertifizierung!

Der Ablauf der Zertifizierung war mir durch den SCJP 6 schon bekannt. Praktische Projekterfahrung und theoretische Kenntnisse im EJB 3 sowie JPA Umfeld waren bereits vorhanden, sodass ich sofort mit dem Aufbautraining beginnen konnte.

Ich habe zunächst die EJB 3.0 Spezifikation (JSR 220) und JPA Spezifikation von Sun Microsystems™ (nun Oracle) im Detail studiert. Die Spezifikationen enthalten sehr viele Detailinformationen, die teilweise wortwörtlich in der Zertifikatsprüfung abgefragt werden. Empfehlenswert ist auch das Java EE 5 Tutorial auszugsweise zu lesen. Dort ist besonders das Kapitel über die JPQL interessant, das ich mehrfach gelesen habe.

Der SCBCD 5 Study Guide von Mikalai Zaikin ist ebenfalls empfehlenswert, weil er im Detail den Prüfungsinhalt erläutert. An dieser Stelle nochmals Danke an Mikalai, dass er der Java Community den Study Guide zur Verfügung stellt. Mikalai hält mehrere Java Zertifikate und ist aktiv bei der JavaRanch. Die JavaRanch ist für Zertifikatsfragen und Java-Fragestellungen ein guter Anlaufpunkt.

Nach dem Studium der Literatur trainierte ich zunächst bei Whizlabs, deren Erläuterungen zu den Fragestellungen schätze ich nach wie vor sehr, wobei der SCBCD 5 Prüfungssimulator in einzelnen Fragestellungen kleinere Fehler beinhaltete. Ich wusste nach ein paar Trainingstagen, dass das Whizlabs Training für mich nicht ausreichend sein würde um die Prüfung zu absolvieren und habe deshalb zusätzlich noch die ePractice für den SCBCD 5 von Sun Microsystems™, die Online zwei Frageblöcke mit jeweils 60 Fragen beinhalten, gebucht. Nach ein paar Tagen Training dachte ich, das der Pool der Fragen, auf dessen Basis ich trainiert hatte, immer noch nicht ausreichend sei.

Ich machte mich deshalb auf die Suche nach einem weiteren SCBCD 5 Prüfungssimulator und bin auf Enthuware (EJBPlus V5 for SCBCD 5.0) gestoßen. Die Vorbereitung auf die Zertifikatsprüfung mit dem Enthuware Simulator hat viel Spaß gebracht. Der Enthuware Simulator ist eine schöne Anwendung mit nach Schwierigkeitsgrad kategorisierten Fragen. Interessant könnte für den einen oder anderen Prüfling auch der Leitner Lernmodus des Enthuware Simulators sein.

Noch während des Trainings meldete ich mich zur Prüfung im Testcenter an. Die Prüfung zum SCBCD 5 wird nur in englischer Sprache angeboten.Vorteilhaft ist sicherlich, dass das Training bei den Trainingsprovidern (Whizlabs, Sun Microsystems™ und Enthuware) ebenfalls in englischer Sprache stattgefunden hat. Es ist aufgrund der Feinheiten in den Fragestellungen der Zertifikatsprüfung deshalb auch empfehlenswert bei Unsicherheiten einzelne englische Wörter nachzuschlagen.

Natürlich war ich vor der Prüfung angespannt. Ich kannte allerdings bereits den Ablauf und war deshalb weniger nervös mit dem Wissen gut vorbereitet zu sein. Der Prüfungstag ist gut verlaufen. Die Prüfung selbst war zwar anstrengend, dennoch wusste ich gegen Ende der Prüfungszeit und nach dem Review einzelner Fragen deren Nummer ich mir zuvor notiert hatte, dass ich das Zertifikat erhalten werde. Mein Prüfungsreport, den man mir im Testcenter ausgehändigt hat, bestätigte meine erste Einschätzung.

In der ersten Prüfung habe ich gelernt, dass die Antwortmöglichkeiten zu den Fragestellungen teilweise sehr nah beieinander liegen, sodass einzelne Wörter über die Richtigkeit einer Antwort entscheiden können. Ich habe deshalb wie schon in der Prüfung zuvor das Ausschlussverfahren angewandt und möchte dieses Verfahren den Kandidaten für Zertifikatsprüfungen weiterempfehlen.

Interessant war auch, dass die Prüfung nur eine Drag-and-Drop Frage beinhaltete und sich dadurch fast ausschließlich aus Einmal- und Mehrfachselektionsfragen zusammengesetzt hat. Insgesamt waren in der Prüfung 61 Fragen zu beantworten.

Neben dem Ausschlussverfahren wende ich auch die Technik an, mir die Nummern von offenen Fragen bzw. Fragen, die ich mir nochmals nach der Beantwortung ansehen möchte, zu notieren. Dabei versuche ich den Pool der offenen Fragen möglichst klein zu halten, sodass ich es bevorzugte eine Frage lieber zu beantworten, um diese später nochmals anzusehen.

Mein Trail zum SCBCD 5 war:

Online Training bei Whizlabs
Online ePractice zum SCBCD 5 von Sun Microsystems™
Offline Enthuware (EJBPlus V5 for SCBCD 5.0) Simulator
Lesen des SCBCD 5 Study Guide von Mikalai Zaikin
Studieren der EJB 3 / JPA (JSR 220) Spezifikationen
Partielles lesen des Java EE 5 Tutorials

Schreiben von Session und Message Driven Beans sowie von persistenten Entities mit unterschiedlichen Mappings, Ladestrategien und Abfragen (JPQL und SQL). Als Applikationsserver habe ich den JBoss AS 5.1.0 GA mit dem JBoss Developer Studio 2.1 GA angewandt.

Nützlich im Vorfeld sind:

EJB 3 für Umsteiger von Heiko W. Rupp
Enterprise Java Beans 3 von Werner Eberling und Jan Lessner
EJB 3 Professionell von Oliver Ihns, Dierk Harbeck, Stefan M. Heldt, Holger Koscheck
Enterprise JavaBeans 3.0 mit Eclipse und JBoss von Uwe Rozanski
EJB 3 in Action von Debu Panda, Reza Rahman und Derek Lane

Andere Standardwerke wie der Klassiker Enterprise JavaBeans 3.0 von Bill Burke und Richard Monson-Haefel sind ebenfalls zu empfehlen.

Das Referenzwerk Pro EJB™ 3 Java™ Persistence API von Mike Keith und Merrick Schincariol ist besonders mit Blick auf die JPA sehr empfehlenswert.

Bezüglich den JEE Zertifizierungen sind momentan die Beta-Examen für JEE 6 freigegeben. Oracle bietet die Sun Zertifizierungen weiterhin an, allerdings wurde der SCBCD 5 in zwei Zertifikatsprüfungen gesplittet:

1.) Sun Certified JPA Developer for the Java EE6 Platform
2.) Sun Certified EJB Developer for the Java EE6 Platform

Der Grund für das Splitting dürfte wohl der Umfang von EJB 3.1 und JPA 2 sein. Beide Technologien haben sich in JEE 6 nochmals kräftig weiterentwickelt.

Interessant könnte auch das Zertifikat “Sun Certified Developer for the JSF for the Java EE6 Platform“ sein, welches JSF-Entwickler anspricht.

Die JEE 6 Zertifikate sind in absehbarer Zeit (nach den Beta-Prüfungen) verfügbar, dennoch bildet der SCBCD 5 eine sehr gute Grundlage für das Technologieverständnis und das Verstehen der Weiterentwicklungen im Java Enterprise-Umfeld.

Statement von Sun Microsystems am 21. Juni 2010 im Anschreiben des Zertifikates

Once again, thank you for demonstrating your excellence on the Java platform.