Wirthschaftsinformatik III : Computergestützte Planungsverfahren und Applikationssysteme
IS- Entwicklung:
- Geschäftsprozessmodellierung
- Requirements Engineering
- Systementwurf
- Implementierung
- Test
- Change Management
IS- Phasen:
- Konzeption
- Umsetzung
- Einführung
Software:
- Softwarearten:
o Systemsoftware
o Entwicklungssoftware
o Anwendungssoftware: Standard- und Individualsoftware
o Anwendungssoftware, Entwicklungssoftware, Systemsoftware
o Siehe Hansen, 2001, Wirtschaftsinformatik S. 151f
- Softwarekomponenten
o Definition
o Kategorien
Infrastrukturkomponenten
Anwendungskomponenten
Branchenkomponenten
o Vorteile
- Open Source Software
o Definition
o Vorteil
o Beispiele
- Client Server Architektur
o 3 Arten
o Definition:
Unter der Client-Server-Architektur ( engl.: client-server architecture) versteht man eine kooperative Form der Informationsverarbeitung, bei der sich ergänzende Softwarekomponenten auf unterschiedliche Rechner aufgeteilt werden. Die verschiedenen Rechner sind über ein Rechnemetz verbunden. In einem solchen Netzwerk bieten einige Softwarekomponenten Dienste an (eng.: server), die von anderen Komponenten (engl.: clients) bei Bedarf in Anspruch genommen werden.
o von H. R: Hansen, G. Neumann im Buch Wirtschaftinformatik I (1978) im Text Planung, Entwicklung und Betrieb von Informationssystemen
3 Arten:
1. Client: Repäsentations/Oberfläche, Anwendungsfunktionen, Dezentrale Datenhaltung Server: Zentrale Datenhaltung
2. Client: Repräsentation/Oberfläche, Anwendungsfunktionen Server: Datenhaltung
3. Client: rerpäsentation/Oberfläche Server: Anwendungsfunktionen, Datenhaltung
Verteilung der Schichten:
o Single Tired
o Two Tired
o Three Tired
o N-Tired
Verteilte Softwarekomponenten:
- Motivation
- Arten der Kommunikation
o Synchrone Kommunikation
o Asynchrone Kommunikation
- Middleware Techniken
o RPC (Remote Procedure Call)
o COBRA (Common Object Request Broker Architecture)
Das tier (engl. Schicht, Stufe)
- Das Tier kennzeichnet einen unabhängigen Prozessraum innerhalb einer verteilten Anwendung
- Die tier dient als Grundlage für n-tier Architekturen
- N.tier Architekturen sind eine Erweiterung /Verfeinerung des Client Server Architekturmodells
- Eine n tier Architektur legt fest, wie viele unterschiedliche Client Server Prozessräume es innerhalb einer Verteilten Anwendung gibt
- Das n gibt an, wie viele Prozessräume beteiligt sind
- Ein Prozessraum kann, muss jedoch nicht (!), einem physikalischen Rechner entwprechen (Nicht bei Grid, Pervasive usw…)
- Die Verwendung von n-tier Architekturen macht vor allem für Informationssysteme Sinn:
o Verteilung der Software zur Reduktion der Komplexität
o Interaktive Mensch Machine Schnittstelle
o Dezentriertes Vorgehen
- Das Tier Modell:
o Typischen Aufgabenstellungen in einem Informationssystem:
Präsentation – Schnittstelle zum Anwender
Anwendungslogik – Bearbeitung der Anfragen
Datenhaltung – Speicherung der Daten in einer Datenbank
o Im Tier Modell wird jede dieser Aufgaben der Anwendungskomponente einer einzelnen Tiers zugeordnet
- Die Art der Zuordnung macht den entscheidenten Unterschied der verschiedenen n- Tier Architekturen
- Welche n-Tier Architekturen gibt es?
o 2 Tier
o 3 Tier
o 4 und mehr Tier Architekturen
- 2 Tier Architektur
o Das Modell unterstützt 2 Tier: Client und Server
Zuordnung von Aufgaben zu Tiers:
• Präsentation – Client Tier
• Anwendungslogik – Client Tier und/oder Server Tier
• Datenhaltung – Server Tier
o Die Verteilung der Anwendungslogik auf Client und Server Tier kann variieren
- erstes und ältestes Verteilungsmodell
- Wird häufig im Zusammenhang mit stored Procedures und 4gl eingesetzt:
o 4gl = fourth language generation
Unterstützt direkt Sprachelemente zum zugriff auf die Datenbank
Stored Procedures sind vordefinierte SQL Statements, die in der Datenbank abgelegt und zur Laufzeit aufgerufen werden
- Vorteile:
o Einfach und schnell umzusetzen
o Performant
- Probleme:
o Schwer wartbar
o Schwer skalierbar
o Software Update Problem
3 Tier Architekturen
- Das Modell unterstützt 3 Tiers:
o Client – Tier
o Middle – Tier
o Server – Tier
- Zurodnung von Aufgaben zu Tiers:
o Präsentation Client Tier
o Anwendungslogik Middle Tier
o Datenhaltung Server Tier
- Ist das Standardverteilungsmodell für einfache Webanwendungen:
o Client Tier = Browser zur Anzeige
o Middle Tier = Webserver mit Servlets/ASP/Anwendung
o Server – Tier
4- Tier und mehr Tier Architekturen
- Unterschied zur 3-Tier Architekturen: Die anwendungslogik auf der Middle Tier wird auf mehrere Tiers verteilt
- Motivation:
o Minimierung der Komplexitiät (Divide and Conquer)
o Besserer Schutz einzelner Anwendungsteile
o Verwendung mehrerer Anwendungsprozesse (Webserver, Application Server)
o Viele verteilte Informationssysteme liegen auf 4 Tier und mehr Tier Architekturen verteilt vor
- Eine typische 4 Tier Web-Anwednung
o Webclients Firewall – SMZ/Webserver Firewall – Webserver (Tier 2), Anwendungsserver (Tier 3)– Datenbankserver (Tier 4)
Ultra-Thin Client /Thin – Client / Fat-Client Architekturen
- Thin – und Fat Client Architekturen sind Verfeinerungsmodelle für die Zuordnung der Anwendungslogik
o Ultra Thin Client Architekturen: Die Präsentation auf der Client Tier beschränkt sich auf reine Anzeige von Dialogen
o Präsentationskomponente ist ein Browser
o Thin – Client- Architekturen: Die Präsentation auf der Client- Tier beschränkt sich auf Anzeige von Dialogen und die Aufbereitung der Daten zur Anzeige
o Fat-Client Architekturen: Teile der Anwendungslogik liegen zusammen mit der Präsentation auf der Client Tier
- Ultra Thin Client Architekturen sind ausschließlich bei 3 und mehr Tier Architekturen möglich
- Thin und Fat LCient Architekturen sind bei allen n-Tier Architekturen möglich
- In der Regel sind 2 tier Architekturen FAT Client Architekturen
Was ist EAI?
- EAI = Enterprise Application Intergration
- Konglomerat an Konzepten und Technologien, die in ihrer Gesamtheit die Integration vollständiger Anwendungen unterstützen
- Ziel: Integration einfacher Anwendungen zu komplexen neuen Anwendungen (Anwendungsintegration)
Abgrenzung zu Middleware und verteilten Anwendungen
- Kommunikation zwischen vollständigen Anwendungen, nicht innerhlab einer verteilten Anwendung
- Kopplungsgrad der Anwendungen eher gering (bei Middleware und verteilten Systemen eher hoch)
- Unterschiedliche Technologien wahrscheinlich (bei Middleware und verteilten Systemen eher weniger)
- Middlewaretechnologien eignen sich auch zur Anwendungsintegration, sie decken jedoch bei weitem nicht alle Anforderungen ab.
- Hierzu sind spezielle EAI Werkzeuge sowie Konzepte notwendig
- EAI ist nicht Thema der Vorlesung, wird jedoch immer wieder eine Rolle am Rande spielen
Weiterführende Literatur empfohlen für Verteiluingen, Client Server, EAI
Übungsaufgaben
Vorlesungsagenda:
- Grundlagen kommunikationsorientierter Middleware
o Programmiermodelle
Remote Procedure Call
Remote Methood Invocation
Nachrichtenorientierte Middleware
o Middleware Technologien
SUN RP
Java RMI
Web services
Nachtichtenorientierte Middleware
Grundlagen anwendungsorientierter Middleware
Ein Rückblick: Webanwendungen der 1. Generation:
Html Seiten
- Am Webserver liegen statische html Seiten
- werden über http in den Browser geladden
- ca. Mitte/Ende der 80er Jahre
- Mensch – Maschine Kommunikation
Webanwendungen der 2.Generation: dynamische HTML Seiten, CGI, Servlets
- Webseiten werden dynamisch (abhängig von Anfrageergebnissen) aufgebaut. Zugriff auf Daten ist möglich
Beispiele für Technologien:
- CGI (Common Gateway Interface); Prozessbasierende Bearbeitung von http Requests über Skripten (Perl, C)
- Servlets/JSP; threadbasierte Bearbeitung von http-Requests (nur Java)
- Mensch –Maschine Kommunikation
Webanwendungen der 3.Generation: Einführung von 4-und mehr Tier Architekturen
- Erweiterung der dynamischen Webseiten um Funktionalität im Anwendungsserver
- Anwendungsserver sind Laufzeitumgebungen auf der Middle Tier
- Der Webserver leitet die Aufrufe an den Anwendungsserver weiter
o Bearbeitet die Request
o Schickt Ergebnisse an den Webserver zurück
o Ergebnisse werden in http Response verpackt und an den Browser zurückgeschickt
- Vorteile: Skalierbarkeit
- Mensch Maschine Kommunikation
Webanwendungen der 4.Generation: Web Services
o Anwendungen(auf Webservern) kommunizieren unabhängig vom Anwender
o Vision Automatisierung
Anwendungen suchen sich automatisch Dienste im Web, die sie zur Bearbeitung einer Anfrage benötigen.
Die Kommunikation bleibt transparent
Maschine Maschine Kommunikation
Browser- webserver –xml/Web – Webserver – AS – DB
Was sind Web Services?
- Ermöglichen webbasierte RPCs
- Sind einer der Hypes der letzten Jahre
- Sind eine sehr junge Technologie (kamen ca. 2000 auf im Zusammenhang mit MS .net)
- Sind nichtsdestotrotz eine vielversprechende Technologie der Zukunft
- Die Weiterentwicklung der Standards rund um Web Services wird Hauptsächlich vom W3C vorangetrieben
Ein visionäres Beispiel …
Clientanwendung – Internet – ReiseService
HotelService (Webservices)
Flugbuchungsservice (Webservice)
Autobuchungsservice (Webservice)
Die Basiskomponenten von WebServices
- XML (extended MarkupLanguage): Erweiterbares Textformat für den Austuasch von strukturierten Daten
- SOAP (Simple Object Access Protocol): Realisiert Entfernten Prozedurabruf (RPC), Transportiert XML Nachrichten beispielsweise über http
- WSDL: web Service Description Language: XML Notation zur Beschribung von web Services
- UDDI: Universal Description, Discovery and Intergration: Verzeichnisdiesnt zur Veröffentlichung von WebServices
XML:
- Bietet die Möglichkeit komplexe Datenstrukturen innerhalb eines Dokuments darzustellen
- Die Darstellung erfolgt als Text mit Angabe des verwendeten Zeichensatzes (z.B. UTF-8)
- Ist beliebig zwischen Systemen und Plattformen austauschbar
- Breite Industrieunterstützung. Viele Werkzeuge arbeiten mit XML
- Viele Open Source Werkzeuge zum Lesen und zur Manipulation von XML Dateien stehen zur vErfügung
Struktur eines XMl Dokuments
]>
Sehr geehrte/r &Kunde;,
Hier steht irgendetwas. Verlieren Sie keine Zeit, liebe/r &Kunde;!
Im Kopf stehen die Version der vewendeten XML Spezifikation und der benutze Zeichensatz
Danach folgt der Datenbereich. Er enthält Daten in strukturierter Form
S.2 der Vorlesung Webservices

