01: Welche Auswirkungen hat der schnelle Wandel auf das IT Integration Management?
Schnell wechselnde technische Rahmenbedingungen
Steigender Einfluss: Medien, Werbung und Anbietern
Vielschichtigkeit technischer und organisatorischer Strukturen
Steigender Einfluss: Medien, Werbung und Anbietern
Vielschichtigkeit technischer und organisatorischer Strukturen
01: Was ist Integrations Management in der IT?
Verfahren zum Management des Wandels
Werkzeuge und Verfahren zur Integration
Risiken, Herausforderungen und Lösungswegen
Werkzeuge und Verfahren zur Integration
Risiken, Herausforderungen und Lösungswegen
02: Was sind Systeme?
Ausschnitt aus realen oder gedanklichen Welt
besteht aus Systemkomponenten oder Subsystemen
Systemkomponenten oder Subsystemen stehen in Relationen
werden oft abstrakt durch Modelle beschrieben -> viele Notationen für Modelle
besteht aus Systemkomponenten oder Subsystemen
Systemkomponenten oder Subsystemen stehen in Relationen
werden oft abstrakt durch Modelle beschrieben -> viele Notationen für Modelle
02: Was ist ein Bsp. für ein System, ein Modell und die übliche Notation?
Was wenn Modell nicht zu System passt?
Was wenn Modell nicht zu System passt?
CRM System inkl. Prozesse
UML-Diagram
Unified Modeling Language
--> System kann nicht richtig modelliert werden; optimierung nicht möglich
UML-Diagram
Unified Modeling Language
--> System kann nicht richtig modelliert werden; optimierung nicht möglich
02: Was sind Prinzipien? Welche gibt es? Was ist ein Bsp.?
Bildet den Ursprung und Start für Weiteres.
>„gute Prinzipien dienen beim Bau von Systemen“
> „guter Wege“ oder „Best of Breed“ von Verfahren beim Bau von Systemen
Axiomatische Prinzipien werden gesetzt
Systematische Prinzipien dienen zur Erzeugung eines komplexen Zustands (oder Systems) aus einer kleinen Menge von
Voraussetzungen (oder Parametern)
Bsp: „Pattern“ = „Prinzipien-Muster“
>„gute Prinzipien dienen beim Bau von Systemen“
> „guter Wege“ oder „Best of Breed“ von Verfahren beim Bau von Systemen
Axiomatische Prinzipien werden gesetzt
Systematische Prinzipien dienen zur Erzeugung eines komplexen Zustands (oder Systems) aus einer kleinen Menge von
Voraussetzungen (oder Parametern)
Bsp: „Pattern“ = „Prinzipien-Muster“
02: Welche Pattern Klassifikationen gibt es? Worauf fokussieren sie?
Architectural Pattern = grundlegende Gesamtstruktur
Design Pattern = Herausforderungen unter der Gesamtstruktur
Idioms = auf kleingliedrige Umsetzungs-Herausforderungen
Antipattern = wie Dinge nicht üblicherweise falsch gemacht werden
Design Pattern = Herausforderungen unter der Gesamtstruktur
Idioms = auf kleingliedrige Umsetzungs-Herausforderungen
Antipattern = wie Dinge nicht üblicherweise falsch gemacht werden
02: Was sind Bsp. für Architectural und Design Pattern?
Architectural:
Client-Server: Möglichkeit, Aufgaben und Dienstleistungen innerhalb eines Netzwerkes zu verteilen.
SOA: Dienste von IT-Systemen zu strukturieren und zu nutzen.
Design Pattern:
Strukturmuster: Erleichtern durch vorgefertigte Schablonen für Beziehungen zwischen Klassen
Client-Server: Möglichkeit, Aufgaben und Dienstleistungen innerhalb eines Netzwerkes zu verteilen.
SOA: Dienste von IT-Systemen zu strukturieren und zu nutzen.
Design Pattern:
Strukturmuster: Erleichtern durch vorgefertigte Schablonen für Beziehungen zwischen Klassen
02: Prinzip 1 - Was ist Abstraktion? Was ist das Gegenteil? Was entsteht durch Abstraktion?
Verallgemeinerung
Absehen vom Besonderen und Einzelnen
Loslösen vom Dinglichen
Bedeutet: nicht-gegenständlich, nicht-konkret, nicht-anschaulich, begrifflich verallgemeinert, theoretisch
Gegenteil: Konkretisierung
Modell, das reale Welt durch Charakteristika repräsentiert wird erstellt
Absehen vom Besonderen und Einzelnen
Loslösen vom Dinglichen
Bedeutet: nicht-gegenständlich, nicht-konkret, nicht-anschaulich, begrifflich verallgemeinert, theoretisch
Gegenteil: Konkretisierung
Modell, das reale Welt durch Charakteristika repräsentiert wird erstellt
02: Prinzip 1 - Was sind Abstraktionsebenen? In welche Dimensionen wird unterteilt?
Beschreibt Abstufungen der Abstraktion
Statik: Abstraktion der statischen Elemente („Aufbau“)
Dynamik: Abstraktion der dynamischen Elemente („Verhalten“)
Statik: Abstraktion der statischen Elemente („Aufbau“)
Dynamik: Abstraktion der dynamischen Elemente („Verhalten“)
02: Prinzip 1 - Beispiele für die Abstraktion in der Dimension der Dynamik und in der Dimension der Statik?
Welche Abstraktion in der Dimension der Dynamik ist für Wirtschaftsinformatiker zentral? Wie sieht hier das Modell und die Notation aus?
Welche Abstraktion in der Dimension der Dynamik ist für Wirtschaftsinformatiker zentral? Wie sieht hier das Modell und die Notation aus?
Antwort
02: Prinzip 2: Strukturierung - Definition?
Definition 1:
Struktur ist ein Gefüge, das aus Teilen besteht, die wechselseitig voneinander abhängen.
Definition 2:
Struktur eines Systems ist reduzierte Darstellung des Systems, die den Charakter des Ganzen offenbart.
Beinhaltet die wesentlichen Merkmale des Ganzen und keine Details
Struktur ist ein Gefüge, das aus Teilen besteht, die wechselseitig voneinander abhängen.
Definition 2:
Struktur eines Systems ist reduzierte Darstellung des Systems, die den Charakter des Ganzen offenbart.
Beinhaltet die wesentlichen Merkmale des Ganzen und keine Details
02: Prinzip 2 - Strukturierung. Wie kann klassifiziert werden? Was passiert mit den einzelnen Teilen?
Klassifizierung nach Zeitspanne
• Statische Struktur
• Dynamische Strukturen (Laufzeitstruktur)
• Die Teile stehen in einem Beziehungsgefüge.
• Einzelne Beziehungen lassen sich durch Relationen beschreiben
• Statische Struktur
• Dynamische Strukturen (Laufzeitstruktur)
• Die Teile stehen in einem Beziehungsgefüge.
• Einzelne Beziehungen lassen sich durch Relationen beschreiben
02: Prinzip 3 - Bindung und Kopplung; Was ist das?
Bindung (Cohesion)
Qualitatives Maß für die Beziehung zwischen den Elementen innerhalb einer Systemkomponente.
Kopplung (Coupling):
Qualitatives Maß für die Beziehung zwischen Systemkomponenten.
In der Regel gilt: Je loser die Kopplung, desto unabhängiger sind die Komponenten und desto einfacher gestaltet sich der Austausch.
Qualitatives Maß für die Beziehung zwischen den Elementen innerhalb einer Systemkomponente.
Kopplung (Coupling):
Qualitatives Maß für die Beziehung zwischen Systemkomponenten.
In der Regel gilt: Je loser die Kopplung, desto unabhängiger sind die Komponenten und desto einfacher gestaltet sich der Austausch.
02: Bsp. für Kopplung und Bindung? Was ist Vendor-Lock-In und wie ist diese relevant im Bezug auf Beziehungen?
Antwort
02 - Prinzip 4 - Hierarchisierung - Was ist eine Hierarchie? Wann besitzt ein System eine Hierarchie?
Viele Systeme besitzen eine hierarchische Struktur.
System besitzt Hierarchie, wenn Elemente/ Komponenten nach Rangordnung angeordnet sind.
Elemente/Komponenten gleicher Rangordnung stehen auf der selben Stufe --> Ebene der Hierarchie.
Hierarchie ist Spezialisierung der Struktur bei der Semantik der
Relation immer die „Rangfolge“ ist.
System besitzt Hierarchie, wenn Elemente/ Komponenten nach Rangordnung angeordnet sind.
Elemente/Komponenten gleicher Rangordnung stehen auf der selben Stufe --> Ebene der Hierarchie.
Hierarchie ist Spezialisierung der Struktur bei der Semantik der
Relation immer die „Rangfolge“ ist.
02: Prinzip 5 - Modularisierung - Was ist das?
Systems ist aus Modulen aufgebaut
Ein Modul ist abgeschlossene Software, Bau oder Funktionsgruppe
Austausch und Fehlerverbesserungen laufen auf Ebene des Moduls. Das Modul ist die atomare Einheit des Systems
Module kommunizieren mit Ihrer Außenwelt über Schnittstellen.
Ein Modul ist abgeschlossene Software, Bau oder Funktionsgruppe
Austausch und Fehlerverbesserungen laufen auf Ebene des Moduls. Das Modul ist die atomare Einheit des Systems
Module kommunizieren mit Ihrer Außenwelt über Schnittstellen.
02: Prinzip 5 - Modularisierung - Welche Charakteristika hat ein Modul?
Funktionale Einheit semantisch zusammengehörender Funktionsgruppen
kontextunabhängig und abgeschlossen
Unabhängig entwickelbar, prüfbar, wartbar
Externe Bezüge über die Schnittstellen
kontextunabhängig und abgeschlossen
Unabhängig entwickelbar, prüfbar, wartbar
Externe Bezüge über die Schnittstellen
02: Prinzip 6: Das Geheimnisprinzip - Was ist das? Welche Formen gibt es?
Die Interna einer Systemkomponente bleiben für Anwender und Benutzer verborgen.
Setzt Modularisierung voraus
Überflüssige Angaben, die zur Erledigung einer Aufgabe nicht benötigt werden, dürfen auch nicht sichtbar sein
Nur die definierte Schnittstelle ist von außen sichtbar
• Liberale Form: Sichtbarkeit kann wahlweise herbeigeführt werden.
• Strenge Form: Sichtbarkeit kann nicht herbeigeführt werden
Setzt Modularisierung voraus
Überflüssige Angaben, die zur Erledigung einer Aufgabe nicht benötigt werden, dürfen auch nicht sichtbar sein
Nur die definierte Schnittstelle ist von außen sichtbar
• Liberale Form: Sichtbarkeit kann wahlweise herbeigeführt werden.
• Strenge Form: Sichtbarkeit kann nicht herbeigeführt werden
02: Prinzip 6 - Geiheimnisprinzip - Vor- und Nachteile!
Vorteile:
• Anwendung zuverlässiger, da Kommunikation nur über definierte Schnittstelle
• Keine Belastung mit unnötigen Informationen.
• Erhöhung der Daten- und System-Konsistenz.
Nachteile:
• Der Bau von Modulen muss sehr sorgfältig durchgeführt werden.
• Die Schnittstelle muss vollständig und fehlerfrei sein.
• Anwendung zuverlässiger, da Kommunikation nur über definierte Schnittstelle
• Keine Belastung mit unnötigen Informationen.
• Erhöhung der Daten- und System-Konsistenz.
Nachteile:
• Der Bau von Modulen muss sehr sorgfältig durchgeführt werden.
• Die Schnittstelle muss vollständig und fehlerfrei sein.
02: Prinzip 7 - Lokalität - Was ist das und welche bsp. gibt es?
Alle zu einem Problembereich gehörende Elemente werden zusammenhängend abgelegt.
Beispiele:
• Softwaresysteme sollten ein bestimmtes Problem mit logisch oder „räumlich“ zusammenhängenden Elementen lösen.
• Hardwarekomponenten für die Lösung einer bestimmten Aufgabe sollten räumlich oder logisch zusammenhängen
Beispiele:
• Softwaresysteme sollten ein bestimmtes Problem mit logisch oder „räumlich“ zusammenhängenden Elementen lösen.
• Hardwarekomponenten für die Lösung einer bestimmten Aufgabe sollten räumlich oder logisch zusammenhängen
02: Prinzip 8 - Verbalisierung
Fassbare und nicht fassbare Dinge mit Worten beschreiben (Name, prosaische Beschreibung etc.)
Die Wahl beeinflusst stark die weitere Verwendung
Sowohl bei Anforderungsanalyse, als auch beim Bau von Software- und Hardwaresystemen spielt die Wahl des Namens eine Rolle.
Wichtig:
• Aussagekräftige Namensgebung
• Gute Kommentare und Beschreibungen
• Im Idealfall sind die Systeme selbstdokumentierend
Die Wahl beeinflusst stark die weitere Verwendung
Sowohl bei Anforderungsanalyse, als auch beim Bau von Software- und Hardwaresystemen spielt die Wahl des Namens eine Rolle.
Wichtig:
• Aussagekräftige Namensgebung
• Gute Kommentare und Beschreibungen
• Im Idealfall sind die Systeme selbstdokumentierend
02: Prinzip 8 - Verbalisierung - Bsp. die nicht neutral beschreiben? Welche Auswirkung hat das?
Antwort
Welche Herausforderungen bringt das INMA mit sich?
Wachsende Anzahl der IT Systeme
Gap zwischen IT und Business
Wünsche und Anforderungen von CIOs
Gap zwischen IT und Business
Wünsche und Anforderungen von CIOs
Warum nimmt die Anzahl an IT Systemen in Unternehmen zu?
1. Erhöhte Lebensdauer von Daten und Systemen
2. Bestehende Systeme („Legacy“)
3. Neue Systeme („Grüne Wiese“)
4. Gesteigerte Anzahl von beteiligten Unterstrukturen und Partnern
5. Redundanzen bei bestehenden Systemen (vgl. 2. und 3.)
2. Bestehende Systeme („Legacy“)
3. Neue Systeme („Grüne Wiese“)
4. Gesteigerte Anzahl von beteiligten Unterstrukturen und Partnern
5. Redundanzen bei bestehenden Systemen (vgl. 2. und 3.)
Nenne typische Anforderungen von CIOs!
Sichere Kommunikation
Einfache weltweite Verbindung zu Unternehmensteilen und Business Partnern
Locker gekoppelte Organisation
- zusammengefasst: Zunehmende Anzahl von Systemen
Transparenz beim Übergang zwischen intern/extern
Verwendung von universalen Geschäftsprozessen
- zusammengefasst: Zunehmende Anforderung an Flexibilität
Einfache weltweite Verbindung zu Unternehmensteilen und Business Partnern
Locker gekoppelte Organisation
- zusammengefasst: Zunehmende Anzahl von Systemen
Transparenz beim Übergang zwischen intern/extern
Verwendung von universalen Geschäftsprozessen
- zusammengefasst: Zunehmende Anforderung an Flexibilität
Nenne exemplarische Integrationen.
Service-oriented Architecture
Data Replication
Shared Business Funktion
Business-to-Business Integration
Distributed Business Partner
Information Portals
Data Replication
Shared Business Funktion
Business-to-Business Integration
Distributed Business Partner
Information Portals
Wie ist ein Information Portal aufgebaut und strukturiert?
Integration heterogener Anwendungen und Services
Anreicherung durch portalbezogene Funktionalitäten (Interaktionselemente, Personalisierungen, Authentisierung (Single-Sign-On etc.), Autorisierung, Suchen, Datenaustausch
Realisierung als Client-Anwendung oder browserbasiertes Plattform („Webportal“)
Anreicherung durch portalbezogene Funktionalitäten (Interaktionselemente, Personalisierungen, Authentisierung (Single-Sign-On etc.), Autorisierung, Suchen, Datenaustausch
Realisierung als Client-Anwendung oder browserbasiertes Plattform („Webportal“)
Wie kann ein Information Portal realisiert werden? Nenne mögliche Anbieter.
Portalserver vs. individuelle Zusammenstellung
Portalserver:
Aufteilung in fachlich abgegrenzte Elemente --> Portlets
Vereinheitlichte Darstellung sowie Benutzer/Transaktions Mgmt
MS - Azure Logic Apps
IBM - Websphere
Oracle - Fusion Middleware
Portalserver:
Aufteilung in fachlich abgegrenzte Elemente --> Portlets
Vereinheitlichte Darstellung sowie Benutzer/Transaktions Mgmt
MS - Azure Logic Apps
IBM - Websphere
Oracle - Fusion Middleware
Nennen Sie konkrete Beispiele für „Information Portal“-Integrationen. Welche Herausforderungen birgt der Begriff
„Information Portal“ beim Wechsel der
Abstraktionsebene?
„Information Portal“ beim Wechsel der
Abstraktionsebene?
Antwort
Wie sieht ein Information Portal aus?
Wie sieht Data Replication aus?
Was ist Data Replication?
IT-Systeme nutzen die gleiche, jedoch nicht dieselbe Datenbasis
Redundante Ablage der gleichen Daten “in Sync”
Einsatz einer Replikationsstrategie (Data Replication)
Realisierungen abhängig von Produkten
Redundante Ablage der gleichen Daten “in Sync”
Einsatz einer Replikationsstrategie (Data Replication)
Realisierungen abhängig von Produkten
Was ist "Oracle Goldan Gate"?
Data Replication Beispiel
Eingeteilt in Capture, Trail Files und Delivery
So kann jede Komponente unabhängig arbeiten
> Data Replication > Data integrity
Eingeteilt in Capture, Trail Files und Delivery
So kann jede Komponente unabhängig arbeiten
> Data Replication > Data integrity
Wie sieht die Shared Business Funktion aus?
Was ist die Integration in der Shared Business Funktion?
IT-Systeme realisieren mehrfach gleichen Business Functions
Gleiche Funktionalitäten werden von mehreren IT-Systemen geteilt
Entweder teilen des gleichen Quellcodes oder Bereitstellen/Aufrufen einer entsprechenden Business Function.
Gleiche Funktionalitäten werden von mehreren IT-Systemen geteilt
Entweder teilen des gleichen Quellcodes oder Bereitstellen/Aufrufen einer entsprechenden Business Function.
Nennen Sie konkrete Beispiele für „Shared Business Function“-Integrationen. Welche Vorteile/Nachteile erwarten Sie bei „Data Replication“ und „Shared Business Function“
Antwort
Wie sieht Service Oriented Architecure aus?
Was ist SOA? Wie kann SOA eingesetzt werden?
Shared Business Functions = Services
Mit Zunahme an Services wird die Infrastruktur entscheidend
Services müssen verwaltet werden (Service Verzeichnis, Repository etc.).
Services müssen beschrieben werden (Service Description)
Services müssen Kommunikationsparameter aushandeln (Service Negotiation)
Die Service-oriented architecture (SOA) erüllt diese
konstruktiv (Erstellung verteilter Anwendungen)
reaktiv (Integration)
Mit Zunahme an Services wird die Infrastruktur entscheidend
Services müssen verwaltet werden (Service Verzeichnis, Repository etc.).
Services müssen beschrieben werden (Service Description)
Services müssen Kommunikationsparameter aushandeln (Service Negotiation)
Die Service-oriented architecture (SOA) erüllt diese
konstruktiv (Erstellung verteilter Anwendungen)
reaktiv (Integration)
Wie sehen Disributed Business Processes aus?
Wie funktioniert Intregration durch Distributed Business Processes?
Integrationen entlang eines Geschäftsprozesses
Einzelne Services fallen unter die Hoheit eines
übergeordneten Geschäftsprozesses
Die Grenzen zwischen reiner Integration, konstruktiven SOA-Einsatz und einem Distributed Business Process sind fließend.
Einzelne Services fallen unter die Hoheit eines
übergeordneten Geschäftsprozesses
Die Grenzen zwischen reiner Integration, konstruktiven SOA-Einsatz und einem Distributed Business Process sind fließend.
Welche Kriterien können angesetzt werden um Integration zu vergleichen?
Wie schneiden die verschiedenen Integrationsoptionen ab?
Wie schneiden die verschiedenen Integrationsoptionen ab?
Welche Lösungsansätze gibt es, um Herausforderungen zu begegnen?
Heterogenität akzeptieren
Denzentalismus fördern
Fehlertoleranz ermöglichen
Denzentalismus fördern
Fehlertoleranz ermöglichen
Was bezeichnet man in der Unternehmens-IT als „Heterogenität“?
mehrere unterschiedliche Softwaresysteme zusammenarbeiten
Was bezeichnet man in der Unternehmens-IT als „Zentralismus/Dezentralismus“?
Nennen Sie (auch mit Bezug zu Contoso)…
a) zentral organisierte Systeme
b) Probleme, die aus dem Zentralismus
resultieren können
Nennen Sie (auch mit Bezug zu Contoso)…
a) zentral organisierte Systeme
b) Probleme, die aus dem Zentralismus
resultieren können
Antwort
Was bezeichnet man in der Unternehmens-IT
als „Fehlertoleranz“?
Nennen Sie
a) Mögliche Fehlersituationen
b) Möglichkeiten der Fehlertoleranz
als „Fehlertoleranz“?
Nennen Sie
a) Mögliche Fehlersituationen
b) Möglichkeiten der Fehlertoleranz
Antwort
Welche Umsetzungidee bringt SOA mit sich?
Aufteilen der Business Functionality in abschlossene Teile --> also in Services
Services logisch oder physisch verteilen
Services logisch oder physisch verteilen
Was bringt eine spezifische Infra?
Bewältigung der großen Anzahl an Services
grundlegende Kommunikation Infra wird bereit gestellt
grundlegende Kommunikation Infra wird bereit gestellt
Was ist ein Bus?
Systeme unterhalten sich über zentrale Infra
statt ((n-1)*n)/2 Verbindungen nur n-Verbindungen
statt ((n-1)*n)/2 Verbindungen nur n-Verbindungen
Welche 3 Umsetzungideen gibt es zu SOA zusammenfassend?
1. Service als Schlüsselelemet
2. Spezifische Infra z.b. Bus
3. Regeln/Richlinien für Prozess-Stabilität
2. Spezifische Infra z.b. Bus
3. Regeln/Richlinien für Prozess-Stabilität
Definiere Service.
Abgeschlossene fachliche Funktionalität
Einfach „feingranular“
komplex „grobgranular“, SOA oder Microservices
Einfach „feingranular“
komplex „grobgranular“, SOA oder Microservices
Was sind zentrale Serverkomponenten?
i.d.R. Microservices oder Bus-Systeme
Infrastrukturen für hohe Interoperabilität
Verteilt Abwicklung von Geschäftsprozessen
Unterstützt unterschiedliche Plattformen
Infrastrukturen für hohe Interoperabilität
Verteilt Abwicklung von Geschäftsprozessen
Unterstützt unterschiedliche Plattformen
Was ist Lose Kopplung?
• Konzept zur Reduktion von Abhängigkeiten
• Die lose Kopplung bedingt wieder Komplexität
• Die lose Kopplung bedingt wieder Komplexität
Welche Herausforderung bringt eine große Service-Anzahl?
Bei 2 Systemen - Eine Verbindung
Bei 4 - 6
Bei n Systemen werden ((n-1)*n)/2 Verbindungen
Bei 4 - 6
Bei n Systemen werden ((n-1)*n)/2 Verbindungen
Was sind Aufgaben und Herausforderungen im SOA?
1. Entscheidung zur verteilte Verarbeitung
2. Erstellung von abteilungsübergreifenden Anforderungen
3. Verfassen von Richtlinien zur verteilten Verarbeitung
4. Erarbeitung der Rollen aller Beteiligten
5. Festlegen der Prozesse mit Bezug zu der verteilten Bearbeitung
6. Berücksichtigen des erhöhten Zeitaufwands
2. Erstellung von abteilungsübergreifenden Anforderungen
3. Verfassen von Richtlinien zur verteilten Verarbeitung
4. Erarbeitung der Rollen aller Beteiligten
5. Festlegen der Prozesse mit Bezug zu der verteilten Bearbeitung
6. Berücksichtigen des erhöhten Zeitaufwands
Was ist SOA?
grobgranuale Services, die sich aus Workflow zusammensetzen
reaktive Integration mit Schwerpunkt auf Orchestrierung
reaktive Integration mit Schwerpunkt auf Orchestrierung
Was ist Microservice Architektur?
feingranulare Services, die sich aus Applikationen zusammen setzen
Aktueller Ansatz
Aktueller Ansatz
Was sind Vor und Nachteile bei der Nutzung von Webservices?
Vorteile von WS
• Sie basieren weitgehend auf Standards
• Werden durch umfangreiche Werkzeuge unterstützt
Nachteile von WS
• Zunehmend auffächernde Umsetzungen
• Unaufhaltsam wachsende Anzahl von Standards
• Sie basieren weitgehend auf Standards
• Werden durch umfangreiche Werkzeuge unterstützt
Nachteile von WS
• Zunehmend auffächernde Umsetzungen
• Unaufhaltsam wachsende Anzahl von Standards
Wie kann SOA organisiert werden?
Zentralisierungs-Widersprüche auflösen
Personen mit Erfahrung in veteilten großen Systemen
Unterstützung des Top-Managements notwendig
Personen mit Erfahrung in veteilten großen Systemen
Unterstützung des Top-Managements notwendig
Was ist ein Architektur-Muster?
Muster (Pattern) auf hohen Abstraktionsebene eines Systems
Verwendung im Bereich der Softwaresysteme und IT-Architekturen
Verwendung im Bereich der Softwaresysteme und IT-Architekturen
Was ist das Service Orientierte Architektur-Muster?
Services stehen in unterschiedlichen Ausprägungen im Zentrum
Die Architekturmuster Microservices und Service Orientierte Architektur sind aktuell weit verbreitet.
Die Architekturmuster Microservices und Service Orientierte Architektur sind aktuell weit verbreitet.
Was charakterisiert die servicebasierten Architekturmuster?
Erhöhen grundsätzlich Flexibilität, ermöglichen Heterogenität
• Fachliche Anforderungen müssen erfüllt werden.
• Flexibilität ermöglicht schneller hochwertige Lösungen
Architekturmuster sind ein Paradigma
• Mischung aus Konzepten, Denkmustern und vielem mehr.
• Architekturmuster sind nicht ein Tool oder ein Werkzeug.
• SOA/Microservices per se ist nicht käuflich.
• Fachliche Anforderungen müssen erfüllt werden.
• Flexibilität ermöglicht schneller hochwertige Lösungen
Architekturmuster sind ein Paradigma
• Mischung aus Konzepten, Denkmustern und vielem mehr.
• Architekturmuster sind nicht ein Tool oder ein Werkzeug.
• SOA/Microservices per se ist nicht käuflich.
Welche Herausforderung bringt die Definition von SOA Mustern mit sich?
• Unscharfe „Service“-Begriffe
• Oft unterschiedliche fachliche Schwerpunkte
• Oft unterschiedliche Grade der Abstraktion
• Oft unterschiedliche fachliche Schwerpunkte
• Oft unterschiedliche Grade der Abstraktion
Wie sieht SOA aus?
Was ist SOA?
dienstorientierte Architektur
Architektur-Muster im Bereich verteilte Systeme
strukturiert Dienste von IT-Systeme
Architektur-Muster im Bereich verteilte Systeme
strukturiert Dienste von IT-Systeme
Was sind Mircoservices?
Architektur-Muster
Komplexe Anwendungssoftware aus kleinen unabhängigen Prozessen, die mit sprachunabhäniggen Programmierschnittstellen kommunizieren
Komplexe Anwendungssoftware aus kleinen unabhängigen Prozessen, die mit sprachunabhäniggen Programmierschnittstellen kommunizieren
Grenze SOA vs. Microservices im Bezug auf Umfang und fachliche Größe der Services ab.
Was fördert die Service Orientierung?
- Verteilte Systeme (wachsende Nachfrage an Integration, Zunahme von Veränderung)
- Unterschiedliche Eigentümer (erschwert Zentralisierung, weiche Kriterien spielen eine Rolle)
- System Heterogenität (muss akzeptiert werden, große Vereinheitlichung als paradiesischer Zustand
- Unterschiedliche Eigentümer (erschwert Zentralisierung, weiche Kriterien spielen eine Rolle)
- System Heterogenität (muss akzeptiert werden, große Vereinheitlichung als paradiesischer Zustand
Service Orientierung: Konzept#1: technische/fachliche Services - Wie erfolgt die Umsetzung?
Service ist Kern einer tech/fachl Repräsentation
1. Fokus aus fachliche Aspekte
2. Fokus folgt auf Abstraktion von techn. Details
3. Abstraktion von techn. Details schließt Business Gap
4. fachliche Struktur wird auf techn. Struktur herabgebrochen
1. Fokus aus fachliche Aspekte
2. Fokus folgt auf Abstraktion von techn. Details
3. Abstraktion von techn. Details schließt Business Gap
4. fachliche Struktur wird auf techn. Struktur herabgebrochen
Service Orientierung: Konzept#2: Konzeptionelle Interoperabilität
Verteilte Systeme benötigen technische/fachliche Verbindungen
Systemisch Verbindungen fördern die Interoperabilität
Konzeptionelle Interoperabilität ist nicht Ziel, sondern die Voraussetzung
Systemisch Verbindungen fördern die Interoperabilität
Konzeptionelle Interoperabilität ist nicht Ziel, sondern die Voraussetzung
Service Orientierung: Konzept#3: Lose Kopplung
Minimierung von Abhängigkeiten unter den beteiligten Systemen
Je geringer die Abhängigkeit:
• desto flexibler
• desto fehlertoleranter
Lose Kopplung für zur Skalierbarkeit da:
• Keine starre Bindung an ein System
• Lose Kopplung fördert Dezentralisierung
• Dezentralisierung fördert Skalierbarkeit
Je geringer die Abhängigkeit:
• desto flexibler
• desto fehlertoleranter
Lose Kopplung für zur Skalierbarkeit da:
• Keine starre Bindung an ein System
• Lose Kopplung fördert Dezentralisierung
• Dezentralisierung fördert Skalierbarkeit
Welche tragende Konzepte gibt es bei der Konzeption von Services?
1. technische/fachliche Services
- technisch/fachliche Abstraktion im Zentrum
2. Konzeptionelle Interoperabilität
- Systeme verteilt - Kommunikation im Zentrum
3. Lose Kopplung
- da Flexibilität gefordert
- technisch/fachliche Abstraktion im Zentrum
2. Konzeptionelle Interoperabilität
- Systeme verteilt - Kommunikation im Zentrum
3. Lose Kopplung
- da Flexibilität gefordert
Elemente der Service Orientierung: Infrastruktur
ermöglicht:
Interoperabilität
Service Aufrufe zwischen heterogenen Systemen
Datentransformation
Sichere Aufrufe
Verwaltung von Services
bei SOA: Enterprise Service Bus
bei Mircoervices: Microservice Stack
Interoperabilität
Service Aufrufe zwischen heterogenen Systemen
Datentransformation
Sichere Aufrufe
Verwaltung von Services
bei SOA: Enterprise Service Bus
bei Mircoervices: Microservice Stack
Elemente der Service Orientierung: Architektur
Eine Architektur macht aus unüberschaubar vielen Möglichkeiten konkrete Umsetzungen.
Architekturen stimmen einzelnen Konzepte, Tools und Standards ab.
ZB:
• Klassifizierung von Services
• Festlegung von zugelassenen Datentypen
• Rollen und Verantwortlichkeiten
Architekturen stimmen einzelnen Konzepte, Tools und Standards ab.
ZB:
• Klassifizierung von Services
• Festlegung von zugelassenen Datentypen
• Rollen und Verantwortlichkeiten
Elemente der Service-Orientierung: Prozesse
Business Process Modeling (BPM)
• Geschäftsprozesse in Aktivitäten/Aufgaben aufteilen
• Services mit Aufgaben/Aktivitäten assoziieren
Application Lifecycle Management (ALM)
• Zustände, die ein Service in seinem „Leben“ durchläuft
Modellgetriebene Software Entwicklung (MDA)
• Sinngebende Nutzung existierender Services
• Konkretisierende Erstellung neuer Services
• Geschäftsprozesse in Aktivitäten/Aufgaben aufteilen
• Services mit Aufgaben/Aktivitäten assoziieren
Application Lifecycle Management (ALM)
• Zustände, die ein Service in seinem „Leben“ durchläuft
Modellgetriebene Software Entwicklung (MDA)
• Sinngebende Nutzung existierender Services
• Konkretisierende Erstellung neuer Services
Elemente der Service-Orientierung: Governance
Sicherstellen, dass alle Prozesse auf die richtige Art und Weise durchgeführt werden
Zentrale Teams mit verschiedensten Aufgaben
• Infrastruktur
• Architektur
• Prozesse
Unterstützung des Managements notwendig
• Benötigt Zeit, Ressourcen und Mut
Zentrale Teams mit verschiedensten Aufgaben
• Infrastruktur
• Architektur
• Prozesse
Unterstützung des Managements notwendig
• Benötigt Zeit, Ressourcen und Mut
Welche Elemente benötigt eine Service-Orientierung?
Infrastrukturen
Architektur
…denn: Die Architektur ist das Rückgrat.
Prozesse
…denn: Prozesse regeln, wer wann für was zuständig ist.
Governance
…denn: Prozesse müssen gesteuert werden.
Architektur
…denn: Die Architektur ist das Rückgrat.
Prozesse
…denn: Prozesse regeln, wer wann für was zuständig ist.
Governance
…denn: Prozesse müssen gesteuert werden.
Was fördert vs. Konzepte vs. Elemente - Wie sieht eine Zusammenfassung aus?
Welche kritischen Ansätze gibt es in der Service Orientierung?
Zeitliche Entwicklung:
- alle Hypes vergehen
- Gefahr der Überbewertung
- hilft nicht bei: Anbindung Front-End, datenbankzentrierte Operation
Technologie ersetzt kein Konzept:
- Architektur-Muster bleibt ein Paradigma
- viele Realisierungen sind denkbar
- Web-Service nur EIN Weg zur Interoperabilität und können auch in anderen Bereichen eingesetzt werden
- alle Hypes vergehen
- Gefahr der Überbewertung
- hilft nicht bei: Anbindung Front-End, datenbankzentrierte Operation
Technologie ersetzt kein Konzept:
- Architektur-Muster bleibt ein Paradigma
- viele Realisierungen sind denkbar
- Web-Service nur EIN Weg zur Interoperabilität und können auch in anderen Bereichen eingesetzt werden
Was ist eine Entität?
Tatsächliches oder abstraktes Element der fachlichen Betrachtung.
Was ist das Backend?
Verarbeitendes System im „technischen oder fachlichen Hintergrund“.
kein direkter Kontakt zwischen Nutzer und Backend
kein direkter Kontakt zwischen Nutzer und Backend
Wie ist ein Service definiert und warum ist diese Definition nur schwer zu treffen?
Viele unterschiedliche Definitionen, viele Kriterien für Definition
„Ein Service ist
eine IT-Repräsentation von fachlicher Funktionalität
wird durch eine (wohldefinierte) Schnittstelle beschrieben.
soll außerdem in sich abgeschlossen sein und autark für sich selbst stehen“
„Ein Service ist
eine IT-Repräsentation von fachlicher Funktionalität
wird durch eine (wohldefinierte) Schnittstelle beschrieben.
soll außerdem in sich abgeschlossen sein und autark für sich selbst stehen“
Was sind Aufgaben von Schnittstellen und wo lieft der Unterschied zwischen technischer/sematischer Schnittstelle?
Aufgaben
• Liefert Informationen
• Verändert Zustände einer Entität
Technische Schnittstelle: Beschreibung aller technischen Aspekte
Semantische Schnittstelle: Beschreibt inhaltliche/fachliche Aspekte
• Liefert Informationen
• Verändert Zustände einer Entität
Technische Schnittstelle: Beschreibung aller technischen Aspekte
Semantische Schnittstelle: Beschreibt inhaltliche/fachliche Aspekte
Wie ist das Vorgehen bei der Erstellung von Schnittstellen - Schritt 1 von 3?
1. Sematik und Signatur
Festlegung von Semantik + Begriffswelt
• Begriffe und Begriffswelt festlegen (vgl. Verbalisierung)
• Semantik der späteren technischen Signaturen festlegen
2. Festlegung der Signaturen technischer Schnittstellen
• Input/Output-Parameter, Mögliches Fehlerhandling
Festlegung von Semantik + Begriffswelt
• Begriffe und Begriffswelt festlegen (vgl. Verbalisierung)
• Semantik der späteren technischen Signaturen festlegen
2. Festlegung der Signaturen technischer Schnittstellen
• Input/Output-Parameter, Mögliches Fehlerhandling
Wie ist das Vorgehen bei der Erstellung von Schnittstellen - Schritt 2 von 3?
1. Festlegung nicht-funktionaler Eigenschaften
• Mitbestimmend für Service-Qualität (QoS)
• Basis für Service-Level-Agreements (SLA)
• Aspekte der Nutzung (Anzahl der Aufrufe, Zeitverhalten,
Verfügbarkeit)
Beispiel:
• Aufruf eines bestimmten Service rund 80.000 mal pro Tag
• Erhöhte Abfrage zwischen 5:00 am und 7:00 am
• Mitbestimmend für Service-Qualität (QoS)
• Basis für Service-Level-Agreements (SLA)
• Aspekte der Nutzung (Anzahl der Aufrufe, Zeitverhalten,
Verfügbarkeit)
Beispiel:
• Aufruf eines bestimmten Service rund 80.000 mal pro Tag
• Erhöhte Abfrage zwischen 5:00 am und 7:00 am
Wie ist das Vorgehen bei der Erstellung von Schnittstellen - Schritt 3 von 3?
1. Abschließende, möglichst vollständige Spezifikation der Services
• Oft nutzerspezifisch
• Wohldefinierte, technische und fachliche Schnittstelle
• Beschreibung der nicht funktionalen Eigenschaften
2. Positionieren der Festlegungen in Verträgen
• Oft nutzerspezifisch
• Wohldefinierte, technische und fachliche Schnittstelle
• Beschreibung der nicht funktionalen Eigenschaften
2. Positionieren der Festlegungen in Verträgen
Welche Eigenschaften haben Services?
1. Abgeschlossenheit
2. Grobgranularität
3. Sichtbarkeit und Auffindbarkeit
4. Idempotenz
5. Wiederverwendbarkeit
6. Komponierbarkeit
7. Plattform- und Herstellerneutralität
2. Grobgranularität
3. Sichtbarkeit und Auffindbarkeit
4. Idempotenz
5. Wiederverwendbarkeit
6. Komponierbarkeit
7. Plattform- und Herstellerneutralität
Was beschreibt die Eigenschaft "Abgeschlossenheit" eines Services?
„Service A soll stets ohne Service B nutzbar sein“
Verschiedene Begrifflichkeiten: unabhängig, autonom, autark, self-contained
Abgeschlossenheit bedeutet daher nicht, dass es keine von Services gemeinsam genutzte Elemente/Strukturen geben darf
Verschiedene Begrifflichkeiten: unabhängig, autonom, autark, self-contained
Abgeschlossenheit bedeutet daher nicht, dass es keine von Services gemeinsam genutzte Elemente/Strukturen geben darf
Was beschreibt die Eigenschaft "Grobgranularität" eines Services?
Hohe Abstraktion: wenig Implementierungsdetails Preis geben.
Verteilte Objekt sind feingranular, Services meist grobgranular!
• längere Ausführungszeit (alle Daten werden geholt)
• verhindert Objekt-Sicht und fördert Service-Sicht
• Drawback: Grobgranulare Service sind oft nicht wiederzuverwenden, Feingranulare „wirken“ oft nur so, als könne man sie wiederverwenden.
Verteilte Objekt sind feingranular, Services meist grobgranular!
• längere Ausführungszeit (alle Daten werden geholt)
• verhindert Objekt-Sicht und fördert Service-Sicht
• Drawback: Grobgranulare Service sind oft nicht wiederzuverwenden, Feingranulare „wirken“ oft nur so, als könne man sie wiederverwenden.
Was beschreibt die Eigenschaft "Sichtbarkeit und Auffindbarkeit" eines Services?
Services müssen auffindbar sein
Services müssen durch auffindbare Beschreibungen nutzbar sein
Im Idealfall
• Technik-unabhängige Beschreibung
• Zentrales Repository
• Saubere Verwaltung von Services
Services müssen durch auffindbare Beschreibungen nutzbar sein
Im Idealfall
• Technik-unabhängige Beschreibung
• Zentrales Repository
• Saubere Verwaltung von Services
Was beschreibt die Eigenschaft "Idempotenz" eines Services?
Robust gegen unzuverlässige Infrastrukturen
• Rückmeldungen können verloren gehen, nicht versendet.
Robust gegen einen erneuten Aufruf sein
• Einfach: Zweimaliges „Hinzufügen eines Mitarbeiters“ zu einer Abteilung
• Aber wie realisiert man: „Zweimaliges Abbuchen verhindern“ ?
• Rückmeldungen können verloren gehen, nicht versendet.
Robust gegen einen erneuten Aufruf sein
• Einfach: Zweimaliges „Hinzufügen eines Mitarbeiters“ zu einer Abteilung
• Aber wie realisiert man: „Zweimaliges Abbuchen verhindern“ ?
Was beschreibt die Eigenschaft "Wiederverwendbarkeit" eines Services? Was sind Vor-und Nachteile?
Services sollen grundsätzlich wiederverwendbar sein
Nachteil: Wiederverwendbarkeit senkt Redundanzen
Vorteil: Redundanzen erhöhen meist die Performance
Nachteil: Wiederverwendbarkeit senkt Redundanzen
Vorteil: Redundanzen erhöhen meist die Performance
Was beschreibt die Eigenschaft "Komponierbarkeit" eines Services?
Komposition
• Services können aus Services zusammengesetzt werden
• Services können Geschäftsprozesse bilden
Dekomposition
• Geschäftsprozesse können in Services zerlegt werden
• Aus einem großen Services können mehrere kleine Services werden
• Services können aus Services zusammengesetzt werden
• Services können Geschäftsprozesse bilden
Dekomposition
• Geschäftsprozesse können in Services zerlegt werden
• Aus einem großen Services können mehrere kleine Services werden
Was beschreibt die Eigenschaft "Plattform und Herstellerneutralität" eines Services?
Die Infrastruktur von mehreren Herstellern muss erwartet werden
Die Nachteile eines „Vendor Lock-in“ kann die Vorteile der Services aufheben.
Wenn möglich keine Nutzung von „herstellerspezifischen Features“
Keine Geschäftsprozessmodellierung mit herstellerabhängigen
Modellierungsverfahren.
Die Nachteile eines „Vendor Lock-in“ kann die Vorteile der Services aufheben.
Wenn möglich keine Nutzung von „herstellerspezifischen Features“
Keine Geschäftsprozessmodellierung mit herstellerabhängigen
Modellierungsverfahren.
Was ist die Motivation zur losen Kopplung?
Eine hohe Komplexität (durch viele Verbindungen) erhöht die Wahrscheinlichkeit eines Fehlers
Wunsch nach Reduktion der Auswirkungen von Fehlern.
Lose Kopplung erlaubt schnellen Austausch technischer und fachlicher Komponenten; reduziert das Überspringen von Fehlern
Wunsch nach Reduktion der Auswirkungen von Fehlern.
Lose Kopplung erlaubt schnellen Austausch technischer und fachlicher Komponenten; reduziert das Überspringen von Fehlern
Wie können enge und lose Kopplung verglichen werden?
Wie können sich Anbieter und Nutzer verbinden?
Punkt-zu-Punkt
physikalische Adresse ist bekannt, chwierigkeiten bei Ausfall, Umzug, Load-Balancing, Failover
Broker und Vermittler
Broker: Auffinden des Service vor jeder Nutzung, Punkt-zu-Punkt-Verbindung (z.B. DNS)
Vermittler: Jeder Service wird über einen Vermittler aufgerufen (z.B. Middleware, ESB).
Load Balancing (Lastverteilung)
Last: Aufwand für IT-Komponenten:
Aufteilung aufkommender Last auf bearbeitende Einheiten
Failover (Ausfallsicherung)
Fail: Unerwartetes auftreten Fehlers
Technischer Vorkehrung zur Lastübernahme im Fall eines Fails
physikalische Adresse ist bekannt, chwierigkeiten bei Ausfall, Umzug, Load-Balancing, Failover
Broker und Vermittler
Broker: Auffinden des Service vor jeder Nutzung, Punkt-zu-Punkt-Verbindung (z.B. DNS)
Vermittler: Jeder Service wird über einen Vermittler aufgerufen (z.B. Middleware, ESB).
Load Balancing (Lastverteilung)
Last: Aufwand für IT-Komponenten:
Aufteilung aufkommender Last auf bearbeitende Einheiten
Failover (Ausfallsicherung)
Fail: Unerwartetes auftreten Fehlers
Technischer Vorkehrung zur Lastübernahme im Fall eines Fails
Wie funktioniert asynchrones Arbeiten? Welche Beispiele gibt es? Was sind Vor-und Nachteile?
Keine abgestimmte Synchronisation erforderlich
Hohe Komplexität durch Abbildung der Anwort auf die Anfrage
Simple Queued Web Service
Single Request Queue
Request/Response Queue
Vorteil
• Systeme müssen nicht gleichzeitig Online sein
• Ausfall blockiert nicht den Aufrufer
• Kein aktives Warten auf Antwort eines Systems
• Aufspaltung des fachlichen Prozesses möglich
Nachteil
• aufwändige Steuerung der Kommunikation
• Herausforderungen bei fachlich notwendigen Synchronisationen
Hohe Komplexität durch Abbildung der Anwort auf die Anfrage
Simple Queued Web Service
Single Request Queue
Request/Response Queue
Vorteil
• Systeme müssen nicht gleichzeitig Online sein
• Ausfall blockiert nicht den Aufrufer
• Kein aktives Warten auf Antwort eines Systems
• Aufspaltung des fachlichen Prozesses möglich
Nachteil
• aufwändige Steuerung der Kommunikation
• Herausforderungen bei fachlich notwendigen Synchronisationen
Was ist ein Datentyp? Was sind Beispiele?
Datentypen
• Wertebereich von Variablen, Feldern in Datenbanktabellen
• Bestimmen ob und wie bestimmte Daten vorgehalten werden können
Beispiele
• Datentypen ganzer Zahlen („Ganzzahl“), wie „Integer“.
• Datentypen von Text, wie „String“ oder „Text“. „Wie lange darf ein Text maximal sein?“, „Welche Sonderzeichen sind erlaubt?“
• Wertebereich von Variablen, Feldern in Datenbanktabellen
• Bestimmen ob und wie bestimmte Daten vorgehalten werden können
Beispiele
• Datentypen ganzer Zahlen („Ganzzahl“), wie „Integer“.
• Datentypen von Text, wie „String“ oder „Text“. „Wie lange darf ein Text maximal sein?“, „Welche Sonderzeichen sind erlaubt?“
Was ist das Problem bei der Harmonisierung des BOMs? Was ist deswegen besser?
„einheitliches“ Business Object Model (BOM)
Große Aufwände beim Einigen auf Datentypen
Gefahr der „Analyse-Starre“
Besser: heterogene Datentypen Mapping:
Abbilden von nicht harmonisierten Datentypen verteilter Systeme
Service-Anbieter definieren Datentypen
Datentypen sind Bestandteil der Schnittstelle/Verträge
• Dennoch: Einigung auf fundamentale Datentypen notwendig
Große Aufwände beim Einigen auf Datentypen
Gefahr der „Analyse-Starre“
Besser: heterogene Datentypen Mapping:
Abbilden von nicht harmonisierten Datentypen verteilter Systeme
Service-Anbieter definieren Datentypen
Datentypen sind Bestandteil der Schnittstelle/Verträge
• Dennoch: Einigung auf fundamentale Datentypen notwendig
Was sind Vor-und Nachteile von heterogenen Daten?
Vorteil
• Modifikationen sind lokal; betreffen nur Service-Anbieter/Nutzer
• Keine langwierigen Abstimmungen
• Kein Zentralismus bei der Datentypen
Nachteil
• Entstehender Mapping-Aufwand
• Mapping benötigt oft weitere Services
• Modifikationen sind lokal; betreffen nur Service-Anbieter/Nutzer
• Keine langwierigen Abstimmungen
• Kein Zentralismus bei der Datentypen
Nachteil
• Entstehender Mapping-Aufwand
• Mapping benötigt oft weitere Services
Was ist Typisierung?
Stärke
• Starke Typisierung – strenge Typprüfung
• Schwache Typisierung– lockere Typprüfung
Zeitpunkt
• Ja: Statische Typisierung
• Nein: Dynamische Typisierung
• Starke Typisierung – strenge Typprüfung
• Schwache Typisierung– lockere Typprüfung
Zeitpunkt
• Ja: Statische Typisierung
• Nein: Dynamische Typisierung
Warum sollten keine Plattformspezifika verwendet werden?
„Vendor-Lock-In“ vs Zeit/Budget-Gewinn zur Gefahr des „Vendor-Lock-In“
- wltweit etablierte Standards sollten genutzt werden
- wltweit etablierte Standards sollten genutzt werden
Was ist eine Tansaktion?
Ketten von Operationen müssen „ganz oder gar nicht“ ausgeführt werden
Kette wird bei einem Abbruch „zurückgerollt“ (Rollback).
• hat definierten Anfang.
• kann erfolgreich beendet („Commit“) werden; Alle Auswirkungen werden dann dauerhaft („persistiert“).
• Transaktionen können abgebrochen werden; Alle Auswirkungen seit ihrem Start werden entfernt („Rollback“)
Kette wird bei einem Abbruch „zurückgerollt“ (Rollback).
• hat definierten Anfang.
• kann erfolgreich beendet („Commit“) werden; Alle Auswirkungen werden dann dauerhaft („persistiert“).
• Transaktionen können abgebrochen werden; Alle Auswirkungen seit ihrem Start werden entfernt („Rollback“)
Was sind systemtechnische Transaktionen und welche Eigenschaften haben diese?
Transaktionen werden durch technische Systeme auf niedriger Abstraktion (Datenbanken etc.) sichergestellt.
Eigenschaften
• plattformspezifisch
• durch Two-Phase-Commit-Protokolle (2PC)
• Nicht alle Systeme unterstützen alle konkreten 2PC-Ausprägungen.
Eigenschaften
• plattformspezifisch
• durch Two-Phase-Commit-Protokolle (2PC)
• Nicht alle Systeme unterstützen alle konkreten 2PC-Ausprägungen.
Wie funktioniert Two Phase Commit?
Was ist Kompensation? Wie wird vorgegangen?
„Bestandteil des Geschäftsprozess“ verstanden
kann verteilt ablaufen und lang laufende Prozesse unterstützen.
Vorgehen
• A und B führen die Funktionen aus
• Im Fehlerfalle: Ausführen der „kompensierenden Funktionen“ durch A und/oder B
kann verteilt ablaufen und lang laufende Prozesse unterstützen.
Vorgehen
• A und B führen die Funktionen aus
• Im Fehlerfalle: Ausführen der „kompensierenden Funktionen“ durch A und/oder B
Was sind Vor-und Nachteile wenn die Kompensation vor die Transaktion gestellt wird?
Vorteile
• Keine Abhängigkeit von plattformabhängigen Protokollen
• Saubere Modellierung fachlicher Kompensationen
Nachteile
• Mehr Aufwand - neben einer Funktion auch deren kompensierende Funktion
• Keine Abhängigkeit von plattformabhängigen Protokollen
• Saubere Modellierung fachlicher Kompensationen
Nachteile
• Mehr Aufwand - neben einer Funktion auch deren kompensierende Funktion
Was ist ein Enterprise Service Bus?
Softwareprodukt, das Integration von verteilter Deinste unterstützt
Infrastruktur, die für Integration von Diensten aufegbaut wird
Architekturstil der Integration um Kommunikation weg von Punkt-zu-Punkt hin zu Bus ermöglicht
Infrastruktur, die für Integration von Diensten aufegbaut wird
Architekturstil der Integration um Kommunikation weg von Punkt-zu-Punkt hin zu Bus ermöglicht
Was sind typische Aufgaben eines ESBs?
1. Interoperabilität und Konnektivität
2. Daten-Transformation
3. Daten und Pakete routen
4. Sicherheit durch sichere Verbindungen
5. Zuverlässigkeit
6. Management von Services
7. Protokollierung und Überwachung
2. Daten-Transformation
3. Daten und Pakete routen
4. Sicherheit durch sichere Verbindungen
5. Zuverlässigkeit
6. Management von Services
7. Protokollierung und Überwachung
Wie sind Punkt-zu-Punkt Verbindungen ausgebaut und was sind Vor-und Nachteile?
Vorteile
• Keine Konfiguration und Planung von Vermittlung/Broker
Nachteile
• Keine lose Kopplung
• Probleme beim Ausfall des Kommunikationspartners, bei Adressänderungen des Kommunikationspartners
Wie ist die Vermittlung aufgebaut? Was sind Vor- und Nachteile?
Vorteile
• Genaue Adresse muss nicht bekannt sein
• Optimierungen möglich (Load-Balancing, Fail-Over)
Nachteile
• Höherer Aufwand bei der Realisierung
• Laufzeiteinbußen
Wie sieht ein protokollgetriebenes ESB aus?
Wie sieht ein API-getriebener ESB aus?
Wie kann eine Verbindung zwischen Protokoll und API-getriebenem ESB aussehen?
Was ist Intelligentes Routing?
Stufe 1
• Technisch orientierte Paket-Verteilung
• Load-Balancing oder Fail-Over-Strategien
Stufe 2
• Fachlich-statisch orientiertes Routing (Standorte etc.)
• Fachlich-dynamisch orientiertes Routing (Berücksichtigt Inhalte/Payload, Content-Based-Routing)
• Technisch orientierte Paket-Verteilung
• Load-Balancing oder Fail-Over-Strategien
Stufe 2
• Fachlich-statisch orientiertes Routing (Standorte etc.)
• Fachlich-dynamisch orientiertes Routing (Berücksichtigt Inhalte/Payload, Content-Based-Routing)
Was ist Zuverlässigkeit und Garantien?
• Zuverlässigkeit senkt Performance (und vice versa)
• Zuverlässigkeit kann Komplexität sein
Übliche Garantien
• „at most once“ - Es wird einmal versucht eine Nachricht zuzustellen (HTTP)
• at least once - Die Nachricht wird mindestens einmal zugestellt
• „once an only once!“ - Nachricht wird genau einmal zugestellt
• Zuverlässigkeit kann Komplexität sein
Übliche Garantien
• „at most once“ - Es wird einmal versucht eine Nachricht zuzustellen (HTTP)
• at least once - Die Nachricht wird mindestens einmal zugestellt
• „once an only once!“ - Nachricht wird genau einmal zugestellt
Was ist Business-Activity Monitoring
Überwachung fachlicher Aktivitäten
Analyse fachlicher Sachverhalte auf technischer Realisierungen
Herausforderungen
• Etwa gleiches Abstraktionsniveau auf allen Ebenen
• Rechtliche Fragestellungen
• Werkzeuge und Methoden der Auswertung
Analyse fachlicher Sachverhalte auf technischer Realisierungen
Herausforderungen
• Etwa gleiches Abstraktionsniveau auf allen Ebenen
• Rechtliche Fragestellungen
• Werkzeuge und Methoden der Auswertung
Wie können Services klassifiziert werden?
Basis-Services in der Schicht „fundamentale SOA“
Composed-Services in der Schicht „föderierte SOA“
Prozess-Services in der Schicht „prozessfähige SOA“
Composed-Services in der Schicht „föderierte SOA“
Prozess-Services in der Schicht „prozessfähige SOA“
Welche Basis Services gibt es? Was sind Aufgaben und Anforderungen?
Daten-Services:
• Lesen und Schreiben von Daten
• Minimale fachliche Schnittstelle zu Daten
• Typischer Weise ein Backend im Zugriff
• ACID (Atomicity, Consistency, Isolation, Durability)
Logik- Services:
• Repräsentieren Geschäftsregeln
• Liefern Ergebnisse auf Anfragen
• Typischer Weise ein Backend im Zugriff
• BSP: Eingabe Prüfungen, Datums Berechnungen
• Lesen und Schreiben von Daten
• Minimale fachliche Schnittstelle zu Daten
• Typischer Weise ein Backend im Zugriff
• ACID (Atomicity, Consistency, Isolation, Durability)
Logik- Services:
• Repräsentieren Geschäftsregeln
• Liefern Ergebnisse auf Anfragen
• Typischer Weise ein Backend im Zugriff
• BSP: Eingabe Prüfungen, Datums Berechnungen
Wie sieht die fundamentale SOA im Überblick aus?
Was sind Composed-Services? Was sind Aufgaben und Herausforderungen?
Aufgaben
• Werden aus Basis-Services oder weiteren Composed-Services zusammengesetzt (Orchestrierung)
• Kurzlaufend
Herausforderungen
• Zustandslos
• Greifen auf mehrere Backends zu
• Etablieren meist Kompensations-basierte ACID-Steuerung
• Werden aus Basis-Services oder weiteren Composed-Services zusammengesetzt (Orchestrierung)
• Kurzlaufend
Herausforderungen
• Zustandslos
• Greifen auf mehrere Backends zu
• Etablieren meist Kompensations-basierte ACID-Steuerung
Wie sieht die föderierte SOA im Überblick aus?
Was sind Prozess-Services? Welche Aufgaben haben sie und welche Herausforderungen?
Aufgaben
• Repräsentieren ganze „Workflows“ und „Geschäftsprozesse“
• Langlaufende Folge von Aktivitäten
• Unterbrechungen sind möglich
Herausforderungen
• Zustand über mehrere Service-Aufrufe
• Zustandsverwaltung
• Wechsel von Clients
• Failover
• Repräsentieren ganze „Workflows“ und „Geschäftsprozesse“
• Langlaufende Folge von Aktivitäten
• Unterbrechungen sind möglich
Herausforderungen
• Zustand über mehrere Service-Aufrufe
• Zustandsverwaltung
• Wechsel von Clients
• Failover
Wie sieht die Prozessfähige SOA im Überblick aus?
Was ist Geschäftsprozessmanagement?
beschäftigt sich mit Identifikation, Gestaltung, Doku, Implementierung und Steuerung von GPs
ad´ressieren: technische Fragestellungen, organisatiórische Aspekte und strategische Ausrichtung
ad´ressieren: technische Fragestellungen, organisatiórische Aspekte und strategische Ausrichtung
Was sind GPs vs. Workflows?
Geschäftsprozess (hohe Abstraktion)
• Beschreib, was fachlich geschieht
• Berücksichtigt Vor- und Nachbedingungen, manuelle Aktivitäten, jede Art von Ressourcen
Workflow (niedrige Abstraktion)
• Beschreibt, wie und auf welche Weise ein Ergebnis erzielt wird
• Konzentration auf Details, Meist an Technologie orientiert
• Beschreib, was fachlich geschieht
• Berücksichtigt Vor- und Nachbedingungen, manuelle Aktivitäten, jede Art von Ressourcen
Workflow (niedrige Abstraktion)
• Beschreibt, wie und auf welche Weise ein Ergebnis erzielt wird
• Konzentration auf Details, Meist an Technologie orientiert
Wie können Geschäftsprozesse gestaltet werden? Welche Hierachien gibt es?
Top-Down (Dekomposition)
• Elemente in immer feinere Elemente zerlegen
Bottom-Up (Komposition)
• Elemente zu immer höher Elementen zusammenfügen.
• Elemente in immer feinere Elemente zerlegen
Bottom-Up (Komposition)
• Elemente zu immer höher Elementen zusammenfügen.
Welche Stadien gibt es bei der einführung von IT-Lösungen?
1. Klären der grundsätzlichen Ausrichtung
2. High-Level-Design und Solution-Design
3. Zusammenführung
2. High-Level-Design und Solution-Design
3. Zusammenführung
Welche Fragen gibt es bei der grundsätzlichen Ausrichtung?
• Was soll manuell - was mit IT-Unterstützung realisiert werden?
• Welche Aktivitäten werden von wem durchgeführt?
• Wie wird eine Dekomposition vorgenommen?
Welche Fragen gibt es beim High-Level Design / Solution Design?
• Wann werden aus „Sub-Prozessen“ „Services“?
• Wo beginnen „Aktivitäten“?“
• Welche Service-Klassen werden eingesetzt?
Wie werden Sichten und Perspektiven zusammengeführt werden?
Was ist BPEL? Wo wird es eingesetzt?
Business Process Execution Language (BPEL)
• XML basierte Sprache
Beschreibt Services und Abläufe
• Services aufrufen
• Variablen/Transformations-Handling
• Fehlerhandling
• XML basierte Sprache
Beschreibt Services und Abläufe
• Services aufrufen
• Variablen/Transformations-Handling
• Fehlerhandling
Was ist BPMN?
Business Process Model and Notation (BPMN)
• Schwerpunkt auf der Darstellung von Geschäftsprozessen
• Wechselseitige Abhängigkeit zu BPEL
• Schwerpunkt auf der Darstellung von Geschäftsprozessen
• Wechselseitige Abhängigkeit zu BPEL
Was ist ein Web-Service?
ermöglicht Maschine-zu-Maschine Kommunikation
läuft aus Basis von HTTP (S)
besitzt Uniform Resource Identifier - eindeutig identifizierbar
besitzt Schnittstellenbeschreibung
läuft aus Basis von HTTP (S)
besitzt Uniform Resource Identifier - eindeutig identifizierbar
besitzt Schnittstellenbeschreibung
Was sind Anforderungen und Leistungen an Web -Services?
• Skalierbarkeit
• Fehler-Toleranz
• Selbstheilend (in Maßen)
• Sicherheit (in Maßen)
• Lose Kopplung
• Fehler-Toleranz
• Selbstheilend (in Maßen)
• Sicherheit (in Maßen)
• Lose Kopplung
Welche Technologien von Webservices gibt es? Welche Aufgaben hat die jeweilige Technologie?
Was sind Web-Services und welche gibt es?
Web Services sind „Methoden“, „Prozeduren oder „Funktionen“ im Web, die einespezifischen Aufgabe erfüllen.
SOAP
• komplexe, nachrichtenbasierte Realisierung von Webservices
REST (Representational State Transfer)
• Leichtgewichtige, an HTTP orientierte Realisierung; Konzentration auf zustandslose Zugriffe.
SOAP
• komplexe, nachrichtenbasierte Realisierung von Webservices
REST (Representational State Transfer)
• Leichtgewichtige, an HTTP orientierte Realisierung; Konzentration auf zustandslose Zugriffe.
Wie ist der klassische Web Service Stack aufgebaut?
Publication & Discorvery: UDDI
seit ca. 2005 keine Unterstützung mehr
Universal Description, Discovery and Integration
Service Description: WSDL
Web Service Description Language
Messaging: SOAP
Simple Object Access Protocol
Transport: HTTP
Hypertext Transfer Protocol
seit ca. 2005 keine Unterstützung mehr
Universal Description, Discovery and Integration
Service Description: WSDL
Web Service Description Language
Messaging: SOAP
Simple Object Access Protocol
Transport: HTTP
Hypertext Transfer Protocol
Wie sieht der Web Service Lebenszyklus aus?
Wie werden Services als Web Services angeboten?
Was sind Application Server, SOAP Server, HTTP Service und der Client beim anbieten von Services im Web?
Application Server
• Stellt Business-Logic bereit
• Implementierungen in Java oder in .NET (C#)
SOAP Server
• Implementiert und realisiert das SOAP-Protokoll
HTTP Server
• Standardaufgaben eines Web-Servers
• Zugang zum SOAP-Server
Client
• Implementiert das SOAP-Protokoll auf der Client-Seite
• Stellt Business-Logic bereit
• Implementierungen in Java oder in .NET (C#)
SOAP Server
• Implementiert und realisiert das SOAP-Protokoll
HTTP Server
• Standardaufgaben eines Web-Servers
• Zugang zum SOAP-Server
Client
• Implementiert das SOAP-Protokoll auf der Client-Seite
Was ist REST?
Paradigma, das sich auf den Umgang mit dem Abrufen und Verändern von Informationen bezieht.
• überträgt „das Verhalten“ von HTTP auf Webservices
• zustandslose Aufrufe werden abgesetzt
• Die „Methoden“ von HTTP (POST, GET, POST etc.) werden verwendet
• Die Antworten können in dem angeforderten Format erfolgen
• überträgt „das Verhalten“ von HTTP auf Webservices
• zustandslose Aufrufe werden abgesetzt
• Die „Methoden“ von HTTP (POST, GET, POST etc.) werden verwendet
• Die Antworten können in dem angeforderten Format erfolgen
Was ist SOAP? Aus was besteht es?
Lightweight messaging framework basierend auf XML
SOAP Besteht aus:
• Envelope: Definiert die Gesamtstruktur
• Encoding rules: Legt fest, wie Daten verschlüsselt werden
• SOAP RPC: Repräsentiert einen Remote Procedure Calls
• Binding framework: Bindet Protokolle wie HTTP und SMTP
• Fehler Behandlung
SOAP Besteht aus:
• Envelope: Definiert die Gesamtstruktur
• Encoding rules: Legt fest, wie Daten verschlüsselt werden
• SOAP RPC: Repräsentiert einen Remote Procedure Calls
• Binding framework: Bindet Protokolle wie HTTP und SMTP
• Fehler Behandlung
Was unterstützt SOAP?
SOAP unterstützt erweiterte Nachrichtenbehandlung:
• forwarding intermediaries: Routen von Nachrichten
• active intermediaries: Modifikationen von Nachrichten beim Routen
• forwarding intermediaries: Routen von Nachrichten
• active intermediaries: Modifikationen von Nachrichten beim Routen
Wie ist eine SOAP Nachricht aufgebaut?
• Envelope: Top element der XML-Struktur (benötigt)
• Header: Generelle Informationen wie Security etc.
• Body: Ausgetauschte Daten
Header
• Anwendungs-spezifische Daten
Body
• Anwendungs-spezifische Daten
• Verarbeitung ausschliesslich durch den Empfänger
• Header: Generelle Informationen wie Security etc.
• Body: Ausgetauschte Daten
Header
• Anwendungs-spezifische Daten
Body
• Anwendungs-spezifische Daten
• Verarbeitung ausschliesslich durch den Empfänger
Wie sieht eine SOAP RPC Anfrage aus?
Header: Transformations Informationen
Body: Parameter 1+2, Methodenaufruf
Body: Parameter 1+2, Methodenaufruf
Wie sieht eine SOAP RPC Antwort aus?
Header: Transformations Informationen
Body: Ergebnis Parameter + Methoden Ergebnis
Body: Ergebnis Parameter + Methoden Ergebnis
Wie sehen HTTP-Anfrage/Antwort bei WebServices aus?
POST / XML Version / SOAP request message
HTTP 200 OK / XML Version / SOAP response message
HTTP 200 OK / XML Version / SOAP response message
Kartensatzinfo:
Autor: CoboCards-User
Oberthema: IT Integration
Thema: Integration Management
Veröffentlicht: 14.01.2019
Tags: HS Mainz
Schlagwörter Karten:
Alle Karten (156)
keine Schlagwörter