Webservices Schnittstellen: SOAP und RESTful

webPDF mit SAP

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)
NetzwerkprotokollSoftware-Architekturstil für das Web
Einsatzgebiet: häufig SAP/Enterprise-UmfeldEinsatzgebiet: Web, insbesondere öffentliche Web-APIs
W3C-Standard, basiert auf XML und typischerweise HTTP/TCPRessourcenorientiert über URI (Uniform Resource Identifier)
Häufig stateless in Kombination mit HTTPIn der Praxis oft zustandsorientierte Nutzungsszenarien möglich
Nachteil: zusätzlicher XML-Overhead und höhere KomplexitätVorteil: einfache Implementierung, gute Skalierbarkeit, nahe an Web-Infrastruktur
Vorteil: starke Standardisierung und PlattformunabhängigkeitNachteil: 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

SOAPRESTful
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.

Mehr zu den PDF-Webservices

Konkrete Bearbeitungsfunktionen der Webservices

  1. Dateikonvertierung in das PDF-Format
  2. Digitales Signieren
  3. Konvertierung in PDF/A und Validierung bestehender PDF/A-Dokumente
  4. Weitere Bearbeitung der PDF-Dokumente (Teilen, Sicherung, Grafikexport, Drucken)
  5. URL-Konvertierung: HTML-Inhalte per URL aufrufen und in PDF-Dokumente umwandeln
  6. 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.