Services synchron oder asynchron aufrufen

Sie können Services entweder auf synchrone oder auf asynchrone Weise aufrufen.

Services können in Abhängigkeit vom Aufrufmodus in zwei Hauptkategorien klassifiziert werden:
  • Synchron aufgerufene Services (bedarfsgesteuert) – Bei diesen Services können ihre gesamten Verarbeitungsschritte ausgeführt und die Ergebnisse in einem einzelnen Aufruf zurückgegeben werden.
  • Asynchron aufgerufene Services (nachrichtengesteuert)

Synchron aufgerufene Services

Bei diesen Services können ihre gesamten Verarbeitungsschritte ausgeführt und die Ergebnisse bedarfsgesteuert in einem einzelnen Aufruf zurückgegeben werden.

Asynchron aufgerufene Services

Diese Services führen automatisch die gesamte Verarbeitung durch, wenn sie durch eine Nachricht von einem externen System oder aus der Anwendung ausgelöst werden. Der Auslöser kann in Abhängigkeit vom Integrationsmodus eine Datei, ein Datenbanksatz oder eine Nachricht in einer Nachrichtenwarteschlange sein. Von diesen Services werden keine Werte zurückgegeben und sie werden ausschließlich für die Hintergrundverarbeitung verwendet, z. B. zum Senden von E-Mails oder dem automatischen Abrufen von Aktualisierungen bzw. dem Senden von Aktualisierungen an externe Systeme.

Im Allgemeinen bieten asynchrone Services ein besseres Verhältnis zwischen Kosten und Leistung als synchrone Services und sollten daher nach Möglichkeit bevorzugt werden. Nachrichten werden von asynchronen Services jedoch in Warteschlangen eingereiht und in der Reihenfolge verarbeitet, in der sie empfangen werden. Die zum Verarbeiten einer bestimmten Transaktion erforderliche Zeit nach dem Einreihen in die Warteschlange kann in Abhängigkeit von Spitzenwerten im Verarbeitungszyklus und von einer Menge anderer Faktoren stark variieren. Daher sind sie für bestimmte Szenarien nicht geeignet, in denen für eine SLA (Service-Level-Agreement) erforderlich ist, dass eine Transaktion innerhalb eines angegebenen kurzen Zeitrahmens verarbeitet wird. Diese Szenarien treten allerdings für die meisten Geschäfte und Geschäftsprozesse selten auf. Außerdem ist die asynchrone Verarbeitung für die Mehrheit der Transaktionen bei wesentlich geringeren Kosten ausreichend effizient, wobei immer noch ein hoher Service-Level geboten wird.