25
Softwaretechnik SoSe 2016 (Fach) / Gryczan 5 - Fachliche Dienstleister/Services (Lektion)
Fachliche Dienstleister & Services,
auf dem Weg zur
Service-Orientierten Architektur (SOA)
Diese Lektion wurde von anduenacurri erstellt.
Anzeige
- Was gilt grundsätzlich bei Fachlichen Services? (7) • kapseln und vergegenständlichen fachlichesWissen• implementieren Anwendungslogik interaktions- undpräsentationsunabhängig• Service-Schnittstelle kann in mehrere fachlicheoder technische Aspekte unterteilt sein• können mit anderen fachlichen odertechnischen Services zusammenarbeiten (z.B.in hierarchischer Beziehung)• werden entworfen in Autor-Kritiker-Zyklen imZusammenspiel mit den Anbindungen derBenutzerschnittstellen• dabei ist auf "Reinhaltung" des Service vonBenutzungsschnittstellen-Spezifika zu achten• sehr gute Autoren-Trennung Fachlicher Service /Benutzungsschnittstelle möglich
- Definiere den Begriff "Referenzarchitektur"! Eine Referenzarchitektur beschreibt das Soll-Konzept einerArchitektur. Sie gibt Regeln vor, die von Softwaresystemeneingehalten werden müssen, die nach ihr entworfen wurden.Die Regeln der Referenzarchitektur definieren Elemente, die ineinem Exemplar dieser Referenzarchitektur vorkommen dürfenund welche Beziehungen zwischen diesen Elementen erlaubtsind.Eine Architektur, die eine Referenzarchitektur als Vorlage hat,kann man als „Exemplar“ dieser Referenzarchitektur bezeichnen.
- Front-End-Technologie kann nicht unabhängig vom unterstützten Arbeitsplatz ausgewählt werden. - RICHTIG ODER FALSCH? RICHTIG!
- Ordne folgende Begriffe der Kategorie "Werkzeuge" bzw. "Material" zu! Präsentationskomponente, Interaktionskomponente, Business Objects, Funktionskomponente Werkzeuge:Präsentationskomponente, Interaktionskomponente, Funktionskomponente Material:Business Objects
- Da es verschiedene FrontEnd-Technologien gibt: Welche Forderung ergibt sich bei der Implementierung der fachlichen Funktionalität? ➨ Fachliche Funktionalität wird mehrfachimplementiert.daher:➨ Forderung: Once and only once!
- Was ist das Problem bei Hostsystemen in Unternehmen? (3) - Was ist daher die Herausforderung? (1) ➨ Enthalten viel Fachwissen.➨ Unterstützen nicht adäquat aktuelle Anforderungen (Reaktivität,Kundenorientierung, Multi-Channeling).➨ Nicht von heute auf morgen abzulösen.➨ Herausforderung: Host-Programme mit neuen Technologienintegrieren.
- Was empfiehlt sich für Unternehmen hinsichtlich "Komponenten von Drittherstellern"? (Was ist das z.B.? Wie sollte man sie einsetzen?) (3) --- Was ist dabei Herausforderung? ➨ SAP etc.➨ Fertigungstiefe verringern.➨ Auf das Kerngeschäft konzentrieren (Make-Or-Buy) ➨ Herausforderung: Eingekaufte Komponenten nahtlosmiteinander sowie mit eigenen Komponentenintegrieren.
- Nenne Motivationspunkte für eine "Service-orientierte Architektur" (SOA)! - Konkret: Was kennzeichnet das Zusammenspiel von versch. technischen Anwendungssystemen bei einem einzigen Geschäftsvorfall (3) und was für ein Problem kann dann bei Änderungen entstehen? (1) • Im Unternehmen sind viele (technisch) unterschiedliche Anwendungssysteme imEinsatz.• Um einen Geschäftsvorfall abzuwickeln, werden mehrere dieser Anwendungenbenötigt.• Die Anwendungen müssen hierfür Informationen untereinander austauschen. -> Problem: Eine Änderung im Ablauf führt dazu, dass nun andere Anwendungssysteme jeweils miteinander kommunizieren müssen, was erheblicher Aufwand sein kann und häufig ist!
- Was ist der SOA-Ansatz bezüglich dem Punkt "Einheitliche Kommunikation" (zwischen versch. technischen Anwendungssystemen)`? (2) - Welche Hoffnung ergibt sich dadurch? (1) • Zum Verringern des Wartungsaufwandes soll eineeinheitliche Art der Kommunikation gewählt werden.• Jede Anwendung stellt die benötigten Schnittstellen alsDienst zur Verfügung.• Hoffnung: Es entsteht nun deutlich weniger Aufwand,wenn sich der Ablauf ändert, da jede Anwendungzumindest technisch die Voraussetzung zumDatenaustausch mit jeder anderen Anwendung hat.
- Was ist die "Service Registry" im Zusammenhang zu "SOA"? (3) • Um die Anwendungen weiter zu entkoppeln, werden alle Dienste in einem zentralenVerzeichnis eingetragen.• Wenn eine Anwendung einen Dienst benutzt, holt sie sich die Adresse aus diesemVerzeichnis.• Wenn sich jetzt etwas ändert muss es nur im zentralen Verzeichnis geändert werden.
- Anzeige
- Warum werden technische Service zu fachlichen zusammengefasst? (1 Grund) - Inwiefern wird dies konzeptuell dann umgesetzt? (3) Weil bei einer einzigen fachlichen Aufgabe häufig mehrere technische Services abgewickelt werden müssen. Nur wenn alle diese letzteren erfolgreich sind, war die fachliche Aufgabe auch erfolgreich. • Fachliche Services verbergen alle Details zur Implementierung ihrer Funktionalität.• Es ist nicht länger nötig zu wissen, welche Datenbanken und Systeme verwendetwerden.• Der fachliche Service trägt Sorge, dass die Datenbestände in den verwendetenSystemen konsistent bleiben.
- Definiere, was grundsätzlich die Service-Orientierte Architektur (SOA) ist! SOA ist ein Architekturstil, bei dem die Funktionalität von Software-Anwendungen in fachlich motivierten Komponentenzusammengefasst wird, die Services (Dienstleister) genannt werden.
- SOA erfordert keine zusätzlichen Investitionen in Tools, Frameworks, Hardware. gewusst!
- Was gilt bzgl. Web Services im Zusammenhang zu SOA? (4) • Web Services sind eine Integrationstechnologie, die diedynamische Kommunikation von Anwendungen über Plattform- undSprachgrenzen hinweg ermöglicht.• Ihre Schnittstelle ist selbstbeschreibend (auf syntaktischer Ebene).• Die Kommunikation findet über Standard Internet Protokolle statt (z.B.HTTP, JMS oder SMTP)• Der Nachrichtenaustausch ist XML-basiert (SOAP) • Unsere Einschätzung: Wenn Services als Web Services zugreifbarsein sollen, dann stehen leistungsfähige Open Source-Produkte zurVerfügung.
- Fachliche Services zielen auf eine möglichst einfache Wiederverwendbarkeit ab. Dazu sollten folgende Kriterien erfüllt sein (6) • ist in sich abgeschlossen und kann eigenständiggenutzt werden,• hat eine veröffentlichte Schnittstelle, für die Nutzungreicht es, die Schnittstelle zu kennen,• ist in einem Verzeichnis registriert,• wird dynamisch gebunden,• ist zustandslos.• hat keine Redundanzen zu anderen Diensten.
- Nenne die 3 wichtigsten Merkmale eines "Fachlichen Dienstleisters" (3) Mehrkanalfähigkeit• fachliche Funktionalität wird nur einmal realisiert Freie Wahl der Realisierung der Services• schrittweise Entwicklung• schrittweise Migration Verteilung• konkrete Realisierung bleibt verborgen (RMI, SOAP, Mail, …)• austauschbarer Mechanismus
- • Ein Dienstleister bietet einer Zielgruppe ein Dienstleistungsbündel an. • Die Dienstleistung wird synchron oder asynchron erbracht (Warten in der Schlange, Bestellung und Lieferung). • Ein Dienstleister kann für die Realisierung der Dienstleistung interne Materialien sowie weitere Dienstleister verwenden. • Ein Dienstleister kann ein oder mehrere Materialien des Klienten verwenden und modifizieren. Nach ein paar mal gewusst klicken
- Nenne die 4 Besonderheiten fachlicher Services (4) VERTRAGSMODELL (was ist das Problematische hierbei, wenn mehrere Clients den selben Services gleichzeitig nutzen? Was ist hier Lösungsmöglichkeiten?) (TECHNISCHE) EXCEPTIONS (-> nicht an Benutzerschnittstelle weitergegeben, eher an eigene Service-Exception) MEHRBENUTZERFÄHIGKEIT (Services sind potentiell von mehreren Clients aus gleichzeitignutzbar, somit muß Threadsicherheit hergestellt werden.) TRANSAKTIONSSICHERHEIT• Jede Operation ist eine Transaktion („atomar“).• Hier muß damit umgegangen werden, dass fachliche Serviceseinander benutzen können (Problem: Two-Phase-Commit,Rollback im Interface).• Realisierungmöglichkeit: Zustand in DB, DB-Transaktionennutzen
- Nenne 3 Gründe für die Verteilung im Rahmen von Client-Server-Schnitten (3) Fachliche Anforderungen:(Multi-Channeling (Desktop, Webtop, mobiles Endgerät) Performance:• Performance durch mehr Prozessoren• Skalierung / Lastverhalten bei vielen Benutzern• zentrales Caching Administration:• vereinfachtes Deployment (Ausbreitung)• zentrale Administration
- Nenne (die) 4 Möglichkeiten der Client-Server-Verteilung! (4) Thin Client (fast alles vom Server aus, außer Teile der Präsentation)MischformenRichClientEinzelplatz (das allermeiste wird vom Client umgesetzt)
- Ein möglichst einfaches Verteilungsmodell für die Konstruktion von • Oberfläche als Web- oder Swing-Lösung, • Businesslogik, • Persistenzschicht mit Transaktionsmanagement und Logging-Strategie auf der DB sowie • Schnittstellen zu Fremdsystemen mit synchronem und/oder asynchronem Zugriff, damit? (3 + 2) • die Komplexität für das Entwicklungsteam gering ist,• das Entwicklungsteam produktiv bleibt bzw. produktiver wird,• die Testbarkeit nicht leidet und sich das Softwaresystem für die Benutzer gleichzeitig• erwartungskonform und• performant verhält.
- Nenne und erkläre die 2 Vorteile von RIAs gegenüber Desktop-Anwendungen! Flexibilität• Minimale SystemvoraussetzungenTypisch: Internetzugang und gängiger Browser (mit aktiviertem JavaScript)und AdobeReader• Bindung an einen bestimmten Rechner (und damit ggf. an einenbestimmten Ort) entfällt.• Plattformunabhängigkeit.Unmittelbarkeit• "Bookmarken" statt "installieren".• Direkte Updates.• Direktes Provisioning.• Raubkopien von Web-Anwendungen (fast) unmöglich.
- ZUSAMMENFASSUNG - (nach einigen malen "gewusst" klicken!) • Verteilungssicht rückt in Zeiten der Web-Anwendungen in denFokus.• Verteilung muss zur fachlichen Sicht passen.• Verteilung führt zu Konstruktionsvarianten in der statischen Sicht.• Durch RIA werden Web-Anwendungen zu RichClient-Anwendungen.
- Wie lauten die Dimensionenen einer flexiblen Anwendungsarchitektur (x.y,z-Achse, also 3 Dimensionen nennen!) Technologie fachliche Anforderungen Handhabung und Präsentation
- Stelle einen Bezug her von "Klassifikationen der Anwendungswelt" zu "Klassenhierarchien des Softwaresystems"! Klassifikationen der Anwendungswelt werdenauf Klassenhierarchien des Softwaresystemsabgebildet.