Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Web-Applikations-Server Grundlagen & Netscape Application Server von Adrian Maletzko und Robert Naczinski FH Gelsenkirchen 09 Dezember, 1999.

Ähnliche Präsentationen


Präsentation zum Thema: "Web-Applikations-Server Grundlagen & Netscape Application Server von Adrian Maletzko und Robert Naczinski FH Gelsenkirchen 09 Dezember, 1999."—  Präsentation transkript:

1 Web-Applikations-Server Grundlagen & Netscape Application Server von Adrian Maletzko und Robert Naczinski FH Gelsenkirchen 09 Dezember, 1999

2 Definition Applikations-Server : Einführung KomponentenarchitekturenMarktübersicht Application Sever - A software subsystem that executes application logic for performing business activities and which is optimized for very high performance network activity in conjunction with a data server. (Oracle)

3 Warum Web-Applikations-Server ? Applikations-Server : Einführung KomponentenarchitekturenMarktübersicht Inter- Intranet als Platform für: eCommerce Workflow Telearbeitsplätze => Dynamischer Inhalte durch: Serverkomponenten Client Objekte Implementierung \ Skalierbakeit Datenbankanbindung Transaktionsunterstützung Sicherheit

4 Warum Web-Applikations-Server ? Applikations-Server : Einführung KomponentenarchitekturenMarktübersicht

5 Schichten-Modell Applikations-Server : Einführung KomponentenarchitekturenMarktübersicht Zweischichtige Client/Server Architektur Dreischichtige Client/Server Architektur

6 Konzepte verteilter Systementwicklung Was ist eine Softwarekomponente? „A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties.“ European Conference on Object-Oriented Programming (ECOOP), 1996 Was ist ein Komponentenmodell? „A component model defines the basic architecture of a component, specifying the structure of its interfaces and the mechanisms by which it interacts with its container and other components. The component model provides guidelines to create and implement components that can work together to form a larger application.“ A. Thomas, „Enterprise JavaBeans Technology“, 1998 Applikations-Server : Einführung KomponentenarchitekturenMarktübersicht

7 Konzepte verteilter Systementwicklung Was ist Middleware? „ Middleware is off the shelf connectivity software which supports distributed processing and is used by developers to build distributed software.“ R. Rock-Evans, „DCOM Explained“, 1998 „Middleware = „/“ in Client / Server - Systemen“ Applikations-Server : Einführung KomponentenarchitekturenMarktübersicht

8 CORBA CORBA - Common Object Request Broker Architecture. Spezifikation der Kommunikation zwischen verteilten Objekten und Anwendungen im Netz unabhängig von verwendeten Systemen und Programmiersprache. CORBA-Komponenten bestehen aus einer Schnittstelle und ihrer Implementierung in einer Hochsprache. Der Programmierer arbeitet innerhalb der Sprache mit sprachspezifischen Konstrukten (Klassen, Module). Portabilität der Konzepte, die bei der Erstellung der Anwendungssoftwarebenutzt wurden, auf unterschiedlichen Systemen verschiedener Hersteller. –Objectcode-Portabilität (binäre Portabilität) –Quellcode-Portabilität –Entwurfs-Portabilität Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

9 CORBA Die externen Schnittstellen einer CORBA-Komponente werden durch die CORBA-IDL (Interface Definition Language) definiert. CORBA spezifiziert Anbindungen an Hochsprachen, nicht ein bestimmtes Binärformat der Komponenten. Folge: CORBA-Komponenten sind prinzipiell plattform- und compiler-unabhängig, müssen aber in einer der vom jeweiligen ORB auf der Zielplattform unterstützten Sprachen implementiert sein. IDLs dienen dazu, die Schnittstellen einer Komponente unabhängig von ihrer Implementierung zu definieren. IDLs enthalten Schlüsselworte, um: Schnittstellen, übergebene Datentypen, Fhlerzustände zu definieren. CORBA und DCOM verwenden IDLs. Java RMI erzeugt die Schnittstellen direkt aus Java-Code. Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

10 CORBA ORB (Object Request Broker) - Vermittler für die Kommunikation. Über ihn kommunizieren verschiedene Objekte. Der Client kann beliebige Methoden eines Servers aufrufen, ohne dessen Lokalität oder die verwendete Sprache zu kennen. Der ORB findet selbständig die korrekte Implementierung - über System- und Sprachgrenzen hinweg. Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht ORB Client-ObjektServer-Objekt Anforderung Operation 2 Operation 2 Operation 1 Servername, Operationsname Parameter, Ausnahme, Kontext

11 DCOM \ ActiveX DCOM (Distributed Common Object Model)- von Microsoft entwickeltes verteiltes Objektmodell. Distributed COM (DCOM) wird entwickelt, um die Schwächen von COM beim Zugriff auf entfernte Rechner auszumerzen. „DCOM is COM with a longer wire“ (Microsoft) DCOM spezifiziert das Binärformat von Komponenten Folge: DCOM-Komponenten sind immer plattformabhängig ActiveX-Komponenten sind COM-Komponenten, die über Plattformgrenzen hinweg portabel sein sollen. Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

12 RMI \ Enterprise JavaBeans Enterprise Java Beans - Softwarekomponenten mit Nutzung entfernter Ressourcen RMI (Remote Method Invocation) - Kommunikation zwischen Java- Objekten auf verschiedenen Systemen im Netzwerk. Schichtenmodell, welches den Datentransfer vom eigentlichen Transport-Protokoll und der Applikations-Ebene abstrahiert TCP als Transportmedium, UDP oder IIOP (Internet-Inter-ORB- Protocol) wären ebenfalls möglich. Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

13 RMI \ Enterprise JavaBeans Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

14 Vergleich der Architekturen: Sprachunterstützung Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht CORBA: Sprachunabhängiger Standard, Schnittstellendefinition durch IDL Sprachanbindungen an C, C++, Smalltalk, Ada, Java, Eiffel, Objective C DCOM / ActiveX: Binärstandard macht DCOM unabhängig von der verwendeten Sprache, verlangt aber ein bestimmtes Ausgabeformat des Compilers Viele Entwicklungstools auf der Windows-Plattform (MS Visual Studio, PowerBuilder, Borland Delphi, MicroFocus COBOL) unterstützen dasDCOM-Format RMI / Enterprise JavaBeans: Auf jeder Plattform verfügbar, auf der eine Java-VM läuft.

15 Vergleich der Architekturen: Plattformunterstützung Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht CORBA: Plattformunabhängigkeit ist der zentrale Focus von Corba. ORBs verfügbar für über 30 Plattformen. DCOM / ActiveX: In die Windows NT-Plattform integriert. Plattformunterstützung einzelner Nicht-Windows-Plattformen nachträglich aufgesetzt. DCOM-Realisierungen auf anderen Plattformen mit stark reduzierter Funktionalität. RMI / Enterprise JavaBeans: Ausschließlich mit Java verwendbar

16 Vergleich der Architekturen: Transaktionsunterstützung Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht CORBA: Object Transaction Service bietet weitreichende Unterstützung für verschiedene Arten von Transaktionen auf verschiedenen Plattformen Auch Transaktionen zwischen verschiedenen ORBs sind mit OTS möglich DCOM / ActiveX: Microsoft Transaction Server bietet automatisierte Transaktionsunterstützung für Windows NT Auf anderen Betriebssystemen sind nur rudimentäre DCOM- Transaktionsfunktionen verfügbar RMI / Enterprise JavaBeans: Unterstützung des Java Transaction Service (basiert auf OTS) wird empfohlen, aber nicht vorgeschrieben.

17 Vergleich der Architekturen: Sicherheit Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht CORBA: Sehr umfangreiche und vollständige Sicherheitsspezifikation. Umsetzungsgrad der Spezifikation variiert von ORB zu ORB. DCOM / ActiveX: Auf Windows NT gute Sicherheit durch Integration mit Sicherheitsfunktionen des Betriebssystems. Auf anderen Plattformen kann Sicherheit nur durch Integration mit Produkten von Drittanbietern gewährleistet werden. RMI / Enterprise JavaBeans : EJB nutzt und erweitert das Java-Sicherheitsmodell

18 Vergleich der Architekturen: Übersicht Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

19 IBM WebSphere Application Server GUI-Administration des IBM HTTP Servers Volle Unterstützung von Java 2 und RMI und JDBC Integration von „Visual Age for Java“ als Entwicklungsumgebung. Lastenverteilung für mehrere Server XML/XSL-Unterstützung: Zusammenfügung Inhalte aus verschiedenen Datenquellen. Möglichkeit der Verwendung unterschiedlicher JVM´s auf einem Rechner Automatische Web-Seiten Analyse mit Generierung umfangreicher Reports Automatischer Übersetzungsdienst für unterschiedliche Sprachen (machine translation engine) Weitere Informationen: Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

20 Inprise Application Server Unterstützung verschiedener Programmiersprachen, Datenbankservern und Hardware-Plattformen Objektorientierte Infrastruktur (VisiBroker) Unterstützung von CORBA, C++, Java 2 und HTML Integration von JBuilder 2, Sun Java Webserver, VisiBroker IST (transiaktionsgesteuerte Middleware für Java-basierte Anwendungen) Management-Tool AppCenter für die visuelle Verwaltung des Applications Servers Weitere Informationen: Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

21 Oracle Application Server Integration in die Oracle Umgebung Unterstützung von: Enterprise JavaBeans, JSP, Servlets, PL/SQL Policy Manager - Prioritätsstufen für Anwendungen mit Ressourcenverteilung Weiter Informationen: Applikations-Server : Einführung Komponentenarchitekturen Marktübersicht

22 Überblick Netscape AS : Anwendungsmodule Transaktionen und DBErweiterungen Besonderheiten Lastverteilungskomponente (für mehrere NAS) Request-Manager (bei einem konkreten NAS)

23 Überblick Netscape AS : Anwendungsmodule Transaktionen und DBErweiterungen

24 AppLogics Anwendungslogik Sie ist in kleinen Modulen, den sogenannten AppLogics implementiert. AppLogics sind Programmstücke, die in Java oder C++ geschrieben sind, und damit Klassen, zu denen bei einer Anfrage des Clients ein Objekt erzeugt wird. Eine NAS-Anwendung setzt sich aus einer Menge von AppLogics zusammen die global eindeutig identifiziert sind. Es gibt eine Verteilung zwischen Präsentation im Web-Browser und Anwendungslogik auf dem Web-Server. Die AppLogics werden im Wechsel mit den Ein- und Ausgaben im Web-Browser angestoßen und von den NAS-Prozessen ausgeführt. Netscape AS : Anwendungsmodule Transaktionen und DBErweiterungen

25 Session&State-Management-Service Verteilte Speicherung von Anwendungszuständen (innerhalb einer Anwendung) Sitzungsbezogene Daten –Benutzerkennung kann in einem Session-Objekt gespeichert werden –Identifikation durch eine Session-Objekt ID Sitzungsunabhängige Daten –Sitzung- und Benutzerunabhängige Anwendungszustände werden durch den State-Management-Service verwaltet. –Komplexe Anwendungszustände bleiben über die Grenzen einer Applikations-Server Instanz erhalten. Netscape AS : Anwendungsmodule Transaktionen und DBErweiterungen

26 Cache für Datenverbindungen Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen Problematik Hohe Datenbankrelevanz in den Applikationen Gewährleistung schneller Datenbankabfragen Gewährleistung schneller Antwortzeiten Aufgaben Bereitstellung der Verbindungen zu Auswahl durch die Anwendungsmodule (AppLogics) Speicherung der Abfrageergebnisse zum Abruf durch die Anwendungsmodule (AppLogics)

27 Transaktionsmanager Problematik Fehlende Benutzerkontrolle Aufgaben Nicht beendete Transaktionen zurücksetzen Konsistenz der Datenbank gewährleisten Bereitstellung eines Transaktionsmonitors für fremde Systeme Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen

28 Eigene Erweiterungen Bereitstellung der Funktionalität eines entfernten Systems (durch Schnittstellen und Kommunikationsmechanismen) Zugriff auf Altanwendungen Client/Server-Anwendungen Web-Produkte von Dritten NAS ist ein CORBA-Server! Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen

29 Vorgefertigte Erweiterungen Kommunikation mit fremden Systemen: IBM MQ Series BEA Tuxedo IBM CIC, IMS ERP Über: RMI („Remote Method Invocation“) DCOM („Distributed Component Object Model“) CORBA („Common Object Request Broke Architecture“) Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen

30 Fazit Das Netzwerk ist der Computer! Objektorientierung, Objektorientierung, Objektorientierung!

31 Ende


Herunterladen ppt "Web-Applikations-Server Grundlagen & Netscape Application Server von Adrian Maletzko und Robert Naczinski FH Gelsenkirchen 09 Dezember, 1999."

Ähnliche Präsentationen


Google-Anzeigen