SOFTWARE POWERS THE INTERNETSM Oracle9i Application Server Mathias Kaldenhoff Geschäftsstelle HH Leiter Systemberatung Oracle Deutschland GmbH [email protected] Oracle9i Application Server Integrierte, vollständige Middle-Tier-Plattform 9i A S Oracle9i AS: Komponenten Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Oracle HTTP Server Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Oracle HTTP Server (Apache) Funktion: HTTP Listener und Request Dispatcher Implementation: Basiert auf dem Apache Server, C Code Platz in der iAS Architektur: Empfängt HTTP Anfragen von den Clients; liefert statische Dateien vom Dateisystem; leitet Anfragen zu anderen 9iAS Diensten via “mods” (z.B. mod_jserv) weiter. Mods sind in C implementiert und laufen im Adressraum des HTTP Server Prozesses. mod_jserv HTTP HTTPS Oracle HTTP Server (Apache) AJP Apache JServ mod_perl mod_plsql mod_ssl .... Net8 Oracle8i PL/SQL Servlets, PL/SQL, Perl Web Acceleration Services Communication Services Oracle HTTP Server Web Cache Oracle Wireless Services Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures PERL CORBA Portal BC4J PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL XML/XSL Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App mod_plsql Funktion: HTTP Server Plug-in, welches Anfragen für stateless PL/SQL und Java Stored Procedures weiterleitet. mod_plsql ist die Weiterentwicklung der PL/SQL Cartridge im OAS Implementation: Hauptsächlich C code Platz in der iAS Architektur: HTTP Anfragen werden vom HTTP Server zum mod_plsql weitergereicht, welches diese auf Stored Procedures in der Databank abbildet. mod_plsql verwaltet Datenbank Verbindungen anhand von DADs (database access descriptors). mod_jserv HTTP HTTPS Oracle HTTP Server (Apache) mod_perl mod_plsql mod_ssl Net8 Oracle8i PL/SQL PL/SQL Toolkit PL/SQL Server Pages (PSP) Funktion: Generiert PL/SQL Prozeduren aus statischen Seiten, in die dynamische, datenbankbasierte Inhalte eingebunden werden können. Statische Seiten loadpsp mod_jserv HTTP HTTPS Oracle HTTP Server (Apache) mod_perl mod_plsql mod_ssl + embeded PL/SQL code Net8 Oracle8i PL/SQL Code Apache JServ Funktion: Java Servlet Engine, unterstützt v. 2.0 der Servlet API Implementation: 2 Hauptbestandteile. Die Engine ist 100%ig Java und läuft innerhalb einer JVM. Anfragen werden über mod_jserv an die Apache Jserv Engines verteilt (via AJP / Apache JServ Protokoll). Platz in der iAS Architektur: HTTP Anfragen für Servlets werden vom HTTP Server via mod_jserv zur JServ Servlet Engine weitergeleitet. Die Engine kann sowohl lokal auf dem HTTP Server Knoten, als auch remote auf einem anderen Rechner laufen. mod_jserv HTTP HTTPS Oracle HTTP Server (Apache) mod_perl mod_plsql mod_ssl AJP JDK JVM RMI Apache JServ IIOP Oracle Servlet Engine (OSE) Funktion: Java Servlet Engine, unterstützt v. 2.2 der Servlet API Implementation: Hauptsächlich C und Java. Platz in der iAS Architektur: Läuft in einer Oracle 8i JVM. Anfragen werden über mod_ose weitergegeben. Oracle8i JVM Oracle HTTP Server mod_ose HTTP/Net8 Servlet .... OracleJSP (Java Server Pages) Funktion: Übersetzer und Laufzeitumgebung für Java Server Pages Implementation: OracleJSP ist in Java implementiert und läuft in einer JVM. Platz in der iAS Architektur: OracleJSP funktioniert als Übersetzer oder als Teil einer Servlet Engine und dient dazu, aufgerufene JSPs zu kompilieren und auszuführen. mod_jserv HTTP HTTPS Oracle HTTP Server (Apache) mod_perl mod_plsql mod_ssl AJP JDK JVM RMI Apache JServ IIOP OracleJSP Business Logic Services Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Oracle8i JVM Funktion: Session-basierende Java VM und Container für EJB, CORBA Servers, Servlets und JSPs. Auch zuständig für die Ausführung von Java Stored Procedures. Implementation: Hauptsächlich C und Java. Platz in der iAS Architektur: Diverse Schnittstellen zu den Clients. IIOP HTTP Oracle HTTP Server mod_ose HTTP/Net8 Oracle8i JVM EJB Servlet CORBA JSP Stored Procedures Oracle8i JVM Web Container für – Servlet 2.2 engine (Oracle Servlet Engine - OSE) – JavaServer Pages 1.1 (OracleJSP) EJB 1.1 container – Entity Bean Unterstützung Java CORBA Server Objects (Visibroker) Oracle Portal Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Oracle Portal Features • Personalisierung • Self Service Publishing • Document Publishing • integrierte Suchfunktion • Single Sign On • LDAP Integration • Multi Language Support • ... Developer Kits Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Integrierte Produkte Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Oracle Wireless Services Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Oracle Wireless Services Anbindung mobiler Endgeräte WML SMS HDML TTML Transformers Personalization Portal Adapters Runtime (User, Session Management) XML Service Manager Oracle9i AS Preferences Oracle9i •• User Device Information Any Web Site, DB, Enterprise App, e-mail system Oracle9i Wireless Edition Einfache Entwicklung und einfaches Deployment von Applikationen für mobile Endgeräte Ein Portal für jeden Content und jedes Device Ein Portal für Wireless Messaging, Web Browsing und E-Commerce Portale können von den Anwendern personalisiert werden Oracle9i Wireless Edition Oracle9i AS Wireless Edition Jedes Device Jedes Gateway Jedes Markup Personalisiert Jeder Content Nokia Motorola Ericsson Palm RIM Pagers Blackberry Any Network ….. Jeder Browser Nokia Motorola Ericsson Phone.com CMG Tantau Infinity ... HTML XML HDML WML TinyHTML TTML CHTML STKML VoXML VoiceXML …. Nach Anwendern Nach Gruppen Nach Devices Nach Regionen Nach Sprachen ... Jede Web Site Jede HTML Page Jede XML Page Jede Datenbank Jedes servlet Jedes JSP Jedes XSP Jede e-mail ... Oracle9i Database Cache Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Oracle9i Database Cache Funktion: Führt lesende SQL Abfragen auf zwischengespeicherten Daten in der Middle Tier aus . Updates/Inserts werden automatisch an das Backend weitergeleitet. Implementation: Hauptsächlich C. Platz in der iAS Architektur: Kann von Database Clients und Programmcode innerhalb der Oracle8i JVM und Oracle8i PL/SQL Engine aufgerufen werden. OCI client Net8 Oracle9i Cache Oracle8i SQL SQL Cached data Net8 Data Oracle9i Database Cache • Beispiel: Website mit Katalogdaten Katalogdaten Ohne Datenbank Cache: Statische Seiten werden von der Middle Tier geliefert. Alle Abfragen auf Katalogdaten werden im Backend (DB) vorgenommen. Mit Datenbank Cache: Alle Abfragen auf Katalogdaten werden von der Middle Tier bedient, die Last auf dem Backend (DB) wird reduziert . Durch Verteilung der Daten auf mehrere Middle Tier Knoten wird die Performance gesteigert. Static content HTTP Server Lesezugriffe Schreibzugriffe Katalogdaten Static content HTTP Server Oracle9i Cache Lesezugriffe Schreibzugriffe Oracle9i Database Cache Management Console Web Clients Application + Application Server OCI Management Engine Metadata Manager SQL Route Analyzer “hit” Data Set Manager Data Cache (IPC) “miss” Oracle 8i (TCP/IP) Web Cache Web Acceleration Services Communication Services Oracle HTTP Server Presentation Services Business Logic Services Servlets/ JSPs Java Stored Procedures Oracle Wireless Services PERL CORBA Portal BC4J XML/XSL PL/SQL Forms, Reports Oracle iFS Oracle EJBs PL/SQL Web Cache Data Management Services Oracle Database Cache non Oracle DB & Messaging Discoverer Oracle Developer Kits System Services Enterprise Manager, Advanced Security, OID (client) Enterprise App Web Cache Web Cache (pre-cached pages) iAS Any Data iAS iAS Oracle8i • Beschleunigt die Lieferung statischer und dynamisch generierter Webseiten • Load Balancing, Failover, Schutz vor Auslastungsspitzen • Content Awareness Oracle9i Application Server Skalierbarkeit • Hardware: Verschiedene Plattformen - gleicher Applikations Server und gleiche Datenbank • Daten: DB Cache - Last von der Datenbank nehmen • Applikationen: für stateless und statefull Applikationen Windows Windows 2000 Windows 2000 Or NT Cluster Linux Solaris HP/UX AIX UNIX Cluster Oracle9i Application Server Lastverteilung & Ausfallsicherheit Über Threads und Prozesse auf einem Knoten Über mehrere Knoten Network HTTP Server, loadbalancer Apache JServ, Oracle JVM Server Farmen iAS iAS Oracle9i Application Server www.oracle.com Oracle Technology Network technet.oracle.com Oracle Certified Professional technet.oracle.com/training Oracle Support Services technet.oracle.com/support Compliance zu J2EE • Oracle9i AS – JSP 1.1 – Servlets 2.2 – EJB 1.1 – JDK 1.2 – JNDI 1.2 – JDBC 2.0 – JMS 1.0 – XML 1.0 – RMI/IIOP 1.0 – CORBA 2.0 Fragen