Integration und Kopplung sind meist synonym genutzte Begriffe für die Verknüpfung von Anwendungssystemen. Dennoch gibt einen feinen Unterschied zwischen beiden Begriffen. Wie könnte man Integration und Kopplung differenzieren?
Integration:
-Verknüpfung integrierter innerbetrieblicher Anwendungsysteme
-Homogene, operative AS
-Alle Anwendungen haben ein einheitliches Modell mit einer allgemeinen für alle Anwendungen gültigen Daten- und Speicherungsstruktur. Die Anwendungen kommunizieren miteinander.
Kopplung:
-Heterogene operative und analytische AS
-Unter Kopplung von IT-Systemen wird lediglich die datentechnische Verknüpfung zweier getrennter Anwendungssysteme verstanden.
-Die Anwendungssysteme besitzen in der Regel unterschiedliche und getrennte Datenstrukturen.
-Die Systeme werden über eine Zwischendatei und/oder durch eine Kopplungsprozedur verknüpft.
-Die Anzahl der Kopplungsprozeduren für n beteiligte Systeme beträgt [n×(n−1)].
Eine grobe Einteilung von Anwendungssystemen (AS) ist in operative-administrative-dispositive AS und planerischanalytisch-entscheidungsunterstützend. Welche der beiden Verknüpfungsformen „Integration" bzw. „Kopplung" eignen sich für die jeweiligen Gruppen?
Für operative administrative dispositive Systeme eignet sich die Integration
Für die planerisch analytische Schicht eignet sich eher die Kopplung
Die Verknüpfung integrierter Anwendungssysteme (AS) geschieht sehr häufig über eine „Datenintegration". Was versteht man darunter?
-gemeinsame Nutzung der gleichen Daten
-Redundanzarme Speicherung
-Vermeidung von Dateninkonsistenzen
-logische Integrität von Datenbanksystemen
-logische und physische Datenmodelle
-Integration auf Datenebene ist die einfachste Form der Verknüpfung von AS
Heterogene Anwendungssysteme (AS) haben unterschiedliche Datenstrukturen. Wie kann eine Verknüpfung von heterogenen nicht-integrierten AS erfolgen?
Es gibt verschiedene Möglichkeiten heterogene Anwendungssysteme zu koppeln, darunter Schnittstellenprogrammierung, Interfacing oder EAI
Für die Integration/Kopplung verschiedener AS gibt es folgende Konzepte: EAI, SOA, WOA, MDA, ESB. Wie ist die Bedeutung der Konzepte und welches sind deren wesentlichen Charakteristika?
EAI (Enterprise Application Integration)
Bedeutung: Koordination der Systemlandschaft über eine zentrale Instanz.Charakteristika:· Zentrale Koordination („Hub-and-Spoke" Architektur)· Eigene Prozesslogik (Process Broker)· Integration von Daten, Funktionen, Objekten und Prozessen· Einsatz von Middleware zur Kommunikation zwischen Anwendungen· Fokus auf Überwindung der Heterogenität von Anwendungssystemen
SOA (Service Oriented Architecture)
Bedeutung: Architekturstil für die Gestaltung von Anwendungslandschaften durch verteilte Dienste.Charakteristika:· Plattform- und technologieunabhängig· Integration und Orchestrierung kleiner, wiederverwendbarer Dienste· Fokus auf Geschäftsprozesse und Einbindung von Geschäftspartnern· Dienste kommunizieren über klar definierte Schnittstellen· Abhängigkeit von Netzwerkqualität und Zuverlässigkeit der Services
WOA (Web Oriented Architecture)
Bedeutung: Web-basierte Architektur für verteilte Systeme, insbesondere Webservices.Charakteristika:· Nutzung von REST (Representational State Transfer) für Maschine-zu-Maschine-Kommunikation· Einfache Alternative zu SOAP und WSDL· Einheitliche Schnittstellenanforderung· Bereits vorhandene Infrastruktur im WWW nutzbar (Web- und Application-Server, HTTP-Clients, etc.)
MDA (Model Driven Architecture)
Bedeutung: Modellbasierte Architektur zur Ablösung bestehender Ansätze in Programmiersprachen.Charakteristika:· Nutzung domänenspezifischer Sprachen zur Modellierung von Problemen· Fachliche Experten können eigenständig Modelle erstellen· Herausforderung in der Definition und Implementierung dieser Sprachen· Notwendigkeit zur Einbindung von Programmierexperten· Ähnliche Komplexität und Aufwand wie herkömmliche Ansätze
ESB (Enterprise Service Bus)
Bedeutung: Middleware-Werkzeug zur einheitlichen Verteilung von Arbeit auf ve
Heterogene Anwendungssysteme (AS) können mittels EAI (Enterprise Application Integration) miteinander gekoppelt werden. Nennen sie mindestens 4 wesentliche Charakteristika von EAI
Zentrale Koordination:
EAI übernimmt als Zentralinstanz die Koordination der Systemlandschaft, oft in Form einer „Hub-and-Spoke“ Architektur.
Eigene Prozesslogik:
EAI verfügt über eine eigene Hub-Prozesslogik (Process Broker), um die Integration und Kommunikation zwischen den Anwendungssystemen zu steuern.
Integrationsdimensionen:
EAI fokussiert sich auf die Integration von Daten, Funktionen, Objekten und Prozessen innerhalb der Systemlandschaft.
Middleware:
Auf den unteren Integrationsebenen (wie Datenebene) setzt EAI Middleware ein, die als Kommunikationsmechanismus zwischen Anwendungen und Datenbanken dient, um die Heterogenität der Systeme zu überwinden.
SOA (Service Orientierte Architektur) ist ein Architekturstil für die Gestaltung von Anwendungssystemen (AS). Beschreiben sie diesen Architekturstil, Voraussetzungen Vor- und Nachteile.
Beschreibung des Architekturstils
Architekturstil: SOA ist ein Architekturstil zur Gestaltung von Anwendungslandschaften durch die Integration verteilter Dienste (IT-Services).
Netzwerkbasierte Dienste: Kleine, abgeschlossene Dienste werden über ein Netzwerk angeboten und sind durch klar definierte Schnittstellen wiederverwendbar.
Voraussetzungen
Technologieunabhängigkeit: SOA ist nicht an einen Anbieter, eine spezifische Technologie oder Plattform gebunden.
Klare Schnittstellen: Die Dienste müssen klar definierte Schnittstellen haben, die die angebotene Funktionalität festlegen.
Vorteile
Plattformübergreifend: SOA ist plattformübergreifend und unabhängig von Hardware, Betriebssystemen und Programmiersprachen.
Orchestrierung: Stärken in der Orchestrierung von Geschäftsprozessen und Einbindung von Geschäftspartnern.
Wiederverwendbarkeit: Dienste können wiederverwendet werden, was die Effizienz und Flexibilität erhöht.
Nachteile
Qualität und Zuverlässigkeit: Abhängigkeit von der Qualität und Zuverlässigkeit der angebotenen Dienste (meist Web-Services).
Netzwerkabhängigkeit: Abhängigkeit von dem unterliegenden Netzwerk über das die Dienste kommunizieren.
Sicherheitsaufwand: Aufwand für die Verschlüsselung von übertragenen Daten.
Beschreiben Sie eine Ereignisgesteuerte Architektur (EDA, Event-Driven Architecture) und wo liegt der spezifische Nutzen dieser Architektur?
-Eine Ereignisgesteuerte Architektur (EDA) ist ein Framework, das das Zusammenspiel einzelner IT-Komponenten durch Ereignisse steuert.
-Sie besteht aus Ereignisproduzenten (Event Generator) und Ereignisverbrauchern, wobei Produzenten Ereignisse erzeugen und melden, während Verbraucher diese Ereignisse abonnieren und darauf reagieren.
-Ein Middleware Event Manager empfängt Benachrichtigungen von den Produzenten und leitet diese an alle registrierten Verbraucher weiter.
-Diese Architektur ermöglicht eine flexible und effiziente Integration von Systemen durch die Nutzung von Ereignissen als zentrale Steuerungseinheit.
Spezifischer Nutzen der EDA
-Der Nutzen einer EDA liegt in der Fähigkeit, Status- und Antwortinformationen in nahezu Echtzeit zwischen einer großen Anzahl von Produzenten und Verbrauchern auszutauschen.
-Sie erleichtert das Datenmanagement langfristig durch die Nutzung vorhandener Geschäftsregeln, Trigger und Stored Procedures.
-Zudem ermöglicht EDA eine hohe Skalierbarkeit, da neue Ereignisproduzenten oder -verbraucher leicht hinzugefügt werden können.
-Die lose Kopplung der Systeme vereinfacht die Wartung und Erweiterung der IT-Landschaft und erhöht die Reaktionsfähigkeit auf interne und externe Ereignisse, was die Agilität der Geschäftsprozesse verbessert.
Was versteht man unter einer WOA-Architektur und worin unterscheidet sich diese von einer SOA-Architektur?
-Die Web-Oriented Architecture (WOA) basiert auf Web-Services und nutzt das Programmierparadigma REST (Representational State Transfer).
-REST abstrahiert die Struktur und das Verhalten des World Wide Web und fokussiert sich auf eine einheitliche Schnittstelle zur Maschine-zu-Maschine-Kommunikation.
-WOA bietet eine einfache Alternative zu traditionellen Architekturen wie SOAP und WSDL, indem es bestehende Web-Infrastrukturen wie HTTP-fähige Clients und Web-Server verwendet.
Unterschiede zur SOA-Architektur
Schnittstellen:
WOA: REST, einheitliche Schnittstelle, Web-Standards
SOA: Flexibilität bei Protokollen und Formaten (z.B. SOAP)
Kommunikationsstil:
WOA: Stateless Kommunikation, jeder Aufruf enthält alle nötigen Informationen
SOA: Unterstützt sowohl stateful als auch stateless Kommunikation
Infrastruktur:
WOA: Nutzung vorhandener Web-Infrastrukturen, erleichtert Implementierung
SOA: Kann spezielle Middleware oder Plattformen erfordern
Flexibilität und Standardisierung:
WOA: Starke Betonung auf standardisierte Web-Technologien, erhöhte Interoperabilität
SOA: Größere Flexibilität bei der Implementierung von Diensten und Technologien
Was versteht man unter einer MDA-Architektur und worin liegen die spezifischen Herausforderungen bei dieser Architektur?
Beschreibung der MDA-Architektur
Basisprinzip: MDA ist der Versuch, bestehende Ansätze in Programmiersprachen und Klassenbibliotheken durch eine Modellierung abzulösen.
Ansatz: Nutzung domänenspezifischer Sprachen, um Probleme zu modellieren und anschließend von der Software lösen zu lassen.
Ziel: Fachliche Experten können eigenständig Probleme modellieren und Algorithmen beschreiben, ohne programmieren zu müssen.
Spezifische Herausforderungen:
Definition und Implementierung: Die Erstellung und Implementierung domänenspezifischer Fachsprachen ist in der Praxis schwierig und es gibt keinen einheitlichen Standard.
Einbindung von Programmierexperten: Trotz des Ziels, nur mit Fachexperten auszukommen, ist es notwendig, Programmierexperten einzubinden.
Komplexität und Aufwand: Die Modellierung erfordert einen ähnlichen Aufwand wie traditionelle Ansätze, was keine signifikante Zeit- und Kostenreduktion bedeutet.
Wie lautet das Konzept eines ESB (Enterprise Service Bus), welche Verknüpfungsebenen werden unterstützt und wo liegen die spezifischen Vorteile eines ESB?
-Ein ESB (Enterprise Service Bus) dient als Middleware-Werkzeug zur einheitlichen und effizienten Integration von verschiedenen Anwendungssystemen. Es ermöglicht die Kommunikation zwischen unterschiedlichen Systemen, indem es alle Interaktionen über einen zentralen Bus laufen lässt. Dabei werden Nachrichten, die Daten und Steuerungsinformationen enthalten, über den Bus transportiert und an die entsprechenden Systeme verteilt.
Verknüpfungsebenen
Präsentationsintegration: Integration auf der Ebene von Benutzerschnittstellen (wird nicht von ESB unterstützt).
Logikintegration: Integration auf der Ebene der Geschäftsfunktionen einer Anwendung.
Datenintegration: Integration auf der Ebene des direkten Zugriffs auf persistente Daten (wird durch ESB vermieden, bietet keine Unterstützung für direkte Kopplungen).
Vorteile:
Reduzierte Komplexität: Durch die zentrale Verwaltung der Kommunikation verringert sich die Anzahl der direkten Verbindungen zwischen Systemen (von n*(n-1)/2 auf n Verbindungen).
Flexibilität und Skalierbarkeit: Ein ESB ermöglicht es, Systeme flexibel zu erweitern und neue Dienste leicht zu integrieren.
Standardisierung: ESBs fördern die Nutzung eines einheitlichen Datenformats, was die Interoperabilität zwischen verschiedenen Systemen erhöht.
Zentrale Steuerung: Alle Interaktionen laufen über den Bus, wodurch eine zentrale Kontrolle und Überwachung der Datenflüsse möglich ist.
Wartung und Erweiterung: Die lose Kopplung der Systeme erleichtert die Wartung und Erweiterung der IT-Landschaft.
Wo liegen die grundlegenden architektonischen Unterschiede zwischen einer Peer-to-Peer- (auch Point-to-Point), Hub-(auch Hub-and-Spoke) und einer Bus-Architektur?
Peer-to-Peer (Point-to-Point) Architektur
Direkte Verbindungen: Jedes System ist direkt mit jedem anderen System verbunden.
Komplexität: Die Anzahl der Verbindungen wächst exponentiell mit der Anzahl der Systeme (n*(n-1)/2 Verbindungen).
Skalierbarkeit: Weniger skalierbar und schwieriger zu verwalten, da jede neue Verbindung manuell eingerichtet werden muss.
Hub-and-Spoke Architektur
Zentrale Koordination: Ein zentrales System (Hub) koordiniert die Kommunikation zwischen den angeschlossenen Systemen (Spokes).
Reduzierte Verbindungen: Die Anzahl der Verbindungen wird reduziert auf n, wobei jedes System nur mit dem Hub verbunden ist.
Single Point of Failure: Der Hub stellt einen möglichen einzigen Fehlerpunkt dar, der die gesamte Kommunikation beeinträchtigen kann.
Bus-Architektur
Zentrale Bus-Komponente: Alle Systeme kommunizieren über einen zentralen Bus.
Standardisiertes Datenformat: Es wird ein einheitliches Datenformat verwendet, was die Interoperabilität erhöht.
Reduzierte Komplexität: Die Anzahl der Verbindungen bleibt n, ähnlich wie bei Hub-and-Spoke, aber der Bus kann komplexe Transformationen und Orchestrierungen durchführen.
Lose Kopplung: Systeme sind lose gekoppelt, was Wartung und Erweiterung erleichtert.
Wo liegen die Defizite beim Einsatz einer Middleware?
Unzureichende Unterstützung: betriebswirtschaftlicher
Prozesse: Middleware löst hauptsächlich informationstechnische Integrationsprobleme und unterstützt betriebswirtschaftliche, prozessorientierte Abläufe nur unzureichend.
Kontextinformationen fehlen: Komplexere Prozesse benötigen zusätzliche Informationen über den Kontext, die Middleware allein nicht bereitstellt.
Zusätzliche Komponenten erforderlich:
Für die prozessbasierte Integration sind zusätzliche Komponenten wie Workflow-Management-Systeme notwendig, um komplexe Prozesse effektiv zu steuern.
Last changed6 months ago