Spring im Einsatz
Buchausgabe: 49,90€
Download-Version: 41,90€
(Preis inkl. Mwst. )
| Autor(en): | Craig Walls |
| Verlag: | Carl Hanser Verlag |
| Version: | 1. Auflage, 2007 |
| Umfang: | 675 Seiten |
| Format: | PDF: 11,11MB |
| Gewicht: | 1518 g |
| ISBN: | 3446412409 |
| Bestell-Nr.: | 44641240P |
| Artikeltyp: | E-Book |
Inhaltsverzeichnis (PDF, 90 Kb) Leseprobe (PDF, 738 Kb)
Craig Walls, Ryan Breidenbach
Spring im Einsatz
Übersetzt aus dem Englischen von Christian Alkemper, Jürgen Dubau
FRISCHER WIND MIT SPRING
- Wissen aus erster Hand: Von einem erfahrenen Spring- und JEE-Entwickler
- Praxis-Know-how für den Projekteinsatz: Lernen Sie Spring mit Hilfe der zahlreichen Codebeispiele aktiv kennen.
Im Internet: Sourcecode der Beispiele aus dem Buch sowie ein Zusatzkapitel zu "Building Portlet Applications" und vier zusätzliche Anhänge (in englischer Sprache)
Mit der Version 2.0 brachte Spring wieder frischen Wind in die Java-Entwicklungslandschaft und die Spring-Community erlebte einen neuen Aufschwung.
In dieser umfassenden Einführung finden Sie alles Wissenswerte über Spring 2.0. Sie steigen mit den grundlegenden Konzepten von Spring ein und lernen dann das Framework rasch aktiv kennen. Der Autor veranschaulicht seine Konzepte anhand von Rittern, Minnesängern, Zauberern, Ein-Mann-Bands, Studenten, Limonen, Gepäck und roten Pillen. Mit diesen Beispielen aus der realen Welt werden abstrakte Programmiervorgänge erklärt. So können Sie nachvollziehen, wie Dependency Injection und aspektorientierte Programmierung wirklich funktionieren.
Sie finden in diesem Buch Kapitel über Spring-WS, JMS, Remoting, den Scripting-Support von Spring und auch über Sicherheit, Web Flow, Ajax, deklarative Transaktionen und Datenpersistenz. Natürlich kommen auch grundlegende Themen wie Dependency Injection, AOP, Webentwicklung usw. nicht zu kurz.
Das Buch bietet eine vergnügliche Lektüre und gleichzeitig wertvolle Informationen, auf die erfahrene Spring-Entwickler nicht verzichten können
"Wirklich eine ausgezeichnete Quelle ? sehr detailgenau... ein Buch, das ich in höchstem Maße empfehlen kann."
JavaLobby.org
Autor(en)
Craig Walls ist erfahrener Java-Entwickler und Buchautor. Er betreibt sowohl in User-Gruppen und auf Konferenzen als auch in seinem einflussreichen Blog die Verbreitung des Spring Frameworks.
Leseprobe:
8 Spring und POJO-basierte Remote-Services (S. 277)
Dieses Kapitel behandelt die folgenden Themen:
Zugriff auf und Verfügbarmachung von RMI-Services
Verwenden von Hessian- und Burlap-Services
Arbeiten mit Springs HTTP-Invoker
Verwenden von Spring mit Webservices
Stellen Sie sich einen Moment lang vor, Sie seien auf einer verlassenen Insel gestrandet. Das klingt doch so, als sei ein Traum wahr geworden. Wer würde denn nicht die Einsamkeit am Strand genießen und die Welt da draußen geflissentlich ignorieren wollen? Aber auf einer einsamen Insel können Sie nicht den ganzen Tag lang in der Sonne liegen, und Piña Colada gibt es auch nicht. Sie mögen sich an der friedlichen Abgeschiedenheit erfreuen, aber über kurz oder lang werden Hunger, Langeweile und Einsamkeit Sie übermannen. Sie ernähren sich nur von Kokosnüssen und von Fisch, den Sie mit einem Spieß erbeutet haben. Sie brauchen endlich etwas Ordentliches zu essen, frische Kleidung und weitere Gegenstände des täglichen Bedarfs. Und wenn Sie nicht irgendwann in allernächster Zukunft Kontakt zu Menschen aufnehmen, werden Sie womöglich noch anfangen, mit Ihrem Volleyball zu sprechen!
Viele Anwendungen, die Sie entwickeln, sind wie Schiffbrüchige auf abgelegenen Inseln. Oberflächlich betrachtet, sind sie nicht auf fremde Hilfe angewiesen, aber in Wirklichkeit können Sie mit anderen Systemen innerhalb wie auch außerhalb Ihrer Organisation kollaborieren. Betrachten Sie etwa ein Beschaffungssystem, das mit dem Supply-Chain-System eines Anbieters kommunizieren muss. Und vielleicht muss sich das Personalsystem Ihres Unternehmens mit der Lohnbuchhaltung integrieren lassen. Das Lohnbuchhaltungssystem selbst wiederum muss unter Umständen mit einem externen System kommunizieren können, das Gehaltsschecks druckt und verschickt. Wie auch immer die Umstände aussehen mögen: Ihre Anwendung muss, um auf Remote-Services zugreifen zu können, mit dem entfernten System in Kontakt treten können.
Ihnen als Java-Entwickler stehen hierzu verschiedene Remote-Technologien zur Verfügung:
RMI (Remote Method Invocation)
Hessian und Burlap von Caucho
der Spring-eigene HTTP-Invoker
Webservices mit SOAP und JAX-RPC
Ungeachtet der gewählten Technologie bietet Spring umfangreiche Unterstützung für den Zugriff auf und die Erstellung von Remote-Services. In diesem Kapitel erfahren Sie, wie Spring diese Remote-Services sowohl vereinfacht als auch ergänzt. Zunächst jedoch wollen wir mit einem Überblick über die Funktionsweise des Remotings in Spring die Bühne für dieses Kapitel bereiten.
8.1 Das Spring-Remoting im Überblick
Remoting bezeichnet einen Kommunikationsvorgang zwischen einer Clientanwendung und einem Service. Clientseitig sind bestimmte Funktionalitäten erforderlich, die nicht zum Aufgabenkreis der Anwendung gehören. Aus diesem Grund greift die Anwendung in diesem Fall auf ein anderes System zurück, das die erforderliche Funktionalität bereitstellt. Die Remote-Anwendung macht die Funktionalität über einen Remote-Service verfügbar. Nehmen wir an, dass in der Anwendung RoadRantz nicht nur benutzerseitig eingegebene Vorfälle, sondern auch ggf. aktenkundige Verwarnungen eines Fahrers angezeigt werden sollen. Die Anwendung RoadRantz verfügt über keinerlei Aufzeichnungen zu Verwarnungen für Straßenverkehrsvergehen. Glücklicherweise jedoch haben wir einen Drittanbieterservice ermitteln können, der in einer Datenbank derartige Verwarnungen in nicht datengeschützter Form speichert. Die Anwendung RoadRantz könnte also auf diesen Service zugreifen und dort Verwarnungen von Kraftfahrzeugführern abrufen und zusätzlich zu den lokal gespeicherten Beschwerden anzeigen. Hierzu müsste ein Remote-Aufruf des Verwarnungsdatenbanksystems erfolgen (siehe Abbildung 8.1).
Die Kommunikation zwischen RoadRantz und dem Remote-Service beginnt mit einem RPC (Remote Procedure Call, Remote-Prozeduraufruf), der von der Anwendung Road- Rantz an das Datenbanksystem gesendet wird. Oberflächlich betrachtet, ähnelt ein RPC dem Aufruf einer Methode für ein lokales Objekt: Bei beiden handelt es sich um synchrone Operationen, die die Ausführung des aufrufenden Codes unterbinden, bis die aufgerufene Prozedur abgeschlossen ist.

