web-applikations-server grundlagen & netscape application server von adrian maletzko und robert...

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

Upload: kasimir-wernsing

Post on 06-Apr-2015

120 views

Category:

Documents


3 download

TRANSCRIPT

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

Web-Applikations-ServerWeb-Applikations-Server

Grundlagen &Grundlagen &

Netscape Application ServerNetscape Application Server

von Adrian Maletzko und Robert Naczinski

FH Gelsenkirchen09 Dezember, 1999

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

Definition

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

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

Warum Web-Applikations-Server ?

Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht

Inter- Intranet als Platform für:• eCommerce

• Workflow

• Telearbeitsplätze

=> Dynamischer Inhalte durch:• Serverkomponenten

• Client Objekte

• Implementierung \ Skalierbakeit

• Datenbankanbindung

• Transaktionsunterstützung

• Sicherheit

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

Warum Web-Applikations-Server ?

Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht

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

Schichten-Modell

Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht

Zweischichtige Client/Server Architektur

Dreischichtige Client/Server Architektur

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

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 Komponentenarchitekturen Marktübersicht

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

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 Komponentenarchitekturen Marktübersicht

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

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

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

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

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

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-Objekt Server-Objekt

AnforderungOperation 2 Operation 2

Operation 1

Servername, OperationsnameParameter, Ausnahme,Kontext

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

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

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

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

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

RMI \ Enterprise JavaBeans

Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht

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

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.

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

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

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

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.

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

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

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

Vergleich der Architekturen: Übersicht

Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht

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

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:

www.software.ibm.com/webservers/appserv

Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht

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

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:www.borland.com/appserver

Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht

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

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:www.oracle.com/appserver

Applikations-Server: Einführung Komponentenarchitekturen Marktübersicht

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

Überblick

Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen

Besonderheiten• Lastverteilungskomponente (für mehrere NAS)

• Request-Manager (bei einem konkreten NAS)

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

Überblick

Netscape AS : Anwendungsmodule Transaktionen und DB Erweiterungen

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

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 DB Erweiterungen

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

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 DB Erweiterungen

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

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)

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

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

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

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

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

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

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

Fazit

Das Netzwerk ist der Computer!

Objektorientierung, Objektorientierung, Objektorientierung!

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

Ende