Sesam (APEX) Öffne Dich Referent: Oliver Lemm, Oracle Berater, MT AG, Ratingen MT AG Key Facts MT AG MANAGING TECHNOLOGY – ENABLING THE ADAPTIVE ENTERPRISE Gründung 1994 Inhabergeführte AG: Aktienkapital 1.500.000 € Full-Service-Dienstleistung für alle Phasen des Software-Lifecycle Hauptsitz Ratingen; Niederlassungen in Dortmund, Frankfurt, Hamburg (MT-ics) und Luxemburg (MT-ifs) Herstellerunabhängige Expertise in den marktführenden Technologien wie Oracle, IBM, Microsoft, SAP und OpenSource Themen- und Lösungs-Know-how in den Kerndisziplinen des Adaptive Enterprise Mitarbeiter: > 210 Festangestellte > 65 Freie Mitarbeiter 17.11.2011 2 Agenda • • • • • • • • Einleitung & Grundlagen Oracle HTTP Server (OHS) Embedded PL/SQL Gateway (EPG) APEX Listener Caching Komprimierung Debugging Fazit 17.11.2011 Sesam (APEX) Öffne Dich 3 Einleitung und Grundlagen • • • • • Application Express kostenloses Framework in der Oracle Datenbank 2-Schichten Architektur Geringe Hardwarekosten Skalierbare Systeme möglich 3 technische Möglichkeiten auf APEX zuzugreifen • Transparent für Endbenutzer • Je nach bestehender Systemlandschaft direkt integrierbar • Je nach individueller Anforderung und Features Gateway wählbar • Paralleler Betrieb von allen 3 Gateways möglich 17.11.2011 Sesam (APEX) Öffne Dich 4 Oracle HTTP Server (OHS) • Auf Basis des Apache Webservers 1.3.x und 2.x verfügbar • Von Oracle angepasste Version des Apache Webservers • Modul: mod_plsql • Teil der Oracle Web Tier Utilities (aktuell 11.1.1.5.0) • Aktuelle Version zum Runterladen (11.1.1.3.0) http://www.oracle.com/technetwork/middleware/downloads/fmw-11download-092893.html Danach auf 11.1.1.4 und 11.1.1.5 patchen • Lizenzkostenfrei auf dem gleichen Server wie die Datenbank 17.11.2011 Sesam (APEX) Öffne Dich 5 Oracle HTTP Server (OHS) 17.11.2011 Sesam (APEX) Öffne Dich 6 Oracle HTTP Server (OHS) - Installation • Installation des OHS • Eigenes Oracle Home • Standardadresse initial/default • • http://localhost:7780 Ab Oracle 11g wird neben der Installation der Dateien eine „Instanz“ eingerichtet, in der die jeweiligen Konfigurationsdateien liegen • 17.11.2011 Installationspfad /oracle/ohs11gr2 Instanz /oracle/ohs11gr2_inst Sesam (APEX) Öffne Dich 7 Oracle HTTP Server (OHS) - Konfiguration • Konfiguration für APEX • Dokumentation APEX 4.1 http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21673 /overview.htm#i46634 • Datenbankbenutzer APEX_PUBLIC_USER entsperren • ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK • Ggf. Passwortablauf deaktivieren (Stichwort Profile) • Grafiken kopieren bzw. Link auf das Verzeichnis /apex/images erstellen Datenbankverbindung & Grafikverzeichnis konfigurieren • • 17.11.2011 OHS_INSTANCE_HOME/ohs/modplsql/conf/dads.conf Sesam (APEX) Öffne Dich 8 Oracle HTTP Server (OHS) • Eigenständiges System • Vorteile: • Nur Webserver Betrieb in DMZ -> höhere Sicherheit • Separate Skalierung • Zentrale Nutzung des Webservers mehrerer Instanzen • Nachteile • Lizenzkosten für OHS • Eigene Hardware/Ressourcen nötig • Separate Konfiguration von Firewall • Ggf. Netzwerklatenz zwischen Datenbankserver und OHS 17.11.2011 Sesam (APEX) Öffne Dich 9 Embedded PL/SQL Gateway (EPG) • Das EPG wurde Initial in Oracle 9iR2 eingeführt • Es handelt sich um eine vollständig in der Datenbank vorhandene Lösung die Anfragen von einem Browser über einen konfigurierten Port entgegen zu nehmen 17.11.2011 Sesam (APEX) Öffne Dich 10 Embedded PL/SQL Gateway (EPG) - Konfiguration • Über Skript „apex_epg_config.sql“ im APEX Verzeichnis konfigurierbar • SQL>@apex_epg_config /<Verzeichnis über apex> • Datenbankbenutzer ANONYMOUS aktivieren • SQL>ALTER USER ANONYMOUS ACCOUNT UNLOCK; • Ggf. Aktuelle Grafiken kopieren • SQL>@apxldimg.sql /<Verzeichnis über apex> • Achtung: Liegt das entpackte Verzeichnis /apex auf root funktioniert die Installation der Grafik nicht mit @apxldimg.sql / • Freischaltung des EPG für Zugriffe außerhalb von localhost • SQL>dbms_xdb.setlistenerlocalaccess(false); 17.11.2011 Sesam (APEX) Öffne Dich 11 Embedded PL/SQL Gateway (EPG) - Konfiguriation • Falls man weitere Grafiken neben den APEX Grafiken in der Datenbank platzieren will muss man dies über WebDav durchführen • Im Windows Explorer auf http://server:8080 zugreifen und mittels system/<passwort> einloggen. • Für den Einsatz im Mehrbenutzerbetrieb sollte die Eigenschaft SHARED_SERVERS entsprechend angepasst werden. • Initial steht der Parameter auf 1, was gerade mal ca. 1,7 Request pro Sekunde sind • Stellt man den Parameter auf 5, bedeutet das knapp 7 Request pro Sekunde • 17.11.2011 SQL>ALTER SYSTEM SET SHARED_SERVERS=5 SCOPE=both; Sesam (APEX) Öffne Dich 12 APEX Listener • Neueste Variante Ende 2009 in erster Version veröffentlicht • Sowohl Stand-Alone über Kommandozeile als auch über ApplikationServer einsetzbar • Oracle supported WebLogic, Glassfish, OC4J • Betrieb über Apache Tomcat möglich • Benötigt mind. Java 6 Update 20 17.11.2011 Sesam (APEX) Öffne Dich 13 APEX Listener – Installation & Konfiguration • Stand-Alone • Java –jar apex.war • Konfigurieren über http://server:8081/apex/listenerConfigure • Einstellungen in apex-config.xml zusätzlich möglich • Installation auf Tomcat • http://blog.warp11.nl/2011/05/fully-freeware-apex-environment-iitomcat-6-apex-listener/ 17.11.2011 Sesam (APEX) Öffne Dich 14 APEX Listener - Features • Unterstützung von nativen Excel Files • Upload mittels Request XLS2COLLECTION triggert automatisch die Konvertierung in eine Collection • Auf APEX Seite ein „File Browser“ Item hinzufügen • Über folgende Query Inhalte abfragen • select * from apex_collections where collection_name = ‚P1_DATEI‘; • Ressource Templates über REST Webservice • Dabei wird ein JSON Objekt zurückgegeben • Beliebige Seitenfragmente können so bereitgestellt werden und als eine Art Portlet zur Verfügung gestellt werden. 17.11.2011 Sesam (APEX) Öffne Dich 15 Caching • Möglichkeit im Webumfeld über die Eigenschaft Expiry Headers dem Browser mitzuteilen welches Objekt wie lange gecached wird • OHS • Unterstützt das Feature über mod_expires • EPG • Keine Unterstützung des caching • APEX Listener • Unterstützt die Eigenschaft Expiry Headers nicht • Kann über die Datenbank und REST Webservices caching unterstützen 17.11.2011 Sesam (APEX) Öffne Dich 16 Komprimierung • Bei großer Menge statischer Dateien und Javaskripten enorm mächtig. (Stichwort JQuery) • 3-5fache Verminderung von Quellcode • OHS • mod_gzip • mod_gzip.conf -> „mod_gzip_include handler ^pls_handler$ • EPG • Keine Unterstützung von Kompression • APEX Listener • Einstellung nicht über Weboberfläche sondern direkt in apexconfig.xml • 17.11.2011 <entry key=„apex.misc.compress“>true</entry> Sesam (APEX) Öffne Dich 17 Debugging • Hierbei geht es direkt um die Unterstützung des Gateways im Bereich debugging. • OHS • plsql.conf -> „PlsqlLogEnable On“ • EPG • „dbms_epg.set_global_attribute(‚log-level‘,3);“ • APEX Listener • Über Weboberfläche und den Tabreiter „Miscellaneous“ sind Debugging und Fehlermeldungen konfigurierbar 17.11.2011 Sesam (APEX) Öffne Dich 18 Fazit • OHS • Bietet die beste Performance für Skalierung und Stabilität • Unterstützt die meisten Features • • SSO, SSL, Caching, RewriteRules, Komprimierung Jahrelange Erfahrung • EPG • Sehr einfache Einrichtung • Optimal für Entwicklungssysteme • Teilweise Verzögerungen „Sekundenlags“ 17.11.2011 Sesam (APEX) Öffne Dich 19 Fazit • APEX Listener • Noch nicht voll ausgereift • • Konfiguration nicht vollständig über Weboberfläche • Probleme bei Umlauten Gute neue Features (Excel Upload und REST Webservices) • Möglichkeit des Parallelbetrieb kann Vorteile vereinigen • 1 Session über verschiedene Gateways • Über APEX RewriteRule einzelne Seiten über EPG oder APEX Listener • Übergang von OHS zum Listener so Stück für Stück durchführbar 17.11.2011 Sesam (APEX) Öffne Dich 20 Vielen Dank! ?! MT AG managing technology I Balcke-Dürr-Allee 9 I 40882 Ratingen Tel. +49 (0) 2102 309 61-0 I [email protected] I www.mt-ag.com