
SPR-001: Core Spring Trainings-Plan
SPR-001: Core Spring Trainings-Plan
In diesem viertägigen Training lernen Sie, wie man das Spring-Framework nutzen kann, um Geschäftsanwendungen effizienter zu entwickeln.
Trainings-Plan
- Tag 1 - Agiles Java EE: Grundlagen
- Einführung in die leichtgewichtige Container-Architektur und den Spring Application Context.
- Dependency Injection und testgetriebene Entwicklung als Basis für die Entwicklung einheitlich strukturierter, konfigurierbarere und leicht testbarere Anwendungen
- Wie Spring hilft, besseren und leichter wartbaren Code zu schreiben und welche Design Patterns dabei helfen.
- Neue Konfigurationsmöglichkeiten in Spring 2.5
- Tag 2 - Effektive Middle-Tier Architekturen
- Entwicklung eines Middle-Tier Design anhand eines praxisnahen Geschäftsvorfall im Dialog mit den Teilnehmern
- Effektive Persistenz: Best Practices bei der Entwicklung der Persistenz-Schicht mit Spring
- effizienteres JDBC mit Spring-JDBC
- Implementierung von Persistenz mit Hibernate
- Transaktions-Management mit Spring
- Middle-Tier Unit- and Integrations-Tests
- Tag 3 – Implementierung der von Enterprise Information Connectivity
- Benutzung von O/R-Mappern und Hibernate mit Spring
- Überblick über Spring Web MVC, Spring JavaScript, Spring Web Flow und Spring Faces
- Konfiguration von Spring-managed Services für Zugriff von Clients aus ohne Code mit RMI und HTTP-basierten Protokollen
- Entwicklung von Contract-First-Web-Services mit Spring Web Services
- Tag 4 - Integration mit Enterprise Services
- Verstehen von Spring Security und rollenbasiertem Zugriff
- Administration der Anwendungen mit Spring JMX
- Konfigurieren von Message-Driven POJOs mit Spring JMS
- Die SpringSource Enterprise-Lösungen
Genauer Tagesablauf
Tag 1
Tag 1 beginnt mit einem High-Level Überblick über das Spring-Framework. Es werden die Vorteile der POJO-basierten Software-Entwicklung aufgezeigt, die sich rein auf die Umsetzung der Geschäftslogik und die Nutzung von Schnittstellen konzentriert. Dadurch wird der Code unabhängig von der Umgebung und der konkreten Implementierung. Es folgt ein Überblick über Datenbankzugriffe, Transaktionen und die durch Spring verbesserte Testbarkeit des Codes.
Das nächste Thema ist der Spring Application Context, das Herz des Spring Frameworks. Die Teilnehmer werden nicht nur die grundlegenden Features des Application Context kennen lernen sondern auch die fortgeschrittenen Möglichkeiten, die zur Entwicklung von wartbaren und einfach erweiterbaren Anwendungen notwendig sind. Dazu gehören unter anderem:
- Änderungen am Application Context zur Laufzeit
- Erzeugen des Application Context in verschiedenen Umgebungen wie Swing-Clients, Integrationstests und Stand Alone Applications
- Nutzung von Factories
- Vorhandenen Code als Spring-Services anbieten
- Feingranulare Kontrolle über den Lebenszyklus der Services
- Einfügen von eigenem Code an wohl definierten Stellen im Lebenszyklus des Context
Am Ende des Tages verstehen die Teilnehmer die Architektur des leichtgewichtigen Spring-Containers und wie sie mit ihm schnell komplexe Systeme aus lose gekoppelten Komponenten zusammenstellen können. Außerdem haben sie gelernt, welche Ideen hinter Spring stehen und wie Spring es ihnen erlaubt, Anwendungen mit hoher Qualität schneller zu entwickeln.
Tag 2
Tag 2 setzt nahtlos an, wo Tag 1 geendet hat: Beim Geschäftsvorfall. Die Teilnehmer entwickeln dafür Integrationstests, um die korrekte Implementierung der Geschäftsregeln frühzeitig zu überprüfen. Dabei lernen sie auch Mocks und Stubs kennen, die dazu dienen, die parallele Entwicklung mit mehreren Teams zu koordinieren. Auch die dabei notwendige Kommunikation und Praktiken wie Test Driven Development (TDD) werden behandelt.
Dann implementieren sie mit Spring eine Persistenz-Schicht, die mit Hilfe von Hibernate und JDBC komplexe transaktionale Probleme löst.
Dazu wird eine vorhande, klassische, JDBC-Implementierung mit Hilfe von Springs DaoSupport-Klassen und der Template-basierten Infrastruktur stark vereinfacht, so dass sich der Code auf das wesentliche konzentriert. Die Teilnehmer lernen so auch, wie sie vorhandenen Code auf die Nutzung der Spring JDBC-Abstraktion umstellen können. Außerdem sehen sie, wie man JDBC in der Praxis effektiv verwenden kann, um auch das letzte Quäntchen Performance zu erreichen oder komplexe relationale Operationen zu implementieren.
Anschließend folgt eine Einführung in Hibernate-Integration in Spring, welche auch gemeinsam mit JDBC benutzt werden kann. In einem Beispiel wird die JDBC-Implementierung durch eine Hibernate-Implementierung ausgetauscht, ohne dass dazu die Service-Schicht verändert werden muss.
Nun lernen die Teilnehmer die Möglichkeiten der aspektorientierten Programmierung (AOP) kennen und erfahren, wann man AOP verwenden soll und wie man Querschnittsbelange identifizieren kann. Dabei erlernen sie auch, wie man die mit Spring ausgelieferten Aspekte verwenden kann und wie man eigene Aspekte entwickelt.
Zu den Themen im Bereich AOP gehören:
- Die AOP Bausteine
- Die verschiedenen von Spring unterstützten Advice-Typen
- Die Verwendung von Pointcuts, um Aspekte dynamisch auf den Code anzuwenden
- Die verschiedenen Arten der Kontextübergabe an einen Aspekt
Die Teilnehmer werden sehen, wie das Spring AOP Framework Anwendungen signifikant vereinfachen kann, und wie sie AOP in ihren Anwendungen gewinnbringende einsetzen können, um so Code-Duplizierung zu vermeiden und den Code besser zu strukturieren.
Abschließend wird gezeigt, wie man Transaktionen mit Hilfe verschiedener Techniken aus der Spring-Transaktionsinfrastruktur verwaltet. Es wird sowohl die programmatische Verwaltung der Transaktionen also auch der deklarative Umgang mit AOP gezeigt. Die Teilnehmer sammeln Erfahrungen mit verschiedenen PlatformTransactionManager-Implementierungen und lernen dabei, wie man JDBC und Hibernate Zugriff in derselben Transaktion mischen kann.
Weiter geht es mit der deklarativen Verwaltung der Transaktions-Grenzen, Rollback-Regeln und Regeln für das Design der Transaktions-Infrastruktur der Anwendung. Die Teilnehmer wenden automatische Verwaltung der Transaktionen mit Autoproxy Creators an und lernen, wie man Transaktionsregeln als Metadaten mit Hilfe der JDK 5.0 Annotationen ausdrücken kann.
Am Ende des Tages haben die Teilnehmer einen vollständig funktionsfähigen Middle-Tier entwickelt, der den Logik-Kern ihrer Anwendung enthält. Sie haben außerdem die Komponenten der Anwendung isoliert getestet und auch als Teil des End-to-End Integrations-Tests, ohne dass die Anwendung auf einem Application Server installiert wurde. Sie haben die Vorteile von testgetriebener Software Entwicklung praktisch kennen gelernt. Außerdem haben sie Hibernate und JDBC in der Praxis verwendet und gesehen, wie man mit Spring die Geschäftslogik-Services deklarativ und ohne zusätzlichen Code in eine Infrastruktur integrieren kann, die dann zum Beispiel die Verwaltung der Transaktionen übernimmt.
Tag 3
Tag 3 gibt eine Einführung in „Spring Web“. Außerdem wird effektive Enterprise-Connectivity für den Austausch von Daten und für systemübergreifende Business Activities behandelt. Sie lernen objektrelationale Mapper wie Hibernate kennen. Dann gibt es einen kurzen Themenwechsel zu „Spring Web“.
Wir geben Ihnen eine Einführung in Spring Web MVC, Spring JavaScript, Spring Web Flow und Spring Faces. Bei Spring MVC werden die wesentlichen Information zu MVC abgedeckt. Dazu zählt das Request-Processing und wesentlichen Elemente von MVC wie das DispatcherServlet und schließlich der MVC „Quick Start“. Detaillierter wird auf Spring Web (Spring Web MVC, Spring JavaScript, Spring Web Flow und Spring Faces) im Kurs „Developing Rich Web Applicatiosn with Spring“ eingegangen.
Sie erfahren nun, wie Springs leistungsstarkes DispatcherServlet für Remoting und Web Services eingesetzt wird. Sie exportieren einen transaktionalen Service an entfernte Clients über eine Reihe verschiedener Protokolle mit Springs Remoting Support.
Zum Abschluss des Tages arbeiten lernen Sie, wie Sie Web Services entsprechend dem Contract-First-Ansatz erstellen.
Tag 4
Tag 4 baut auf dem Code auf, den Sie bisher entwickelt haben. Sie erhalten einen Überblick, wie Sie Ihre Anwendung mit Hilfe von Spring Security absichern können. Sie lernen, wie Sie die verschiedensten Authentifizierungsmechanismen, die eine Unternehmensanwendung benötigt, anpassen können. Zugleich lernen Sie, wie Sie Zugangsregeln hinzufügen, die völlig vom Authentifizierungsmechanismus entkoppelt sind. Sie werden sehen, dass Spring Sie die ganze Leistung von J2EE ausschöpfen lässt, ohne dass Sie aufwändig Code neu schreiben oder die Architektur neu gestalten müssen. Sie werden JMS Messaging mit Springs Message Driven POJOs ausführen. Und Sie werden lernen, wie Sie mit Springs JMX-Support das Monitoring und die Administration Ihrer Anwendung gestalten können.
Abhängig vom Fortschritt der Teilnehmer und den Interessen der Gruppe kann der Trainer noch weitere Themen anschneiden, wie z.B. andere AOP Frameworks, Scheduling, Konfiguration mit Java, Unterstützung für das Verschicken von EMails oder Unterstützung für JMS.
Am Ende des Trainings werden Sie "sehr viel gelernt haben und fast alles kann man sofort nutzen", wie einer Teilnehmer es ausdrückte. Außerdem können Sie die Trainings-Materialien und Ihren eigenen Code natürlich mit nach Hause nehmen, um ihn dann weiter zu nutzen.
Weitere Informationen
Ansatz
Durch unsere Trainings profitieren Sie vom umfangreichen Wissen und der Architektur-Expertise unseres Teams. Diesen Erfahrungsschatz bieten wir Ihnen in einer interaktiven und praxisnahen Umgebung an.
Das Core Spring Training behandelt nicht nur die verschiedenen Spring-Features und wie man diese nutzt, sondern auch grundlegende Architektur-Fragen. Es ist zwar wichtig zu wissen, wie man einen bestimmten Teil des Frameworks nutzt, aber noch wichtiger ist es, entscheiden zu können, wann man man ihn nutzt.
Voraussetzungen
Die Teilnehmer sollten Java und die Java SE APIs beherrschen. Außerdem sollten sie die Konzepte der Java EE APIs wie JTA oder Servlets kennen. Da wir in dem Training auch Objekt/Relationale Mapper wie Hibernate behandeln, sind außerdem grundlegende Kenntnisse über O/R-Mapper notwendig.
Übungen
Da das Training sowohl Spring als auch die theoretischen Grundlagen für die Entwicklung leichtgewichtiger, wartbarer und erweiterbarer Anwendungen behandelt, beträgt der Theorie-Anteil 50%. Die restlichen 50% sind Übungen.
Da die Übungen den größten Teil des Trainings einnehmen, benötigen Sie für das Training einen Computer-Arbeitsplatz. Sie können Ihren eigenen Laptop mitbringen oder Sie nutzen den von SpringSource vorbereiteten Rechner.
Unterlagen
Sie können natürlich die Trainingsunterlagen und den während des Trainings erstellten Code mitnehmen und für Ihre eigenen Projekte nutzen.
Kontakt
Falls Sie mehr Informationen über dieses Training benötigen, kontaktieren Sie uns.

