Lernprogramm zu Unternehmensintegrationsmustern (EIP).

Enterprise Integration Patterns  (EIP) ist ein Buch von Gregor Hohpe und Bobby Woolf und beschreibt 65 Patterns für den Einsatz von Enterprise Application Integration und Message-Oriented Middleware in Form einer Pattern Language. Sie helfen uns dabei, standardisierte Wege zur Integration von Anwendungen zu nutzen, ohne dass Sie das Rad jedes Mal neu erfinden müssen, wenn Sie ein Problem haben.

Das Ziel von Enterprise-Integrationsmustern besteht darin, eine gemeinsame Sprache und eine Reihe von Workflow-Aktionen zu erstellen, um sie dann miteinander zu kombinieren, um einen ausgereiften, praktischen Geschäftsprozess zu erstellen. Es bietet einen Katalog mit 65 Mustern, die Ihnen helfen, effektive Messaging-Lösungen für Ihr Unternehmen zu entwerfen.

Das Buch unterscheidet vier Top-Level-Alternativen für die Integration:

  1. Datei Übertragung
  2. Gemeinsame Datenbank
  3. Remoteprozeduraufruf
  4. Nachrichten

Die folgenden Integrationstypen werden eingeführt:

  • Informationsportal
  • Datenreplikation
  • Gemeinsame Geschäftsfunktion
  • Serviceorientierte Architektur
  • Verteilter Geschäftsprozess
  • Business-to-Business-Integration
  • Eng gekoppelte Interaktion vs. lose gekoppelte Interaktion

Zeichnen Sie ein Musterdiagramm für die Unternehmensintegration mit dem kostenlosen Online-Tool

Das kostenlose Enterprise Integration Patterns-Tool  (EIP-Diagramm-Tool) von Visual Paradigm  verfügt über eine Reihe von Bearbeitungsfunktionen, die das Erstellen von Diagrammen einfacher und schneller machen, wie z. Das EIP-Diagramm-Tool enthält auch eine Reihe von EIP-Symbolen und -Formen, mit denen Sie verschiedene Arten von EIP-Diagrammen erstellen können.

Sie können Ihre Muster ganz einfach entwickeln und sie dann über Formate wie PNG, JPG, GIF, SVG und PDF ausgeben und teilen.

Lernen Sie EIP mit Beispielen und Vorlagen

Sie können mit einem leeren Diagramm oder einer EIP-Vorlage beginnen. Im Folgenden sind einige der Vorlagen aufgeführt. Klicken Sie auf die Schaltfläche Bearbeiten, um sofort mit der Bearbeitung zu beginnen. Es ist kostenlos und es ist keine Registrierung erforderlich.

Beispiel für Enterprise-Integrationsmuster: Smart Proxy

Sofort online bearbeiten

Beispiel für Enterprise-Integrationsmuster: MSMQ für zusammengesetztes Messaging

Bearbeiten Sie das obige Beispiel online

Möchten Sie einige andere Unternehmensintegrationsmuster übernehmen?

EIP Online Editing Repository  von  Visual Paradigm

Implementierungsrahmen für EIPs

Apache Camel  unterstützt die meisten  Enterprise Integration Patterns  aus dem hervorragenden Buch von Gregor Hohpe und Bobby Woolf. Basierend auf Enterprise Integration Patterns (EIP), um Sie bei der Lösung Ihres Integrationsproblems zu unterstützen, indem Sie Best Practices sofort anwenden. Camel unterstützt die meisten Enterprise Integration Patterns aus dem hervorragenden Buch von Gregor Hohpe und Bobby Woolf sowie neuere Integrationsmuster von  Microservice-Architekturen .

Wenn Sie neu bei Camel sind, sollten Sie vielleicht die Erste Schritte  im Benutzerhandbuch ausprobieren,  bevor Sie versuchen, diese Muster zu implementieren.

NACHRICHTENSYSTEME

Nachrichtenkanal

Wie kommuniziert eine Anwendung mithilfe von Messaging mit einer anderen?

Nachricht

Wie können zwei durch einen Nachrichtenkanal verbundene Anwendungen eine Information austauschen?

Rohre und Filter

Wie können wir eine komplexe Verarbeitung einer Nachricht durchführen und gleichzeitig Unabhängigkeit und Flexibilität bewahren?

Nachrichtenrouter

Wie können Sie einzelne Verarbeitungsschritte entkoppeln, sodass Nachrichten abhängig von bestimmten Bedingungen an unterschiedliche Filter weitergeleitet werden können?

Nachrichtenübersetzer

Wie können Systeme mit unterschiedlichen Datenformaten per Messaging miteinander kommunizieren?

Nachrichtenendpunkt

Wie stellt eine Anwendung eine Verbindung zu einem Nachrichtenkanal her, um Nachrichten zu senden und zu empfangen?

NACHRICHTENKANÄLE

Punkt-zu-Punkt-Kanal

Wie kann der Anrufer sicher sein, dass genau ein Empfänger das Dokument erhält bzw. den Anruf durchführt?

Veröffentlichen Sie den abonnierten Kanal

Wie kann der Sender ein Ereignis an alle interessierten Empfänger übertragen?

Kanal für tote Buchstaben

Was macht das Messaging-System mit einer Nachricht, die es nicht zustellen kann?

Garantierte Lieferung

Wie kann der Absender sicherstellen, dass eine Nachricht zugestellt wird, selbst wenn das Messaging-System ausfällt?

Kanaladapter

Wie können Sie eine Anwendung mit dem Nachrichtensystem verbinden, damit sie Nachrichten senden und empfangen kann?

Messaging-Brücke

Wie können mehrere Messaging-Systeme verbunden werden, sodass Nachrichten, die auf einem verfügbar sind, auch auf den anderen verfügbar sind?

Nachrichtenbus

Was ist eine Architektur, die es getrennten Anwendungen ermöglicht, zusammenzuarbeiten, aber in einer entkoppelten Weise, sodass Anwendungen einfach hinzugefügt oder entfernt werden können, ohne die anderen zu beeinträchtigen?

Datenerfassung ändern

Datensynchronisierung durch Erfassen von Änderungen, die an einer Datenbank vorgenommen wurden, und Anwenden dieser Änderungen auf ein anderes System.

KONSTRUKTION VON NACHRICHTEN

Ereignismeldung

Wie kann Messaging verwendet werden, um Ereignisse von einer Anwendung zu einer anderen zu übertragen?

Antwort anfordern

Wenn eine Anwendung eine Nachricht sendet, wie kann sie eine Antwort vom Empfänger erhalten?

Absender

Woher weiß ein Antwortender, wohin er die Antwort senden soll?

Korrelationskennung

Woher weiß ein Anfragender, der eine Antwort erhalten hat, für welche Anfrage dies die Antwort ist?

Nachrichtenablauf

Wie kann ein Absender angeben, wann eine Nachricht als veraltet betrachtet und daher nicht verarbeitet werden sollte?

NACHRICHTEN-ROUTING

Inhaltsbasierter Router

Wie gehen wir mit einer Situation um, in der die Implementierung einer einzelnen logischen Funktion (z. B. Bestandsprüfung) auf mehrere physische Systeme verteilt ist?

Nachrichtenfilter

Wie kann eine Komponente vermeiden, uninteressante Nachrichten zu erhalten?

Dynamischer Router

Wie können Sie die Abhängigkeit des Routers von allen möglichen Zielen vermeiden und gleichzeitig seine Effizienz beibehalten?

Empfängerliste

Wie leiten wir eine Nachricht an eine Liste von (statisch oder dynamisch) angegebenen Empfängern weiter?

Splitter

Wie können wir eine Nachricht verarbeiten, wenn sie mehrere Elemente enthält, von denen jedes auf andere Weise verarbeitet werden muss?

Aggregator

Wie führen wir die Ergebnisse einzelner, aber zusammengehöriger Meldungen zusammen, damit sie als Ganzes verarbeitet werden können?

Resequenzierer

Wie können wir einen Strom verwandter, aber falscher Nachrichten wieder in die richtige Reihenfolge bringen?

Prozessor für zusammengesetzte Nachrichten

Wie können Sie den gesamten Nachrichtenfluss aufrechterhalten, wenn Sie eine Nachricht verarbeiten, die aus mehreren Elementen besteht, von denen jedes eine andere Verarbeitung erfordern kann?

Scatter-Gather

Wie halten Sie den gesamten Nachrichtenfluss aufrecht, wenn eine Nachricht an mehrere Empfänger gesendet werden muss, von denen jeder eine Antwort senden kann?

Laufzettel

Wie leiten wir eine Nachricht nacheinander durch eine Reihe von Verarbeitungsschritten, wenn die Abfolge der Schritte zur Entwurfszeit nicht bekannt ist und für jede Nachricht variieren kann?

Prozessmanager

Wie leiten wir eine Nachricht durch mehrere Verarbeitungsschritte, wenn die erforderlichen Schritte zur Entwurfszeit möglicherweise nicht bekannt und möglicherweise nicht sequenziell sind?

Nachrichtenbroker

Wie können Sie das Ziel einer Nachricht vom Absender entkoppeln und den Nachrichtenfluss zentral steuern?

Drossel

Wie kann ich Nachrichten drosseln, um sicherzustellen, dass ein bestimmter Endpunkt nicht überlastet wird oder wir eine vereinbarte SLA mit einem externen Dienst nicht überschreiten?

Probenahme

Wie kann ich eine Nachricht von vielen in einem bestimmten Zeitraum abtasten, um zu vermeiden, dass die Downstream-Route nicht überlastet wird?

Verzögerer

Wie kann ich das Senden einer Nachricht verzögern?

Lastenausgleicher

Wie kann ich die Last auf mehrere Endpunkte verteilen?

Leistungsschalter

Wie kann ich aufhören, einen externen Dienst anzurufen, wenn der Dienst unterbrochen ist?

Serviceruf

Wie kann ich einen entfernten Dienst in einem verteilten System aufrufen, in dem der Dienst in irgendeiner Art von Dienstregistrierung nachgeschlagen wird?

Saga

Wie kann ich eine Reihe verwandter Aktionen in einer Kamelroute definieren, die entweder erfolgreich abgeschlossen (alle) oder nicht ausgeführt/kompensiert werden sollen?

Multicast

Wie kann ich eine Nachricht gleichzeitig an mehrere Endpunkte weiterleiten?

Schleife

Wie kann ich die Verarbeitung einer Nachricht in einer Schleife wiederholen?

NACHRICHTENTRANSFORMATION

Inhaltsanreicherer

Wie kommunizieren wir mit einem anderen System, wenn der Absender der Nachricht nicht alle erforderlichen Datenelemente zur Verfügung hat?

Inhaltsfilter

Wie vereinfachen Sie den Umgang mit einer großen Nachricht, wenn Sie nur an wenigen Datenpunkten interessiert sind?

Anspruchsprüfung

Wie können wir das Datenvolumen der über das System gesendeten Nachrichten reduzieren, ohne den Informationsgehalt zu opfern?

Normalisierer

Wie verarbeitet man Nachrichten, die semantisch äquivalent sind, aber in einem anderen Format ankommen?

Sortieren

Wie kann ich den Nachrichtentext sortieren?

Skript

Wie führe ich ein Skript aus, das die Nachricht möglicherweise nicht ändert?

Bestätigen

Wie kann ich eine Nachricht validieren?

MESSAGING-ENDPUNKTE

Messaging-Mapper

Wie verschieben Sie Daten zwischen Domänenobjekten und der Messaging-Infrastruktur, während Sie die beiden voneinander unabhängig halten?

Ereignisgesteuerter Verbraucher

Wie kann eine Anwendung automatisch Nachrichten verarbeiten, sobald sie verfügbar sind?

Umfrage Verbraucher

Wie kann eine Anwendung eine Nachricht verarbeiten, wenn die Anwendung bereit ist?

Konkurrierende Verbraucher

Wie kann ein Messaging-Client mehrere Nachrichten gleichzeitig verarbeiten?

Message-Dispatcher

Wie können mehrere Verbraucher auf einem einzigen Kanal ihre Nachrichtenverarbeitung koordinieren?

Selektiver Verbraucher

Wie kann ein Nachrichtenkonsument auswählen, welche Nachrichten er erhalten möchte?

Dauerhafter Abonnent

Wie kann ein Abonnent vermeiden, Nachrichten zu verpassen, während er sie nicht abhört?

Idempotenter Konsument

Wie kann ein Nachrichtenempfänger mit doppelten Nachrichten umgehen?

Transaktionskunde

Wie kann ein Kunde seine Transaktionen mit dem Messaging-System kontrollieren?

Messaging-Gateway

Wie kapseln Sie den Zugriff auf das Messaging-System vom Rest der Anwendung?

Service-Aktivator

Wie kann eine Anwendung einen Dienst entwerfen, der sowohl über verschiedene Messaging-Technologien als auch über Nicht-Messaging-Techniken aufgerufen werden kann?

SYSTEMMANAGEMENT

SteuerBus

Wie können wir ein Messaging-System effektiv verwalten, das über mehrere Plattformen und ein weites geografisches Gebiet verteilt ist?

Umleitung

Wie können Sie eine Nachricht durch Zwischenschritte leiten, um Validierungs-, Test- oder Debugging-Funktionen auszuführen?

Drahtabgriff

Wie prüfen Sie Nachrichten, die auf einem Punkt-zu-Punkt-Kanal übertragen werden?

Nachrichtenverlauf

Wie können wir den Nachrichtenfluss in einem lose gekoppelten System effektiv analysieren und debuggen?

Protokoll

Wie kann ich die Verarbeitung einer Nachricht protokollieren?

Schritt

Steps gruppiert eine Reihe von EIPs zu einer zusammengesetzten logischen Einheit für Metriken und Überwachung.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.