schulungskatalog - IT Frankfurt GmbH

Werbung
IT Frankfurt GmbH
SCHULUNGSKATALOG
Java, OO, Design Patterns
Liebe Leserinnen und Leser,
Java und .Net Schulungen für Einsteiger und Experten !
Die IT Frankfurt GmbH, mit Standort Frankfurt am Main, bietet Ihnen als fortschrittliches IT
Unternehmen und innovativer Trainingsanbieter individuell auf Ihre Bedürfnisse zugeschnittene Java- und .NET Schulungen an.
Durch praxisbezogene Trainings profitieren Sie von unserer langjährigen und umfassenden
Erfahrung in der Projektierung und Entwicklung von Java- und .NET Softwaresystemen.
Unsere innovativen Schulungen sind modular aufgebaut und entsprechen den höchsten
Ansprüchen an Individualität und Flexibilität. So wird unser Trainingskonzept den verschiedenen Anforderungsprofilen vom Einsteiger bis zum Experten individuell angepasst und für
Ihre technische Infrastruktur „ maßgeschneidert “.
Unsere Trainer befinden sich „ am Puls der Zeit “ und vermitteln ihr Praxiswissen aus der
Softwareentwicklung nach den modernsten Studien- und Lehrmethoden. Ihre Mitarbeiter
werden hierzu im Vorfeld nach Ihren Zielen befragt. Im Nachgang zu unseren Schulungen
unterstützen wir Sie aktiv beim Erreichen dieser Ziele.
Unsere Seminare bieten wir Ihnen je nach Wunsch in unserem Trainingszentrum sowie direkt
bei Ihnen vor Ort an.
Profitieren Sie von unserer langjährigen Trainingserfahrung !
Das sagen unsere Kunden über uns
Java Einstiegsseminar
„ Es wurde sehr gut auf individuelle Fragen eingegangen
und der jeweilige Erfahrungsstand der Teilnehmer wurde
berücksichtigt. “
„ Obwohl das Seminar sehr intensiv war, schafft es der
Trainer, das Seminar kompetent und angenehm zu
gestalten. Der Trainer hat Zeit für die eigenen Fragen
gegeben. “
„
„ Viel Praxisbezug und trotzdem wurde auf individuelle
Fragen eingegangen. “
Build Management mit Maven
„ Ein sehr freundlicher Trainer, der den Stoff verständlich
vermittelt und die Fragen ausführlich beantwortet. “
„ Besonders gefallen hat mir die ruhige Vortragsart des
Referenten. “
„ Ein sehr flexibler Trainer, der auf neue Zielgruppen sehr
gut eingeht. “
„ Ein ausgewogenes Verhältnis zwischen Seminardauer und
Umfang des Stoffes. “
“
Modul und UI Tests in Java
„ Der Ablauf des Vortrages ist klar und gut strukturiert.
Der Trainer hilfsbereit und zuvorkommend. “
Spring
„ Mir gefiel der gesamte Inhalt. “
Inhaltsverzeichnis
1
2
3
4
5
6
7
8
9
10
11
12
G
Einführung in Objektorientierung ......................................................
Prinzipien objektorientierten Designs
Best Practices
Einführung in Java ...........................................................................
Die Sprache Java
Tools für die Java Entwicklung
Modul- und UI-Tests mit Java ...........................................................
JUnit
Testgetriebene Softwareentwicklung
EasyMock
Frontend-Tests
Design und JEE Patterns ................................................................
Design Patterns
JEE Patterns
Anti Patterns .................................................................................
Debugging und Refactoring
Profiling
Garbage Collection
Java Core Advanced ........................................................................
Erweiterte Sprachfeatures seit Java 5
Collections Advanced
Multithreading
Annotationen
Spring ............................................................................................
Spring Dependency Injection
Spring Aspect Oriented Programming ( AOP )
JPA mit Hibernate ..........................................................................
Zusammenspiel JPA und Hibernate
JPA-Konfiguration
JPA, Hibernate und Spring
Java Web Anwendungen ...................................................................
Java Server Faces und Spring Webflow
Facelets und Richfaces
Java Web Services ..........................................................................
Web Services mit JAX-WS
Security und Co.
Nicht zu vergessen : der REST
Buildmanagement mit Maven ............................................................
Dependency Management
Dokumentationserstellung
Einführung in Groovy .......................................................................
Groovy Features
Gesamte Leistungsübersicht Ausbildung IT ........................................
Impressum ......................................................................................
S. 6
S. 9
S. 12
S. 15
S. 18
S. 21
S. 24
S. 27
S. 30
S. 33
S. 36
S. 39
S. 42
S. 43
5
1
Einführung in die Objektorientierung
▪▪Prinzipien objektorientierten Designs
▪▪Best Practices
6
1
Einführung in Objektorientierung
Grundlagen der objektorientierten Programmierung
In dieser Schulung werden Sie die grundlegende Denk- und Herangehensweise des objektorientierten Programmieransatzes kennenlernen. Auf interaktive Weise präsentieren wir Ihnen
die einzelnen Konzepte und erarbeiten gemeinsam mit Ihnen, wie sich diese auf das Programmdesign auswirken. Alle Beispiele in diesem Kurs sind unabhängig von einer konkreten Programmiersprache. Die Ausgestaltung der objektorientierten Grundsätze unterscheidet sich im
Detail von Sprache zu Sprache, die grundlegenden Prinzipien sind jedoch in allen Sprachen
identisch.
Prinzipien objektorientierten Designs
Klassen, Objekte, Vererbung, Polymorphie – diese und
noch einige mehr sind die Bausteine, auf denen die objektorientierte Herangehensweise basiert. Wie jedes
theoretische Konstrukt hat auch die objektorientierte
Programmierung eine eigene Terminologie. Der erste
Schritt beim Einstieg in die Objektorientierung ist daher, diese spezifischen Wörter, Konstrukte und die dahinterstehenden Ideen kennenzulernen und zu verstehen. Wie bei so vielen Dingen ist auch bei der Objektorientierung der Einstieg in die Materie nicht besonders
schwierig. Die Verinnerlichung der objektorientierten
Grundlagen ist aber die Voraussetzung dafür, ein Meister in der Entwicklung objektorientierter Software zu
werden.
7
1
Einführung in Objektorientierung
Best Practices
Zu Beginn eines Softwareprojektes steht eine Idee, eine
Vision dessen, was diese Software leisten soll. Diese
Vision muss genauer analysiert und die einzelnen fachlichen Anforderungen, die damit verbunden sind, müssen
in die objektorientierte Welt übersetzt werden, bevor
mit der Entwicklung begonnen werden kann. Das Ergebnis der objektorientierten Analyse ( OOA ) ist in der Regel
ein abstraktes Produktmodell, in dem das fachliche Modell anhand von objektorientierten Konzepten beschrieben ist. Früher oder später kommt jeder Softwareentwickler in die Situation, in der ein neues Projekt oder
auch nur neue Anforderungen bei einem bereits laufenden Projekt analysiert werden müssen. In dieser Schulung werden wir diesen Prozess exemplarisch mit Ihnen
durchlaufen und Ihnen die Techniken und die Tools vorstellen, die dabei eingesetzt werden können.
Zu Beginn des Objektorientierung-Booms in den 1990er
Jahren fehlten noch die Erfahrung und die Tools, wie die
Artefakte, die im Rahmen der Objektorientierten Analyse und des Designs erstellt werden, festgehalten werden sollen. Die Unified Modeling Language ( UML ) wurde
als Sprache für genau diesen Zweck entwickelt. Zwar
hat sich im Laufe der Zeit gezeigt, dass die UML mit
ihrer Vielzahl an Diagrammen für viele Einsatzbereiche
zu schwergewichtig und unflexibel ist. Dennoch ist die
Architektur vieler Softwaresysteme in UML-Notation
festgehalten und auch in neueren Projekte kommt UML
zum Einsatz. Daher werden wir Ihnen in dieser Schulung
sowohl UML als auch leichtgewichtigere und flexiblere
Tools vorstellen und gemeinsam mit Ihnen deren Anwendung erproben.
Sobald die Anforderungen geklärt sind, geht es darum,
dafür eine Software zu entwerfen, die diese Anforderungen auch erfüllen kann. Im Rahmen des Objektorientierten Designs ( OOD ) wird das Produktmodell, das
während der objektorientierten Analyse erstellt wurde,
in eine konkrete Softwarearchitektur transformiert.
Diese Architektur enthält bereits viele technische Details und ist auf die Programmiersprache zugeschnitten, die eingesetzt werden soll. Alle Theorie ist bekanntlich grau, daher werden wir während der Schulung
aufbauend auf dem Ergebnis der Analyse mit Ihnen zusammen ein mögliches Design einer Anwendung entwerfen.
Was Sie lernen werden :
Grundlagen der Objektorientierung
Objektorientierte Analyse ( OOA )
Objektorientiertes Design ( OOD )
Unified Modeling Language ( UML )
Best Practices im objektorientierten Alltag
▪
▪
▪
▪
▪
Voraussetzung :
keine
Dauer :
4 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
8
X
2
Einführung in Java
▪▪Die Sprache Java
▪▪Tools für die Java Entwicklung
9
2
Einführung in Java
Die Sprache Java
Seit der Veröffentlichung der ersten Version von Java im Jahr 1995 hat die Sprache eine
steile Karriere gemacht. Nachdem sie einige Jahre sogar die Hitliste der verbreitesten Programmiersprachen gemäß des Tiobe-Index angeführt hat, liegt sie dort derzeit auf Platz 2.
Gründe für die Popularität von Java sind zweifellos, dass die Sprache relativ einfach zu erlernen
ist, eine vollautomatische Speicherverwaltung beinhaltet und auf vielen Plattformen, Smartphones eingeschlossen, eingesetzt werden kann.
Nach einer kurzen Auffrischung der objektorientierten Grundlagen ( siehe auch die Schulung
„ Einführung in Objektorientierung “ ) stellen wir Ihnen vor, wie diese in Java umgesetzt sind. Sie
lernen die Eigenschaften und auch die Eigenheiten der Sprache ebenso kennen wie Schlüsselwörter und Kontrollstrukturen. Darüber hinaus beinhaltet Java ein Vielzahl vorgefertigter
Klassen, mit deren Hilfe Anwendungen entwickelt werden können. Die Kenntnis dieser Klassen
und das Wissen um deren Einsatzmöglichkeiten ist essenziell für Java-Entwickler. Wir werden
uns daher die Zeit nehmen, Ihnen diese Klassen und deren Verwendung ausführlich zu demonstrieren.
10
2
Einführung in Java
Tools für die Java-Entwicklung
Die Beherrschung einer Programmiersprache ist eine
Sache, die Beherrschung der während der Entwicklung
eingesetzten Tools eine ganz andere. Im Rahmen dieser
Schulung kommt die populäre und kostenlos verfügbare
Entwicklungsumgebung ( auch IDE genannt ) „ Eclipse “
zum Einsatz. Dieses mächtige Tool nimmt den Entwicklern viel Routine-Arbeit ab und beschleunigt die Anwendungsentwicklung ungemein. Um die Möglichkeiten dieser IDE auszuschöpfen, müssen sie aber erst einmal
bekannt sein. Daher zeigen wir Ihnen während der Schulung Tricks und Kniffe, wie Sie die Features von Eclipse
gewinnbringend einsetzen können.
Wenn Sie die Grundlagen beherrschen, werden wir Sie
an die fortgeschrittenen Sprachkonstrukte heranführen. Das Lesen und Schreiben von Dateien, die Steuerung des Programmflusses durch Exceptions sowie die
in Java eingebauten Sicherheitsmechanismen sind nur
einige Beispiele dessen, was Sie lernen werden. Experten-Themen wie Parallelisierung in Java werden wir in
dieser Schulung nur streifen, da solche Themen zu komplex für Einsteiger in die Sprache sind. In der Schulung
„ Java Core Advanced “ werden Multithreading und weitere Aspekte der Sprache, die eher für Experten von
Relevanz sind, ausführlich behandelt.
Rund um Java sind eine Unzahl an Tools und vorgefertigten Bibliotheken entstanden, die sowohl die Möglichkeiten von Java erweitern als auch fertige Lösungen für
Anforderungen bieten, die an viele Anwendungen immer
wieder aufs Neue gestellt werden. Statt das Rad für
jede Anwendung neu zu erfinden, bietet es sich an, auf
solche fertige Lösungen zurückzugreifen. Wir werden
Ihnen daher die wichtigsten dieser Bibliotheken, die sich
in fast jeder Anwendung wiederfinden, vorstellen und
Ihnen zeigen, wie und für welchen Zweck sie eingesetzt
werden.
Dieser Kurs richtet sich sowohl an erfahrene Programmierer, die mit Java eine weitere Programmiersprache
erlernen wollen, als auch an Anfänger, die mit Java den
Einstieg in die Programmierung suchen. Je nach Vorkenntnis der Teilnehmer liegt der Schwerpunkt während
der Schulung eher auf den Grundlagen oder auf den fortgeschritteneren Themen.
Was Sie lernen werden :
Grundlagen der Java-Programmierung
Einsatz von Entwicklungstools
die Verwendung exemplarischer Java APIs
Programmflusssteuerung und Exception Handling
Einbindung von Fremdbibliotheken in eigene Projekte
▪
▪
▪
▪
▪
Voraussetzung :
Programmierkenntnisse und Grundkenntnisse in Objektorientierter Programmierung.
Dauer :
5 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
11
X
3
Modul- und UI-Tests mit Java
• JUnit
• Testgetriebene Softwareentwicklung
• EasyMock
• Frontend-Tests
3
Modul- und UI-Tests mit Java
Vor nicht allzu langer Zeit stand die Software-Industrie teilweise noch in dem Ruf, „ BananenSoftware “ zu liefern, die erst beim Kunden reift. Die Verkürzung der Release-Zyklen in den
letzten Jahren hat es nicht einfacher gemacht, qualitativ ausgereifte Software zu veröffentlichen. Nur wenige Unternehmen waren in der Lage, ihre Kunden in kurzen Abständen mit
neuen Features oder Bugfixes zu versorgen. Doch was unterschied diese Unternehmen von
den anderen, denen das nicht gelang ?
Ein maßgeblicher Punkt war, dass diese Unternehmen frühzeitig damit begonnen haben, ihre
Software komplett automatisiert zu testen. Dadurch waren sie in der Lage, jederzeit komplette Regressionstests auszuführen und konnten dadurch die Qualität ihrer Software auch nach
umfangreichen Änderungen noch garantieren. Zudem führt der weitgehende Verzicht auf manuelle Tests langfristig zu einer erheblichen Kostenreduzierung, und vor allem ist damit auch
die Basis für Continuous Delivery gelegt.
In dieser Schulung lernen Sie die Grundlagen und Tools für automatisierte Softwaretests mit
Java kennen.
JUnit
Als eines der ersten Frameworks für die Testautomatisierung ist JUnit heute das am weitesten verbreitete.
Wie der Name schon sagt dient es hauptsächlich dazu,
einzelne Klassen und deren Methoden auf Herz und Nieren durchzutesten. Es lässt sich aber auch für Integrationstests wie beispielsweise das Zusammenspiel von
Programmcode und Datenbank verwenden.
13
Im Rahmen dieser Schulung erfahren Sie, wie Sie mit
JUnit automatisierte Tests für Ihre Anwendungen erstellen können. Dies umfasst neben der selbstverständlichen Einführung in das Framework auch die Vermittlung von Best Practices bei der Testerstellung.
3
Modul- und UI-Tests mit Java
Testgetriebene Softwareentwicklung
Frontend-Tests
Lose Kopplung, klare Aufgabentrennung, Entwicklung
mit Interfaces – die Prinzipien guten Anwendungsdesigns sind allen Entwicklern bewusst, dennoch sind sie
in der Praxis oft schwer einzuhalten. Mit der testgetriebenen Entwicklung werden wir Ihnen eine Technik
vorstellen, die nicht nur zu einem saubereren Anwendungsdesign führt, sondern die gleichzeitig auch noch
eine hohe Testabdeckung des Codes sicherstellt. Erfahrungsgemäß erschließen sich die Vorteile, die mit der
Einführung dieser Technik einhergehen, vielen Entwicklern nicht sofort. Daher werden wir uns die Zeit nehmen, die Testgetriebene Entwicklung ausführlich vorzustellen und auszuprobieren.
Bei einer ausreichenden Abdeckung des Quellcodes decken Unit-Tests viele Bugs in einer Anwendung bereits
frühzeitig auf. Naturgemäß lassen sich aus Unit-Tests
aber keine Aussagen darüber treffen, ob die einzelnen
Klassen auch so zusammenspielen, wie die Entwickler
dies vorgesehen haben. Für solche Integrationstests
ist daher eine andere Herangehensweise mit anderen
Tools erforderlich. Bei Web-Anwendungen bietet es sich
natürlich an, diese Tests direkt auf dem Frontend durchzuführen, da sich hier parallel die technische Funktionsfähigkeit und die fachliche Korrektheit testen lassen.
EasyMock
Ein zentrales Prinzip von Unit-Tests ist, in einem Test
immer nur genau eine Klasse zu testen. Nun haben die
meisten Klassen Abhängigkeiten zu anderen Klassen,
die nicht verschwinden, weil gerade ein Test und nicht
die ganze Anwendung ausgeführt wird. Für diese Abhängigkeiten muss ein Mock-Objekt erstellt werden, das die
eigentliche Implementierung im Rahmen der Tests ersetzt. Die manuelle Erstellung und vor allem Pflege solcher Mock-Objekte ist recht zeitaufwendig, aber sie
sind nun einmal unentbehrlich. Zur Lösung dieses Dilemmas sind mehrere Frameworks entstanden, die dynamische Mock-Objekte erzeugen können, die deutlich
robuster gegenüber Änderungen sind. Ein Vertreter
dieser Gattung ist EasyMock, das wir Ihnen vorstellen
werden.
Auch für Oberflächentests existiert eine Vielzahl von
Tools, die sich anhand ihrer Vorgehensweise bei der Testerstellung in zwei Kategorien unterteilen lassen : Erstens in die Capture-and-Replay-Tools, die die Aktionen
eines Anwenders auf der Web-Oberfläche aufzeichnen
und diese dann automatisch beliebig oft abspielen können. Zweitens in die Tools, bei denen die einzelnen Testfälle mit einer echten Programmiersprache codiert werden. Beide Vorgehensweisen haben ihre Vor- und
Nachteile. Daher werden wir Ihnen mit Sitewalker und
Canoo Webtest jeweils einen Vertreter jeder Art vorstellen und daran exemplarisch die Besonderheiten erläutern.
Was Sie lernen werden :
Grundlagen von Software-Tests
Erstellung von Tests mit JUnit 4
Testgetriebene Entwicklung
Einführung in EasyMock
Erstellung von Oberflächentests mit Canoo Webtest
▪
▪
▪
▪
▪
Voraussetzung :
Programmiererfahrung in Java.
Dauer :
2 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
14
4
Design und JEE Patterns
▪▪ Design Patterns
▪▪ JEE Patterns
15
4
Design und JEE Patterns
Softwareentwicklung ist kein neues Tätigkeitsfeld mehr, denn seit mehreren Jahrzehnten werden bereits Computerprogramme erstellt. Obwohl dabei kein Programm wie das andere ist,
gibt es doch gewisse Problemstellungen, die sich in vielen Programmen in ähnlicher Form wiederfinden. Die Wahrscheinlichkeit, dass ein solches wiederkehrendes Problem in der Vergangenheit bereits einmal gelöst wurde, ist hoch. Wie immer in der Softwareentwicklung gibt es
dabei verschiedene Möglichkeiten, eine Aufgabe zu lösen, die qualitativ besser oder schlechter
sein können. Damit das Rad nicht immer wieder neu erfunden werden muss, existieren daher
mittlerweile einige Kataloge an Musterlösungen für solche bei der Programmierung häufig
auftretenden Anforderungen. Der wahrscheinlich bekannteste Katalog stammt von der sogenannten Gang of Four ( Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides ) : Design
Patterns : Elements of Reusable Object-Oriented Software.
16
4
Design und JEE Patterns
Design Patterns
Die im Buch der Gang of Four beschriebenen Entwurfsmuster dienen als Grundlage für den ersten Teil dieser
Schulung. Wir werden Ihnen eine Auswahl der am häufigsten verwendeten Entwurfsmuster vorstellen, mit
Ihnen über das Für und Wider jedes Musters diskutieren und auch Beispiele dafür geben, an welchen Stellen
in einem Programm das jeweilige Muster sinnvoll eingesetzt werden kann. Dabei werden Sie die Gelegenheit
haben, jedes Muster selbst mindestens einmal zu implementieren.
Dadurch ist es beispielsweise möglich, eine Java Enterprise Anwendung im besten Fall ganz ohne Änderung auf
verschiedenen Applikationsservern zu betreiben.
Im zweiten Teil der Schulung werden wir Ihnen zunächst
die Hintergründe und die Ideen vorstellen, auf deren Basis die Java Enterprise Patterns basieren. Sie lernen
die einzelnen Komponenten der Java Enterprise Spezifikation, deren Rolle in der Gesamtarchitektur sowie Anwendungsbeispiele dafür kennen. Nach dieser Einführung werden wir die einzelnen Schichten einer Java
Enterprise Anwendung detailliert besprechen : Presentation Tier, Business Tier und Data Tier. Sie werden die
JEE Patterns
darin enthaltenen Standards und Patterns kennenlerOder : Was Sie schon immer über EJBs wissen wollten, nen und selbstverständlich auch Gelegenheit haben,
diese beispielhaft zu implementieren.
sich aber nie zu fragen trauten.
Die allgemeinen Design Patterns stellen eher eine lose
Sammlung an bewährten Musterlösungen dar, die inhaltlich erst einmal nichts miteinander zu tun haben.
Natürlich lassen sich die einzelnen Patterns teilweise
kombinieren, aber erst einmal ist jedes Pattern für die
alleinige Verwendung beschrieben.
Im Gegensatz dazu definieren die Java Enterprise Patterns einen standardisierten Satz von Regeln und Mustern, die jede Implementierung einhalten muss, um zur
Java Enterprise Edition kompatibel zu bleiben.
Was Sie lernen werden :
Sinnhaftigkeit und Verwendung von Patterns
Wichtige Entwurfsmuster der Gang of Four
Grundlagen der Java Enterprise Patterns
Implementierung gängiger Patterns
▪
▪
▪
▪
Voraussetzung :
Programmierkenntnisse
Dauer :
5 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
17
5
Anti Patterns
▪▪ Debugging und Refactoring
▪▪ Profiling
▪▪ Garbage Collection
18
5
Anti Patterns
Ebenso wie erprobte Musterlösungen für häufig wiederkehrende Problemstellungen existieren
( siehe Schulung „ Design & JEE Patterns “ ) und eingesetzt werden, lassen sich viele Muster
von nicht-optimalem Code, Architekturen oder Vorgehensweisen in vielen Projekten wiederfinden. Die Gründe dafür sind vielfältig : Hektik im Projektalltag, alte Gewohnheiten oder das
fehlende Wissen um bessere Alternativen sind nur einige davon. In dieser Schulung wollen wir
ein Bewusstsein für solche Anti Patterns wecken, indem wir einige häufig anzutreffende Muster vorstellen. Und natürlich werden wir auch Möglichkeiten aufzeigen, vorhandene Anti Patterns zu verbessern oder gleich ganz zu vermeiden.
Verbesserungswürdige Muster finden sich in vielen Bereichen in der Softwareentwicklung.
Diese Schulung richtet sich an Softwareentwickler, daher liegt der Schwerpunkt bei der Vorstellung der Anti Patterns auch bei der Codierung. Anhand von konkreten Codebeispielen erörtern wir, was daran verbessert werden kann. Besonderes Augenmerk legen wir dabei auf die
Gründe, wegen denen der jeweilige Code besser anders geschrieben werden sollte, um so
gemeinsam in der Gruppe Richtlinien für einen guten Code zu erarbeiten.
19
5
Anti Patterns
Debugging und Refactoring
Garbage Collection
Es existieren Techniken und Tools, die die Entwickler bei
der Erstellung qualitativ hochwertiger Codes unterstützen. Wir werden Ihnen vorstellen, welche Unterstützung die Entwicklungsumgebung Eclipse beim Debugging sowie bei der Überarbeitung von Code bietet.
Außerdem stellen wir Ihnen einige Eclipse-Plugins vor,
die helfen können, kritische Code-Stellen zu identifizieren und zu verbessern.
Ein großer Vorteil von Java ist die automatische Speicherverwaltung, die den Entwicklern im Vergleich zu anderen Programmiersprachen viel Arbeit abnimmt. Der
Garbage Collector organisiert die Objekte im Speicher
und sorgt dafür, dass nicht mehr benötigte Objekte abgeräumt und der Speicher wieder freigegeben wird. Hin
und wieder gibt es aber Situationen, in denen der Garbage Collector nicht optimal funktioniert und daher manuell getunt werden muss. Für diese Fälle stellen wir
Ihnen daher die genaue Funktionsweise des Garbage
Collectors und Möglichkeiten, seine Arbeitsweise zu
konfigurieren, vor.
Profiling
Damit Anwender sinnvoll und gerne mit einer Anwendung arbeiten können, muss diese flüssig arbeiten und
den Anwendern keine unnötigen Wartezeiten aufzwingen. Daher ist es wichtig, die Performance einer Anwendung von Anfang an im Blick zu behalten. Einige
Performance-Killer werden wir Ihnen, nebst Möglichkeiten zur Behebung während dieser Schulung vorstellen.
Für die Beurteilung der Performance und die Auswirkung von Änderungen am Code existieren natürlich Tools
und Best Practices, die Sie im Rahmen dieser Schulung
kennenlernen werden.
Was Sie lernen werden :
Aufbau und Besonderheiten der Sprache
Prinzipien von Groovy
Closures
Verwendung exemplarischer Klassen aus dem Groovy JDK
▪
▪
▪
▪
Voraussetzung :
Programmierkenntnisse und Grundkenntnisse in Objektorientierter Programmierung.
Dauer :
2 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
20
6
Java Core Advanced
▪▪ Erweiterte Sprachfeatures seit Java 5
▪▪ Collections Advanced
▪▪ Multithreading
▪▪ Annotationen
21
6
Java Core Advanced
Obwohl es lange Zeit nicht danach aussah, wird Java doch noch aktiv weiterentwickelt. In
dieser Schulung werden wir Ihnen die wichtigsten Neuerungen vorstellen, die seit Java 5 in die
Sprache eingeflossen sind. Außerdem behandeln wir die Verwendung von Collections, die Erstellung nebenläufiger Anwendungen und – last but not least – die Erstellung eigener Annotationen.
22
6
Java Core Advanced
Erweiterte Sprachfeatures seit Java 5
Multithreading
In den letzten Jahren wurde Java um viele Features erweitert. Teilweise werden diese von vielen Entwicklern
bereits ganz selbstverständlich verwendet. Einige der
neuen Features scheinen sich jedoch noch nicht so sehr
verbreitet zu haben. Zu Beginn der Schulung stellen wir
daher kurz und knapp Neuerungen wie Autoboxing, Enumerationen, Varargs, NIO und JMX vor. Dabei kommen
auch deren Besonderheiten zur Sprache, die teilweise
nicht gleich offensichtlich sind.
Die Entwicklung nebenläufiger Anwendungen mit den
althergebrachten Klassen Thread und Runnable ist umständlich und fehleranfällig. In Java 6 und 7 wurden daher neue Klassen eingeführt, die das Thema Multithreading zumindest ein wenig vereinfachen. Executoren,
Locks und Fork/Join sind keine neuen Methoden, um
Java-Entwickler zu foltern, sondern Teil der neuen Möglichkeiten, nebenläufige Anwendungen zu entwickeln.
Diese und noch einige mehr werden wir Ihnen ausführlich vorstellen und Ihnen die Gelegenheit geben, anhand
von Übungsbeispielen erste Erfahrungen in der Verwendung zu sammeln. Anschließend stellen wir Ihnen noch
Collections Advanced
das Paradigma der nicht-blockierenden ProgrammieDie Auswahl der richtigen Collection ist in Java die halbe rung vor, das zum Ziel hat, nebenläufige Anwendungen
Miete für einen kompakten Code. Neben den üblichen auf modernen Computern möglichst performant auszuListen, Sets und Maps, die nur kurz angeschnitten wer- führen.
den, gibt es für spezielle Einsatzzwecke weitere Implementierungen, die dem Entwickler viel Arbeit ersparen
und die Performance beträchtlich erhöhen können. Wir Annotationen
werden diese Implementierungen vorstellen und mit Ihnen besprechen, welche Collection für welchen Anwen- Annotationen sind nicht neu und werden mittlerweile
dungsfall am besten geeignet ist. Für noch speziellere ganz selbstverständlich verwendet. Daher werden wir
Fälle existieren außerhalb des JDK noch weitere Collec- Annotationen an sich und Ihre Grundlagen nur kurz betion-Implementierungen, von denen wir Ihnen eine exem- handeln. Der Schwerpunkt liegt stattdessen auf der
plarisch vorstellen. Als Überleitung zum nächsten The- Erstellung eigener Annotationen sowie den Möglichkeima steht schließlich noch die Synchronisierung von ten, wie und wann diese sinnvoll eingesetzt werden könCollections für den Zugriff aus mehreren Anwendungs- nen.
Threads heraus auf dem Programm.
Was Sie lernen werden :
Erweiterte Sprachfeatures aus Java 5, 6, 7
Collections und deren Anwendung
Neue Möglichkeiten für die nebenläufige Programmierung
Erstellung und Anwendung eigener Annotationen
▪
▪
▪
▪
Voraussetzung :
Objektorientierte Programmierung und die Programmiersprache Java.
Dauer :
4 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
23
7
Spring
▪▪ Spring Dependency Injection
▪▪ Spring Aspect Oriented Programming ( AOP )
24
7
Spring
Spring ist zu der Zeit entstanden, als Java Enterprise Anwendungen zu Recht im Ruf standen,
unnötig kompliziert, schwergewichtig und langsam zu sein. Ursprünglich war Spring mit dem
Ziel gestartet, per Dependency Injection ( DI ) die Möglichkeit zu bieten, eine lose gekoppelte
Anwendungsarchitektur zu realisieren. Damit sollte eine leichtgewichtige und einfach zu bedienende Alternative zu Java Enterprise Anwendungen geschaffen werden. Mit diesem Ziel
rannte Spring bei vielen Entwicklern offene Türen ein, und innerhalb von wenigen Jahren hatte
es sich zum de-facto-Standard für Dependency Injection entwickelt. Mittlerweile existieren
zwar zahlreiche weitere Tools, die ähnliche Funktionen bieten, aber Spring ist nach wie vor das
am weitesten verbreitete DI-Framework.
Mittlerweile bietet Spring neben der Dependency Injection viele weitere interessante Module
für eine Vielzahl ganz unterschiedlicher Anwendungsfälle. In dieser Schulung konzentrieren wir
uns jedoch auf zwei dieser Module : Dem eigentlichen Kern von Spring, der Dependency Injection sowie der Aspektorientierten Programmierung.
25
7
Spring
Spring Dependency Injection
Eine lose gekoppelte Architektur, die flexibel genug ist,
einzelne Komponenten problemlos auszutauschen. Die
automatische Wiederverwendung von Objekten innerhalb einer Anwendung und möglichst wenig Abhängigkeit
von irgendwelchen Frameworks im Code. Das sind Ziele,
die jede Anwendung anstrebt, die meist aber nur schwer
oder unmöglich zu erreichen sind. Durch die Dependency Injection rückt Spring diese aber in greifbare Nähe.
Im Rahmen dieser Schulung werden Sie die Ideen, die
hinter DI stecken, kennenlernen und erfahren, wie diese
in Spring umgesetzt sind. Wir werden Ihnen die verschiedenen Möglichkeiten und Optionen, wie eine Anwendung mit Spring konfiguriert werden kann, vorstellen. Anhand zahlreicher Übungsaufgaben haben Sie die
Möglichkeit, das Gelernte auszuprobieren und Ihr Wissen zu vertiefen.
Spring Aspect Oriented Programming
( AOP )
mentiert werden und ist entsprechend unübersichtlich
und schwer zu warten.
Die Aspektorientierte Programmierung bietet die Möglichkeit, den Code für solche Anforderungen an eine zentrale Stelle auszulagern und zu definieren, an welchen
Stellen in der Anwendung er ausgeführt werden soll.
Das dient nicht nur der Übersichtlichkeit im Programm,
sondern ermöglicht auch die Umsetzung völlig neuer
Features, für die der Aufwand mit herkömmlichen Herangehensweisen viel zu hoch wäre.
In dieser Schulung stellen wir Ihnen vor, wie Spring das
Konzept der Aspektorientierten Programmierung umsetzt und wie es angewendet werden kann. Sie werden
Aspekte, Joinpoints und Advices kennenlernen und diese
auch selbst implementieren. Selbstverständlich präsentieren wir Ihnen auch Beispiele für Anforderungen,
bei denen AOP sinnvoll eingesetzt werden kann.
Objektorientierte Sprachen wie Java reduzieren die
Komplexität bei der Anwendungsentwicklung ganz erheblich. In Java können Programme modularisiert und
Klassen anhand ihrer Funktionen gegliedert werden.
Dies ermöglicht es, auch bei umfangreichen Anwendungen noch den Überblick zu behalten. Für Anforderungen
wie Logging, Security oder dem Transaktionshandling,
die sich durch sämtliche Schichten einer Anwendung
ziehen, hat jedoch auch die Objektorientierung keine Lösung. Der Code muss in allen Schichten getrennt imple-
Was Sie lernen werden :
Die wichtigsten Spring-Module
Grundlagen Dependency Injection und Realisierung mit Spring
Konfigurationsoptionen : XML und Annotationen
Grundlagen Aspektorientierter Programmierung ( AOP )
Verwendung von Spring AOP
▪
▪
▪
▪
▪
Voraussetzung :
Objektorientierte Programmierung, Java-Kenntnisse, Grundbegriffe verteilter Anwendungen.
Dauer :
2 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
26
8
JPA mit Hibernate
▪▪ Zusammenspiel JPA und Hibernate
▪▪ JPA-Konfiguration
▪▪ JPA, Hibernate und Spring
27
8
JPA mit Hibernate
Letztlich dient fast jede Unternehmensanwendung nur dazu, Daten anzuzeigen, diese zu verändern und abzuspeichern. Meist liegen die Daten, mit denen eine Anwendung operiert, in einer Datenbank und müssen daher von dort gelesen und nach dort gespeichert werden. Für
einen Java-Softwareentwickler ist dieses Lesen und Schreiben von und in eine Datenbank ein
Technologiebruch. Intern arbeitet ein Programm mit Objekten und deren Variablen. Beim Lesen
und Schreiben müssen diese Variablen nun Tabellen und Spalten in einer Datenbank zugeordnet
werden. Genau hier setzt Hibernate an, indem es die Objektvariablen per Konfiguration den
Tabelleninhalten zuordnet. Damit bietet Hibernate die Möglichkeit, ganze Java-Objekte aus
einer Datenbank zu laden oder dort zu speichern. Hibernate übernimmt dabei das Befüllen bzw.
Auslesen der Objektvariablen vollautomatisch.
Hibernate ist das verbreitetste ORM-Tool ( Object Relational Mapping ), aber bei weitem nicht
das einzige. Jedes Tool unterscheidet sich in der Konfiguration und der Anwendung, was dazu
führt, dass sich kein Entwickler mit allen diesen Tools auskennt. Daher wurde 2006 die Java
Persistence API ( JPA ) veröffentlicht, die eine vom eingesetzten ORM unabhängige Schnittstelle für den Zugriff auf relationale Datenbanken einführt. Mittlerweile unterstützen alle relevanten ORM auch JPA. Für die Entwickler bedeutet der Einsatz von JPA, dass sie den Datenbankzugriff fast ausschließlich über JPA-Bordmittel realisieren können und sich daher weniger mit
den Details des verwendeten ORM auseinandersetzen müssen.
28
8
JPA mit Hibernate
Zusammenspiel JPA und Hibernate
JPA, Hibernate und Spring
JPA definiert nur eine Schnittstelle für den Datenzugriff, beinhaltet selbst jedoch keinerlei Implementierung
dafür. Daher ist beim Einsatz von JPA immer noch ein
ORM notwendig, der, von JPA angesteuert, die eigentlichen Datenbankzugriffe erledigt. Wir werden Ihnen diese Aufgabenteilung zwischen JPA und Hibernate sowie
die dafür erforderliche Konfiguration vorstellen.
Dependency Injection ( DI ) ist mittlerweile aus keiner Anwendung mehr wegzudenken. Dementsprechend können
und müssen natürlich auch JPA und Hibernate im verwendeten DI-Container so konfiguriert werden, dass sie
über alle notwendigen Informationen verfügen und im
Programm verwendet werden können. Am Beispiel von
Spring werden wir Ihnen demonstrieren, welche Konfiguration dafür erforderlich ist.
JPA-Konfiguration
Die Basis-Konfiguration von JPA ist schnell erledigt,
aber wie bei jedem Tool liegen die Feinheiten und Fallstricke in den Details. Die werden Sie im Rahmen dieser
Schulung kennenlernen und erfahren, wie Sie diese im
Projekt lösen können. Neben dem einfachen Mapping von
Objektvariablen auf Tabellenspalten werden Sie erfahren, wie 1 :1, 1 :n und n :m-Mappings in JPA konfiguriert
werden und diese Konfiguration an einem Beispiel auch
selbst vornehmen.
Was Sie lernen werden :
Datenzugriff im Vergleich : JDBC und Hibernate
Integration von Hibernate, JPA und Spring
Objektrelationale Konfiguration mit JPA
Datenbankzugriffe über den JPA EntityManager
▪
▪
▪
▪
Voraussetzung :
Programmierkenntnisse.
Dauer :
4 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
29
X
9
Java Web Anwendungen
▪▪ Java Server Faces und Spring Webflow
▪▪ Facelets und Richfaces
30
9
Java Web Anwendungen
Web Anwendungen sind heutzutage weder für die Anwender noch für die Entwickler wegzudenken. Im Vergleich zu herkömmlichen Applikationen sind hierbei jedoch einige Besonderheiten zu
beachten, zum Beispiel die Herausforderung, Benutzerinformationen über ein zustandsloses
Protokoll zu speichern und abzurufen. Außerdem gilt es durch die wachsende Reife und Popularität ausgefeilter JavaScript-Frameworks mittlerweile wieder zu entscheiden, welche Teile
der Anwendung auf dem Server und welche auf dem Client laufen sollen. Mit diesen und einigen
weiteren grundlegenden Überlegungen zu den Basistechnologien einer Java Web Anwendung
werden wir in diese Schulung einsteigen.
Java Server Faces und Spring Webflow
Java Server Faces ( JSF ) ist eines der oben erwähnten
Web-Frameworks. JSF beinhaltet einerseits viele vorgefertigte Komponenten, aus denen Webseiten aufgebaut werden. Eingabefelder, Buttons, Dropdown-Boxen
– für viele Oberflächenelemente bietet JSF Komponenten an. Andererseits übernimmt JSF automatisch die
Anbindung dieser Oberflächenelemente an die Java-Objekte, mit denen die Business-Logik implementiert wird.
Das Grundgerüst einer Web Anwendung ist damit
schnell erstellt, was aber noch fehlt, sind die Verbindun-
31
gen zwischen den einzelnen Webseiten. Natürlich kennt
JSF Navigations-Elemente, aber erst seit Version 2.2
kann JSF die Navigation über den sogenannten Flow logisch gruppieren und in den Gesamtkontext der Anwendung einbetten. Bisher wurde dafür meist Spring Webflow verwendet, das ebenfalls eine Gruppierung und
Modularisierung des Frontends erlaubt. Beides werden
wir Ihnen selbstverständlich nicht vorenthalten.
9
Java Web Anwendungen
Facelets und Richfaces
In den Anfangsjahren der Web Anwendungen mussten
Java Entwickler die einzelnen Seiten in Form von Java
Server Pages ( JSP ) programmieren. Im Lauf der Zeit
entstanden für JSPs zwar zahlreiche Bibliotheken, die
häufig benötigte Komponenten zur Verfügung stellen,
doch haben diese nicht die grundlegende Schwäche von
JSPs beheben können : Die Vermischung von Code für
die Darstellung der Seiten mit Programmcode der Geschäftslogik. Mit den Facelets wurde daher eine ganz
neue Technologie für die Gestaltung der Webseiten entworfen, die eine saubere Trennung des Oberflächendesigns von der Geschäftslogik ermöglicht. In der Regel
werden Facelets im XHTML-Format erstellt, was den
Einstieg sowohl für Softwareentwickler als auch für
Webdesigner erheblich vereinfacht.
Mit JSF, Facelets, RichFaces und Webflow lernen Sie in
dieser Schulung einen mächtigen Technologiestack kennen, mit dem eine effiziente Erstellung von Web Anwendungen möglich ist. Gerade bei Web Applikationen
kommt es bei der Entwicklungsgeschwindigkeit aber
stark darauf an, mit welchen Frameworks sich ein Entwickler auskennt. Die zugrunde liegenden Prinzipien sind
bei allen ähnlich, doch in der konkreten Ausgestaltung
unterscheiden sich die Frameworks teilweise erheblich.
Daher ist es nicht ohne weiteres möglich, das Know
How, das sich Entwickler in einem Framework erarbeitet haben, auf ein anderes zu übertragen. Sollten Sie
also ein anderes Framework einsetzen oder darüber
nachdenken, sei es Vaadin, Wicket oder Spring MVC,
dann informieren Sie uns darüber, damit wir die Inhalte
dieser Schulung entsprechend anpassen können.
Als Ergänzung werden wir Ihnen die Komponentenbibliothek RichFaces vorstellen, die viele komplexe Oberflächenelemente zur Verfügung stellt. Mit Hilfe von RichFaces ist es ein Leichtes, moderne Anforderungen an
eine Web Anwendung mit wenigen Befehlen zu realisieren.
Was Sie lernen werden :
Besonderheiten von Web Anwendungen
Anwendungsarchitektur moderner Web Anwendungen
Einführung in Java Server Faces
Frontend-Gestaltung mit Facelets, JSF und Richfaces
Asynchrone Serveranfragen mit RichFaces über Ajax
Flusssteuerung mit Spring Webflow
▪
▪
▪
▪
▪
▪
Voraussetzung :
Java-Kenntnisse, XML-Kenntnisse, Kenntnis über Aufgaben und der prinzipiellen Arbeitsweise eines Applikationsservers.
Dauer :
3 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
32
10
X
Java Web Services
▪▪Web Services mit JAX-WS
▪▪Security und Co.
▪▪Nicht zu vergessen : der REST
10
Java Web Services
Stellen Sie sich vor, Sie wollen mit einer Freundin sprechen, die in einem anderen Ort wohnt.
Dort kommt jedoch ein anderes Telefonsystem zum Einsatz, daher kann keine Verbindung hergestellt werden. Die Softwareentwicklung stand lange vor einer ähnlichen Situation. Die Kommunikation mit Programmen, die in einer anderen Programmiersprache entwickelt wurden
oder auf einer anderen Plattform liefen, war fast nur mit speziellen Übersetzungs-Komponenten möglich und dementsprechend aufwendig.
Die daraus resultierenden Einschränkungen bei der Interoperabilität zwischen verschiedenen
Programmen waren so gravierend, dass mit den Web Services eine Lingua Franca geschaffen
wurde, die diesen Missstand beheben sollte und der dies auch weitgehend gelungen ist. Die
eigentliche Kommunikation zwischen den beteiligten Systemen läuft dabei, wer hätte es gedacht, über XML.
Web Services mit JAX-WS
In dieser Schulung werden wir Ihnen nach einer allgemeinen Einführung in verteilte Services die Spezifikation
JAX-WS in Version 2.0 ausführlich vorstellen. An der
Versionsnummer ist bereits zu erkennen, dass Web
Services bereits einen Reifungsprozess durchlaufen haben. Diesen werden wir Ihnen kurz vorstellen, um zu
erläutern, wie die unterschiedlichen Ausprägungen und
Versionen der Web Services miteinander kommunizieren
können.
34
10
Java Web Services
Web Services mit JAX-WS
Nicht zu vergessen : der REST
Bei der Erstellung von Web Services gibt es in Java zwei
Herangehensweisen : Zum einen können Entwickler zunächst die Beschreibung des Web Services erstellen
und sich daraus automatisch Stubs der erforderlichen
Java-Klassen generieren lassen. Zum anderen ist der
umgekehrte Weg, sich aus bestehenden Java-Klassen
die Web Service-Beschreibung erzeugen zu lassen,
ebenso möglich. Sie werden in dieser Schulung beide
Wege kennenlernen und diese auch an einem praktischen Beispiel ausprobieren.
REST-Schnittstellen sind mittlerweile ein fester Bestandteil der Anwendungsentwicklung geworden. Sie
basieren auf einem reduzierten Web Services Stack und
vereinfachen das Senden und Empfangen der Nutzdaten. Zum Abschluss der Schulung werden wir Ihnen einen Ausblick auf diese Technologie und die Zusammenhänge zu den Web Services geben.
Security und Co.
Nachdem Sie die Grundlagen von Web Services kennen,
ist es Zeit für fortgeschrittene Themen. So lassen sich
Web Services durch verschiedene Methoden wie beispielsweise Credentials, Kerberos oder Zertifikate absichern. Des Weiteren können sowohl der Anbieter als
auch die Benutzer von Web Services Richtlinien definieren, die die Gegenstelle einhalten muss. Asynchrone
Web Services, die über den Austausch von Adressinformationen erst möglich werden sowie die Deklaration
des Transaktionshandlings in Web Services schließen
diesen Block ab.
Was Sie lernen werden :
Einführung in WSDL und SOAP
Benutzung von Werkzeugen : WSDL-Editor, SOAP-UI.
Die JAX-WS-Spezifikation von Sun
Implementierung von Web Services mit Java
Erstellung von Web Service Clients mit Java
Design-Grundlagen und Best Practices
▪
▪
▪
▪
▪
▪
Voraussetzung :
Objektorientierte Programmierung, die Programmiersprache Java. Grundbegriffe verteilter Anwendungen, besonders
Web Anwendungen, Grundlagen von XML und XML-Schema.
Dauer :
2 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
35
11
Buildmanagement mit Maven
▪▪ Dependency Management
▪▪ Dokumentationserstellung
36
11
Build Management mit Maven
Mit wachsendem Umfang und Komplexität der Softwareprojekte sind auch die Anforderungen
an die verwendeten Build-Tools gestiegen. Builds mit Ant, das lange Zeit den de-facto-Standard für Builds im Java-Bereich darstellte, wurden immer undurchschaubarer und schwerer
zu pflegen. Im Jahr 2002 schickte sich daher Maven an, den Buildprozess zu vereinfachen.
Mittlerweile existieren mehrere ähnliche Tools, die einige Details besser gelöst haben als Maven. Aufgrund seiner Reife, der Integration in verschiedene Tools und der zahllosen Erweiterungen, die für Maven existieren, ist Maven aber nach wie vor ein hervorragendes Build-Tool.
In dieser Schulung werden wir Ihnen die grundlegenden Konzepte und die Funktionsweise von
Maven vorstellen. Wenn Sie schon immer einmal wissen wollten, wie Maven hinter den Kulissen
tickt, sind Sie hier richtig. Da die einzelnen Build-Aufgaben in Maven durch Plugins realisiert
sind, werden wir Ihnen die wichtigsten Plugins sowie deren Konfigurationsmöglichkeiten vorstellen.
37
11
Build Management mit Maven
Dependency Management
Maven ist zwar in erster Linie ein Build-Tool, kann aber
darüber hinaus noch viel mehr. So ermöglicht es Maven
den Entwicklern, die Bibliotheken, die von einer Anwendung benötigt werden, von Maven verwalten zu lassen.
Das mühsame manuelle Zusammensuchen von Bibliotheken und deren Abhängigkeiten gehört damit der Vergangenheit an, da diese Informationen in der MavenKonfigurationsdatei enthalten sind. Die Funktionsweise
und die Möglichkeiten, die das Maven Dependency Management bietet, werden Sie in dieser Schulung kennenlernen.
Diese Schulung richtet sich an Entwickler, die noch keine oder nur wenig Erfahrung mit Maven haben. Die Behandlung fortgeschrittener Themen, wie zum Beispiel
der Erstellung eigener Maven-Plugins lässt sich in der
für diese Schulung vorgesehenen Zeit nicht behandeln.
Falls Sie in dieser Hinsicht Interesse haben, lässt sich
diese Schulung aber problemlos verlängern, um Ihre
Fragestellungen ebenfalls abzudecken. Und selbstverständlich können Sie uns auch unabhängig von der Einführungsschulung ausschließlich für Ihre konkreten Themen buchen. Sprechen Sie uns einfach darauf an.
Dokumentationserstellung
Dokumentation ist in so gut wie jedem Projekt ein leidiges Thema, das eher stiefmütterlich behandelt wird.
Doch auch wenn dedizierte Personen für das Thema Dokumentation verantwortlich sind, werden diese für Unterstützung durch ein Tool dankbar sein. Hier springt
Maven in die Bresche, indem es die Möglichkeit bietet,
sämtliche Informationen zu einem Projekt zeitgemäß als
Website zu erstellen und zu veröffentlichen. Im Rahmen
dieser Schulung erfahren Sie, was Maven in dieser Hinsicht zu bieten hat und wie Sie es für Ihre Projekte
nutzen können.
Was Sie lernen werden :
Maven-Grundlagen : allgemeine Funktionsweise
Verwaltung von Abhängigkeiten mit Maven
Anwendungsmöglichkeiten und Definition von Profilen
Erstellung der Projektdokumentation mit Maven
Grundlagen von Continuous Integration
▪
▪
▪
▪
▪
Voraussetzung :
Java-Kenntnisse, Grundlagen von XML, Grundlagen modularer Enterprise-Anwendungen.
Dauer :
1 Tag
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
38
12
X
Einführung in Groovy
▪▪ Groovy Features
39
12
Einführung in Groovy
In den letzten Jahren sind einige Programmiersprachen entstanden, die ebenfalls auf einer
Java Virtual Machine ( JVM ) ausgeführt werden können, die sich aber erheblich von Java unterscheiden. Während Sprachen wie Scala oder Clojure angetreten sind, Java komplett zu ersetzen, fügt sich Groovy bei Bedarf auch nahtlos in bestehende Java-Anwendungen ein. Das bedeutet wiederum nicht, dass es nicht möglich wäre, mit Groovy auch komplexe Anwendungen
zu erstellen. Das Web-Framework Grails beispielsweise basiert auf Groovy und wird auch in
größeren Projekten eingesetzt.
Groovy hat viele Konzepte von Skriptsprachen übernommen und wird daher gerne für Tests,
schnelle Hacks und kleinere Programme, die die Entwickler sich für den Hausgebrauch schreiben, eingesetzt. Mit Groovy ist es möglich, mit wenigen Codezeilen ein Problem zu lösen, für
das mit Java ein komplettes Programm mit mehreren Klassen notwendig wäre. Der Fokus
dieser Schulung liegt daher auf den genannten Aspekten. Sie werden im Lauf des Kurses natürlich Hinweise für die Entwicklung voll ausgereifter Unternehmensanwendungen erhalten.
Dieser Punkt wird jedoch nicht vertieft.
40
12
Einführung in Groovy
Groovy-Features
Ein interessanter Aspekt von Groovy ist die Möglichkeit,
Codeblöcke an Methoden zu übergeben, die dann im
Rahmen dieser Methode ausgeführt werden. Diese
„ Closures “ genannten Codeblöcke ermöglichen sehr
kompakte, aber dennoch lesbare und flexible Programme. Die Begeisterung, die Closures bei den Anwendungsentwicklern ausgelöst hat, ist sicherlich einer der
Gründe, warum Closures unter dem Namen „ Lambda
Expressions “ in Java 8 eingeführt wurden.
Der Umgang mit Java-Klassen sowie den dazugehörigen
Tools wird in dieser Schulung vorausgesetzt. Dieser
Kurs ist daher eher für erfahrene Programmierer konzipiert, die bereits mit Java gearbeitet haben.
Da Groovy auf dem Java Standard JDK basiert, lassen
sich alle vorhandenen Klassen des JDK auch in Groovy
nutzen. Um Groovy nutzen zu können, ist jedoch das
Groovy JDK nötig. Dieses enthält einerseits neben den
für die Ausführung von Groovy erforderlichen Binaries
viele Groovy-Basisklassen, die in eigenen Projekten verwendet werden können. Andererseits erweitert das
Groovy JDK auch etliche Standard-Java-Klassen aus
dem Java JDK, um diese fit für die Verwendung in Groovy zu machen. Die wichtigsten dieser Erweiterungen
sowie einige relevante Klassen aus dem Groovy JDK
werden Sie während dieser Schulung kennenlernen.
Was Sie lernen werden :
Aufbau und Besonderheiten der Sprache
Prinzipien von Groovy
Closures
Verwendung exemplarischer Klassen aus dem Groovy JDK
▪
▪
▪
▪
Voraussetzung :
Programmierkenntnisse und Grundkenntnisse in Objektorientierter Programmierung.
Dauer :
2 Tage
Haben Sie Fragen zu unseren Schulungen oder möchten Sie eine buchen ? Dann kontaktieren Sie uns :
+49 (0) 69 904 736 1 - 0 oder [email protected]
www.it-frankfurt.com
41
G
Gesamte Leistungsübersicht Ausbildung IT
Gesamte Leistungsübersicht Ausbildung IT
Folgende Ausbildungsmaßnahmen werden von der IT Frankfurt GmbH angeboten :
Know-how Transfer und
Unterstützung Ihrer
Mitarbeiter durch zielorientierte Mitarbeit in
entscheidenden Phasen.
Coaching
Qualifizierung Ihrer
Mitarbeiter durch praxisorientierte Schulungen.
Training
Train
by
Solve
Bewertungen und Audits
durch Experten-Gutachten –
herstellerneutral und unabhängig.
Die Synergie von Training
und Coaching : Wir
konzipieren und realisieren Workshops zu exakt
Ihren Fragestellungen und
Randbedingungen.
Reviews
Consulting
Produkt- und Technologieberatung für ökonomische, ergonomische und
technologisch nachhaltige
Lösungen.
Diese Bausteine können bedarfsgerecht konzipiert und zusammengestellt werden, um eine gesamtheitliche und
nachhaltige Ausbildung Ihrer IT Fachkräfte zu gewährleisten.
42
I
Impressum
Impressum
Herausgeber :
IT Frankfurt GmbH
Leipziger Straße 8
D-60487 Frankfurt a. M.
Geschäftsführer :
Horst Gaussmann
Christian Männchen
Peter Nobbe
Karsten Schumann
HRB Frankfurt a. M. 77078
USt.-ID DE814665310
Verantwortlicher für den Inhalt :
Peter Nobbe
Druck :
Colour Connection GmbH
Hanauer Landstraße 523
D-60386 Frankfurt a. Main.
Für AGBs und weitere Infos besuchen Sie unsere Website :
www.it-frankfurt.com
43
IT Frankfurt GmbH
Leipziger Straße 8
60487 Frankfurt a. M.
Telefon: +49 (0) 69 904 736 1 - 0
Telefax: +49 (0) 69 904 736 1 - 29
E-Mail: [email protected]
Web: www.it-frankfurt.com
Herunterladen