Integration Engineering
Vorlesung an der HS-Furtwangen
Vorlesung an der HS-Furtwangen
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.