oracle fusion middleware 12c forms, reports, bi publisher … · rwservlet http reports server 1...
TRANSCRIPT
Die Zähmung der Widerspenstigen –Oracle Fusion Middleware 12c Forms, Reports, BI Publisher
Jürgen Menge (Der IT-Macher GmbH)
▪ Gegründet im April 2016
▪ Umfangreiche Oracle Expertise
▪ Durchschnittsalter 40+
▪ IT Consulting
▪ Primäre Kundenbasis: Oracle Forms-Anwender
▪ Technische Kompetenz
▪ Oracle Forms/Reports
▪ Oracle APEX
▪ Java/Oracle ADF
▪ Oracle Jet
▪ Mobile
▪ Cloud
2
Der IT-Macher GmbH
3
Installation & Konfiguration mit wachsender
Komplexität
Entwicklungs-Umgebung
EinfacheProduktions-Umgebung
HAProduktions-Umgebung
HAProduktions-Umgebung
mit SSO
5
S S O F M W
https://host:7777/forms/frmservlet?config=test_sso
LDAP
HTTP/HTTPS
JDBC
DIP
SQL*Net
Clients
FMW HostSSO Host
DB Host 1MS AD Host
OAM Web Gate
Web Server (OHS)
Domain OAM
OAM Console Access Server
Domain OID
ODSMDirectory
ServerAdministration
Primary DB
OID DB
LDAP
OAM DB
OAP
Admin
Forms
Reports
Domain FR
Admin
BI Publisher
Domain BI
FMWRepository
Standby DB
DB Host 2
ORDS
DB Host 3
APEX
▪ Es scheint möglich, eine existierende Domain (Forms/Reports) um den BI
Publisher zu erweitern ... aber
▪ Es gibt keinerlei Erfahrung, ob es funktioniert
▪ Die Oracle Product Manager empfehlen es nicht
▪ Es ist schwieriger wartbar (Administration, Patching, Versionswechsel, etc.)
Wir haben entschieden, zwei eigenständige Umgebungen zu installieren
▪ 2 Middleware Homes
▪ 2 Domainen
▪ 2 Admin Server
▪ 2 Node Manager
6
Forms/Reports und BI Publisher
Wie viele Domainen brauchen wir ?
Achtung
Man kann nicht zwei Domainen in unterschiedlichen Modi (Production/Development)
auf derselben Maschine laufen lassen (wegen Coherence).
▪ Notwendige Voraussetzung in der Oracle Fusion Middleware 12c
▪ Erforderliche Schemata müssen mit Hilfe des Repository
Creation Utility (RCU) erzeugt werden
▪ GUI
▪ Silent
▪ Man kann verschiedene Produkte, Versionen oder Umgebungen voneinander
trennen, indem man unterschiedliche Präfixe verwendet (Beispiel: DEV, PRD)
▪ Die Lizenzbedingungen für die Datenbank müssen beachtet werden !
7
Erzeugen
Fusion Middleware Repository
$ORACLE_HOME/oracle_common/bin/rcu -silent -createRepository -
connectString localhost:1521:wls -dbUser SYS -dbRole SYSDBA -
schemaPrefix WLS -component IAU
-component IAU_APPEND -component IAU_VIEWER -component OPSS -
component WLS -f < /tmp/pw.txt
Ist es möglich, ein Repository in eine andere Datenbank zu migrieren ?
▪ Ja, aber es ist kompliziert (ein einfacher Export/Import von Usern reicht nicht
aus)
▪ Es hat sich als gute Idee erwiesen, wenn eine eigene Datenbank für das
Repository verwendet wird (ein Export/Import der Datenbank funktioniert)
▪ Nach der Migration müssen die Verbindungs-Informationen der Data Sources in
der WLS Console geändert werden
aber es gibt noch Referenzen auf die alten Data Sources in
diesen Dateien
$DOMAIN_HOME/config/fmwconfig/jps-config-jse.xml
$DOMAIN_HOME/config/fmwconfig/jps-config.xml
8
Migration
Fusion Middleware Repository
▪ Überwacht und restartet Server und System-Komponenten der FMW
▪ Läuft als separater Prozess (Java- oder script-basiert für UNIX/Linux)
▪ Kann als Service im Betriebssystem aufgesetzt werden
▪ Ersetzt den OPMN in der Fusion MW 12c komplett
▪ Brauchen wir den Node Manager ?
▪ Der Node Manager muss zwingend nach der Installation einmal gestartet werden !!
▪ Danach ist er auf dem Entwickler-Arbeitsplatz nicht unbedingt notwendig
▪ Für Entwicklungs- oder Produktions-Server empfohlen (geringer Ressourcenverbrauch)
▪ Der Node Manager hat seine eigenen Zugangsdaten (username/password)
▪ Credentials können verschlüsselt gespeichert werden, indem man die Option
storeUserConfig einmalig in einem Befehl für den Node Manager angibt
9
Node Manager
Parameter: CrashRecovery=true !!
Der Node Manager versucht, Server und Komponenten nach einem System Crash erneut zu starten
▪ Zwei verschiedene Architektur-Modelle
▪ Ein Node Manager pro Maschine
▪ Das "alte" BEA-Modell
▪ Kann mehrere Domainen auf derselben Maschine überwachen
▪ Beispiel: OAM und IDM Domain (11g) auf demselben Server mit nur einem Node Manager
▪ Ein Node Manager pro Domain
▪ Das "neue" Oracle-Modell
▪ Kann die Server und Komponenten einer Domain auf verschiedenen Maschinen überwachen
▪ Beispiel: FR und BI Domain (12c) auf demselben Server mit zwei Node Managern und
unterschiedlichen Ports
▪ Die Kommunikation kann ungesichert (Plain) oder gesichert (SSL) sein
▪ Die Konfiguration sollte an allen Stellen konsistent sein
▪ $DOMAIN_HOME/nodemanager/nodemanager.properties (für den Node Manager)
▪ WLS Console: Domain => Enviroment => Machine => Node Manager
10
Node Manager
▪ Wird zu Beginn der $DOMAIN_HOME/bin/setDomainEnv.sh ausgeführt
▪ Beispiel:
11
Performance Parameter setUserOverrides.sh
#!/bin/bash
export JAVA_OPTIONS="$JAVA_OPTIONS -Dweblogic.MaxMessageSize=300000000"
export USER_MEM_ARGS="-Xms256m -Xmx512m"
if [ "${SERVER_NAME}" = "WLS_FORMS" ]
then
echo "Customizing USER_MEM_ARGS for SERVER_NAME ${SERVER_NAME}"
export USER_MEM_ARGS="-Xms2g -Xmx2g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -
XX:NewSize=1g"
export JAVA_OPTIONS="$JAVA_OPTIONS -Djava.awt.headless=true -
Djava.net.preferIPv4Stack=true -Dweblogic.SelfTuningThreadPoolSizeMin=100 -
Dweblogic.SelfTuningThreadPoolSizeMax=500"
fi
▪ OHS basiert in der Fusion MW 12c auf Apache 2.4
▪ Empfohlene Architektur
▪ WebLogic Servers sind nur über die Adresse localhost ansprechbar
(direkter Zugriff nur, wenn man auf der Maschine angemeldet ist)
▪ Zugriff von außen über den HTTP Server und nur einen Port
▪ Definieren von Location Directives für WLS Console, EM, Forms, Reports und BI
Publisher in der Datei mod_wl_ohs.conf
▪ Für lang-laufende Queries in Forms können zwei weitere
Parameter gesetzt werden
13
Oracle HTTP Server (OHS)
<Location /forms>
SetHandler weblogic-handler
WebLogicHost localhost
WebLogicPort 9001
WLIOTimeoutSecs 600
Idempotent OFF
</Location>
Die meisten Konfigurationsdateien des OHS existieren
zweimal (für die Komponente und für die Instanz)
Es wird empfohlen, notwendige Änderungen über
die Oberfläche des Enterprise Manager auszuführen
▪ Webgate ist ein Web Server Plug-In für das Zugriffs-Management
▪ Webgate leitet alle URL-Aufrufe an den Oracle Access Server weiter
▪ Die Webgate-Software wird mit der Fusion MW 12c installiert
▪ Die einzig notwendigen Schritte sind
▪ Deployment und Aktivierung des Webgate
▪ Nutzung des FormsHelperScript-Befehls enable_sso, um SSO zu konfigurieren
(Oracle Access Manager und Webgate)
14
Single Sign-On (SSO)
Oracle HTTP Server (OHS)
15
Optionen für die Client Runtime
Oracle Forms 12.2.1.x
▪ Applet embedded in HTML
▪ SSO, SSO Logout und JavaScript-
Integration
▪ erfordert Java Plug-In und Browser
▪ JNLP embedded in HTML
▪ SSO, SSO Logout und JavaScript-
Integration
▪ erfordert Java Plug-In und Browser
▪ JNLP Code im HTML Source Code
▪ Java WebStart
▪ SSO (wenn im Browser initiiert)
▪ kein Support für SSO Logout und
JavaScript-Integration
▪ erfordert entweder JDK oder
Java Plug-In
▪ Standalone
▪ (kein Support für SSO, SSO Logout und
JavaScript-Integration) – bis 12.2.1.3
▪ erfordert entweder JDK oder Java Plug-In
▪ kein Browser erforderlich
▪ Forms Standalone Launcher (FSAL)
▪ Einzig zukunftssichere Option für den Client
▪ Oracle Support Note 2310266.1
"On a case by case basis, Java versions beyond v9 (e.g. 18.x and newer) will be
considered for certification with Forms 12+, but only for use with the Forms 12.x
Standalone Launcher (FSAL)."
▪ plattform-spezifisch (Version abhängig vom OS des Servers)
▪ Verwendet das Kommando java oder javaw, um den Launcher zu starten
▪ Support für SSO verfügbar ab 12.2.1.4
16
Forms Standalone Launcher (FSAL)
java -jar frmsal.jar -url "http://jmenge-de.de.oracle.com:9001/forms/frmservlet?config=standaloneapp" –t 10000
▪ Konfigurationsdateien: formsweb.cfg, default.env, registry.dat, ...
▪ GUI im FMW Control
(empfohlen)
Manuelles Editieren der Dateien
▪ Stoppen des WLS_FORMS und des Admin Server vor dem Editieren
17
Konfiguration von Oracle Forms
18
Architektur
Oracle Reports
WLS_Reportsrwservlet
http
Reports Server 1
Report Server 2 JDBC
Reports Engine
Reports Engine
Reports Engine
Reports Engine
SQL*Net
Subnet
▪ Anzeige aller laufenden Reports Server im Subnet: rwdiag.sh –findAll
▪ Will man Reports Server mit gleichem Namen im Subnet haben (test, prod)
Definieren unterschiedlicher Netzwerk-Ports für das Broadcasting in der
Datei rwnetwork.conf
InProcess Server Reports Engine
Reports Engine
▪ Konfigurationsdateien: rwservlet.properties, rwserver.conf, rwnetwork.conf, ...
▪ System MBean Browser im FMW Control (empfohlen)
▪ Nicht so einfach, die richtige MBean
zu finden
▪ Kostet viel Zeit
Manuelles Editieren der Dateien
▪ Stoppen des WLS_REPORTS und des Admin Server vor dem Editieren
▪ Admin Server verteilt Konfig.dateien wenn die Server auf versch. Maschinen laufen19
Konfiguration von Oracle Reports
▪ Verwenden der setUserOverrides.sh, um Einstellungen der Domain festzulegen
(z.B. Speichereinstellungen für die JVM)
▪ Startup / Shutdown
▪ Option 1: Mitgelieferte Oracle Scripte in $DOMAIN_HOME/bin
▪ Aufpassen, das die Scripte einander nicht überholen
▪ Option 2: Angepasste WLST Scripte
▪ Optimiert und an die eigenen Anforderungen angepasst
▪ Können mehr oder weniger generisch sein
▪ Können Exception Handling enthalten
▪ Verbinden der Startup/Shutdown-Scripte mit System Service zur Automatisierung
20
Startup / Shutdown der Umgebung
Node Manager Service für MS Windows
▪ Aufpassen, unter welchem Benutzer der Service gestartet wird
▪ Überwachung der Log-Dateien
▪ Entdecken von Problemen
▪ Wachstum kontrollieren
▪ Verzeichnisse
▪ <domain_home>/servers/<server>/logs
▪ <domain_home>/system_components/<system_component>/..
▪ Maßnahmen
▪ Log-Einstellungen in der WLS Console: Umgebung => Server => Logs
▪ Log-Analyse im FMW Control (EM): Domain => Log Messages
▪ Package logrotate (Linux)
▪ Betriebssystem-seitige Überwachung
21
Monitoring der Log-Dateien
▪ Authentifizierung gegenüber dem MS ActiveDirectory▪ Variante 1: Direkt
▪ Variante 2: Indirekt über das Oracle Internet Directory (OID) mittels Directory Integration Program (DIP)
▪ SSO-Integration für Oracle Forms und Reports ist komplex und erfordert
mehrere Konfigurationsschritte▪ Registrieren des WebGate Agenten beim Oracle Access Manager mit Hilfe des FormsHelper Scripts
(enable_sso)
▪ Konfigurieren von geschützten Ressourcen (URL) für Forms und Reports im Oracle Access Manager
▪ Verknüpfen von Forms mit dem Oracle Internet Directory (OID)
▪ Verknüpfen des Reports Servers mit dem Oracle Internet Directory (OID)
▪ Hinzufügen der Forms und Reports Applikation zur OID Gruppe oraclemanageextendedpreferences
▪ Anlegen des Job Status Repository in der Datenbank (empfohlen)
22
Forms & Reports
Single Sign-On (SSO)
▪ SSO-Integration für den BI Publisher ist wesentlich einfacher wegen der
moderneren modularen Architecture aber ...
▪ ... nur, wenn man den richtigen Weg nicht verlässt
▪ Wenn als Security Model "Fusion Middleware" (default) eingestellt ist,
wird die gesamte Sicherheit vom WLS abgehandelt !
▪ Konfigurieren von geschützten Ressourcen (URL) für den BI Publisher im OAM
▪ Konfigurieren der Security Provider im WLS
▪ Definieren von Gruppen im OID und verknüpfen dieser Gruppen mit
Applikationsrollen im Enterprise Manager (Admin, Content Author, Consumer)
23
BI Publisher
Single Sign-On (SSO)
Das SSO Flag sollte nicht im BI Publisher gesetzt sein!
▪ SSL Endpunkte
▪ Load Balancer
▪ Apache HTTP Server / Oracle HTTP Server
▪ Oracle WLS
▪ Absicherung des Oracle HTTP Server
▪ Reguläres oder selbst-signiertes Zertifikat erforderlich
▪ Anmeldedaten und Schlüssel werden im Oracle Wallet
gespeichert
▪ Generieren des Zertifikate-Requests mit openssl
▪ Import der Zertifikate und Schlüssel mit orapki
24
Verschlüsselung des Netzwerk-Verkehrs (SSL)
Oracle HTTP Server
HTTPS
WLS_FORMS WLS_REPORTS
Admin Server
▪ Server-side Java (wenn Java > 1.8.161 verwendet wird)
▪ Reports Server stürzt ab und und wird regelmäßig vom Node Manager gestartet
Log-Dateien laufen voll u.a. Probleme
▪ Download der Java Policy-Dateienhttp://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
▪ Ersetzen der Java Policy-Dateien an verschiedenen Stellen (Support Note 2233555.1)
▪ Ist in der aktuellen Version 12.2.1.4 gefixt
▪ Client-side Java
▪ Zertifizierung beachten
25
Java Versionen
▪ Überprüfen, ob die WebLogic Basic-Lizenz eingehalten wurde
▪ Script wls-basic-measurement.py vom Oracle Support (Note 885587.1)
▪ Änderung der angemerkten Einstellungen mit Hilfe des System MBean Browsers
26
Einhalten der Lizenzbedingungen
▪ DOAG Forms Day am 20. Februar 2020 in Frankfurt/M.
https://www.doag.org/de/themen/development/forms/
▪ Vortragsangebote bitte bis 27. November einreichen
https://community.oracle.com/events/10241
Deutsche Oracle User Gruppe (DOAG)
Fragen & Antworten
Jürgen Menge
28