/ / Welches ist die beste Leistung, die den Wrapper ganz oben auf den SOAP-Service setzt oder einen neuen REST-Full-Service erstellt? - Java, Ruhe, Springstiefel

Welches ist die beste / beste Leistung, um Wrapper-Spitze des SOAP-Service zu setzen oder einen neuen REST-Full-Service zu erstellen? - Java, Ruhe, Spring-Boot

Alle Dienste laufen in SOAP. Im Moment fordern sie unsere Kunden auf, einen REST-Service bereitzustellen.

Ich habe zwei Möglichkeiten

  1. Schreiben Sie einen Wrapper für vorhandene SOAP-Services, um REST-Full-Services bereitzustellen
  2. Brandneuer REST-Full-Service.

Was ist besser (in Bezug auf die Leistung)?

Antworten:

0 für die Antwort № 1

Ein einzelner Dienst hat normalerweise eine bessere Leistung als ein Dienst und ein Proxy (Wrapper).

Es gibt jedoch SOAP- und REST-Dienste (mit JSON)Bei ungefähr gleicher Leistung werden Sie feststellen, dass beim Parsen / Serialisieren von XML und JSON in Objektrepräsentationen (mit Jackson oder JAXB) die Objekterstellung der anspruchsvollste Teil ist, nicht das Lesen eines JSON- oder XML-Formats liegt wahrscheinlich unter 5 Prozent - ein einzelner Kern kann in der Regel eine Kapazität von 50 mb / s bei der Analyse / Serialisierung von Kapazität erreichen.

Das oben Gesagte impliziert auch, dass, wenn Sie bereits ein sehr optimiertes SOAP-Backend haben, die Verwendung des Proxy wahrscheinlich die richtige Wahl ist.

Beim Wechsel von SOAP zu REST sollten Sie ein Werkzeug verwendenwie swagger (OpenAPI), um den Dienst so detailliert zu definieren wie der SOAP-Dienst. Beachten Sie, dass REST-Dienste auch XML verwenden können. Dies ist jedoch wahrscheinlich nicht das, was Ihr Client erwartet.


-1 für die Antwort № 2

Das Schreiben eines neuen Rest-Webdienstes wäre definitiv die bessere Wahl, weil

  1. Rest ist aufgrund von Statesesness (aufgrund des HTTP-Protokolls) ein geringes Gewicht. Es wird kein Status beibehalten. Halten Sie daher Ihre Ressourcen frei.
  2. Sie benötigen kein Schema, da Sie einen Webservice für Seife benötigen. Daher ist auch keine Serialisierung und Deserialisierung erforderlich
  3. Einen Rastdienst zu testen, fällt Ihnen leicht.
  4. Sogar Ruhe wird unterstützt, um eine App auf der Grundlage der von Ihnen entwickelten REST-API zu entwickeln, wenn Sie dies in Zukunft benötigen.
  5. Rest unterstützt mehrere Datenübernahmeformate für ex: json, Text usw.
  6. Rest kann einfach in High-End-Frameworks wie Spring usw. integriert werden.
  7. Sie können über Swagger for Rest eine bessere Dokumentation für Ihren Dienst verwenden, um das Wissen über Ihren Dienst für das Geschäftsverständnis zu behalten.