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:

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.

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

Enterprise Integration

Enterprise Integration supports the execution of business processes and provides companies with cost advantages. To build integration scenarios, X-INTEGRATE uses the Baseline method.

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.

Übersicht

Atlassian Enterprise

Atlassian-Software unterstützt Teams jeder Größenordnung bei einer erfolgreichen Zusammenarbeit und das über Ländergrenzen und Zeitzonen hinweg.

Wolke zur Visualisierung der Cloud
Wissen

Lösungen für Cloud Services Integration / SaaS Integration

Denken Sie über die Nutzung von SaaS und Cloud Computing nach? Stellen Sie sich heute schon die Frage, wie Sie einfach und schnell diese neuen Lösungen (off-premise) mit den bestehenden Inhaussystemen (on-premise) verbinden?

Event 19.10.21

Enterprise Identity Roadshow

"The Future of Identity is Here" lautet der Leitsatz der ersten Enterprise Identity Roadshow am 18. November in München. Treffen Sie die IAM-Experten der TIMETOACT GROUP und tauschen Sie sich zu Innovationen und Fallstudien rund um Cybersicherheit aus.

Nov 18
Technologie 26.09.22

Atlassian Enterprise Cloud

Skalierung, Sicherheit und Governance der Enterprise-Klasse für die Atlassian Cloud.

Teaser ipg cloud v3
Lösung

Enterprise Identity Cloud

Die Saviynt Enterprise Identity Cloud (EIC) ist die einzige konvergente Cloud-Identitätsplattform, die intelligenten Zugriff und umfassende Governance bietet. Ein modernes Identitätsmanagement mit einer Zero-Trust-Grundlage.

Headerbild zum Enterprise Service Portal
Technologie

Enterprise Service Desk

Mit technischer und fachlich-methodischer Kompetenz beraten unsere ITIL Experten unsere Kunden in allen Fragen zur Gestaltung, bzw. Ablauforganisation und zur Weiterentwicklung eines modernen Service Desk.

Headerbild von Enterprise Service Management
Service

Enterprise Service Management

Unsere Enterprise Service Management Solution bietet Ihnen eine Möglichkeit das Service Management über ein einfach bedienbares Service Portal für alle Beteiligten zugänglich zu machen. Sie können in diesem Portal Ihre Prozesse nach definierten Verfahren abbilden und an weitere Systeme anbinden. Zusätzlich entlasten Sie die Prozessbeteiligten durch Automatisierung.

Process Integration & Automation
Service

Process Integration & Automation

Unternehmensprozesse digitalisieren und verbessern sowie auf Veränderungen agil reagieren – diesen Herausforderungen sehen sich immer mehr Unternehmen gegenübergestellt.

Kompetenz

Technology Adoption & Integration

IT ist die treibende Kraft hinter der digitalen Transformation.

Wüste der Integration
Wissen

Auf Kamelen durch die Wüste der Integration

Im Rahmen eines Kundenprojektes sollte die Anbindung eines RESTful Webservices an eine DB2 Datenbank realisiert werden. Open Source Integrationsframework Apache Camel lieferte die Lösung. Der Blogartikel geht ins Detail.

Was braucht man zur Cloud-Integration?
Wissen

Was braucht man zur Cloud-Integration?

Ist eine Speziallösung für die Applikationsintegration in Cloud-Situationen immer sinnvoll? Auf der heute zu Ende gegangenen IBM Konferenz “WebSphere Technical Convention 2012” in Berlin wurden diese und noch mehr Fragen gestellt. Dieser Blogeintrag berichtet Genaueres.

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.

Kompetenz

Technology Adoption & Integration

IT ist die treibende Kraft hinter der digitalen Transformation.

Headerbild zur Third Party Integration
Technologie

Third Party Integration

Das Konzept, die wichtigsten Informationen in einer zentralen Digital Workplace Plattform zusammen zu bringen (HCL and beyond), führen wir jetzt konsequent mit der ICEC Atlassian Confluence & Jira Integration fort.

Headerbild zu Tempo Customizing und Integration
Technologie

Tempo Customizing und Integration

Passen Sie Tempo für Jira Ihren Bedürfnissen an und binden Sie ihre Atlassian Zeiterfassung nahtlos in die ERP Landschaft, wie SAP oder HCL Domino, ein.

Headerbild Talend Data Integration
Technologie

Talend Data Integration

Talend Data Integration bietet eine hochskalierbare Architektur für nahezu jede Anwendung und jede Datenquelle – mit gut 900 Konnektoren von der Cloud Lösung wie Salesforce über klassische On-Premises Systeme.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!