Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 63 Systemeigenschaften und Architektur Wiederverwendung Rolle von Architekten.

Ähnliche Präsentationen


Präsentation zum Thema: "Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 63 Systemeigenschaften und Architektur Wiederverwendung Rolle von Architekten."—  Präsentation transkript:

1 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 63 Systemeigenschaften und Architektur Wiederverwendung Rolle von Architekten

2 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 64 Anforderungen an Anwendungen Anwendungssystem Funktionale Anforderungen Funktionale Anforderungen System Eigenschaften System Eigenschaften

3 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 65 Systemeigenschaften Performance, Antwortzeit –Anzahl Transaktionen pro Zeiteinheit –Reaktionszeit wichtig für Akzeptanz einer Anwendung –Bei „embedded systems“: häufig harte Bedingung Verfügbarkeit –Stillstandszeiten akzeptabel? –Benutzung bei Web Anwendungen häufig rund um den Globus Internet Global operierende Unternehmen –24 * 7 Skalierbarkeit –Last kann sich schnell ändern –Anzahl der Nutzer im Netz nicht vorher bestimmt Zuverlässigkeit –Reine Internet-Auftritte nicht so kritisch –Wichtig z.B. Support für Kunden weltweit Die Anwendung ist Teil eines kritischen Geschäftsprozesses

4 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 66 Systemeigenschaften Sicherheit –Zugriff unberechtigter Personen muss verhindert werden Verteilung –Das Netz ist der Computer Integrität von Transaktionen –Geschäftsvorfall besteht aus mehreren Einzelaktionen, die zusammen gehören; alle oder keine; z.B. Reisebuchung Anpassbarkeit, Erweiterbarkeit –Nutzeranforderungen, Geschäftsprozesse ändern sich Potierbarkeit –System- / Plattformarchitektur ändert sich Architektur maßgeblich für das Ereichen von Systemeigenschaften Abwägung bei Konflikten

5 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 67 Anforderungs-Konflikte Konflikte –Zwischen funktionalen Anforderungen und Systemeigenschaften –Zwischen Systemeigenschaften Beispiele –Performance  Anpassbarkeit –Performance  Portierbarkeit –Make  Buy Make –Spezifische Anforderungen erfüllen –Performance Buy oder Wiederverwendung –Entwicklungs-Geschwindigkeit (Time to Market) –Häufig kostengünstiger –Qualität (Testaufwand, Anzahl Betriebsstunden)

6 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 68 Wiederverwendung Größte Steigerung der Produktivität erzielt man durch Software, die nicht geschrieben werden muss Wiederverwendung: Thema seit 30 Jahren Von Ausnahmen abgesehen nicht wirklich erfolgreich Ausnahmen: –Bibliotheken (MFC, Swing,...) –Datenbanken –Kommunikationsprotokolle –Transaktionsmonitore –Komponenten-Middleware (CORBA, COM, J2EE) Keine domänenspezifische Komponenten außer: Komplettpakete wie SAP Gründe: Wiederverwendung –Zu spät im Entwicklungsprozess –Nur auf Code-Niveau

7 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 69 Anwendungs-Entwicklungsprozess Planen Entwickeln Betreiben Analyse Spezifikation Entwurf Codierung Integration Codierung Integration Qualitäts- Sicherung Qualitäts- Sicherung

8 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 70 Wiederverwendung auf Code-Niveau Analyse Spezifikation Entwurf Codierung Integration Codierung Integration Qualitäts- Sicherung Qualitäts- Sicherung Modul Bibliothek Modul Bibliothek Klassifizieren Speichern Suchen Einbauen Chance, dass passender Modul gefunden wird, sehr gering Keine Frage der Klassifikation oder Suche Lösung: Wiederverwendung auf höherem Niveau oder Spezifikation und Entwurf so, dass vorhandene Module eingesetzt werden können Vorbild: Hardware-Geräteentwicklung Extrem-Beispiel: Standard Software wie SAP

9 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 71 Frameworks Framework Anwendung Spezialisierung

10 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 72 Wiederverwendung mit Frameworks Analyse Spezifikation Entwurf Codierung Integration Codierung Integration Qualitäts- Sicherung Qualitäts- Sicherung Framework Repository (Modell & Komponenten) Framework Repository (Modell & Komponenten) Komponenten Anpassen Einbauen Modell des Frameworks Architektur des Frameworks Framework Entwickler Framework Entwickler

11 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 73 Wiederverwendung von Architektur & Komponenten Anwendung Individual- Entwicklung Individual- Entwicklung Komponenten Basierte Entwicklung Komponenten Basierte Entwicklung Anpassung von Standard-SW Anpassung von Standard-SW Paket Standard-SW Paket Komponenten Vom Markt Komponenten Vom Markt Modell & Referenz-Architektur Modell & Referenz-Architektur Komponenten Bibliothek Komponenten Bibliothek

12 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 74 Rolle von Referenzarchitekturen und Frameworks Anwendung 1 Anwendung 2 Anwendung n... Jede Anwendung hat eigene isolierte Architektur Referenz-Architektur (Blueprint) Referenz-Architektur (Blueprint) Anwendung 1 Anwendung 2 Anwendung n... abgeleitet Framework Anwendungsmodell Referenzarchitektur Komponenten... abgeleitet Anw.n Anw.1 Anw.2

13 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 75 Konzepte für die Anwendungsentwicklung OO Modellierung OO Programmierung Gener. von Coderahmen OO Modellierung OO Programmierung Gener. von Coderahmen Komponententechnologie Produktivität durch Container und Laufzeitservices Design Patterns Komponententechnologie Produktivität durch Container und Laufzeitservices Design Patterns Frameworktechnik Muster für Anwendung Vorgefertigte Komponenten / Design Patterns Frameworktechnik Muster für Anwendung Vorgefertigte Komponenten / Design Patterns

14 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 76 Software-Architekten Architektur-Entwurf ist Aufgabe bei Entwicklung Software-Architekt ist spezielle Rolle im Entwicklungsteam Hauptaufgabe in der Phase, wenn Architektur entworfen wird Ist aber während des ganzen Projektes nötig –Einfluss der Architektur auf andere Tätigkeiten –Iterative Entwicklung erfordert Anpassung Abhängig von Projektgröße –Einzelperson –Architekturteam Software-Architekten sind sehr gefragt

15 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 77 Rolle von Software Architekten - 1 Definiert eine Vision –Vertraut mit neuen Technologien –Versteht die globalen (auch Business) Anforderungen und Zusammenhänge –Kommuniziert Zusammenhänge effektiv Schlüsselperson für technische Beratung –Review von Spezifikationen –Beurteilt Machbarkeit –Empfiehlt Technologien und Werkzeuge –Verfolgt Qualität von Entwurfs-Entscheidungen –Sichert Integrität des Entwurfs

16 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 78 Rolle von Software Architekten - 2 Trifft Entscheidungen –Globale Entwurfs-Entscheidungen –Führt Technologieteam in größeren Projekten –Trifft „Make or Buy“ Entscheidungen –Identifiziert Risiken Coach für Entwickler und Koordinator –Sorgt für Dialog mit Projekt-Mitarbeitern –Erklärt Entwurf und Entscheidungen –Delegiert Verantwortung für Detail-Entwürfe

17 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 79 Architektur im Software Lebenszyklus Anwender Marketing IT Spezifikation Funkt. Anford. Spezifikation Funkt. Anford. Spezifikation Systemeigensch. Spezifikation Systemeigensch. Entwurf Architektur Entwurf Architektur Detail Spezifikation Detail Spezifikation (Teil-) Codierung Integr. Test (Teil-) Codierung Integr. Test QS Funkt. & Systeme. QS Funkt. & Systeme. Freigabe Roll-out Freigabe Roll-out Referenz Architektur Referenz Architektur Komponenten Framework Interner Standard Vorherg. Version Produkte vom Markt Untern.-eig. Kompon. Vorherg. Release Anpassung & Iterative Entwicklung A n a - l y s e

18 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 80 Herausforderungen an Architekturen Beispiele aus der Praxis

19 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 81 Herausforderungen an Architektur Anforderungen Evolution der Geschäftsstrategie Kundenorientie- rung der Geschäfts- prozesse Wettbewerb über Schnelligkeit - z.B. neue und geänderte Produkte Fusionierungen, Erweiterung Neue Geschäftsformen, z.B. E-Commerce Innovationen Neue Technologien, z.B. Internet, Objektorientie- rung, Client- Server, Kompo- nententechnologie Neue SW und HW Produkte, z.B. Middleware, Browser, DBMS Business Architektur Anwendungsarchitektur Systemarchitektur Plattformarchitektur GeschäftsprozeßGeschäftsprozeßDatenflußDatenfluß BenutzergruppeBenutzergruppe Anwendu ng Compu ter NetzwerkNetzwerk Anwendu ngsfunkti on Schic ht KomponenteKomponenteObjektObjekt Sicherheit Systemmanagement ZugriffsrechtZugriffsrecht RechtegruppeRechtegruppe AnwendungAnwendung SystemSystem RessourceRessource Organisati onseinheit Existierende IT „Ererbte“ Architekturen &Technologien „ererbte Systeme“ versusneue Geschäftsprozesse proprietäre SW-Produkte „Ererbte“ IT Organisation

20 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 82 Risiken für strategische Architekturprojekte Kunde  versprochener Nutzen wird nicht erzielt - z.B. Reduktion der Geschäftstransak- tionskosten, höhere Flexibilität und Geschwindigkeit bei Änderungen und Neuentwicklung  System kommt zu spät aus Sicht des geplanten Geschäftszieles Technologie  geforderte Performance wird nicht erreicht  geforderte Mengengerüste werden nicht beherrscht - Datenmengen, Transaktions- lasten  Betriebskosten zu hoch Business Architektur Anwendungsarchitektur Systemarchitektur Plattformarchitektur GeschäftsprozeßGeschäftsprozeßDatenflußDatenfluß BenutzergruppeBenutzergruppe Anwendu ng Compu ter NetzwerkNetzwerk Anwendu ngsfunkti on Schic ht KomponenteKomponenteObjektObjekt Sicherheit Systemmanagement ZugriffsrechtZugriffsrecht RechtegruppeRechtegruppe AnwendungAnwendung SystemSystem RessourceRessource Organisati onseinheit Budget und Termin Budget- und Ressour-cenverbrauch zu hoch Terminüberschreitung

21 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 83 Tuxedo Interfaces Beispiel 1: Inseln mit funktioneller und Datenredundanz Kunden Prüfen Dokumentenver waltung Finanzen Verwalten Auftrags- verwaltung I Rechnungen Erstellen III Rechnungen Erstellen II Rechnungen Erstellen I Kundendienst I Kundendienst II Auftrags- verwaltungI I Kundendienst III Basierend auf untersch. Produkten

22 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 84 Beispiel 1: Vision „Komponentenarchitektur“ View Layer Partner Vertrieb Web Vertrieb Marketing Auftrags- verwaltung Kunden- verwaltung... Business Layer Prozesse (Workflow) Geschäftslogik Vertriebs- komponente Auftrags- komponente Rechnungs- komponente Kunden- Komponente... Data Layer Zugriffsschicht Systemsmanagement Sicherheit

23 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 85 Beispiel 1: Realität - Mix aus Systemarchitekturen View Layer Partner Vertrieb Auftrags- verwaltung Rechnungs- system... Daten Integration & Transaktionsmanagement Kunde Auftrag Vertrag Kunde Auftrag Rechnung Vertriebssystem Auftrags- system Rechnungs- system Web Vertrieb Kunden- verwaltung Client Server

24 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 86 Beispiel 2: Geschäftsprozesse Kundensystem Buchung Ticket- Erstellung Verkaufs- Abwicklung Zahlungs- Abwicklung Buchhaltung Unternehmens - Steuerung Beratung Auftragssystem Verkauf und Zahlung Kunden- und Auftragssystem Buchhaltungs- system Management Information- System Verkauf und Zahlung

25 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 87 Beispiel 2 : Die Infrastruktur “Ererbte” Mainframes WAN Gateway MF AMF BMF CMF D Externe Dienstleister Hochgeschwindigkeits- Netzwerk Windows Client >=9600 bit/sec Clients

26 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 88 Beispiel 2 : „Ererbte“ Mainframe-Anwendungen Carrier Integration Kundensystem Auftragssystem Verkaufs-und Zahlungssystem Kassenbericht Info- und Mailsystem Travel Assistant Quality Assurance Eigenveranstaltung Buchhaltungssytem Management Infosystem BasismoduleOptionale Module Funktionale Architektur SchichtenArchitekturSchichtenArchitektur Datenzu- griffsschicht Abstrakte Datenschicht Geschäfts- regeln Bildschirm- transaktionen Proprietäres File System Proprietäres File System “Windows Like” Benutzeroberfläche

27 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 89 Beispiel 2 : Lösungsszenarien Alternative 1: Client-Server Neuentwicklung  Anspruch: Neue skalierbare, zukunftssichere Lösung –UNIX Server + Windows Clients –Objektorientierte 3-Stufen-Architektur mit „dünnem“ Client –Nachrichtenorientierte Kommunikation + Online Transaktionsmonitor Alternative 2: „Host Evolution + Windows Oberfläche“  Anspruch: Modernisieren statt neu –Schrittweises Ersetzen der proprietären Datenhaltung durch Oracle auf Mainframe –Klare Schichtenarchitektur –Entwicklung eines „fetten“ Windows Client mit GUI Rahmen + Integration mit „ererbten“ zeichenorientierten Oberflächenteilen –Nachrichtenorientierte Kommunikation + Online Transaktionsmonitor Alternative 3: „Client-Server + Mainframe Koexistenz“  Anspruch: Modernisieren bei mehrjähriger Koexistenz –Ersetzen der proprietären Datenhaltung durch Oracle auf UNIX Server –Objektorientierte 3- Stufen-Architektur mit „dünnem“ Client –Nachrichtenorientierte Kommunikation + Online Transaktionsmonitor –Zugriff der Mainframe Komponenten auf den UNIX Datenserver

28 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 90 Client-Server Neuentwicklung Komponente Sicherheit & Datenschutz Verwalten Kunden Verwalten Aufträge Verkauf und Zahlung MIS... Komponente Geschäftsprozess & Workflow Komponente Kunde Komponente Objekt-RDBMS-Abbildung KundeKunde AuftragAuftrag RechnungRechnung VertragVertrag OracleOracle Komponente Systemmanagement Komponente Auftrag Komponente Verkauf & Zahlung Komponente MIS... Komponente Nachricht UNIXUNIX UNIXUNIX WindowsWindows

29 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 91 Mainframe Evolution + Windows Oberfläche Verwalten Kunden KundeKunde AuftragAuftrag RechnungRechnung VertragVertrag OracleOracle Komponente Systemmanagement... Komponente Sicherheit & Datenschutz MainframeMainframe WindowsWindows MIS Verkauf & Zahlung Verwalten Aufträge... API für „ererbte“ Verfahren Kompo- nente Auftrag KundeKunde AuftragAuftrag RechnungRechnung VertragVertrag File System Objekt- RDBMS- Abbildung Komponente Kunde Komponente Nachricht Abstrakte & Datenzugriffsschicht Kompo- nente Verk. & Zahlung Kompo- nente MIS... Komponente Geschäftsprozeß & Workflow

30 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 92 Client-Server + Host Koexistenz Komponente Sicherheit & Datenschutz WindowsWindows KundeKunde AuftragAuftrag RechnungRechnung VertragVertrag OracleOracle Komponente Systemmanagement Komponente Kunde Komponente Nachricht Verwalten Kunden MIS Verkauf und Zahlung Verwalten Aufträge... Komponente Nachricht UNIXUNIX Komponente Sicherheit & Datenschutz API für „ererbte“ Verfahren Kompo- nente Auftrag Abstrakte & Datenzugriffsschicht Kompo- nente Verk. & Zahl. Kompo- nente MIS... Objekt-RDBMS- Abbildung MainframeMainframe KundeKunde AuftragAuftrag RechnungRechnung VertragVertrag File System Komponente Geschäftsprozeß & Workflow

31 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 93 Bewertung der Lösungsszenarien Gute SkalierbarkeitGute Skalierbarkeit Zukunftssichere TechnologieZukunftssichere Technologie Gute SkalierbarkeitGute Skalierbarkeit Zukunftssichere TechnologieZukunftssichere Technologie Zuverlässige und vertraute TechnologieZuverlässige und vertraute Technologie Zuverlässiger BetriebZuverlässiger Betrieb Stabiler MigrationswegStabiler Migrationsweg Zuverlässige und vertraute TechnologieZuverlässige und vertraute Technologie Zuverlässiger BetriebZuverlässiger Betrieb Stabiler MigrationswegStabiler Migrationsweg Extrem hohe KostenExtrem hohe Kosten Extrem lange LieferzeitExtrem lange Lieferzeit „Neue Lösung neue Fehler“„Neue Lösung neue Fehler“ Totale Änderung des BetriebesTotale Änderung des Betriebes Extrem hohe KostenExtrem hohe Kosten Extrem lange LieferzeitExtrem lange Lieferzeit „Neue Lösung neue Fehler“„Neue Lösung neue Fehler“ Totale Änderung des BetriebesTotale Änderung des Betriebes „Konservieren“ des Mainframe „für immer“„Konservieren“ des Mainframe „für immer“ Hohe Hardware- kosten und langfristige AbhängigkeitHohe Hardware- kosten und langfristige Abhängigkeit „Konservieren“ des Mainframe „für immer“„Konservieren“ des Mainframe „für immer“ Hohe Hardware- kosten und langfristige AbhängigkeitHohe Hardware- kosten und langfristige Abhängigkeit Pro Kontra Client-Server Neuentwicklung „Host Evolution + Windows Oberfläche“ „Client-Server + Mainframe Koexistenz“ Zukunftssicherheit bei geringem Risiko durch Strategie der „kleinen Migrations- schritte“Zukunftssicherheit bei geringem Risiko durch Strategie der „kleinen Migrations- schritte“ Hohe Entwicklungskosten für KoexistenzHohe Entwicklungskosten für Koexistenz Hohe Hardwarekosten durch KoexistenzHohe Hardwarekosten durch Koexistenz Hohe Entwicklungskosten für KoexistenzHohe Entwicklungskosten für Koexistenz Hohe Hardwarekosten durch KoexistenzHohe Hardwarekosten durch Koexistenz

32 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 94 Beispiel 2 : Die neue Infrastruktur UNIX Server “Ererbte” Mainframes WAN Gateway Host AHost BHost CHost D Server 1 Server 2 Server 3 Server n Externe Dienstleister Hochgeschwindigkeits- Netzwerk Windows Client

33 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 95 Beispiel 2 : Die neue Infrastruktur

34 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 96 Herausforderungen: Zusammenfassung 1 Kooperation von Systemen mit inhomogenen Plattformen –“Legacy”, z.B. IBM oder BS 2000 (Siemens) Mainframes –Client-Server-Architekturen UNIX Windows State of the Art Technology unterstützen –Objekttechnologie, z.B. OO Analyse & Design, OO Sprachen wie C++, Java –Komponententechnologie, z.B. EJB, COM oder CORBA basierte Komponentensysteme –Internet, Intranet bzw. Web Technologien

35 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 97 Herausforderungen: Zusammenfassung 2 Verbindende Standards - für Interoperabilität trotz Heterogenität –Bei unterschiedlicher Formen verteilter Datenorganisation VSAM und IMS relationale DBMS, z.B. DB2, Oracle, Informix, Sybase Object DBMS, z.B. Objectivity, Objectstore Content / Wissens-Repositories –Bei unterschiedlichen Programmierschnittstellen für das Bereitstellen von Services Application Programming Interfaces, z.B. in C Objektorientierte Schnittstellen, z.B. in C++, Java Komponenten Architekturen: EJB,.NET –Bei unterschiedlicher Form der Ressourcenverteilung im Netzwerk –Bei unterschiedlicher Form der Zugriffskontrolle durch die Systeme –Bei unterschiedlichem “Look and Feel” der Benutzeroberflächen

36 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 98 Kommunikation zwischen Anwendungskomponenten

37 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 99 Kommunikations-Dienste Dienste für die Kommunikation zwischen verteilten Anwendungen und Komponenten Kommunikationsparadigmen –Conversational Modell - nach dem CPI-C Standard –Remote Procedure Call Modell - RPC nach OSF/DCE –CORBA – Common Object Request Broker Architecture (OSF) –RMI, IIOP, SOAP –Nachrichtenorientiertes Paradigma - Messaging and Queuing Model –Web-Protokoll HTTP

38 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 100 Conversational Modell – CPI-C Synchrone 1:1 Kommunikation nach dem CPI-C Standard CPI-C: Common Programming Interface for Communications Computer “II” Computer “I” Prozess A Prozess A Prozess B Prozess B Nachricht A B A sendet Nachricht an B Zeit Process Status B sendet Nachricht an A B führt Auftrag von A aus A wartet auf B Message = (Tag, Length, Value)... CPI-C Stub

39 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 101 Conversational Modell – CPI-C Plattformunabhängiger Standard für APPC APPC: Advanced Program to Program Communication CPI-C Funktionen: Aufruf: CALL routine_name ( parameter *, return_code ) Wichtigste Routinen: CMINITInitialize Conversation CMACCPAccept Conversation CMALLCAllocate CMSENDSend Data CMRCVReceive Data CMDEALDeallocate Beispiel CMSEND ( conversation_id,/* Input */ buffer /* Input */ send_length /* Input */ & Request_to_send_received,/* Output */ & return_code ); /* Output */

40 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 102 Remote Procedure Call Synchrone n:1 Kommunikation nach dem RPC Standard Reply Resultat Call Argumente Computer “X” Client A Prozess Client A Prozess Computer “Z” Server Prozess Server Prozess Client Stub Computer “Y” Client B Prozess Client B Prozess Client A Server Client A ruft Server auf Zeit Process Status Server führt Auftrag von A aus A wartet auf Antwort Client B Server führt Auftrag von B aus Client B ruft Server auf B wartet auf Antwort Call Reply Call Reply Server Skeleton

41 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 103 CORBA CORBA: Common Object Request Broker Architecture Aufgabe Nutzer (Client) Nutzer (Client) Anbieter (Server) Anbieter (Server) Interface Client und Server sollen verteilt sein Lösung Nutzer (Client) Nutzer (Client) Anbieter (Server) Anbieter (Server) Client Stub Server Skeleton Object Request Broker(ORB; Software Bus) Generiert aus Interface beschrieben in IDL Interface Definition Language Client und Server können in beliebigen auch unterschiedlichen Sprachen geschrieben sein CORBA/IDL sorgt für Mapping der Interfaces

42 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 104 RMI, IIOP, SOAP Remote Method Invocation (RMI) RPC Variante für Java IIOP Internet Inter ORB Protocol Heute auch benutzt als Basis für RMI im Web SOAP Simple Object Access Protocol XML basiertes Protokoll –RPC –Messages zwischen unterschiedlichen Plattformen –Java basiert –Microsoft.NET Themen werden später noch behandelt

43 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 105 „Messaging and Queuing“ Modell Asynchrone n:m Nachrichtenkommunikation über Warteschlangen Computer “A” Client A Prozess Client A Prozess Computer “B” Client B Prozess Client B Prozess Computer “X” Server X Prozess Server X Prozess... Nachrichten Stub... persistente Warteschlange Nachricht Client A Server X Zeit Client B Server Y AXAX BXBX X(A)  YX(B)  Y Y(A)  X Y(B)  X X(A)  A X(B)  B Message = (Tag, Length, Value) Queue Computer Computer “Y” Server Y Prozess Server Y Prozess Queue 1 Queue 2 Queue 3

44 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 106 HTTP – Internet Protokoll HTTP: HyperText Transfer Protocol Generisches (für beliebige Daten), zustandsfreies Protokoll HTTP response HTTP request Computer “Z” In-Pipe... HTTP stub Computer “X” Web Client A Web Client A Computer “Y” Web Client B Web Client B Out-Pipe Pipe.. HTTP pipe Web Server HTML Pages Web

45 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 107 HTTP – Internet Protokoll 1990 in Verbindung mit WWW am CERN (Genf) definiert Gegenwärtige Version 1.1; Performanceverb. gegenüber 1.0 HTTP request: request_method request_URL header body –Request Methods HTTP 1.1): GETretrieves the resource identified by the request URL HEADreturns the header identified by the request URL POSTsends data to the Web server PUTstores a resource under the request URL DELETEremoves the resource identified by the request URL OPTIONSreturns the HTTP methods the server supports TRACEreturns the header fields sent with the TRACE request HTTP response: result_code header body HTTP 1.0

46 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 108 Schichten und Stufen von Web Anwendungen

47 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 109 Schichten einer Anwendung Anwendungs- Logik Datenhaltung User Interface Datenbank Anwendungs- Logik Anwendungs- Logik DB Interface TP Monitor Ablaufsteuerung

48 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 110 Schichten und Stufen von Architekturen Schichten (Layer) –Logische Einheiten, die bestimmte Aufgaben für eine Anwendung erfüllen –Ursprüngliche Sicht: Schichten liegen übereinander –Realistische Sicht: Teilsysteme, die miteinander kommunizieren Stufen (Tiers) –Instanzen einer Anwendung –Zuordnung Schichten zu Stufen nicht 1:1 –Im Web Umfeld typisch: n-tier Architekturen

49 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 111 Schichten und Stufen von Architekturen User Interface Datenbank Anwendungs- Logik Anwendungs- Logik DB Interface Ablaufsteuerung Mainframe T e r m i n a l Anwendungs- Schichten S t u f e n MainframeClient / Server Client ( PC ) Client ( PC ) Server Client ( PC ) Client ( PC ) Server „Fette“ Clients Client ( PC ) Client ( PC ) Server

50 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 112 Schichten und Stufen von Architekturen User Interface Datenbank Anwendungs- Logik Anwendungs- Logik DB Interface Ablaufsteuerung Anwendungs- Schichten S t u f e n W e b Browser W e b Server W e b Server Browser Web Server Xxx Server...

51 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 113 Übergang von C/S zu WEB Clients (thin) –Keine Anwendungslogik auf dem Client –Verarbeitung nur für Benuter-Schnittstelle –Laden des Codes über das Netz –Vorteile: Keine Installation und Updates auf den (vielen) Clients Einfachere Verwaltung Sicherheit (Keine Wechsel-Laufwerke auf Clients) Java als plattform-unabhängige Sprache –Interpreter-Konzept –Vorteil: Portabilität der Anwendungen Industrie Standards als Plattformtechnologien –Internet, Web –J2EE,.NET –XML –Web Services

52 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie Stufen Architektur Plugins HTML Applet Andere Datenformate JSP Servlets Daten HTTP Web Browser Web Server Clienseitig: User Interface Ablaufsteuerung über Applets Clienseitig: User Interface Ablaufsteuerung über Applets Serverseitig: User Interface Ablaufsteuerung Serverseitig: User Interface Ablaufsteuerung

53 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 115 Beispiel: Publizieren von Informationen Unterscheidung –Informationsbereitstellung: Autoren –Publizierung Autoren –Arbeiten traditionell in typischen C/S Umgebungen –Neuere Anforderungen: Arbeit auch über das Web –Benutzen Office Werkzeuge Spezielle Anwendungen (Web Editoren, z.B. FrontPage von MS) Publizierung –Statische Web-Seiten HTML –Dynamisches Publizieren Dynamischer Aufbau von Web-Seiten aus Daten von unterschiedlichen Quellen (auch DMBS) JSP (Java), ASP (VB) Anwendungen: Internet Auftritte, Intranet

54 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 116 Publizieren von Informationen HTML JSP HTTP Web Browser Web Server Daten Autoren Arbeitsplatz Windows / Web Browser Autoren Arbeitsplatz Windows / Web Browser LAN HTTP HTML JSP File

55 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 117 Publizierung von Informationen mit Update Autorenarbeitsplatz wie bei Variante ohne Update Update –HTML mit JavaScript –Applet Typische Anwendungen –Intranet mit Korrekturmöglichkeiten (z.B. Telefon-Nr.) –Einfache Business-Anwendungen (z.B. Kreditkalkulation)

56 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 118 Publizieren von Informationen mit Update HTML JSP Web Browser Web Server Daten HTTP HTML JSP File Applet

57 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie Stufen Architektur mit DB-Server Plugins HTML Applet Andere Datenformate JSP Servlets Daten HTTP D B M S DB-Server LAN Web Browser Web Server Java (Anw.-Funkt.)

58 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 120 Beispiel: Wissensmanagement Wissensmanagement –Kein klar umrissene Anwendung –Vielfältige Ansätze Wissensmanagement hier: –Wissensakquisition –Wissensadministration –Wissenspublikation Verteilen Abholen Wissensmanagement ist Management von Beziehungen –Wissensrepository Beispiel: Skillmanagement

59 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 121 Was ist Wissen Daten VerknüpfungKontext Interpretation Information Wissen

60 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 122 Wissensakquisition ErfassenAnalysieren Aufbereiten Wissensrepository

61 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 123 Publikation von Wissen Wissensrepository Gezielt Informieren Suche Navigation Intranet / Extranet

62 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 124 Wissensmanagement HTML JSP Web Browser Web Server Daten HTTP Applet Servlets Wissensrepository Java (Anw.-Funkt.)

63 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie Stufen Architektur mit Mainframe Plugins HTML Applet Andere Datenformate JSP Servlets Daten HTTP Mainframe LAN, proprietäre Protokolle Alt-Anwendung Web Browser Web Server Java (Anw.-Funkt.)

64 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 126 Beispiel Web-ifizierung von Mainframeanwendungen Häufige Situation bei Mainframeanwendungen –Große Anwendungs-Systeme –Hoher Entwicklungsaufwand –Mission-critical Anwendungen –User Interface altbacken und unkomfortabel –Verteilung über proprietäres Netzwerk Vorteile einer Web-ifizierung –Modernes User Interface –Benutzung Standard Netzwerk (TCP/IP, HTTP) –Keine Neuentwicklung

65 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie Stufen Architekt. mit Application und DB-Server Plugins HTML Applet Andere Datenformate JSP Servlets Daten DB-Server Web Browser Web Server Application- Server Enterprise JavaBeans Java (Anw.-Funkt.)

66 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 128 Beispiel ECOM (ohne Anbindung Fremdsyst.) Webserver 2 NetscapeEnterpriseServer mit BEA WLS Plugin Ultra Thin Client dbserv X eCOM Infrastruktur 1 BEA WebLogicServer PrimaryServer für Webserver 1* eCOM Infrastruktur 2 BEA WebLogicServer SecondaryServer für Webserver 1* SecondaryServer für Webserver 2* eCOM Infrastruktur 3 BEA WebLogicServer PrimaryServer für Webserver 2* Logisches WLS-Cluster http-Dispatcher 1 http-Dispatcher 2 hot-stand-by Dispatcher-Cluster Webserver 1 NetscapeEnterpriseServer mit BEA WLS Plugin http Internet / Extranet Intranet (Corporate Network) DMZ (Access LAN) *wird dynamisch pro User zugeordnet File- server http File- server

67 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie Stufen Architektur mit Alt-Anwendungen DB-Server Application-Server Web Server Web Client Alt-Anwendung ERPS DB Mainframe

68 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 130 Support Modules Support Modules Support Modules Dealer Portal (Clarify) Vehicle Selector Dealer Locator Request for Offer Test Drive Appointment Used Car Price Indicator Request for Information Ascertain Session User Subsidiary Portal (Clarify) Support Modules Service Appointment 8 Module + Car Configurator Portale der Landesgesellschaften und Händler integriert (TopDrive mit Clarify) Integration von Finanzdienstleistungen Automatische Integration von Anwendungen zur Datenbeschaff. (PCASO, HST, …) PCASO Vehicle Con- figurator Used Car Management TopDrive (Clarify) HST Customer Data Dealer Data Car Data eCOM Data SF Integration Customer Interface t.b.defined Beispiel ECOM

69 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 131 Client mit LAN Zugriff auf Server DB-Server Application-Server Web Server Web Client Alt-Anwendung ERPS DB Mainframe HTTP LAN Firewall

70 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 132 Web & Application Server DB-Server Web & Application Server Produkte vom Markt (BEA, IBM, …) kombinieren in der Regel beides Web & Application Server Produkte vom Markt (BEA, IBM, …) kombinieren in der Regel beides Web Client Alt-Anwendung ERPS DB Mainframe

71 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 133 Physische Stufen-Architektur Client Server Mainframe... Web-Client mit Web-Browser Web-Server Application Server DB-Server Alt-Anwendungen (Legacy Systems) HTTP LAN LAN oder proprietäre Protokolle

72 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 134 Abbildung logische/physische Stufenarchitektur Logische und physische Stufenarchitektur nicht unbedingt identisch Gegebene Zuordnung –Web Client  Client Client Traditionell: PC Web PC, Network Computer PDA Mobiles Telefon Spezialgeräte –Altanwendung  häufig Mainframe Abbildung im Serverbereich vielfältig

73 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 135 Abbildung logische/physische Stufenarchitektur Client Server Web-Server Application-Server DB-Server

74 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 136 Abbildung logische/physische Stufenarchitektur Client Server Web-Server Application-Server DB-Server

75 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 137 Abbildung logische/physische Stufenarchitektur Client Server Web-Server Application-Server DB-Server Server Siehe auch: ECOM Beispiel (Folien 55 & 56)

76 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 138 Abbildung logische/physische Stufenarchitektur Client Server Web & Application Server DB-Server Server

77 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 139 Abbildung logische/physische Stufenarchitektur Kombination der gezeigten Abbildungen möglich Kriterien für Kombination unterschiedlicher Funktionen auf einem Server oder Verwendung mehrerer Instanzen für eine Funktion –Komplexität der Anwendung –Anzahl Benutzer –Antwortzeitverhalten –Klarheit der Anwendungsstruktur –Kombination mit anderen Anwendungen –Lastverteilung

78 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 140 Entwicklungsstadien (Nutzungsarten) des Web Informationsmedium Statische Webseiten Informationsmedium Statische Webseiten Informationsmedium mit Updatemöglichkeit Dynamische Webseiten Client-seitige Komponenten Datenbankzugriff Informationsmedium mit Updatemöglichkeit Dynamische Webseiten Client-seitige Komponenten Datenbankzugriff Plattform für E-Business Unternehmens-kritische Anwendungen Alle Anwendungskonzepte Plattform für E-Business Unternehmens-kritische Anwendungen Alle Anwendungskonzepte

79 Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 141 Referenzarchitektur Content Management Prozess-Management Firewall HTTP LAN Transaktions-Management Messaging Services Portal Server Benutzer-Schnittstellen Komponenten Benutzer-Schnittstellen Komponenten Business Komponenten Business Komponenten Datenbank-Zugriffe Datenbanken Integrations Services Integrations Services Verzeichnis Schnittstellen Verzeichnis Schnittstellen Verzeichnis Services Verzeichnis Services Geschäfts Partner Geschäfts Partner ERP Systeme Alt-Anwend. Datenbanken Sicherheit


Herunterladen ppt "Architektur von Web-Anwendungen, LMU, WS-01/02 Folie 63 Systemeigenschaften und Architektur Wiederverwendung Rolle von Architekten."

Ähnliche Präsentationen


Google-Anzeigen