Literaturtipp: Enterprise Integration Patterns

Enterprise Integration Patterns:

Literaturtipp

Dieses Buch ist besonders herauszuheben, denn “Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions” von Gregor Hohpe und Bobby Woolf ist die Referenz zu Mustern im Bereich Integration und Enterprise Service Bus. Ausgewählte Inhalte des Buchs Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Integration Styles & Messaging Systems

Im Kapitel Integration Styles werden die üblichen Möglichkeiten vorgestellt: File Transfer, Shared Database, Remote Procedure Invocation, Messaging. Das Kapitel Messaging Systems stellt nach einer Einführung verschiedene Kernbegriffe aus dem Bereich Messaging detaillierter vor und erklärt praxisorientiert wie die einzelnen Anforderungen umgesetzt werden können.

  • Message Channel – Wie kommuniziert eine Applikation mit einer anderen mittels Messaging?
  • Message – Wie können zwei Applikationen über einen Message Channel eine Information austauschen?
  • Pipes and Filters – Wie können Unabhängigkeit und Flexibilität gewährleistet werden bei komplexen Nachrichtenverarbeitungen?
  • Message Router – Wie können eigenständige Bearbeitungsschritte entkoppelt werden, so dass Nachrichten nach unterschiedlichen Klauseln in verschiedene Filter überführt werden können.
  • Message Translator – Wie können Systeme mit unterschiedlichen Datenformaten mittels Messaging kommunizieren?
  • Message Endpoint – Wie sollten Applikationen an einen Message Channel angebunden werden.
Messaging Channels

Im Folgenden werden die Aspekte der Messaging Channels im Detail betrachtet.

  • Point-to-Point Channel – Wie kann ein Sender sicher stellen, dass genau ein Empfänger durch eine Nachricht eine Aktion auslöst?
  • Publish-Subscribe Channel – Wie kann ein Sender eine Nachricht an alle interessierten Empfänger verteilen?
  • Datatype Channel – Wie legt eine Sender-Applikation fest, dass der Empfänger eine Nachricht korrekt verarbeiten kann?
  • Invalid Message Channel – Wie kann eine nicht sinnvolle Nachricht vom Empfänger sanft beantwortet werden?
  • Dead Letter Channel – Wie behandelt ein Messaging System Nachrichten welche nicht zustellbar sind?
  • Guaranteed Delivery – Wie kann eine Applikation sicherstellen, dass eine Nachricht auch beim Ausfall des Messaging System ausgeliefert wird.
  • Channel Adapter – Wie wird eine beliebige Applikation an ein Messaging System zum Nachrichtenaustausch angebunden?
  • Messaging Bridge – Wie können unterschiedliche Nachrichtensysteme verbunden werden, so dass Nachrichten über die Systemgrenzen fließen können?
  • Message Bus – Wie können ohne die Gefahr von Seiteneffekten unterschiedliche Applikationen so kooperieren, dass die Architektur durch eine lose Kopplung beliebige Zu- und Abgänge von Applikationen in der Umgebung ermöglicht.
Message Construction

Im Kapitel Message Construction werden unterschiedliche Möglichkeiten betrachtet, wie über einen Nachrichtenaustausch konkrete Interoperationen realisiert werden können.

  • Command Message – Wie wird über einen Nachrichtenaustausch in einem entfernten System eine Prozedur aufgerufen?
  • Document Message – Wie werden Daten über einen Nachrichtenaustausch zwischen entfernten Systemen ausgetauscht?
  • Event Message – Wie wird über einen Nachrichtenaustausch in einem entfernten System ein Event ausgelöst?
  • Request-Reply – Wie kann nach einem Nachrichtenaustausch der Sender eine Antwort von einem Empfänger erhalten?
  • Return Address – Wie kann nach einem Nachrichtenaustausch der Empfänger eine Antwort an den Sender übermitteln?
    Correlation Identifier – Wie kann nach einem asynchronen Nachrichtenaustausch der Sender eine Antwort eines Empfängers einer seiner Anfragen zuordnen?
  • Message Sequence – Wie können beliebig große Datenmengen mittels Messaging verarbeitet werden?
  • Message Expiration – Wie wird einer Nachricht ein Verfallsdatum mitgegeben?
  • Format Indicator – Wie kann das Format einer Nachricht für zukünftige Änderungen gestaltet werden?
Simple Messaging Examples & Message Routing

Nach einem Exkurs zu einfachen JMS und .NET Beispielen im Abschnitt Simple Messaging Examples wird im Kapitel Message Routing einer der beiden wesentlichsten Aspekte eines Nachrichtensystem beschrieben – das Routing!

  • Content-Based Router – Wie kann ein fachlicher Dienst, dessen IT Repräsentation über verschiedene Anwendungssysteme verteilt ist, in einem Messaging System abgebildet werden?
  • Message Filter – Wie kann ein Teilnehmer am Nachrichtensystem sich vor unerheblichen Nachrichten schützen?
  • Dynamic Router – Wie kann das Routing effizient gestaltet werden, bei Vermeidung von Abhängigkeiten hinsichtlich aller möglichen Empfänger?
  • Recipient List – Wie wird eine Nachricht einer dynamischen Menge von Empfängern zugestellt?
  • Splitter – Wie kann eine Nachricht verarbeitet werden, in der Teile jeweils unterschiedlich behandelt werden müssen?
  • Aggregator – Wie lassen sich Ergebnisse als eine kombinierte Nachricht weiterverarbeiten, die zwar aus unterschiedlichen jedoch zusammenhängenden Bereichen stammen?
  • Resequencer – Wie werden in Beziehung stehende Nachrichten in die richtige Reihenfolge gebracht, wenn sie nicht in dieser eintreffen?
  • Composed Message Processor – Wie kann der gesamte Message Flow aufrecht gehalten werden, falls die Bestandteile der Nachricht jeweils unterschiedlich behandelt werden müssen und asynchron in Unterprozessen zu verarbeiteten sind?
  • Scatter-Gather – Wie kann der gesamte Message Flow aufrecht gehalten werden, falls eine Nachricht unterschiedlichen Empfängern zugestellt werden muss und diese sie jeweils spezifisch beantworten?
  • Routing Slip – Wie ist eine Nachricht fortlaufend durch verschiedene Schritte in einem Fluss zu steuern, wenn die Reihenfolge zur Design Zeit nicht bekannt ist und jeweils unterschiedlich je Nachricht sein kann?
  • Process Manager – Wie ist eine Nachricht durch verschiedene Schritte in einem Fluss zu steuern, wenn die benötigten (und nicht zwingend sequentiellen) Schritte zur Design Zeit nicht bekannt sind?
  • Message Broker – Wie kann die gesamte Steuerung der Nachrichtenflüsse aufrecht gehalten werden, wobei der Sender und das Ziel einer Nachricht zu entkoppeln sind?
Message Transformation

Im Anschluss wird auf den zweiten wichtigen Aspekt im Messaging eingegangen – die Message Transformation!

  • Envelope Wrapper – Wie können Bestandsysteme in einen vorhandenen Nachrichtenfluss eingebunden werden, der bereits spezielle Anforderungen an die Nachrichtenformate stellt – wie z.B. Header oder Verschlüsselung?
  • Content Enricher – Wie wird mit einer Applikation kommuniziert, welche mehr Attributdaten benötigt als primär in einer Nachricht vorhanden?
  • Content Filter – Wie kann eine sehr große Nachricht vereinfacht verarbeitet werden, wenn nur wenige Anteile der Nachricht interessieren?
  • Claim Check – Wie kann ohne Verlust der Informationsinhalte einer Nachricht diese im Volumen reduziert werden?
  • Normalizer – Wie werden semantisch analoge Nachrichten verarbeitet, die in unterschiedlichen Formaten transferiert werden?
  • Canonical Data Model – Wie können Abhängigkeiten bei der Applikationsintegration minimiert werden, wenn von den Anwendungen unterschiedliche Datenformate verwendet werden.
Messaging Endpoints

Nachdem nun auf diese beiden Aspekte Routing und Transformation eingegangen wurde, kann im Anschluss der natürlich ebenfalls wichtigen Punkt Messaging Endpoints behandelt werden.

  • Messaging Gateway – Wie wird der Zugriff aus das Messaging System von den übrigen Teilen der Applikation gekapselt.
  • Messaging Mapper – Wie können Daten zwischen unterschiedlichen Domänen und dem Messaging System ausgetauscht werden, wobei diese voneinander unabhängig bleiben.
  • Transactional Client – Wie steuert ein Client seine Transaktionen mit dem Messaging System?
  • Polling Consumer – Wie kann eine Applikation den Nachrichtenabruf eigenständig steuern, ohne dies direkt an die Nachrichtenverfügbarkeit zu koppeln?
  • Event-Driven Consumer – Wie kann eine Applikation den Nachrichtenabruf automatisiert nach Verfügbarkeit der Nachrichten steuern?
  • Competing Consumers – Wie steuert ein Client die zeitgleiche Verarbeitung von mehreren Nachrichten?
  • Message Dispatcher – Wie steuern mehrere Teilnehmer an einem Channel deren Transaktionen?
  • Selective Consumer – Wie kann ein Client (Message Consumer) auswählen welche Nachrichten er erhalten möchte?
  • Durable Subscriber – Wie kann ein Subscriber in einem Publish-Subribe-Channel den Verlust von Nachrichten verhindern, wenn er inaktiv ist?
  • Idempotent Receiver – Auch wenn eine Applikation eine Nachricht nur einmal sendet, kann diese vom Empfänger mehrfach empfangen werden – wie kann oder besser sollte dieser mit diesen doppelten Nachrichten umgehen?
  • Service Activator – Wie kann ein Serviceaufruf entworfen werden, der sowohl mittels verschiedenen Messaging Techniken wie auch ohne message-orientierte Middleware verwendbar ist.
System Management im Bereich MOM

Als Abschluss werden wichtige Ansätze für das System Management im Bereich einer message-orientierten Middleware beschrieben.

  • Control Bus – Wie kann ein räumlich und physisch verteiltest Messaging System effektiv verwaltet werden?
  • Detour – Wie kann zur Validierung, zum Testen und Debugging eine Nachricht in Zwischenschritten „geroutet“ werden?
  • Wire Tap – Wie können Nachrichten auf in einem Point-to-Point Channel untersucht werden?
  • Message History – Wie können in einem lose gekoppelten System für Message Flows durchgreifend Analyse und Debuging vorgenommen werden?
  • Message Store – Wie kann unter Berücksichtigung der losen Kopplung und der Flüchtigkeit der Nachrichten trotzdem ein Reporting auf diese Kommunikationsinformationen erfolgen?
  • Smart Proxy – Wie können Nachrichten verfolgt werden, wenn Ihre erzeugenden Servicekomponenten nicht mit einem festen Channel verknüpft sind, sondern diese dynamisch je Caller auswählen?
  • Test Message – Wie können Flows welche Nachrichten korrekt verarbeiten dahingehend getestet werden, dass sie Nachrichten nicht aufgrund eines internen Fehlers verlieren?
  • Channel Purger – Wie können von Tests oder Ähnlichem übrig gebliebene Nachrichten auf einem Channel gelöscht werden, ohne echte Bestandsnachrichten zu verlieren?

Interesse geschöpft? Das Buch “Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions” können Sie hier bestellen:

:Literaturtipp Patterns of Enterprise Application Architecture
Trendthemen 03.09.20

Patterns of Enterprise Application Architecture

Das Buch vermittelt dem Leser die grundlegenden Kenntnisse, die ein erfolgreicher Software-Architekt benötigt. Anhand einer Reihe von praxisnahen Beispielen wird gezeigt, wie sich große Systeme in Komponenten zerlegen lassen und welche Beziehungen es zwischen diesen gibt.

Puzzle zur Visualisierung von Enterprise Application Integration (EAI)
Kompetenz 31.08.20

Enterprise Integration

Enterprise Integration unterstützt die Geschäftsprozessabwicklung und verschafft Unternehmen Kostenvorteile. Zum Aufbau von Integrationsszenarien verwendet X-INTEGRATE die Methode Baseline.

Literaturtipp: Service-Oriented Architecture Compass
Trendthemen 03.09.20

Literaturtipp: Service-Oriented Architecture Compass

Das Buch dokumentiert Best Practices und motiviert den geschäftlichen Nutzen von SOA. Bewährte Technologien und die Beziehung zur Fachseite (neudeutsch: Business Alignment) werden besprochen.

Unsere Literaturtipps – Für Sie gelesen
Trendthemen 03.09.20

Unsere Literaturtipps – Für Sie gelesen

Auch unsere Arbeit wurde von einigen Forschern, Freidenkern und insbesondere Praktikern beeinflusst. Einige von diesen haben in interessanten Bücher Ihre Erfahrungen und Sichtweisen festgehalten. Hier möchten wir Ihnen ausgewählte Literatur zu unserem Arbeitsgebiet vorstellen.

EAI Integrationsmodelle
Technologie 31.08.20

EAI Integrationsmodelle

Es gibt im Wesentlichen drei Integrationsmodelle oder EAI Ansätze: Data Level Integration, Message Level Integration und Process Level Integration. Erfahren Sie mehr zu Vor- und Nachteilen!

Apache Lösungen
Technologie

Apache Lösungen

Lesen Sie alles zu ausgewählten Apache Messaging- und Connectivity- Produkten, die bei uns zum Einsatz kommen.

Services für Apache Camel
Technologie

Services für Apache Camel

Opensource Framework um Integrationslösungen nach den Enterprise Integration Patterns umzusetzen. Zur Umsetzung wird der FUSE Mediation Router eingesetzt – eine ausgeführlich getestete Version von Apache Camel.

Technologien der Enterprise Integration
Kompetenz 03.09.20

Technologien der Enterprise Integration

Um die digitale Revolution zu meistern, ist nicht nur die Wahl der richtigen Technologie wichtig: Auch eine methodische Vorgehensweise trägt maßgeblich dazu bei, dass ein qualitativ hochwertiges Design entstehen kann.

IBM WebSphere MQ
Technologie

IBM WebSphere MQ

Ermöglicht seit mehr als 15 Jahren (vormals MQ Series) die Anwendungsintegration durch Unterstützung von Geschäftsanwendungen beim Austausch von Informationen über unterschiedliche Plattformen sowie beim Senden und Empfangen von Daten in Form von Nachrichten (Messages).

Broker Architektur
Technologie 31.08.20

Broker Architektur

Mit einem Message Broker transformieren Sie Nachrichtenformate in ein oder mehrere Formate, priorisieren die Nachrichtenübermittlung, verbinden heterogene Systemen & vieles mehr.

ESB Lösungen
Technologie

Sonstige ESB Lösungen

Lernen Sie zu den ESB-Lösungen, die bei uns zum Einsatz kommen!

Enterprise Service Bus (ESB)
Technologie 31.08.20

Enterprise Service Bus (ESB)

Die zentrale Funktion eines Enterprise Service Bus ist der Austausch von Daten zwischen IT Systemen oder deren Komponenten. Lernen Sie mehr zu Funktionen, zentralen Diensten und Strukturvarianten des ESB!

Integration von Geschäftsprozessen mittels Open Source
Wissen

Integration von Geschäftsprozessen mit Open Source

Welche Potentiale haben Open Source Ansätze in einer SOA Implementierung – speziell die der Open Source ESBs (Enterprise Service Bus)?

Internet of Things Integration-Check
Kompetenz 07.09.20

Internet of Things Integration-Check

Internet of Things ist sehr viel mehr als nur ein trendiges Schlagwort: Wird die Integration richtig umgesetzt, kann IoT deutliche Mehrwerte liefern. Machen Sie unseren kostenfreien Internet of Things Integration-Check!

Wissen

E-Mobilität-Business lebt von der Datenqualität

Das E-Auto laden und weiterfahren? X-INTEGRATE hat dafür eine Technologieplattform entwickelt, über die sie zugleich ei-ne hohe Datenqualität sicherstellt.

Toyota Logo
Referenz

Schnittstellenintegration von SAP und WebSphere MQ

X-INTEGRATE transformiert die Informationsarchitektur von Toyota Informations-Systeme mit SAP und WebSphere MQ.

Services für WebSphere MQ
Technologie

WebSphere MQ

WebSphere MQ ermöglicht seit nun über 20 Jahren (vormals als MQ Series) die Anwendungsintegration von Geschäftsanwendungen durch den Austausch von Informationen über unterschiedliche Plattformen sowie beim Senden und Empfangen von Daten in Form von Nachrichten (Messages).

Services für IBM App Connect Enterprise
Technologie

IBM App Connect Enterprise

IBM App Connect Enterprise ist ein Enterprise Service Bus, der universelle Konnektivität und Transformationen für heterogene IT-Umgebungen mit und ohne serviceorientierte Architekturen bietet. Für IBM App Connect Enterprise bieten wir für sämtliche Projektphasen professionelle Unterstützung an.

Services für IBM Integration Designer
Technologie

IBM Integration Designer

Erstellung wertschöpfender Geschäftsprozesse aus standardisierten Servicekomponenten. Verbessern Sie die Agilität Ihres Unternehmens mit Lösungsaufbau, Geschäftsregeln, Business-State Machines und Selektoren, sowie Funktionen für Ereignisse und Eskalierungen.

Wissen

Die Zukunft vorhersagen mit Predictive Analytics

Für Unternehmen gilt es heute mehr denn je, nicht nur in der Gegenwart gut aufgestellt zu sein, sondern auch einen Blick in die Zukunft zu wagen. Industrie 4.0 und Predictive Analytics ermöglichen es interne Prozesse besser nachzuverfolgen.