Anwenderschulung/Ein Trainer faßt Erfahrungen aus der Praxis zusammen

Anforderungen für die interne Ausbildung von Java-Experten

12.11.1998
Von Michael Johann* Die Notlage ist perfekt. Anbieter und Anwender suchen Software-Entwickler und Systemarchitekten. Insbesondere Java-Spezialisten sind gefragt. Doch woher nehmen, wenn nicht...? Also abwerben oder irgendwie ausbilden?

Immer mehr Java-Projekte werden aus der Taufe gehoben und die ersten Schritte in Richtung Server-seitige Java-Programmierung unternommen. Es gilt, innovative Technologien zu implementieren und Host-Systeme mit Java-Front-ends und Applikations-Servern zu integrieren. Die Anforderungen sind hoch. In den seltensten Fällen reicht es, Anfänger mit diesen Aufgaben zu betrauen.

Zweifelsohne kann man die Sprache Java in kurzer Zeit erlernen, jedoch müssen noch einige andere Methoden und Fachbereiche abgedeckt werden. Hierzu zählen unter anderem Netzprogrammierung, Datenbankanbindung, Konzepte der Verteilung, Unified Modelling Language (UML), Web-Anbindung mit Hypertext Markup Language (HTML) und Dynamic HTML (DHTML), Corba etc.

Auszubildende nicht zu früh in die Projekte nehmen

Ein Ausweg aus dem Mangel ist das Headhunting. Wenn man allerdings die Zeit und das Budget hat, neue Mitarbeiter einzustellen oder vorhandene Fähigkeiten des Personals zu nutzen, können Ausbildung oder Umschulung eine Alternative zur Deckung des Personalbedarfs sein. Viele C++-Entwickler schaffen den Ein- oder Umstieg auf Java "mit links", jedoch können sich qualifizierte Informatikabsolventen ebenso rasch damit vertraut machen.

Falls die Weiterbildung vorhandener DV-Spezialisten vorzuziehen ist, wäre zu fragen, welche Aufgaben konkret in den geplanten Projekten anstehen. Dementsprechend läßt sich das Training planen.

Dabei sollte jedoch vermieden werden, Lernende direkt in laufende Projekte einzubinden und dort wichtige Teile der Arbeit übernehmen zu lassen. Das behindert die anderen Mitarbeiter und kann schnell zur Überforderung der künftigen führen. Außerdem ist ein Abdriften in verquere Denkweisen und Methoden vermeintlicher Routiniers möglich, die dann den Betroffenen schwer wieder abzugewöhnen sind.

Es ist daher empfehlenswert, eine Grundschulung von gut fünf Tagen Dauer anzusetzen, in der konkrete Probleme und Grundlagen der Sprache Java sowie der Komponentenerstellung mit Javabeans geklärt und geübt werden können. Am besten bindet man das zuvor ausgewählte Entwicklungswerkzeug in diesen Schulungsabschnitt ein.

Die verschiedenen Konzepte der heute verfügbaren Entwicklungswerkzeuge führen gerade bei Einsteigern teilweise zu raschen Fortschritten. Auch wer sich noch nicht mit den Java-APIs auskennt, dürfte mit dem "Jbuilder 2" von Inprise bestens zurechtkommen. Andere Umgebungen wie Symantecs "Visual Café 2.5" oder IBMs "Visual Age 2.0" ermöglichen dem Einsteiger sowie dem Fortgeschrittenen ebenfalls schnell nutzbare Ergebnisse.

Die häufigsten Fragen im Training beziehen sich auf die Unterschiede zwischen Applets und Applikationen sowie auf Javabeans. Wer visuelle Komponenten entwickelt, sollte sich auch mit den rudimentären Grafikroutinen des Abstract Windowing Toolkit (AWT) auskennen.

Praktische Übungen gegen Theorieballast

Eine gute Schulung regt zum Mitdenken und Mitmachen an und sollte daher ausgiebig Gelegenheit zur praktischen Übung geben. Nichts langweilt mehr als das sture Auflegen von Folien und trockenes Erklären von theoretischen Grundlagen. Die Konzepte der Objektorientierung sind hierfür ein Beispiel. Man kann Tage damit verbringen, jemandem die objektorientierte Denkweise einzutrichtern oder nur eine Stunde - entscheidend ist immer, ob der Trainer selbst in Objekten denken kann und aus der Praxis kommt. Der stete Bezug auf Fragen aus einem konkreten Projekt hilft in der Regel, das Gelernte schnell zu verfestigen. Vor Begriffsverwirrung schützt ein Glossar.

Das Ziel einer solchen Grundschulung sollte klar sein. Nicht jeder kann innerhalb von wenigen Tagen zum Guru heranreifen. Deshalb ist es wichtig, daß der Trainer immer wieder das richtige Vorgehen bei Problemen demonstriert und eingehend vermittelt. Wenn am Ende einer Grundschulung jeder weiß, wo er eine benötigte Information finden kann, ist ein wesentliches Ziel des Einführungstrainings erreicht.

Doch Grundlagen sind nur die halbe Miete. Aufbautrainings mit einer Dauer von zwei bis drei Tagen sollten sich in regelmäßigen Abständen anschließen. Dabei sollten die Veranstaltungen im Abstand von gut sechs bis acht Wochen erfolgen, damit die Teilnehmer genügend Praxiserfahrung und Fragen für die Aufbauschulungen sammeln können. Insgesamt kann eine solche solide Ausbildung etwa drei bis sechs Monate dauern.

Entwickler für Benutzeroberflächen vermögen in der Regel schneller in die berufliche Praxis einzusteigen als Programmierer, die unternehmensweit genutzte Server-seitige Komponenten entwickeln. Grund hierfür sind die unterschiedlichen Aufgaben, die diese Komponenten erfüllen müssen. Vom Datenbankzugriff über Transaktionen bis hin zum Lightweight Directory Access Protocol (DAP) oder zur Cobol-Integration reichen beispielsweise die Aufgaben in mehrschichtigen Architekturen.

Ein Thema für separate Aufbauseminare ist der Aufbau von Applikations-Frameworks. Hier sollten Aspekte und Designfragen ausgiebig anhand von konkreten Beispielen mit Hilfe der UML angegangen werden.

In Projekten tauchen immer wieder Fragen nach Programmierkonventionen auf. Aspekte der echten Wiederverwendung sollten ebenfalls ausführlich Raum haben. Erfahrungen aus der fortgeschrittenen Komponentenentwicklung sind ebenfalls geeignet, um beispielsweise einige Software-Patterns und deren konkrete Umsetzung vorzustellen.

Auch die verschiedenen Konzepte der Datenbankanbindung bieten sich für ein eigenes Aufbautraining an. Sowohl Java Database Connectivity (JDBC) als auch das Java-Binding der Object Database Management Group (ODMG) lassen sich anhand konkreter Beispiele erklären. Wie werden zum Beispiel Konzepte wie Connection-Pooling oder Verteilung mit Java realisiert? Anknüpfend könnten die verschiedenen Komponentenarchitekturen wie Distributed Component Object Model (DCOM), Remote Method Invocation (RMI) und Common Object Request Broker Architecture (Corba) sowie deren Tauglichkeit zur Sprache kommen.

Andere APIs wie Enterprise Javabeans, Servlets und Java-Help können ebenfalls im Rahmen eines Trainings besprochen und ausprobiert werden. Bei der Fülle von verfügbaren Programmier-Schnittstellen scheint es nahezu unmöglich, einen einzelnen Trainer zu finden, der sich mit allem auskennt. Oft empfiehlt es sich, verschiedene Trainer einzusetzen, jeden für sein Spezialgebiet, aber aufeinander abgestimmt.

Zwei Bereiche der Java-Entwicklung werden selten behandelt: das Testen und der Einsatz (Deployment) von Anwendungen. Der Test von Applikationen auf fachlicher und technischer Ebene sollte so ernst genommen werden wie bei anderen Sprachen, also keinesfalls unter den Tisch fallen.

Das Deployment ist ein sehr wichtiger Aspekt von Java und läßt bei Einsteigern die meisten Fragen aufkommen. Hier ist es nötig, verschiedene Konzepte der Applets und der Sicherheit zu erläutern. Die Praxis zeigt allerdings, daß immer mehr eigenständige Applikationen an die Stelle von Applets treten, womit der Browser als "traditioneller" Java-Client-Container obsolet wird.

Ein praxiserprobter Trainer ist Gold wert

Hierfür gibt es andere Konzepte und Tools, die je nach Bedarf in ein Projekt integriert werden sollten. Um nur zwei populäre Produkte zu nennen: Marimbas "Castanet 3.1" und den "Deployment Server for Java" von Inprise, der mit dem Jbuilder kommt. Die einzelnen Produkte realisieren das Deployment auf verschiedene Art. Die Grundlagen und die konkrete Entwicklung von Deployment-Konzepten lassen sich in einem Aufbauseminar behandeln.

Die Unternehmen sollten sich besonders für die didaktischen und fachlichen Kenntnisse der Trainer interessieren. Gute Referenzen sind nützliche Anhaltspunkte, da ein praxiserprobter Trainer Gold wert ist. Hier kann man leicht den Fehler machen, an der falschen Stelle zu sparen. Wer auf Billiganbieter setzt, wird die Schulungen unter Umständen wiederholen müssen.

Angeklickt

Überall starten Java-Projekte, und zwar oft mit Mitarbeitern, die sich bestenfalls privat meist rudimentäre Kenntnisse der Programmiersprache angeeignet haben. Da die Personalbudgets strapaziert und praxiserfahrene Spezialisten teuer sind, muß das vorhandene DV-Personal eine solide Ausbildung bekommen. Dieser Beitrag geht auf einige der häufigsten Fragen ein: Welche Qualifikation brauchen Trainer und Teilnehmer? Welcher Umfang ist zu empfehlen? Was sind die wichtigsten Themen? Wie sieht ein sinnvolles Trainingskonzept aus?

*Michael Johann ist Berater für Java in Nottuln bei Münster und hält Vorträge und Schulungen zu diesem Thema. Er war vormals Chefredakteur des Magazins "Java-Spektrum".