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 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 - 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 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
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
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
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.
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 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.
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 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.
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#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
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
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
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
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 "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 "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 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 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.
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
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
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
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
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
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
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
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
Flashcard set info:
Author: CoboCards-User
Main topic: IT Integration
Topic: Integration Management
Published: 14.01.2019
Tags: HS Mainz
Card tags:
All cards (156)
no tags