Integration Engineering

Vorlesung an der HS-Furtwangen

Vorlesung an der HS-Furtwangen

Florian Kalisch

Florian Kalisch

Kartei Details

Karten 53
Sprache Deutsch
Stufe Universität
Erstellt / Aktualisiert 02.07.2011 / 06.02.2012
Weblink
https://card2brain.ch/box/integration_engineering
Einbinden
<iframe src="https://card2brain.ch/box/integration_engineering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Welche speziellen Message Translators gibt es?

- Envelope Wrapper

- Content Enricher

- Content Filter

- Normalizer

- Claim Check

- Canonical Data Model

Message Router Varianten

- Fixed Routers (Decoupling)

- Content-based Routers

- Context-based Routers (load-balancing, test, failover, ..)

- Stateless vs. Stateful Router

- Control Bus propagiert Wert einer globalen Variablen.

- Dynamic Router erhält Control Messages von den potenziellen Empfängern.

Welche Ebenen der Entkopplung gibt es Messaging Systemen?

- Message Channels entkoppeln Applikationen von dem Wissen der jeweiligen Lokationen.

- Message Router entkoppeln Applikationen von einem Message Channel.

- Message Translators beseitigen die Abhängigkeiten vom jeweiligen Datenformat.

Welche Layer gibt es in Messaging Systemen? (M06S10)

- Data Structures

- Data Types

- Data Representation

- Transport

Ist ein Message Endpoint Channel-spezifisch?

Kapselt der Message Endpoint das Messaging System vom Rest der Applikation?

Kann ein point-to-point Channel mehrere Receiver haben, die parallel Nachrichten konsumieren?

Eine Anwendung benutzt Messaging, um Events bekanntzumachen. Wie kann der Sender ein Event an die Empfänger übertragen?

Dies kann über einen speziellen Messaging Channel, den Publish-Subscribe-Channel, erreicht werden.

Wie kann eine Anwendung mit Messaging verschiedene Typen von Dokumenten an Empfänger Schicken, so dass die Empfänger wissen, wie es verarbeitet wird?

Dies kann über den Datatype Channel erreicht werden.

Welche Messaging Channel gibt es? Vielleicht ist die Auflistung unvollständig.

- Point-To-Point Channel

- Publish-Subscribe Channel

- Datatype Channel

- Invalid Message Channel

- Dead Letter Channel

Was ist ein "Selective Consumer" in Bezug auf Datatype Channel? (Ist vielleicht noch nicht vollständig)

Da pro Datentyp ein Datatype Channel eingerichtet wird und Channels aus Ressourcen-Sicht nicht umsonst sind, besteht die Möglichkeit, wenn es zu viele Datentypen gibt, diese über einen Channel (Selective Channel) zu handeln.

Gehören semantisch nicht korrekte Messages in den Invalid Message Channel (IMC)?

Was ist eine Invalid Message?

- Body: parsing/lexical/validation errors, falscher Datentyp bei Datatype Channel

- Header: fehlende oder unsinnige property-Werte

- Gute Nachricht auf falschem Channel

- Senden von falschen Nachrichten durch bösartigen Sender

Nenne alle Simple Router (6 Stück).

Content Based Router

Message Filter

Dynamic Router

Recepient List

Splitter/Aggregator

Resequencer

Gründe, warum Message nicht geliefert werden kann:

- Channel nicht richtig konfiguriert oder gelöscht

- Message Header nicht in Ordnung

- Message abgelaufen, bevor sie geliefert wurde

Was passiert mit Messages, welche nicht ausgeliefert werden können?

Diese sollten in den Dead Letter Channel (DLC) gestellt werden.

Was versteht man unter "Store-and-Foreward" (bei Guaranteed Delivery)?

Darunter wird das Puffern von Messages durch das Messaging System verstanden. Das Storing kann im Hauptspeicher oder aber persistent in einer DB bzw. Datei stattfinden.

Wird unter Guaranteed Delivery 100 %ige Sicherheit verstanden?

Welche Channel Adapter gibt es (Folie M3S45)?

- User Interface Adapter

- Business Logik Adapter

- Datenbank Adapter

Welche Eigenschaften hat der User Interface Adapter(M3S46)?

- Synonym ist das "screen scraping"

- UI ist meist von entfernten Rechnern verfügbar

- 3270 Terminal, HTML

- Performance häufig problematisch

- UIs ändern sich häufiger als Business Logik

Welche Eigenschaften hat der Business Logik Adapter(M3S47)?

- Business Applikationen bieten meist API Zugriff (EJB, RMI, CORBA, ...)

- Sind stabiler als UI

- Performanter als "Screen Scraping"

- Bester Adapter-Ansatz

Welche Eigenschaften hat der Datenbank Adapter(M3S48)?

- Die meisten Business Applikationen verwenden Datenbanken

- Adapterzugriff auf DB, ohne Applikation anpassen zu müssen

- Change Trigger auf Tabellen möglich

- Effizient und universell

- DB Schemata sind Interna der App., kein offizielles API, Nicht verfügbar bei 3rd Party Apps, Schreinzugriff problematisch

Nennen Sie die 3 Varianten des Message Routing. (M05S05)

- Simple Routers

- Composed Routers

- Architectual Patterns

Welche Fragen (Probleme) ergeben sich beim Aggregator? (M05S42)

Correlation - Welche Nachrichten gehören zusammen?

Completeness Conditio - Wann kann die aggregierte Message published werden?

Aggregation Algorithm - Wie werden die einzelnen Message zu einer kombiniert?

Gründe für mehrere Message Oriented Middleware Systeme in der Praxis (M3S52)?

- Merger und/oder Akquisition von Firmen

- Unterschiedliche MOMs für Host und non-Host

- B2B

Wieso löst JMS das Problem der Kommunikation zwischen mehreren MOMs nicht (M3S53)?

- JMS vereinheitlicht aus Client Sicht.

- JMS zwingt die Messaging Systeme nicht, zusammenzuarbeiten.

- Es wird ein Weg benötigt, wie Nachrichten von einem Messaging System in ein anderes wandern können.

Wozu ist eine Message Transformation mit einem Message Translator notwendig? (M06S

Beseitigt die Äbhängigkeit vom jeweiligen Datenformat eines Dokuments.

Wozu sind Message Channels wichtig? (M06S08)

Entkoppeln Applikationen von dem Wissen der jeweiligen Lokation.

Wozu sind Message Router wichtig? (M06S08)

Entkoppeln Applikationen davon, sich auf einen Message Channel einigen zu müssen.

Nenne die vier Ebenen der Message Transformation. (M06S10)

- Data Structures = Datenstrukturen

- Data Types = Datentypen

- Data Representation = Datenrepräsentation

- Transport = Transport

Nenne die 6 Speziellen Message Translators. (M06S12)

Envelope Wrapper

Content Enricher

Content Filter

Claim Check Normalizer

Canonical Data Model

Definiere den Envelope Wrapper. (M06S9-S15)

"Verpackt" Anwendungsdaten, meist zu Sicherheitszwecken. Die Daten müssen am Ziel wieder "entpackt" werden.

Warum muss ein Envelope Wrapper meist auch die Informationen für das Routing hinzufügen? (M06S015)

Weil die ursprünglichen Header-Informationen mitverpackt werden, wo die eigentlichen Routing-Informationen stehen.

Wozu dient der Content Enricher? (M06S16-18)

Erweitert eine Nachricht um weitere Daten, die aus einer anderen Source stammen können oder berechnet sind.

Wozu dient der Content Filter? (M06S19-20)

Reduziert eine Nachricht um Daten, aus Sicherheits-, Performance- und Strukturvereinfachungsgründen.

Welche Möglichkeiten für einen Key gibt es beim Claim Check? (M06S23)

Fachlicher Schlüssel

Message ID

Generierte Unique ID

Welches Problem ergiebt sich beim Normalizer? (M06S24)

Es muss erkannt werden um was es sich für ein Format handelt um es in ein einheiltliches Format umsetzten zu können.

Wozu dient der Normalizer? (M06S24-25)

Der Normalizer transformiert unterschiedliche, semantisch ähnliche Datenformate in ein einheitliches Format. Ist eine Composed Pattern.

Wozu dient das Canonical Data Model? (M06S26-28)

Beim Canonical Data Model soll durch Transformation ein anwendungsunabhängiges Datenmodell generiert werden.

Was sind die Vor- und Nachteile beim Canonical Data Model? (M06S28)

Nachteile: Mann braucht pro Nachricht zwei Transformationen Origin Data Model -> Canonical Data Model -> Origin Data Model.