Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1...

27
Die Zähmung der Widerspenstigen Oracle Fusion Middleware 12c Forms, Reports, BI Publisher Jürgen Menge (Der IT-Macher GmbH)

Transcript of Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1...

Page 1: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

Die Zähmung der Widerspenstigen –Oracle Fusion Middleware 12c Forms, Reports, BI Publisher

Jürgen Menge (Der IT-Macher GmbH)

Page 2: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 3: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

3

Installation & Konfiguration mit wachsender

Komplexität

Entwicklungs-Umgebung

EinfacheProduktions-Umgebung

HAProduktions-Umgebung

HAProduktions-Umgebung

mit SSO

Page 4: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net
Page 5: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

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

Page 6: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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).

Page 7: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 8: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

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

Page 9: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ Ü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

Page 10: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 11: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 12: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 13: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

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

Page 14: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

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)

Page 15: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 16: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 17: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

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

Page 18: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 19: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 20: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ Ü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

Page 21: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

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

Page 22: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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!

Page 23: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 24: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ 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

Page 25: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

▪ Ü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

Page 26: Oracle Fusion Middleware 12c Forms, Reports, BI Publisher … · rwservlet http Reports Server 1 Report Server 2 JDBC Reports Engine Reports Engine Reports Engine Reports Engine SQL*Net

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