Microservices anbinden via SOAP oder REST

Sind Funktionalitäten und Anforderungen an einen oder mehrere Microservices geklärt, geht es darum, diese umzusetzen. Möchte man solche Microservices als web-API anbieten, stösst man sofort auf eine erste grundlegende Frage: Wie soll die Serviceschnittstelle gebaut werden? Standardmässig wählt man zwischen SOAP und REST, welche zwei verschiedene Verhalten beim Zugriff auf einen Webservice aufweisen.

Wann ist was besser geeignet? Wo liegt der grosse Unterschied? Ob REST oder SOAP der richtige Ansatz ist, entscheidet der Anwendungsfall:

  • SOAP steht ursprünglich für Simple Object Access Protocol, welches ein exklusiv auf XML basierendes Nachrichtenprotokoll ist. Es ist der «alte Hase» und war lange Zeit der Standard bei Webservice Interfaces. Es bringt die Vorteile eines seit langer Zeit angewandten Protokolls, da es auf einem Set von festen Regeln aufbaut. Der Server und der Client müssen sich an klare, strikte Vereinbarungen halten, von denen nicht abgewichen werden kann. Jede Änderung benötigt Updates auf allen Seiten, mit der Garantie, dass jeder Nutzer dem «Vertrag» folgt.
  • REST hingegen ist eher der über 10-jährige «Newcomer» und stellt im Gegensatz zu SOAP eine durchaus einfache Methode dar, wie Webservices angesprochen werden können. Genauer ist REST ein Architekturstil und kein Standard, welcher daher nur Struktur und Verhalten im Umgang mit Webservices vorgibt. Einerseits muss es ein zustandsloses Protokoll – meist ist dies «http» oder «https» – sein, andererseits müssen gewisse Standardmethoden wie «Get, Post, Delete» verwendet werden. Diese Methoden können auch bei Bedarf erweitert werden, ohne das Protokoll zu verletzen. Daher kann ein Anwender das API ohne grosse Vorkenntnisse, ausser einem bekannten Einstiegspunkt und dem zu verwendenden Medientyp wie XML, JSON, ansprechen.

Wenn man also SOAP und REST vergleicht, vergleicht man Äpfel mit Birnen, denn beides kann für einen Webservice eingesetzt werden. Allerdings ist SOAP ein Standard mit all seinen Regeln und REST nur ein Paradigma.

Die Äpfel und Birnen im direkten Vergleich:

Microservices

Abbildung 1: Direkter Vergleich zwischen SOAP und REST

 

Wenn man diese Unterschiede des Apfels SOAP und der Birne REST einander gegenüberstellt, wird klar, dass das wichtigste Kriterium das verwendete Einsatzgebiet ist. SOAP bietet durch die umfangreiche Spezifikation und den fest vorgeschriebenen Datenaustausch einen sicheren Standard für geschäftskritische APIs und eignet sich daher für Anwendungen, bei denen Zuverlässigkeit und Sicherheit höher gewertet sind als Performance. REST wiederum eignet sich wohl am besten für Projekte und APIs mit starkem Fokus auf Einfachheit und Leistung in einem sich laufend ändernden Umfeld.

Eine saubere Analyse, um die «richtige Frucht» für das jeweilige API auszuwählen, lohnt sich in jedem Fall. Wir unterstützen Sie gerne bei der richtigen Wahl!

Folgen Sie uns auf LinkedIn, wenn Sie zukünftig keinen Beitrag mehr verpassen wollen!

Charlotte Bachmann

Charlotte Bachmann

Senior Technical Consultant

 charlotte.bachmann@valion.ch

Share This