Weblogic

Diese Kategorie enthält 5 Beiträge

Oracle Forms auf mobilen Geräten

Bitte nicht vergessen DOAG 2016 CFP hier ist der LINK : https://2016.doag.org/de/referenten-cfp/cfp/

 

 

Seit einiger Zeit beschäftige ich mich nun mit Forms. Seit letztem Jahr ist nun Oracle Forms 12c auf dem Markt. Es ist ein neuer Hype entstanden. Aber eine Frage bleibt immer noch offen.

Die Welt wird mobiler. Wie kann ich nun meine Forms Anwendung auf einem mobilem Endgerät wie Tablet oder auch Smartphone nutzen. Dazu gibt es eine Reihe von Ansätzen. Ich möchte an dieser Stelle einmal zwei bekannte Möglichkeiten gegenüber stellen.

Für mich ist es wichtig nicht nur einfach die Formanwendung per Virtuellem Client „nicht lesbar“ auf dem mobilem Gerät dazu stellen. Nein wenn ich schon die Möglichkeit habe, ein mobiles Endgerät zu nutzen, dann bitte auch alle Möglichkeiten die mir das Endgerät bietet.

In Deutschland gibt es in meinem Umfeld zur Zeit zwei „Key-Player“. Das ist zum einen mein letzter Arbeitgeber, die Firma Pitss in Stuttgart und zum anderem die in Amerika sitzende Firma AuraPlayer. Ich habe bei der Firma Pitss angefragt ob man mir Informationen zukommen lassen kann, wie sie den Weg in Richtung Mobile gehen. Ich habe konkret angefragt wie die Firms Pitss mit Pitss.Con mobil geht. Leider habe ich in etwa folgendes  als Antwort erhalten:

Wenn du Fragen hast dann Frage bitte: 

Da hat sie mich wieder meine Vergangenheit 🙂

Eigentlich hätte ich hier eine konkrete Vorgehensweise erwartet. Leider habe ich die nicht erhalten und  muss halt dann das nehmen, was mir bekannt ist und was ich durch meine Tätigkeit innerhalb der Firma noch weiss.

Okay wundert mich persönlich nicht. Ist halt so. Grundsätzlich unterscheiden sich beide Vorgehensweisen enorm. Die Firma Pitss setzt zwingend eine Migration der Forms Anwendung voraus. Die Firma Auraplayer nutzt in jedem Falle die vorhandene Forms Anwendung weiter.

Aber fangen wir einfach mal von vorne an. Um eine Formanwendung mobile zu bekommen, gehe ich generell davon aus, das wir nicht über eine Anwendung mit 25 Tab-Reitern sprechen, denn die Erfahrung hat gezeigt, daß es immer nur gewisse Bereiche gibt die mobil genutzt werden sollen. Aus diesem Grunde fangen beide Unternehmen mit der Analyse des Prozesses an, der mobil genutzt werden soll. Und hier treffen die ersten Unterschiede aufeinander.

Um zu entscheiden welche Schritte mobil genutzt werden, muss der Prozess einmal abgebildet werden. Das ist bei beiden noch identisch, aber : Bei PITSS.CON wird in jeden Trigger ein PL/SQL Statement eingefügt um hier innerhalb einer Tabelle in der Datenbank zu protokollieren welche Schritte ausgeführt werden. Anders sieht es bei AuraPlayer aus. Hier wird genau wie mit der OATS von Oracle der HTTP Request mit geschnitten.

 

Was hat das nun für Auswirkungen? Sobald ich innerhalb meiner Anwendung neuen Code einfüge, muss ich natürlich diese Anwendung testen, also kann ich diese Schritte nicht auf einem Produktivem System tätigen. Ist nun aber das Produktive System identisch mit dem welches ich gerade ausführe ? Ebenso ist das Laufzeitverhalten der Anwendung evtl. unterschiedlich, denn jeder der mit Forms arbeitet weiss daß durch ein sync. die Formsanwendung  sich anders verhält.

Tätigkeit AuraPlayer PITSS.CON
Aufzeichne auf Prodiktions Umgebungen Ja Nein
SQL Injection Nein Ja
Migration Nein Ja
Migration Risiko Nein Ja
Nutzen der Forms Maske Ja Nein
Mobile Cloud zwingend Nein Ja
Änderungen in der Forms machbar Ja Nein
Änderungen in der Forms spiegeln sich in dem WebService wieder Ja Nein
extra Programm zum betreiben der Anwendung wird benötigt Ja Nein
Oracle Mobile Cloud Service erforderlich Nein ????

Sollten in diesen Aussagen Fehler enthalten sein, bitte teilt mir das mit damit ich es gerade ziehen kann !!!!

Da ich immer auf der Suche nach neuen Informationen bin, habe ich mir heute noch einmal die frei Verfügbaren Dokumente angeschaut. Leider nicht schlauer geworden. 😦

 

Referenzen:

http://docplayer.org/2100046-Implementierung-von-web-services-in-oracle-datenbankanwendungen.html

 

Oracle OBIEE und Using Alternative Authentication Providers

Wer stand schon einmal vor der Aufgabe einen Oracle BI – Server Enterprise Edition mit einem alternativem Provider zu verheiraten. Ich hatte die letzten Tage diese wundervolle Aufgabe. Alles ganz einfach, wenn man sich die Oracle Dokumentation anschaut.
Da wird eine Datasource erstellt. Diese geht auf die Datenbank in der die Tabellen liegen. Dann erstellt man sich einen Authentication Provider, verindet den mit der Datasource und erstellt ein paar Adapter.

Soweit zur Theorie. Wie schaut es nun in der Praxis aus.
Ja eigentlich geht das alles so, aber in der Dokumentation steht das natürlich nicht ganz so einfach, da gibt es viele Querverweise. Da gibt es Hinweise, die komplett überflüssig sind und da gibt es Nebensätze, die Lebensnotwendig sind. Also erst einmal der Reihe nach:
Wir erstellen uns erst einmal die Tabellen oder am besten ein paar Views mit denen man dann auf die Notwendigen Informationen wie User Name, Password sowie Berechtigungen zugreifen kann. Sehr anschaulich steht das in dem Oracle OBIEE Security Guide im Kapitel 3.4 beschrieben. (Version 11.1.1.1.7).

Mit dieser Struktur hat man den sehr großen Vorteil, das man zum Schluss die Adapter nicht anpassen muss.
Also erstelle ich mir diese Struktur als Views.

Dann wird die Datasource erstellt: Auch hier kann man sehr gut das Beispiel aus dem Dokument übernehmen. Einzutragen sind:

Name – For example, enter: UserGroupDS
JNDI Name – For example, enter: jdbc/UserGroupDS
Database Type – For example, select: Oracle
Select a database driver from the Database Driver drop down list.

Database Name – For example, enter: ora11g
Host Name – For example, enter: mymachine.example.com
Database User Name
Password/Confirm Password

Dann bitte auf die Targets (Admin Server und alle anderen verteilen)

So jetzt haben wir die Datasource, als nächstes muss der SQL Authenticator erstellt werden. Wenn ich auf Tabellen Ebene mit Tabellen arbeite, kann ich über den SQL Authenticator auch in diese Tabellen schreiben, wenn ich mit Views arbeite, sollte ich den ReadOnlySQL Authenticator nutzen. Dann muss allerdings die Verwaltung der Benutzer mit Ihren Rollen extern erfolgen. Beides geht.
im Security Realm erstelle ich mir meinen Provider (das kann man auch gut mit WLST Skripten). Auswahl Provider, dort auf NEW und folgende Eingaben machen.
Name: Enter a name for the authentication provider. For example, UserGroupDBAuthenticator.
Type: Select ReadOnlySQLAuthenticator from the list.

OK drücken und anschließend weiter bearbeiten. Es fehlen noch ein paar Informationen.
Der Datasource Name muss eingetragen werden hier : UserGroupDS
und je nachdem wie man seine Struktur aufgebaut hat, muss man auch die einzelnen Bereiche anpassen.
Was man aller wahrscheinlichkeit nach zum Schluss anpassen muss ist die GET PASSWORD Funktion.

Query SQL Notes
SQL Get Users Password (used to authenticate)

SELECT U_PASSWORD FROM USERS WHERE U_NAME = ?

The SQL statement used to look up a user’s password. The SQL statement requires a single parameter for the username and must return a resultSet containing at most a single record containing the password.

SQL User Exists

SELECT U_NAME FROM USERS WHERE U_NAME = ?

The SQL statement used to look up a user. The SQL statement requires a single parameter for the username and must return a resultSet containing at most a single record containing the user.

SQL List Users

SELECT U_NAME FROM USERS WHERE U_NAME LIKE ?

The SQL statement used to retrieve users that match a particular wildcard search. The SQL statement requires a single parameter for the usernames and returns a resultSet containing matching usernames.

SQL List Groups

SELECT G_NAME FROM GROUPS WHERE G_NAME LIKE ?

The SQL statement used to retrieve group names that match a wildcard. The SQL statement requires a single parameter for the group name and returns a resultSet containing matching groups.

SQL Group Exists

SELECT G_NAME FROM GROUPS WHERE G_NAME = ?

The SQL statement used to look up a group. The SQL statement requires a single parameter for the group name and must return a resultSet containing at most a single record containing the group.

SQL Is Member

SELECT G_MEMBER FROM GROUPMEMBERS WHERE G_NAME=? AND G_MEMBER LIKE ?

The SQL statement used to look up members of a group. The SQL statement requires two parameters: a group name and a member or group name. It must return a resultSet.

SQL List Member Groups

SELECT G_NAME FROM GROUPMEMBERS WHERE G_MEMBER = ?

The SQL statement used to look up the groups a user or group is a member of. The SQL statement requires a single parameter for the username or group name and returns a resultSet containing the names of the groups that matched.

SQL Get User Description (if description supported enabled)

SELECT U_DESCRIPTION FROM USERS WHERE U_NAME = ?

The SQL statement used to retrieve the description of a specific user. The SQL statement requires a single parameter for the username and must return a resultSet containing at most a single record containing the user description.

SQL Get Group Description (if description supported enabled)

SELECT G_DESCRIPTION FROM GROUPS WHERE G_NAME = ?

The SQL statement used to retrieve the description of a group. It is valid only if Descriptions Supported is enabled. The SQL statement requires a single parameter for the group name and must return a resultSet containing at most a single record containing the group description.

Bitte darauf achten, das die Übergabe des Passwortes sauber erfolgt: Plain oder verschlüsselt. Ich habe heute verschlüsselte Passwörter gehabt, habe die dann aber über eine Funktion entschlüsselt und dieses als Passwort in dem Provider genutzt. Leider habe ich nicht herausgefunden, mit welchem Algorythmus Oracle im Weblogic Umfeld etwas verschlüsselt und hashed.

Seite 2 folg….

OPSS Oracle und ADF 12c

So ich bin ein Schritt weiter. Das alles ist gar nicht so schlimm. Im Deployment gibt es einen Schalter der alle Rollen ind die OPSS DB einliest. Hier gibt es dann die Möglichkeit “zu überschreiben” “zu ignorieren” oder anzügen.
Das ganze geht über einen Parameter im application-weblogic.xml oder beim deployment direkt über die EM – Console. Über die /Console kann man das nicht überschreiben.

Bisher habe ich das ganze aber nur mit dem JDK-1.7 u 67 geschafft.

Folgendes Szenario:
Installation der ADF – Domaine mit JDK 1.8. Einrichten der ADF Umgebung.
Deploy der Anwendung. Aufrufen der Anwendung: Alle Rollen werden in die OPSS eingetragen. Leider gibt es eine Fehlermeldung der Benutzer hat auf die Seite kein View Recht.
Danach für diese Domaine einfach das JDK gegen JDK 1.7 ausgetauscht (setDomain.env JAVA_HOME).
Domaine wieder neugestartet.
Anmeldung an der Anwendung und siehe da. Es klappt:

Wo ist nun der Unterschied im JDK 1.7 zu 1.8 im Security Umfeld.
Kann mir hier jemand einen Tipp geben?

Folgende Schritte habe ich gemacht

  1. Installation eines Oracle JDK 1.8.0.51 Linux 64
  2. Installation Oracle Software mit fmw_12.1.3.0.0_infrastructure.jar
  3. Anlegen des _OPSS Users mit dem RCU Skript von  Oracle
  4. Installation Oracle Weblogic 12c mit ADF mit Anbindung an das _OPSS Schema
  5. Erstellen eines Managed Servers
  6. Deploy der Anwendung auf den Managed Server
  7. Kontrolle im OPSS Schema es sind alle Rollen in das OPSS Schema eingetragen
  8. Starten der Anwendung
  9. Aufrufen der Anwendung !
  10. Anmelden an der Anwendung (Benutzer Name, Passwort)
  11. Auswahl einer “Seite”
  12. Es kommt eine Fehlermeldung “Benutzer hat keine View Berechtigung auf die Seite”
  13. Stoppen alle Server
  14. Austauschen des JDK 1.8.0.51 gegen JDK 1.7.0.67
  15. Starten der Server
  16. Aufrufen der Anwendung
  17. Anmelden an der Anwendung (Benutzter Name Passwort)
  18. Auswahl einer “Seite”
  19. Die Anwendung läuft!

So und nun habe ich die Lösung:

ADF ist mit einem JDK 1.8 gar nicht zertifiziert. Und es läuft auch nicht!
Achtung ADF Version 12.1.3.0.0 bitte nur mit einem JDK 1.7 installieren uns laufen lassen.
Mit dem JDK 1.7 werden alle Komponenten richtig installiert.
Bei dem Deploy der Anwendung werden dann auch alle jazn-data.xml Informationen automatisch in das _OPSS Repository eingespielt. Wenn man die Anwendung dann wieder entfernt, werden auch alle Rollen wieder sauber entfernt!
Also die Lösung ist ganz ganz einfach: Zertifierungs Matrix anschauen, aber bitte nicht nur mit Weblogic 12c sondern Weblogic 12c plus ADF 12c

Vorhergehende Seite

DOAG Middleware Day: WebLogic von allen Seiten beleuchtet

Cloud Entwicklung, Performance, Security, Middleware Provisioning und und und ….. ..

Ja so sind die Themen am 28. Mai 2015 auf dem DOAG Middleware Day in Düsseldorf.
Ganz interessant ist es was im Moment alles für Anmeldungen hereinkommen. Es wird eine Interessante Gruppe mit der wir mit Sicherheit sehr viel an Erfahrung austauschen können.

lift & shift Java – Entwicklung in der Oracle Cloud mit dem Java Cloud Service von Peter Doschkinow ORACLE Deutschland B.V. & Co. KG wird sich intensive mit dem Thema Java Entwicklung in der Oracle Cloud beschäftigen. Für mich zur Zeit ein sehr spannendes Thema.

Auch wenn wir hier wieder über einen Dinosauriere reden. Das Thema betrifft nicht nur Forms/Reports Anwendungen. „Weblogic goes Security” von Frank Burkhardt OPITZ CONSULTING Deutschland GmbH. „Forms, der ewig totgesagte Kandidat, lebt und er lebt gut und wird fleißig weiter entwickelt, wohl weil Funktionalitäten zur Verfügung stehen, die nicht ohne Weiteres und schnell zu ersetzen sind. Mit Edward Snowden ist auch im Bereich Legacy die Security Awareness gestiegen, was zu der Frage führt:

 

Wir rüste ich meine Formsanwendung für neue sicherheitsrelevante Herausforderungen?

Es wird der Weg aufgezeigt, wie Forms in eine strategische Lösung für Identity- und Access-Management integriert wird und somit für die Zukunft gerüstet ist.” Das sind zwar direkte Themen auf Forms/Reports nichts desto trotz ist das Thema Identity- und Access Management für viele andere Bereiche wichtig und wird öfters vergessen.

DOAG Middleware Veranstaltung am 28. Mai 2015

Immer wieder kommen in den diversen Foren Fragen zu dem Weblogic Server, mal ist er zu langsam, dann lässt er sich nicht installieren (mit irgend einer Suite zusammen). Dann geht das Deployment nicht. 
Oder gerade nach dem Angriff in Frankreich, wie schaut es aus mit der Security gerade wenn ich eine “Alte” Anwendung wie Oracle Forms oder Reports nutze.
Alle diese Themen wollen wir versuchen am 28. Mai in Düsseldorf näher zu betrachten.
Da sind Themen dabei wie “ADF Tuning”: Alle reden über Entwicklung mit ADF, aber ich habe den Eindruck es macht sich keine Gedanken darüber wie bekomme ich meine ADF – Anwendung denn eigentlich Performant. Oder wo kann ich suchen wenn es denn alles zu langsam ist.
Ebenso ist natürlich das Thema Securit gerade im “Oracle Forms” Umfeld nicht zu vernachlässigen, denn meistens gibt es diese Anwendungen schon seit etlichen Jahren und bischer braucht sich darum keiner zu kümmern.

Mein Thema welches ich mir vorgenommen habe ist einmal zu schauen, wie einfach / komplex ist das Thema provisioning mit Oracle Cloude Control. Was geht, was geht nicht. Soviel kann ich an dieser Stelle schon verraten. Es geht mehr als man denkt, leider auch weniger als man hofft.
Ich würde mich freuen viele Gesichter in den Räumlichkeiten der Oracle Niederlassung begrüßen zu dürfen

%d Bloggern gefällt das: