Webservices Schnittstellen: SOAP und RESTful

In diesem Technik-Beitrag möchten wir die Webservice-Schnittstellen SOAP und REST gegenüberstellen. webPDF stellt seine PDF-Funktionen sowohl als SOAP- als auch als RESTful-Webservices zur Verfügung. Aber wie unterscheiden sich die Methoden SOAP und RESTful und was sind die Vor- und Nachteile?
Beim Thema Softwareentwicklung fällt häufig das Stichwort API oder RESTful API. Da APIs als Grundstein der Softwareentwicklung gelten, lohnt sich ein Blick hinter die Kulissen. API bedeutet in diesem Zusammenhang Application Programming Interface, also Programmierschnittstelle. Durch Schnittstellen wird Kommunikation und Interaktion zwischen zwei Systemen möglich.
Neben dem Design gehört es heute bei der Entwicklung einer Website in der Regel dazu, eine API (inklusive Dokumentation) zu entwerfen. Dafür haben sich Standards und Protokolle etabliert, mit denen API-Designer arbeiten. Eines der bekanntesten Protokolle ist SOAP.
Gegenüberstellung Webservice-Schnittstellen: SOAP und RESTful
| SOAP (Simple Object Access Protocol) | REST (Representational State Transfer) |
|---|---|
| Netzwerkprotokoll | Software-Architekturstil für das Web |
| Einsatzgebiet: häufig SAP/Enterprise-Umfeld | Einsatzgebiet: Web, insbesondere öffentliche Web-APIs |
| W3C-Standard, basiert auf XML und typischerweise HTTP/TCP | Ressourcenorientiert über URI (Uniform Resource Identifier) |
| Häufig stateless in Kombination mit HTTP | In der Praxis oft zustandsorientierte Nutzungsszenarien möglich |
| Nachteil: zusätzlicher XML-Overhead und höhere Komplexität | Vorteil: einfache Implementierung, gute Skalierbarkeit, nahe an Web-Infrastruktur |
| Vorteil: starke Standardisierung und Plattformunabhängigkeit | Nachteil: geringere Standardisierung kann zu Uneinheitlichkeit führen |
Stateless vs. Stateful (vereinfacht)
- Stateless: Jede Anfrage enthält alle nötigen Informationen; der Server speichert keinen dauerhaften Zustand zur Anfragekette.
- Stateful: Der Server kann Informationen über eine Session hinweg speichern; das kann in bestimmten Prozessen (z. B. Checkout) Vorteile bringen, aber auch Serverlast erhöhen.
webPDF 6.0: SOAP oder RESTful - Alle technischen Details
Zusammenfassend kommt es auf den jeweiligen Anwendungsfall an, ob SOAP oder RESTful sinnvoller ist. Da beide Methoden Vor- und Nachteile haben, bietet webPDF beides an. Webservices sind für viele Anwendungsszenarien geeignet und besitzen eine offene, flexible Architektur. Sie sind unabhängig von Plattformen, Programmiersprachen und Protokollen einsetzbar.
Webservice-Schnittstellen bei webPDF
| SOAP | RESTful |
|---|---|
| webPDF 6.0 stellt Schnittstellen als SOAP-Webservices gemäß „Java Specification Request (JSR) 224" bereit. Interface-Beschreibung via WSDL. Umsetzung u. a. mit JAX-WS. | webPDF 6.0 stellt Schnittstellen als RESTful-Webservices gemäß JSR 311 bereit. Ressourcen sind über URI adressierbar, Darstellung u. a. in JSON. Umsetzung u. a. mit JAX-RS und Jersey. |
| Mehrere SOAP-Methoden stehen für die PDF-Funktionen zur Verfügung. | HTTP-Methoden wie PUT, GET, POST und DELETE werden unterstützt. |
webPDF-Webservices
webPDF bietet alle PDF-Funktionen als SOAP- oder RESTful-Webservices an. Webservices sind komfortabel, da sie plattformunabhängig nutzbar sind und sich in verschiedene Programmiersprachen integrieren lassen. Unabhängig von SOAP oder RESTful stellt der webPDF-Server insgesamt sechs Webservices bereit.
Konkrete Bearbeitungsfunktionen der Webservices
- Dateikonvertierung in das PDF-Format
- Digitales Signieren
- Konvertierung in PDF/A und Validierung bestehender PDF/A-Dokumente
- Weitere Bearbeitung der PDF-Dokumente (Teilen, Sicherung, Grafikexport, Drucken)
- URL-Konvertierung: HTML-Inhalte per URL aufrufen und in PDF-Dokumente umwandeln
- Optische Texterkennung (OCR) von Grafikdokumenten und Umwandlung in PDF
Hinweis: Für jeden Webservice existieren individuelle Parameter. Mit diesen Parametern können Verhalten und Ausführung gesteuert werden. Die Parameter sind identisch, egal ob SOAP- oder RESTful-Webservices verwendet werden.