Web-Applikations-Server

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

E-Commerce Shop System
C ommon O bject R equest B roker A rchitecture
Webinterface für eingebettete Systeme in Dual-Server-Architektur
DI Christian Donner cd (at) donners.com
Systemverwaltung wie es Ihnen gefällt.
Aktuelle Java-Trends, Norbert Schuler1 Jini Java im Netz.
Basis-Architekturen für Web-Anwendungen
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Web Services und Workflow-Steuerung
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Microsoft Windows 2000 Terminal Services
Komponentenbasierter Taschenrechner mit CORBA
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
JAVA RMI.
Introducing the .NET Framework
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Remote Methode Invocation (RMI)
Lehre, Studium, Forschung LSF Software-System HIS-GX ist eine Webanwendung für:L ehre, S tudium und F orschung bietet vielfältige Funktionalitäten für.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Rechnernetze und verteilte Systeme (BSRvS II)
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
ODBC (Open Database Connectivity)
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
EJB-Applikationsserver
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Grundlagen: Client-Server-Modell
Architekturen und Techniken für computergestützte Engineering Workbenches.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Kap. 4 Der Corba-Standard zur verteilten Objektverwaltung
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Beschreiben Sie eine Web Interaktion mittels Java Applets.
CGI (Common Gateway Interface)
Java Server Pages Sergej Keterling
Management- und Web Services- Architekturen
Web-Design: Architektur
Datenanbindung in Webapplikationen
Arbeitsbereich „Rechnernetze und verteilte Systeme“
Projekt Pokémon (CSL) Evaluation Technologien / Entwicklungsumgebungen Schlusspräsentation, Philip Iezzi, BDLI 2.
Untersuchungen zur Erstellung eines
ATLAS2000 Modellintegration in digitalen Atlanten Konzepte und Lösungsvorschläge am Beispiel ATLAS2000.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Vortrag - Diplomarbeiten (HS I)
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
? What is Open PS? SAP Open PS based on EPS 4.0
Welcome to Web Services & Grid Computing Jens Mache
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
EJB Architektur für große Web - Applikationen Gerald Weber
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
Verteilte Anwendungen: J2EE
Investitionen sichern - wachse mit Forms in die neue Welt
 Präsentation transkript:

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

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)

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

Warum Web-Applikations-Server ? Einführung Komponentenarchitekturen Marktübersicht Warum Web-Applikations-Server ?

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

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

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“

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

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.

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

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.

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.

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

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.

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

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.

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

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

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: www.software.ibm.com/webservers/appserv

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

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

Ü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

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

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.

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.

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)

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

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!

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“)

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

Ende