Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Neues in Java 7
2 Threads und nebenläufige Programmierung
3 Datenstrukturen und Algorithmen
4 Raum und Zeit
5 Dateien, Verzeichnisse und Dateizugriffe
6 Datenströme
7 Die eXtensible Markup Language (XML)
8 Dateiformate
9 Grafische Oberflächen mit Swing
10 Grafikprogrammierung
11 Netzwerkprogrammierung
12 Verteilte Programmierung mit RMI
13 RESTful und SOAP Web-Services
14 JavaServer Pages und Servlets
15 Applets
16 Datenbankmanagement mit JDBC
17 Technologien für die Infrastruktur
18 Reflection und Annotationen
19 Dynamische Übersetzung und Skriptsprachen
20 Logging und Monitoring
21 Java Native Interface (JNI)
22 Sicherheitskonzepte
23 Dienstprogramme für die Java-Umgebung
Stichwort
Download: - openbook, ca. 21,3 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / Java 7 - Mehr als eine Insel | vor >>
Java 7 - Mehr als eine Insel von Christian Ullenboom Das Handbuch zu den Java SE-Bibliotheken
Java 7 - Mehr als eine Insel Galileo Computing 1433 S., 2012, geb. 49,90 Euro, ISBN 978-3-8362-1507-7 |
| 13 RESTful und SOAP Web-Services
|  | 13.1 Web-Services
|  | 13.2 RESTful Web-Services
|  |  | 13.2.1 Aus Prinzip REST
|  |  | 13.2.2 Jersey
|  |  | 13.2.3 JAX-RS-Annotationen für den ersten REST-Service
|  |  | 13.2.4 Test-Server starten
|  |  | 13.2.5 REST-Services konsumieren
|  |  | 13.2.6 Content-Hander, Marshaller und verschiedene MIME-Typen
|  |  | 13.2.7 REST-Parameter
|  |  | 13.2.8 REST-Services mit Parametern über die Jersey-Client-API aufrufen
|  |  | 13.2.9 PUT-Anforderungen und das Senden von Daten
|  |  | 13.2.10 PUT/POST/DELETE-Sendungen mit der Jersey-Client-API absetzen
|  | 13.3 Daily Soap und das SOAP-Protokoll
|  |  | 13.3.1 Die technische Realisierung
|  |  | 13.3.2 Web-Service-APIs und Implementierungen
|  |  | 13.3.3 @WebService in Java 6
|  |  | 13.3.4 Einen Web-Service definieren
|  |  | 13.3.5 Web-Services veröffentlichen
|  |  | 13.3.6 Einen JAX-WS-Client implementieren
|  | 13.4 Zum Weiterlesen
# 13 RESTful und SOAP Web-Services »Wenn die Menschen nur über Dinge reden würden, von denen sie etwas verstehen – das Schweigen wäre bedrückend.« – Robert Lembke (1913–1989) ## 13.1 Web-Services Zum Ansprechen entfernter Ressourcen und zum Aufrufen entfernter Methoden gibt es mehrere Ansätze. Ein einfaches Verfahren ist die Anfrage mit Parametern an einen Web-Server, der den Inhalt zurückliefert. Das entspricht im Wesentlichen dem, was auch ein Client zum Ansprechen einer Suchmaschine macht – er schickt den Suchstring zum Server und bekommt eine Antwort zurück. Sind wir in einer Client-Server-Architektur und gilt es, auf einem Server Operationen auszuführen, so gibt es unterschiedliche Standards wie RMI, CORBA, DCOM, RPC, so wie schon im vorangehenden Kapitel aufgeführt. #### Plattformübergreife Kommunikation Doch Lösungen wie RMI oder CORBA sind nicht immer optimal, und idealerweise unterhalten sich Client und Server unter folgenden Voraussetzungen: Ihre Kommunikation erfolgt über einen offenen Port, denn Sicherheitsbeauftragte tolerieren es nicht, wenn irgendwelche neuen Ports zusätzlich aufgemacht werden müssen. Der Weg über HTML ist hier optimal, da das Protokoll HTTP verbreitet ist und der Port zum HTTP-Server in der Regel frei bzw. über einen Proxy unproblematisch ist. RMI und CORBA lassen sich zwar über HTTP tunneln, aber das ist keine ordentliche und performante Lösung. Java ist zwar immer noch die wichtigste Programmiersprache für kritische Geschäftsanwendungen, aber natürlich nicht die einzige. Lösungen sollten plattformübergreifend sein, damit Client und Server auf beliebigen Betriebssystemen und in beliebigen Programmiersprachen entwickelt werden können. Mit RMI lässt sich nicht wirklich ein .NET-Client mit einem Java EE-Server verbinden. Und Byteorder (Big-Endian, Little-Endian) sollen keine Rolle spielen – genauso wie die interne Repräsentation von Fließkommazahlen. Im Optimalfall ist der Zugriff ohne aufwändige Generatoren zu realisieren. Das vereinfacht auch das Testen enorm. Es ist naheliegend, die Übertragung über HTTP vorzunehmen und ein neutrales Text-Protokoll einzusetzen, um keine Bindung an Rechnersysteme und Programmiersprachen zu erzwingen. Bietet ein Web-Server Dienste für Clients an, nennen wir das Web-Service, wobei wir erst einmal offen lassen, wie genau die Kommunikation zwischen Client und Server aussieht. #### REST und SOAP Da es verschiedene Anforderungen in der Web-Kommunikation gibt, haben sich zwei bekannte Web-Service-Standards herausgebildet: SOAP Web-Services: SOAP ist ein standardisiertes Protokoll, bei dem XML-Nachrichten übertragen werden. SOAP ist ähnlich wie RMI eine Technologie zum entfernten Methodenaufruf, bei der Argumente übergeben und eine Rückgabe eingesammelt wird. Die Parameter und Rückgaben sind exakt in einer WSDL-Datei beschrieben (ebenfalls im XML-Format), und es lassen sich gut Generatoren einsetzen, die mithilfe dieser WSDL-Datei Zugriffsklassen in allen möglichen Programmiersprachen generieren. RESTful Web-Services: Beim REST-Prinzip wird eine Anfrage über HTTP an den Web-Server gestellt. Anstatt entfernte Operationen aufzurufen und Argumente in einem XML-Dokument zu übergeben, kodiert die URL die Ressource, und nur einige wenige Operationen (wie Lesen und Aktualisieren) sind möglich. Im Mittelpunkt steht eine Ressource, die eindeutig adressierbar ist. Die Ressource hat eine Repräsentation, die in jedem Format sein kann, also XML, Text, Bilder oder .mp3-Dateien. Da SOAP-basierte Web-Services zeitlich vor RESTful Web-Services bekannt wurden, haben sie sozusagen den Begriff »Web-Services« geprägt. RESTful Web-Services kamen später, und so ist der Begriff »Web-Service« eigentlich mehrdeutig. Durch den historischen Vorsprung von SOAP ist der Begriff »Web-Service« in der Öffentlichkeit aber oft noch mit SOAP assoziiert. Beide Verfahren haben ihre Vorzüge, und es ist nicht so, dass eine Variante immer besser als die andere Variante ist. Wenn es Ressourcen-Zugriffe gibt und es keine entfernten Aufrufe an wirkliche Objekte mit Zuständen und Verhalten gibt, ist ein RESTful Web-Service eine gute Wahl. Stehen entfernte Objekte mit ihren vielfältigen Funktionen im Vordergrund, ist ein SOAP Web-Service in Ordnung. Beide verfolgenden unterschiedliche Philosophien, daher ist die Auswahl »REST oder SOAP?« keine Frage der technischen Realisierung: Web-Services können von einer Variante in die andere überführt werden, doch dann »fühlt« es sich nicht mehr so natürlich an. RESTful ist ein Architekturstil und kein Standard wie SOAP. ### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Zum Katalog
Java 7 – Mehr als eine Insel Jetzt bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchempfehlungen
| Java und XML
| Einstieg in Eclipse 3.7
| Android 3
| NetBeans Platform 7
| Java ist auch eine Insel
| Apps entwickeln für Android 4
| Java 7
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de