Was ist der Unterschied zwischen Integration und Integrierung?
Integration
Integrierung
- Zustandsaspekt: beschreibt die Ausgangslage sowie das Ziel
- Prozessaspekt: Integrationsvorgang selbst
Integrierung
- Prozessaspekt steht im Vordergrund
Was ist ein Unternehmen?
- ein künstlich geschaffenes soziotechnisches Real-System, in dem Menschen und Sachmittel zweckorientiert, d.h. im Sinne einer Leistungserstellung, zusammenwirken
Was gibt es für Integrationsarten zweier Unternehmen?
- strategische Integration
- organisatorische und adiministrative Integration
- personelle Integration
- kulturelle Integration
- operative Integration
- externe Integration
Was ist das Integrationsobjekt?
- Obkte die integriert sind bzw. zu integrieren sind
- entsprechen den Elementen bzw. Subsystemen, die vereint sind bzw. werden sollen
Was ist ein Integrationsprozess?
- konkreter Weg zur Lösung eines Integrationsproblems
- Ausführung in Rahmen eines Integrationsprojekts
- Beschreibung durch Integrationsprozessmodell
- Lösung von Aufgaben durch Integrationsverfahren
- Aufgaben durch Aktivitäten bearbeitet und erzielen Ergebnisse
- Darstellung durch Vorgehensmodell möglich
Was ist ein Integrationsprojekt?
- Projekt, das durch Integrierung eine bestehende Integrationsform in eine weitere Integrationsform verändert
Umfang
- Auswahl des geeigneten Integrationsprozesses
- Umsetzung des gewählten Integrationsprozesses
- Zielvorgabe (zeitlich, finanziell, personell usw.) und Rahmenbedingungen --> Integrationsziel und Ausgangszustand bestimmen das zu lösende Integrationsproblem
Was ist ein Integrationsverfahren?
- Vorschriften oder Anweisungen zum Einsatz von Methoden
- mehrere pro Projekt möglich
- Beschreibung eines konkreten Wegs zur Lösung bestimmter Probleme oder Problemklassen
- Integrationsaufgabe: Bearbeitung durch Ausführung von Aktivitäten
- Aktivitäten liefern ein oder mehrere Ergebnisse
- Aktivitäten können auf Ergebnissen oder Aktivitäten aufsetzen
Was ist eine Integrationsmethode?
- systematische Vorgehensweise zur Lösung von Aufgaben eines spezifischen Typs
- Notation, Handlungsanweisungen, Regeln zur Überprüfung, …
- anwendungsneutral: *hängt nicht von Realisierung/Automatisierung ab *spezifisch für einen bestimmten Integrationsbereich
- besitzen mehrere Techniken (Art der Ausführung einer Handlung)
Was ist Integrationstechnik?
- Sammelbegriff
- jegliche Technik bezogen auf Art der Ausführung einer Handlung
- manuell und (teil-)automatisiert einsetzbar
- Techniken sind Bestandteile von Verfahren
Was ist ein Integrationswerkzeug?
- (Software-)Werkzeuge, die - den Einsatz von Integrationsmethoden und Integrationsverfahren durch (Teil-)Automatisierung einer Technik unterstützen - erleichtern den IMethodeneinsatz in Verfahren oder ermöglichen ihn erst
Was ist ein Integrationshilfsmittel?
- Hilfsmittel, um Aufgaben und Techniken effizienter umsetzen zu können
- erhöht die Effizienz von Verfahren und Methoden
- nicht unbedingt Software
- bspw.: Formulare, Checklisten, Modelle
Was ist ex-ante-Integrierung?
- nicht integrationsfähige Objekte werden integrationsfähig gemacht
- Neuentwicklung von Integrierten Informationssystem (IIS)
Operationen
- Desintegrierung (bestehendes System in kleinere Einheiten aufteilen)
- Adaption (IObjekt wird mit Umsystem verbunden, welches nach außen hin die Integrationsfähigkeit des IObjekts durch Schnittstellen ermöglicht)
- Schnittstellenergänzung
- Vernichtung (Gegenoperation zur Erstellung)
- Erstellung (eines neuen IObjekts)
- Restrukturierung (innere Struktur eines Objekts verändern)
- Schnittstellenentfernung
- Alle Operationen außer Erstellung und Vernichtung werden unter
- Anpassung (eines Objekts, damit es integrationsfähig wird) zusammengefasst
Welche Voraussetzungen müssen für die Integration von Unternehmen erfüllt sein?
- Vereinbarkeit
- Kooperations- bzw. Netzwerkfähigkeit
- Flexibilität (Fähigkeit, erforderliche Änderungen in- und außerhalb der Systemgrenzen durchzuführen)
- Ziele der Partner müssen vereinbar sein
- Gesetzeskonformität
- Ressourcenaustausch (Personal, Daten, Finanzen, …) muss sichergestellt sein
Welche Potenziale bestehen bei der Integration von Unternehmen?
Multiplikationspotenziale
Marktpotentiale
Kompetenzentwicklungspotenziale
Synergiepotenziale
Konzentrationspotenziale
- zusätzliche Deckungsbeiträge
- volumenbedingte Effizienssteigerungen
Marktpotentiale
- Durchsetzung von Produktstandards
- Erhöhung der Markteintrittsbarrieren
Kompetenzentwicklungspotenziale
- Zugang zu neuen Techniken und Know-how
- Herausbildung neuer Kompetenzen
Synergiepotenziale
- Innovationskraft, Differenzierung, Imageverbesserung
Konzentrationspotenziale
- Konzentration auf Kernkompetenzen, Effizienz , …
Welche Risiken bestehen bei der Integration von Unternehmen?
Kostennachteile
Zeitnachteile und Agilitätsverlust
Wissensabfluss
Verlust der Wettbewerbsfähigkeit
Abhängigkeit
- im Vergleich zu alternativen Koordinationsformen
- Gründungs-, Koordinations-, Kommunikations- und Transportkosten
Zeitnachteile und Agilitätsverlust
- Verlängerung des Entscheidungswegs
- Zeitnachteil
- Verschlechterte Reaktionsfähigkeit
Wissensabfluss
- Austausch von Wissen zwischen den Partnern
Verlust der Wettbewerbsfähigkeit
- durch Auslagerung der FuE-Tätigkeiten
Abhängigkeit
- Ausgliederung von Aufgaben
- zunehmende Abhängigkeit von Aufgabenträgern
- hohe Spezialisierung kann zur Monopolisierung führen
Was sind Geschäftsprozesse?
- zielgerichtete, zeitlich-logische Abfolge von Aufgaben, die arbeitsteilig unter Nutzung von IT ausgeführt werden können
Unterscheidung
- Steuerungsprozesse
- Kernprozesse
- Unterstützungs-/Querschnittsprozesse
Was sind Workflows?
- modelliert automatisierbare Aktivitäten
- Ausführung durch Workflowmanagementsysteme
- Workflowmodelle: Verfeinerung von Geschäftsprozessmodellen
- Ziel: Automatisierung der Prozesse in Form von Workflows
Was ist Geschäftsprozessintegration?
- Integrationsobjekte: Geschäftsprozesse
- Ziel: durchgängiger Geschäftsprozess
Organisatorische Integration
- mit Hilfe standardisierter Geschäftsprozesse (Referenzmodelle, Business Frameworks, Prozessrahmenwerke, …)
- Standards können auch Begriffe und Formate umfassen
Technische Integration
- Integrierung der Anwendungssysteme
Was unterscheidet Informations- und Anwendungssystem?
Was ist eine Fassade?
- einheitliche Schnittstelle für eine Menge von Schnittstellen
- Komplexitätsreduktion
- nicht-invasive Schnittstellenveränderung
Was ist ein Adapter?
= Komponente, die Interoperabilität zwischen zwei Anwendungssystemen herstellt
Eigenschaften
- Ausgleich aller syntaktischen und semantischen Unterschiede
- Ausgleich der verwendeten Kommunikationsmechanismen zwischen einer benötigten und einer vorhanden Schnittstelle
Eigenschaften
- uni- oder bidirektional
- statisch oder dynamisch
- synchron oder asynchron
Aus welchen Schichten besteht die Adapterarchitektur?
Steuerungsschicht
Verarbeitungsschicht
Basisschicht
- Initialisierung, Terminierung
- Koordination aller Verarbeitungsprozesse des Adapters
- vollständige Beschreibung durch Steuerdaten
Verarbeitungsschicht
- Kommunikationsbaustein — anwendungssystemspezifisch — Umsetzung der Aufgaben der physischen Ebene
- Transformationsbaustein — Aufgaben der logischen Ebene — semantische und syntaktische Angleichung
Basisschicht
- Grundfunktionalitäten für Steuerungs- und Verarbeitungsschicht
- Wartung, Betrieb, Logging, …
Was ist ex-post-Integrierung?
- Zusammenführung bereits bestehender IIS
- systemübergreifende prozessorientierte Integration integrationsfähiger AS
- Kommunikationsverbindung zu den integrierenden Systemen
- Konvertierung von Daten bzw. Nachrichten
Operationen
- direkte Kopplung (Verbindung zwischen den IObjekten erstellen)
- indirekte Kopplung (Verbindung durch Kopplungssystem erstellen)
- Verschmelzung (zwei bestehende IObjekte zu einem neuen verbinden)
- Entkopplung (Auflösung der direkten/indirekten Kopplung zu ursprünglichen IObjekten
Welche Beziehungen sind zwischen Unternehmen möglich?
- reine Leistungsaustauschbeziehung (Koordination ablaufender Transaktionen durch Mechanismen des Markts)
- Zweckbeziehung (Unternehmen = IObjekte --> Integration, Effizienzsteigerung durch gemeinschaftliches Handeln)
- *Zweckbeziehung lässt sich unterteilen in:**
- Kooperation (rechtl. & wirtschaftl. Selbstständigkeit, Verbindung)
- Konzentration (Integration von unabh. Unternehmen, Verschmelzung)
Welche Ziele und Gründe werden bei einer Unternehmensintegration verfolgt?
- Ziele:
- Expansion (Stärken der Position auf angestammten Märkten)
- Diversifikation (Erweiterung der Produktpalette)
- Gründe:
- wirtschaftl. Vorteil
- Verfolgen von Zielen geschäftl. Natur
- funktionelle, quantitative und techn. Ziele sind untergeordnet
- Spezialisierung, Effizienzsteigerung
- Kostenvorteil
Was ist Datenintegration?
- wenig bis keine Änderungen der Anwendungslogik
- redundante Datenhaltung — Dateitransfer — Datenbankabgleich
- nicht-redundante Datenhaltung — gemeinsame Datenbank — Datenbankkopplung
Welche Schwierigkeiten ergeben sich bei der Datenintegration?
Heterogenität
→ Schemaintegration
Zusammenführung mehrerer Schemen in ein integriertes Schema
→ Schema-Mapping
konkrete Abbildung von Schemen auf ein oder mehrere andere Schemen
- unterschiedliche Datenmodelle und Schemen
- Bedeutung der Daten unterschiedlich
- strukturelle und semantische Konflikte
- Inkonsistenz und Redundanz
→ Schemaintegration
Zusammenführung mehrerer Schemen in ein integriertes Schema
→ Schema-Mapping
konkrete Abbildung von Schemen auf ein oder mehrere andere Schemen
Was ist funktionale Integration?
- erfolgt über Zugriff auf Anwendungskern/Schnittstellen des Funktionskerns
- Datenformate werden nach außen gekapselt
- Integrität der Daten
- ermöglich die Änderung der Datenformate einer Anwendung, ohne dass die Integration betroffen ist
Welche Arten der funktionalen Integration gibt es?
über Schnittstellen
über Nachrichten
- uni- oder bidirektional
über Nachrichten
- Point-to-Point
- Publish/Subscribe
Wie funktioniert funktionale Integration über Schnittstellen?
- Typprüfung zur Entwicklungszeit
- hoher Änderungsaufwand in verbundenen Systemen
- RPC
- enge Kopplung
Wie funktioniert die funktionale Integration über Nachrichten?
- Sender und Empfänger müssen technische Schnittstellen nicht kennen
- Nachricht enthält alle relevanten Daten
- Empfänger interpretiert und verarbeitet Daten eigenständig
- technische Entkopplung der zu integrierenden Anwendungssysteme
Wie funktioniert die funktionale Integration über die Benutzungsoberfläche?
- Zugriff auf Daten eines AS erfolgt über die Benutzungsoberfläche
- Middleware emuliert einen Benutzer, der innerhalb des UI — zwischen den Dialogen navigiert — zur Dateneingabe Tasten drückt — Feldinhalte ausliest— „Screen Scrapping“
Einsatz
- Aufsetzen eines UI auf ein bestehendes („GUIfizierung“)
- keine geeigneten Schnittstellen
- UIs mehrerer Anwendungssysteme in einer UI zusammenfassen
Was ist prozessorientierte Integration?
- Integrationsarchitektur als Ganzes an den Anforderungen des umzusetzenden Geschäftsprozesses ausgerichtet
Aufgaben
- Gestaltung der Integrationsarchitektur
- Automatisierung von Geschäftsprozessen
- Vereinheitlichung der zu integrierenden Funktionen
Umsetzung
- Enterprise Application Integration (EAI)
- SOA
Wie kann die Integrationsarchitektur gestaltet werden?
Direkte Integration
Indirekte Integration
- A2A Integration (quadratische Komplexität)
Indirekte Integration
- Hub-and-Spoke (Sterntopologie)
- Bus
- zentraler Integrationspunkt zur Prozesssteuerung
Tags: Proessorientierte Integration
Quelle:
Quelle:
Aus welchen Schichten besteht ein Informationssystem?
Präsentationsschicht
Anwendungsschicht
Datenhaltungsschicht
- Kommunikation
- Client oder externe Schnittstellen
- GUI, Modul, HTML
Anwendungsschicht
- Zugriff auf Geschäftsobjekte und deren Funktionalität
- Awendungslogik, Verarbeitung der Eingabedaten
- Geschäftslogik und -regeln
Datenhaltungsschicht
- Persistenzschicht
- speichert und verwaltet Geschäftsobjekte
- Datenquellen eines IS (DBMS)
Wie funktioniert das Top-Down-Design eines Informationssystems?
- Fokus auf Ziellösung
- bewährte Techniken und Systeme einbinden
- Neue Techniken evaluieren und integrieren
- nur für Neuentwicklungen anwendbar
Schritte
- Definition der Funktionalitäten aus Anwendersicht
- Festlegen der logischen Architektur
- Festlegen der Verteilungsarchitektur
- Festlegen der Datenquellen
- Implementierung
Wie funktioniert das Bottom-Up-Design eines Informationssystems?
- IS aus bestehenden Legacy-Systemen erstellt
- Funktionalität der Altsysteme kann nicht verändert werden
- Re-Implementierung nicht praktikabel
- Design ist durch tieferliegende Schichten geprägt
- oft eine Notwendigkeit
Was ist eine One-Tier-Architektur?
- zentralisiert
- alle 3 Schichten in einem monolitschen System
- keine API
- Interaktion über dumme Terminals
- Screen Scrapping
Vorteile
- optimale Performanz, da keine Datentransformation
- keine Kompatibilitätsprobleme
- kein Deployment
Was ist eine Two-Tier-Architektur?
- Client-Server-Prinzip
- Modell für verteilete Anwendungen
- typische Elemente: RPC, Server-API
- Anwendungslogik kann verändert werden, wenn API stabil
- Anwendungsschicht kann sich auf Client, Server oder auf beiden befinden
Was sind die Vor- und Nachteile der Two-Tier-Architektur?
Vorteile
Nachteile
- Kapazitäten des Clients werden genuntzt
- Ressourcen-Freigabe der anderen Layer
- Customizing der Präsentationsschicht
- leichte Portierung der Anwendungslogik
Nachteile
- begrenzte Anzahl Clients
- keine standardisierte Präsentationsschicht
- enge Kopplung: Client müss für jeden Server die API kennen
- Extra-Anwendungslogik beim Client, da er für die Integration der verschiedenen Server zuständig ist, da sich diese nicht kennen
Was ist die Three-Tier-Architektur?
- Anwendungsschicht auf Middle-Tier für Integrationsaufgaben
Middleware
- vereinfachte Client-Entwicklung
- transparente Zugriffe
- Plattform für Inter-System-Funktionalitäten
- Transaktionskontrolle, Load Balancing, Logging …
Wie lauten die Vor- und Nachteile einer mehrschichtigen Architektur?
Vorteile
Nachteile
- Entkopplung — Anstieg an Flexibilität, Funktionalität — bessere Wartbarkeit — einfacher Komponentenaustausch — zentrale Administration
- Skalierbarkeit
- Performanzgewinn durch Parallelisierung
- erhöhte Zuverlässigkeit (Spiegelung, Clusterung)
- geringe Anforderungen an Client-Hardware
Nachteile
- Performzverlust durch Kommunikationsaufwand
- Standards erforderlich
- Komplexität (Wartung, Installation, Betrieb)
- hohe Kosten
Was ist synchrone Kommunikation?
- permanente Verbindung zwischen Sender und Empfänger erforderlich
- Sender wartet bis Antwort eintrifft (blockierend)
- Kommunikation in Echtzeit
- Request-Response-Paradigma
- Overhead aufgrund der Session
- schwierige Fehlererkennung, wenn eine Nachricht verloren geht →Transaktionalität
- gegenseitiger Ausschluss beim Nutzen gemeinsamer Ressourcen
Was ist asynchrone Kommunikation?
- Nachricht wird gespeichert (Warteschlange) bis Empfänger sie abruft
- zeitlich versetztes Senden und Empfangen
- nicht-blockierund
- keine Prozessblockaden möglich
- keine Kommunikation in Echtzeit
- Sender weiß nicht, ob Nachricht empfangen wurde
Was ist eine Programmierabstraktion?
- Verbergen der Hardware- und Plattformdetails
- Stammfunktionen und Schnittstellen
- Middleware bietet Programmierabstraktionen
- Übergabe schwierige Aufgaben an Vermittler (Compiler, Optimizer, …) → Reduzierung von Fehlern und Kosten
Beispiel: RPC
- versteckt Kommunikationsmodell hinter dem Prozeduraufruf
- hilft beim Überbrücken heterogener Plattformen
- setzt auf IP → TCP/UDP → Sockets auf
Was sind die Eigenschaften der Middleware als Infrastruktur?
- Plattform zur Entwicklung und Ausführung komplexer verteilter Systeme
- zusätzliche Funktionalitäten zur Erleichterung von Entwicklung, Wartung und Monitoring
- Logging, Recovery, Transaktionen
- nicht-funktionale Eigenschaften wie Performanz, Verfügbarkeit, …
- basiert in der Regel auf RPC
Erkläre die Funktionweise eines RPC!
Definition der Prozedurenschnittstelle
Kompilieren der IDL-Beschreibung
- mittels Interface Description Language (IDL) →abstrakte Repräsentation der In- und Output-Parameter einer Funktion
Kompilieren der IDL-Beschreibung
- Erzeugung von — Client Stubs — Server Stubs — Code-Template, Referenzen, Header-FIles, …
- Stubs decken alle Kommunikationsdetails ab
Was ist ein Client bzw. Server stub?
= Verbindung zum Client bzw Server
verantwortlich für …
verantwortlich für …
- Prozeduraufruf (Bindung)
- Datenformatierung (Marshalling, Serialisierung)
- Kommunikation
- Request/Response-Abwicklung
Welche Eigenschaften besitzt das Binding in RPC?
= Erzeugung einer lokalen Assoziation zu einem Server für den Prozeduraufruf
statisch
dynamisch
statisch
- fest codierte Bindung zu Prozedur und Server (IP:Port)
- einfach, effizient
- enge Kopplung
dynamisch
- zusätzlicher Service zum Lokalisieren passender Server →zusätzlicher Layer für Flexibilität auf Kosten der Performanz
Was ist TRPC?
= Transactional RPC
→TP-Monitore sind RPC basierte Systeme mit transaktionaler Unterstützung
- zusätzliche Sprachkonstrukte und Laufzeitunterstützung für Bündeln mehrer RPCs zu einer Transaktion
→TP-Monitore sind RPC basierte Systeme mit transaktionaler Unterstützung
Was sind TP-Monitore?
= Transaction processing monitors
Konstrukte
- älteste und effizienteste Form von Middleware
- basiert auf RPC
- 2-Phasen-Commit, da ACID-Eigenschaften bei heterogenen Ressourcen nicht ausreichen
Konstrukte
- beginning of transaction (BOT)
- end of transaction (EOT)
Was machen die Komponenten Program flow und Router?
Program flow
Router
- Komponente speichert, lädt und führt Prozeduren aus
- in der Sprache des TP-Monitors geschrieben
Router
- mappt jeder Operation zu einem Aufruf
- Aufruf des Ressourcenmanagers
Was ist TP-Heavy?
= Ausführungsumgebung für Ressourcenmanager mit garantierter Performanz
Beispiele
- 3-Tier-Architektur
- komplette Entwicklungsumgebung
- zusätzliche Services (Persistenz, Prioritäten, Buffering, …)
- Authentifizierung
Beispiele
- CICS
- Encina
- Tuxedo
Was ist TP-lite?
- Integration des TP-Monitors in die Datenbank → 2-Tier
- Abfrage wird als stored procedure gespeicherd und vom Client aufgerufen
- Theards statt Prozesse
- keine Entwicklungsumgebung
Sprachen
- Transact-SQL
- PL/SQL
Hintergrund
- Daten werden in der Anwendungslogik verwendet
→2-Tier-Modell
Was sind Object Broker?
- Erweiterung des RPC-Paradigmas um Objektorientierung
- zusätzlich Vererbung und Polymorphismus
- Middleware-Infrastrutur zur Unterstützung der Interoperabilität zwischen Objekten
Beispiele
- CORBA
- COM/DCOM
- COM+
Erläutere die Funktionsweise von CORBA!
- Methoden durch CORBA IDL beschrieben
- IDL-Compiler generiert Client-Stub und Skeleton
- Skeleton (Server-Stub) schirmt Server-Objekt von der Verteilung ab, um wie von einem lokalen Objekt benutzt werden zu können
- Programmierer muss nur IDL-Schnittstelle des Servers kennen
- statisches oder dynamisches Binding
Wie funktioniert das dynamische Binding in CORBA?
- Objekt finden (Naming und Trader Service)
- Inteface aufrufen
- Aufruf konstuieren
Komponenten
- Interface Repository (IR)
- Dynamic Invocation Interface (DII)
→ selten genutzt
Was ist IR?
= Interface Repository
- speichert alle IDL-Definitionen
- kann von mehreren Object Brokern genutzt werden
- Objekt Broker kann mehrere IR nutzen
Was ist DII?
= Dynamic Invocation Interface
- Operation wie — get_interface — create_request
- Ermöglichd Client Durchsuchung des Repositories und dynamische Methodenerstellung
Wie wirkt sich die Kapselung in CORBA aus?
- Verstecken interner Details eines Objekts gegenüber Client
- Ändern der Service-Implementierung ohne Änderungen am Client
- Client- und Server-Objekte müssen nicht das selbe BS oder Programmiersprache haben
- Ortstransparenz
Nenne die Unterschiede zwischen RPC und CORBA!
CORBA
RPC
- komplette Architektur
- standardisierte komponentenbasierte Architektur
RPC
- keine Architektur
- Inter-Prozess-Kommunikationsmechanismus
Was ist COM?
- Object Broker für und von Windows
- Separation von Schnittstellen und Implementierung
- binäre Kapselung und Kompatibilität →Client und Server können unterschiedliche Sprachen und Umgebungen haben
- Client sehen Objekte nur über das Interface
Was sind COM-Schnittstellen?
- Standardschnittstelle IUnknown
- Definition über MIDL (programmiersprachen unabhängig)
- keine Veränderung an veröffentlichten Schnittstellen
- Identität durch weltweit eindeutige GUID
Wie kann ein COM-Aufruf erfolgen?
Method call
Inter-process call
Remote call
- COM-Komponente ist lokal in einer DLL implementiert
Inter-process call
- leichtgewichtiges RPC
- ausführbares Programm, das COM-Komponente implementiert
Remote call
- RPC
- Netzwerk zwischen Client und Server →DCOM
Was ist DCOM?
= Deployed COM
+ SIcherheitsmechanismen
+ Anmeldung des Komponentenservers als Dienst
- Erweiterung, da COM nur für lokale Nutzung geeignet
+ SIcherheitsmechanismen
+ Anmeldung des Komponentenservers als Dienst
Was ist COM+?
- integraler Windows-Bestandteil
- hat Zugriff auf verschiedene Laufzeit-Dienste
- kann beliebig übers Netzwerk verteilt werden
Umfang
= DCOM
+ MS Transaction Server
+ Message Queue Server
Was ist RMI?
= Remote Method Invocation
- transparente Kommunikation in Java über Stubs und Skeleton
- Anwendungen können in verschiedenen VMs laufen
- einfache Grundfunktionalität entfernter Aufrufe
Welche Bestandteile besitzt RMI?
Remote-Interface
Remote-Objekte
Namensdienst
Remote-Referenzen
- definiert Funktion des Servers
- beschreibt Verhalten der entfernten Funktionen
Remote-Objekte
- implementiert Interface und Verhalten der entfernten Funktion
Namensdienst
- Registrierung der Remote-Objekte
- Referenzen können vom Client abgefragt werden
Remote-Referenzen
- Referenzen auf Remote-Objekte
Wie funktioniert RMI?
- Erstellung des Serverinterfaces
- Erstellung der Serverklasse
- Anmeldung bei der Registry (rebind)
- Client-Programmierung
- Serialisierung der Objekte
Welche Eigenschaften besitzt RMI?
- keine IDL, sondern Java-Interface Remote
- Übergabe atomarer Typen und nicht entfernter Objekte per Wert
- Übergabe entfernter Objekte per Referenz
- vordefinierte Klasse von Remote Exceptions
Was sind Object Monitors?
= Kombination von Object Broker + TP-Monitor
Object Broker
TP-Monitor
Object Broker
- zentrale Object-Vermittlnugskomponente
- nutzt OO-Interfaces und interne Repositories
- (Un)Marshelling
TP-Monitor
- Verwaltung der Transaktionen von Interaktionen
- Verwaltung von Ressourcen
Was ist die Aufgabe des Warteschlangenverwalters?
- Verwaltung von mehreren Warteschlangen
- Intialisierung und Uberwachung der Warteschlangen
- Zuordnung der Nachrichten zur Warteschlange
- Benachrichtung der Empänger
- Übermittlung der Nachrichten
- Transport in andere Subnetze →ggf. Transformationen notwendig
Welche Vorteile besitzen Warteschlangen?
- Sender/Empfänger muss nicht ständig empfangsbereit sein
- Empfänger enthält Kontrolle üer Nachrichtenprozess
- Fehlerrebobust
- lose Kopplung zwischen Client und Server
- hohes Maß an Interoperabilität in heterogenen Systemen
Welche Nachteile besitzen Warteschlangen?
- fehlende Typsicherheit
- Overhead durch Ver-/Entpacken und Übermittlung der Nachrichten
Was sind persistente Warteschlangen?
- persistente Speicherung der Nachricht →garantierte Auslieferung
- keine Aussage über Zeitpunkt der Auslieferung
- können als Teil einer Datenbank implementiert sein
Was sind transaktionale Warteschlangen?
- Erfassen und Zustellen der Nachricht in einer Transaktion
- dauerhafte Speicherung der Warteschlange
- 2PC-Protokoll →Input-Warteschlange + Output-Warteschlange
Welche Vor- und Nachteile bieten transaktionale Warteschlangen?
Vorteile
Nachteile
- Fehlerbehandlung
- Atomarität
Nachteile
- enormer Overhead
- keine Lösung, wenn Nachrichtenzustellung nicht möglich
Welche Kommunikationsmodelle kommen bei MOM zum Einsatz?
- Point-to-Point
- Request-Reply-Modell
- Publish-Subscribe-Modell
Wie funktioniert das Request-Reply-Kommunikationsmodell?
- 2-Wege-Kommunikation
- Sender legt Nachricht in Empfänger-Warteschlange
- fordert parallel eine temporäre Antwort-Warteschlange an →dort landet Antwort und wird vom Sender empfangen
Wie funktioniert das Publish-Subscribe-Kommunikationsmodell?
- simuliert Warteschlangen über Abonenntensystem
- Sender kann Nachrichten veröffentlichen
- Empfänger können diese über Queues oder Topics abonnieren →beide Arten sind inkompatibel zueinander
Was sind Queues und Topics?
Queues
Topics
- Nachricht wird nur einmal ausgeliefert
- Nachricht wird ggf. solange gespeichert, bis Empfänger sie abholt
- Übermittlungsreihenfolge wird nicht garantiert
Topics
- Nachricht wird einem Topic zugewiesen
- Empfänger abonniert Topic
- 2 Varianten →Spätere Abonnenten können frühere Nachrichten abrufen (oder nicht)
Worin unterscheiden sich föderale und verteilete DB-Systeme?
Föderation | Verteiltes DBMS | |
DBMS | mehrere Einzelsysteme | eins |
Konzeption | heterogen | einheitlich |
Datenverteilung | zufällig | nach Plan |
Integritätskontrolle | nein | ja |
verteilte Transaktionsverwaltung | nein | Ja |
Heterogenität | Hoch | Niedrig |
Autonomie | Ja | Nein |
Welche Probleme bringen föderierte Datenbanksysteme?
- kein globale Transaktionalität →fehlende Deadlockerkennung
daher notwendig:
- Scheduling
- Synchronisation (Sperren, …)
- Recovery-Mechanismen
Was ist ein lokales Schemata?
- konzeptionelles Schema des Komponentensystems
- im Datenmodell des Komponentensystems formuliert
- in unterschiedlichen Datenmodellen formuliert
Was ist ein Komponentenschemata?
- gemeinsame Sprache für verschiedenen lokalen Schemata
Was ist ein Exportschemata?
- Ausschnitt aus dem Komponentenschema, der bei der Integration in das föderierte Informationssystem berücksichtigt werden soll
Was ist ein föderiertes Schema?
= Beschreibung des integrierten Datenbestands
- enthält alle in Exportschemata enthaltenen Daten
- Redundante Daten werden auf Schemaebene aufgelöst
Was sind externe Schemata?
- beinhalten von einer globalen Anwendung benötigten Ausschnitt
- Daten ggf. anders strukturiert, entsprechend den Erfordernissen der Anwendung
Wie wird ein föderatives System bottom-up aufgebaut?
- Erstellung eines gemeinsamen Datenmodell aus lokalen Schemata
- Abbildung benötigter Elemente in Exportschema
- Aufbau des föderierten Schemas durch Analyse von Gemeinsamkeiten
- Ggf. Generation weiterer externen Schemata
Wie kann die Zusammenfassung lokaler Schemata erfolgen?
binäre Integration
n-äre Integration
- Vergleich 2 lokaler Schemata
- Iterationszyklen bis föderiertes Schema entsteht →Binärbaum mit föderierten Schema als Wurzel
- Integrationsreihenfolge enormen Einfluss aus Aufwand/Komplexität
n-äre Integration
- Vergleich beliebig vieler lokaler Schemata
- dennoch Zwischeniterationen zur Komplexitätsreduktion sinnvoll
Welche zentralen Kriterien bestehen für das Bottom-Up-Design föderativer Systeme?
Vollständigkeit
Korrektheit
Minimalität
Verständlichkeit
- kein Verlust aus Informationen aus lokalen Schemata
Korrektheit
- Konzepte die in keinem lokalen Schema vorkommen, dürfen auch nicht im föderativen vorkommen
- Konzepte die auf der Vereinigung mehrerer lokaler Schemata basieren, dürfen nicht aufgenommen werden
Minimalität
- Vermeidung von Redundanzen
Verständlichkeit
- Vermeidung unnötiger Komplexität
- Verwendung gleicher Begriff wie in lokalem Schema
- Verwendung gleicher Konzepte (sofern möglich)
Wie sieht der Integrationsprozess für föderative Schema aus?
Vorintegration
Integration
- Finden aller Gemeinsamkeiten und Unterschiede
- Festhalten als Abbildungsinformation (Inter-Schema-Korrespondenzen)
Integration
- Verwendung der Inter-Schema-Korrespondenzen, um Elemente zu finden, die in föderative Schema eingehen
- Verwenden allgemeiner Integrationsregeln →Schema abhängig von Reihenfolge der Regelanwendung
Was sind Korrespondenzen und welche Arten gibt es?
= prinzipielle Aussagen, die zu jedem Zeitpunkt gelten
Arten
Beispiele
Arten
- Äquivalenz
- Teilmenge
- Überlappung
- Disjunktheit
Beispiele
- Element-Korrespondenz
- Attribut-Korrespondenz
- Pfad-Korrespondenz (Beziehungen)
Welche Integrationsregeln gibt es für föderative Systeme?
Regel 1: Unabhängige Elemente
Regel 2: Äquavalente Elemente
Regel 3: Pfadintegration
- Jedes Schemaelement, zu dem es keine Korrespondenzen gibt, wird unverändert übernommen
Regel 2: Äquavalente Elemente
- Sind 2 Elemente durch eine Element-Korrespondenz äquivalent, wird nur eins übernommen
Regel 3: Pfadintegration
- Korrespondierende Pfade müssen durch semantisch äquivalenten Pfad abgebildet werden
- Liegt eine Pfad-Äquivalenz vor, muss nur einer übernommen werden
Welche Konflikte gibt es im Integrationsprozess föderativer Systeme?
Datenmodellkonflikte
Schemakonflikte
Datenkonflikte
Schemakonflikte
- Extensionale Konflikte
- Strukturelle Konflikte
- Beschreibungskonflikte
Datenkonflikte
- Inkorrekte Einträge
- veraltete Einträge
- verschiedene Ausdrücke/Repräsentationen
- Identifikationskonflikte
Was sind Beschreibungskonflikte?
→können selbst bei Übereinstimmung von Datenmodell und Schemastruktur auftauchen
Beispiele
Beispiele
- Synonyme und Homonyme
- Datentyp- und Wertebereichskonflikte
- Skalierungskonflikte
- Genauigkeitskonflikte (Nachkommastellen)
- unterschiedliche Integritätsbestimmungen
Welche Möglichkeiten zur Behebung von Datenkonflikten gibt es?
- Ähnlichkeitsmaße
- Bevorzugung einer lokalen Quelle
- Verwendung von Hintergrundwissen (Konventionen, Thesauri, …)
explizite Wertabbildung
- tabellarische Zuordnung
- mathematische Abbildungsfunktion
Was ist Data Cleansing?
- Ziel: Verbesserung der Datenqualität
- Daten werden lokal korrigiert →Single-Source- vs. Multi-Source-Probleme
Wie läuft der DataCleansing-Prozess ab?
- Datenanalyse
- Definition von Transformationen
- Verifikation →Evaluation der Transformationen durch Tests
- Transformation
- Abspeicherung der bereinigten Daten
Kartensatzinfo:
Autor: CoboCards-User
Oberthema: Wirtschaftsinformatik
Thema: Integration Engineering I
Schule / Uni: Universität Leipzig
Ort: Leipzig
Veröffentlicht: 06.02.2014