Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Web-Applikations-Server

Ähnliche Präsentationen


Präsentation zum Thema: "Web-Applikations-Server"—  Präsentation transkript:

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

2 Applikations-Server:
Einführung Komponentenarchitekturen Marktübersicht Definition 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 ?
Einführung Komponentenarchitekturen Marktübersicht Warum Web-Applikations-Server ? 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 ?
Einführung Komponentenarchitekturen Marktübersicht Warum Web-Applikations-Server ?

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

6 Konzepte verteilter Systementwicklung
Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht 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

7 Konzepte verteilter Systementwicklung
Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht 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“

8 CORBA CORBA - Common Object Request Broker Architecture.
Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht 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

9 Applikations-Server:
Einführung Komponentenarchitekturen Marktübersicht 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.

10 Applikations-Server:
Einführung Komponentenarchitekturen Marktübersicht 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. Client-Objekt Server-Objekt Anforderung Operation 2 Operation 1 Operation 2 Servername, Operationsname Parameter, Ausnahme, Kontext ORB

11 Applikations-Server:
Einführung Komponentenarchitekturen Marktübersicht 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.

12 RMI \ Enterprise JavaBeans
Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht 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.

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

14 Vergleich der Architekturen: Sprachunterstützung
Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht Vergleich der Architekturen: Sprachunterstützung 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 Vergleich der Architekturen: Plattformunterstützung 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 Vergleich der Architekturen: Transaktionsunterstützung 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 Vergleich der Architekturen: Sicherheit 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 Vergleich der Architekturen: Übersicht

19 IBM WebSphere Application Server
Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht 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:

20 Inprise Application Server
Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht 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:

21 Oracle Application Server
Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht 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:

22 Überblick Besonderheiten Lastverteilungskomponente (für mehrere NAS)
Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen Überblick Besonderheiten Lastverteilungskomponente (für mehrere NAS) Request-Manager (bei einem konkreten NAS) 3 Schichten modell Ablaufumgebungen Schnelle Bearbeitung von Anfragen webbasierter Clients Klaster auf einem Rechner Clients kommunizieren über den Web-Swerver mit der Anwendung

23 Überblick Netscape AS : Anwendungsmodule Transaktionen und DB
Erweiterungen Überblick 2 Sichten auf NAS

24 AppLogics Anwendungslogik
Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen 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.

25 Session&State-Management-Service
Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen 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.

26 Cache für Datenverbindungen
Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen Cache für Datenverbindungen 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 Aufgaben Fehlende Benutzerkontrolle
Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen Transaktionsmanager Problematik Fehlende Benutzerkontrolle Aufgaben Nicht beendete Transaktionen zurücksetzen Konsistenz der Datenbank gewährleisten Bereitstellung eines Transaktionsmonitors für fremde Systeme TM basiert auf den TM der benutzten Datenbamk

28 Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen 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!

29 Vorgefertigte Erweiterungen
Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen 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“)

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

31 Ende


Herunterladen ppt "Web-Applikations-Server"

Ähnliche Präsentationen


Google-Anzeigen