Forms 12c

Diese Kategorie enthält 18 Beiträge

Oracle und die Version Forms 12c mein Frust

Es ist jetzt schon eine Zeit her das Oracle Forms 12c erschienen ist. Am 23 Oktober 2015 ist es endlich da gewesen. Nachdem der erste Hype durch war musste man sich ja etwas mehr mit dem Thema beschäftigen. Also habe ich den ersten Kunden gesucht bei dem ich Forms 12c installieren kann.

Und der Kunde hat auch nicht lange auf sich warten lassen. Bereits Anfang Dezember 2015 war ich dann bei dem Kunden. Umgebung:

Oracle Linux
Forms 11gR2

Also wie geschaffen für eine Oracle Forms 12c Version. Die Installation ging wie erwartet recht schnell. Dann kam die „GROSSE“ Herausforderung das ganze zu von Oracle Forms 11gR2 auf Oracle Forms 12c zu migrieren. Da begann unser Stress. Wir mussten wirklich alle Module in das neue Verzeichnis kopieren und das Kompiler Skript anpassen. Nachdem wir diesen Stress hinter uns gebracht haben und die Module alle einmal kompiliert hatten wurde bereits von den Anwendern getestet. Ich hatte noch versucht im Interesse anderer Unternehmen für diese Migration ein Tool zu verkaufen, hat leider nicht geklappt. Der Kunde kam mir mit den Worten: „Wozu soll ich für diese Migration ein Tool einsetzen, ich muss doch nur neu kompilieren„. Da fehlen mir die Worte.

Wenn ich jetzt die New-Letter einiger Firmen anschaue, die doch wirklich für eine Migration Forms 11 auf Forms 12 ein Tool verkaufen wollen, muss ich mich immer wieder fragen, wie gut sind die Verkäufer wenn sie das beim Kunden platzieren oder ,liebe Kunden seit mir nicht böse, wie naive seit ihr das ihr das kauft.

Es gab mal eine Zeit das Oracle die Technik von Client – Server auf Web – Server umgebaut. Ja da machte es Sinn, diese Migration per Tool zu tätigen. Aber nicht ein Tool macht eine Migration Erfolgreich sondern es ist immer noch ein Projekt und Projekte kann man Erfolgreich planen und ausführen oder aber nicht. Ich kenne Oracle Forms Migrationen die mit Tool gemacht worden sind die weit über die geplante Zeit gelaufen sind. Auch wenn hier teure Tools genutzt worden sind.

Okay es gibt für mich einen einzigen wirklichen Grund teure Tools zu nutzen und das ist die Analyse meiner Forms Umgebung.

Alles andere wie die Migration von Forms in Richtung ADF oder wenn nicht sogar in Richtung APEX. Sorry aber das ist in meinen Augen „Bullshit„. Gut mit dieser Aussage mache ich mir mit Sicherheit keine Freunde aber kann mir jemand bitte einen vernünftigen Grund nennen warum ich eine Oracle Forms Anwendung die im Backoffice läuft und Datenbank getrieben ist in Richtung einer anderen Technologie migrieren soll? Bitte nennt mir Gründe, damit ich in meinem Alter evtl. doch noch „WEISER“ werde.   In all den Jahren, die ich mich jetzt mit Forms beschäftige, kamen natürlich Ansätze die nicht unbedingt in Forms gehören, die kann ich aber dann auch anders umsetzen.

Wenn man sich auf dem Markt umhört was macht ihr mit Forms, dann bekommt man Informationen wie: Wir haben versucht in Richtung ADF zu migrieren.

Jedesmal wenn ich dann Frage warum wollt ihr in Richtung xyz migrieren, kamen eigentlich nur Aussagen : Wir wollen uns nicht von einem Hersteller Abhängig machen, okay die Windows PC’s fliegen dann evtl auch raus. Der SQL-Server ist auch jederzeit austauschbar. Wir sind und bleiben immer von irgend einem Hersteller abhängig und sei es der Bildschirm, der von „DELL“ kommt.

Wir haben uns irgendwann mal für einen Hersteller bei den Desktop Systemen entschieden, das haben wir bei der Hardware gemacht sowie auch bei den Entwicklungs Tools. Wir haben diese Entscheidungen damit begründet, das das Preis – Leistungs Verhältnis stimmt (oder gibt es andere Gründe). Wir haben gelernt, das eine Oracle Datenbank sehr mächtig ist (PL/SQL, RAC,STANDBY, DATA GUARD) und so weiter und …

Dann kamen da Aussagen: Oracle Forms ist eine alte Technologie: Ja das stimmt ! Sehr alt. Aber bitte nennt mir eine 4GL Entwicklungs- Umgebung, die es seit über 20 Jahren geschafft hat am Markt zu bleiben, die Datenbank getriebene Anwendung sehr performant bereit stellen kann und wo ich immer in der Lage war alle meine Entwicklungen der letzten Jahre heute noch zu betreiben. Wo ist die 4GL Entwicklung bei der ich seit über 20 Jahren Support habe ?

Wenn man sich heute mit den Architekten unterhält, dann kommen da so Modelle wie MVC .. zum tragen. Als das das erste mal gehört habe musste ich innerlich schmunzeln.

Im Mai 2000 bin ich bei einem Deutschem Software Haus im Grünen angefangen. Mein erster Kontakt war eine Software, die Forms nur als Oberfläche nutzt und alle Prüfungen und Logiken nur in der Datenbank ab arbeitet. Wir waren / sind begeistert von der Möglichkeit Logik in die Datenbank zu packen. In Großer Runde haben wir darüber gesprochen, das wir dann sicher stellen können, das die Logik immer dieselbe ist, egal von wo aus wir auf die Daten zugreifen. Im Zweifelsfall haben immer die Datenbank Trigger gezogen und alle Prüfungen getätigt. Ich fand/finde das eigentlich sehr gut. Okay jetzt gibt es Leute die stellen sich hin und kommen damit: Was ist eigentlich eine Datenbank. Die soll doch nur Daten aufnehmen. ….

Ja so kann man das sehen…

Fazit: meinen Frust habe ich mir mal wieder von der Seele geschrieben. Forms ist nicht Tot. Es wird weiter leben. Es riecht auch nicht mehr ganz so streng wie einige behaupten, und ob ich zum heutigem Zeitpunkt alle meine Reports Aufrufe in Richtung BI-Publisher migriere wage ich zu bezweifeln, denn : Wie ist der Preis für BI-Publisher, Warum soll ich das machen wenn Reports weiter läuft. (OKAY ich könnte natürlich wieder Geld verdienen mit der Tool gestützten Migration).

Ich glaube, das 4GL Entwicklungs Umgebungen in der heutigen Zeit immer noch eine Berechtigung haben und Forms ist für mich eine sehr gute 4GL Umgebung.

Ich bin mir bewusst darüber, das ich nicht jeden Geschmack treffe. Gut damit kann/muss ich leben. Aber bitte schreibt mir eure Meinung dazu.

ich muss ja noch mal einen Nachtrag liefern. Über diesen  Blog von Gert Poel kam heute ein schöner Beitrag rein. Hier noch einmal zur Erinnerung :

komplett

Lifetime Support

Also bitte daran denken ! Ende des Jahres gibt es keine Support mehr für Oracle Forms/Reports in der Version 11gR2

Aber man kann ja migrieren (ich kann ohne Teurem Tool) .

Oracle Forms 12c und Testen

Nachdem nun Oracle Forms12c erschienen ist und viele Kunden zur Kentniss genommen haben, das der Support für Oracle Forms 11gR2 ja im Jahr 2016 endet. (Okay erweiterter Support läuft
noch 2 Jahre). Tragen sich doch einige mit dem Gedanken auf Forms 12c zu wechseln.
Die Umstellung ist in dem Moment eigentlich gar nicht das Problem. Was mir in den gesamten Diskussionen am meisten über den Weg gelaufen ist “Wie kann man das eigentlich automatisiert” testen.
Okay wenn ich das höre, fällt mir als erstes natürlich die OATS (Oracle Applikations Testing Suite) ein. Dann natürlich der Loadrunner und jetzt ganz neu AuraTesting von der Firma Auraplayer.

Warum fallen mir keine Java Test – Tools ein.
Es gibt eine ganze Menge an Test Tools auf dem OpenSource Markt. Die können Makros aufzeichnen und einiges mehr..

Aber sobald wir an das Thema Forms herantreten, wird es komplexer. Forms läuft innerhalb eines Servlets. Und wie spreche ich die Informationen an. Wie bekomme ich Informationen aus meiner Anwendung. Wie kann ich diese Informationen mit Parametern versehen umd sie dann wiederholt ablaufen zu lassen.

Wie kann ich fest stellen ob ein Test Fehlerfrei war, Gibt es Möglichkeiten Tests zu Gruppen (Logische) zusammen zufassen?

Es gibt noch viele Unternehmen in Deutschland die mit Forms arbeiten und entwickeln. Ich finde Oracle Forms auch heute noch als ein sehr sehr gutes 4GL Entwickler – Tool, solange ich eine Backoffice Anwendung betreibe, die Datenbank getrieben ist.
Ich würde Oracle Forms nie für einen Internet Auftritt nutzen wollen.
Wann kann nun ein Test- Tool helfen? Ich sehe da sehr sehr viele Möglichkeiten wo ich Unterstützung benötige. Da ist zum einen natürlich die weitere Entwicklung mit neuen Funktionen. In den meisten Fällen gibt es hierfür aber bereits eine QS-Abteilung, die sich diesen neuen Funktionen annehmen und diese auf Herz und Nieren durchleuchten. Da Neue Entwicklungen sowie Weiter – Entwicklungen eher “selten” sind, ist das natürlich ein guter und praktikabler Weg.
Wie schaut es aber mit dem häufig auftrettendem Problem eines Java – Runtime Updates aus. Das ist etwas, was der Kunde/Entwickler nicht wirklich steuern kann. Meistens kommt das JRE über ein automatisches Update daher und die Entwicklung Forms muss dann sagen: Okay damit läuft unsere Forms Anwendung. Meistens geht man dann bei und ruft ein bis zwei Module auf und wenn alles okay ist, dann scheint das zu gehen.
Hier sehe ich ganz verstärkt die Möglichkeit ein Tool einzusezten um damit meine Anwendung mal eben gegen das neue JRE (Java Runtime Environment ) zu testen.
Wenn ich mich nun auf die Server Seite bewege, gibt es alle drei Monate von Oracle einen neuen “CPU” Critical Patch Update. Wie kann ich das sauber testen? Mach ich das wieder händisch?
Ebenso nicht zu unterschätzen sind natürlich Updates für das Betriebssystem und für die Datenbank.

Wie um Gotteswillen soll man alle diese Updates/Upgrades sauber testen. Also verfällt man in die Situation und testet ein paar Module und dann geht man Produktiv in der Hoffnung das wird schon alles gut gehen. Gut wenn man auch ohne die Anwendung überleben kann mag das okay sein, ander stellt sich das allerdings für die Unternehmen da, die von dieser Anwendung “leben”.

ich möchte daher an dieser Stelle einmal das auratesting Tool vorstellen.

Forms Builder 12c erstellen Standalone

In der neuen Forms 12c Version gibt es die Möglichkeit den Forms Builder als Standalone zu installieren.

FormsStandalone

Dies erzeugt nur ein Oracle Home Verzeichnis mit allen notwendigen Komponenten um Forms Builder auszuführen. Wenn man aus diesem Umfeld dann allerdings Forms startet, werden einem Fehlermeldungen um die Ohren gehauen.

*msg Datei nicht gefunden, Forms Classpath nicht gefunden und so weiter ….

Wir alle haben natürlich nicht den Installation Guide uns angeschaut. Da steht drin, nach der Installation der Software muss noch das Skript config_builder.cmd(sh) ausgeführt werden. Dieses erstellt ein Forms Instance Verzeichnis mit diversen *.bat / *.sh Dateien. Unter anderem werden dann auch die richtigen Registry Einträge sowie die Menü Einträge erstellt.

Leider wird das ganze nicht für Reports gemacht. Reports geht nur in der „Großen“ Welt.

 

 

Jetzt ist Forms 12c da und weiter?

Seit nunmehr zwei Wochen ist Forms 12c vorhanden. Wenn man sich die Foren anschaut, haben eine Menge Leute bereits probiert das zu installieren. Alle die, die es geschafft haben sind HAPPY. Allerdings scheint es auf Basis Windows noch das ein oder andere Problem zu geben. Auch ich bin in so ein Problem gelaufen. Forms Builder only, legt keine Pfade an und somit lässt sich das ganze nicht start. Bin bereits auf der Suche nach eine Lösung. Aber bis dahin würde mich mal interessieren:

 

vierter Tag auf der OOW2015

So schon fast geschafft. Die Vorträge, werden immer weniger Technisch. Das war nicht wirklich anders zu erwarten. Aber um 11:00 Uhr werde ich mir mal die Q&A von Linux anschauen. Bin einmal gespannt was es dort neues gibt.

Spannend sind die Gespräche in der Exibition Hall mit all den Oracle Wissenden. Da kommen dann doch schon mal die ein oder andere Information hoch. So wurde ich heute per Xing/linkndn gefragt, was soll das mit dem Repository bei Forms.
Oracle Forms 12c nutzt dieses Repository zur zeit gar nicht. Oracle hat ab der Version 12c des Weblogic Servers sehr viel Meta Daten in dieses Repository gepackt. Das ist aus den Umgebungen SOA, ADF, Webcenter, Portal schon seit langem so.
Da wir es hier nun mit einer Weblogic Umgebung 12c haben und diese auf ADF Templates basiert, ist das in diesem Zusammenhang wichtig und leider nicht zu umgehen.
Problem: Ich brauche für jede Forms/Reports Domaine ein eigenes Repository. Es ist auch nicht so einfach dieses von einem Server auf den anderen zu migrieren. Leider läuft die Welt (Forms) auch nicht mehr wenn mein Repetitory weg ist.
Es gibt Möglichkeiten Repository von einer DB auf eine andere zu Migrieren.
Ich kann auch eine Domaine auf eine andere migrieren. Leider habe das versehentlich mal gemacht und dann lief diese Umgebung nicht mehr.

In Zukunft will Oracle (Michael Ferrante) etwas mehr mit diesem OPSS – Schema arbeiten. So haben wir gestern mal Brainstorming betrieben und : In der Formsweb.cfg gibt es den Eintrag userid=Klartext/KlaresPasswort.
Das wäre eine gute Möglichkeit diese Information in eine Datenbank zu packen und nicht mehr im Klartext in einem Textfile zu hinterlegen.

und dann noch ein paar andere Möglichkeiten die man dort rein packen könnte.

Aber in Zukunft nicht mehr OHNE !. Da gibt es ja ausserhalb der IT auch immer mehr Bereiche wo es heißt in “Zukunft nicht mehr ohne“

vierter Tag auf der OOW2015

So schon fast geschafft. Die Vorträge, werden immer weniger Technisch. Das war nicht wirklich anders zu erwarten. Aber um 11:00 Uhr werde ich mir mal die Q&A von Linux anschauen. Bin einmal gespannt was es dort neues gibt.

Spannend sind die Gespräche in der Exibition Hall mit all den Oracle Wissenden. Da kommen dann doch schon mal die ein oder andere Information hoch. So wurde ich heute per Xing/linkndn gefragt, was soll das mit dem Repository bei Forms.
Oracle Forms 12c nutzt dieses Repository zur zeit gar nicht. Oracle hat ab der Version 12c des Weblogic Servers sehr viel Meta Daten in dieses Repository gepackt. Das ist aus den Umgebungen SOA, ADF, Webcenter, Portal schon seit langem so.
Da wir es hier nun mit einer Weblogic Umgebung 12c haben und diese auf ADF Templates basiert, ist das in diesem Zusammenhang wichtig und leider nicht zu umgehen.
Problem: Ich brauche für jede Forms/Reports Domaine ein eigenes Repository. Es ist auch nicht so einfach dieses von einem Server auf den anderen zu migrieren. Leider läuft die Welt (Forms) auch nicht mehr wenn mein Repetitory weg ist.
Es gibt Möglichkeiten Repository von einer DB auf eine andere zu Migrieren.
Ich kann auch eine Domaine auf eine andere migrieren. Leider habe das versehentlich mal gemacht und dann lief diese Umgebung nicht mehr.

In Zukunft will Oracle (Michael Ferrante) etwas mehr mit diesem OPSS – Schema arbeiten. So haben wir gestern mal Brainstorming betrieben und : In der Formsweb.cfg gibt es den Eintrag userid=Klartext/KlaresPasswort.
Das wäre eine gute Möglichkeit diese Information in eine Datenbank zu packen und nicht mehr im Klartext in einem Textfile zu hinterlegen.

und dann noch ein paar andere Möglichkeiten die man dort rein packen könnte.

Aber in Zukunft nicht mehr OHNE !. Da gibt es ja ausserhalb der IT auch immer mehr Bereiche wo es heißt in “Zukunft nicht mehr ohne“

Habe mir noch den Application Builder angeschaut. Sieht ja so ganz toll aus. Ich persönlich habe aber im Moment das Problem. ADF,MAF,MAX,APEX,FORMS…. Alles zusammen oder einzeln, was in der Cloud, was auf Servern, was public, was private…..
Nach dieser OOW tun sich bei mir zur Zeit fast mehr Fragen auf als ich Antworten bekommen habe.
Ich habe dabei noch gar nicht die neuen Möglichkeiten Database in Betracht gezogen.
So dann bin ich mal gespannt, was dann auf der DOAG 2015 in Nürnberg davon vorgetragen wird.

Oracle Fusion Middleware Forms und Webutil

Leider ist es auch mir wieder einmal passiert, das ich versucht habe mit einer Formsmaske zu arbeiten die Word/Excel ansprechen möchte. Also das alte Vorgehen: einbinden von webutil und Jacob. Leider habe ich das aus der Gewohnheit heraus mit den mir vorliegenden Komponenten gemacht. Und natürlich läuft es nicht.

Oracle hat hierzu am 12. Mai 2012 ein Dokument erstellt welches unter der ID 1093985.1 im Metalink zu finden ist. Hierdraus geht eindeutig hervor, das sich die Webutil Installation mit Jacob in der Version 11g deutlich unterscheidet.

Es ist mittlerweile Notwendig geworden die richtige Jacob Version mit der richtigen Oracle Fusion Middleware Version zusammen zu bringen.

So ist für die Oracle Fusion Middleware 11gR1 (11.1.1.x) nur die Jacob 1.10.1 zulässig. Für die Oracle Fusion Middleware der Version 11gR2 (11.1.2.x) muss es die Version 1.14.3 sein. Unter gar keinen Umständen die aktuelle Version 1.16.x nutzen.

Ich habe die zur Zeit gültigen Download Url’s mal hier mit hinterlegt:

 

Forms Version Jacob Version Download
10gR1 und 10gR2 Jacob 1.10.1 hier
11gR2 Jacob 1.14.3 hier
12.2.1.0 Jacob 1.18-M2 hier
12.2.1.2 Jacob 1.18-M2 hier
12.2.1.3 Jacob 1.18-M2 hier

 

In der 1.14.3 Version gibt es dann auch für die *.dll Dateien zwei unterschiedliche Verzeichnisse. Eines für die 32Bit und eines für die 64bit Welt.

Die während der Installation mit gelieferten webutil.pll / webutil.olb liegen default mäßig im ORACLE_HOME/forms Verzeichnis. Hier ist beim Anwendungs Deployment darauf zu achten, das in der Anwendung diese genutzt werden. Also wer den ORACLE_HOME Pfad aus seiner Konfiguration austrägt sollte dafür sorgen, dass die Webutil Komponenten in der aktuellen Version genommen werden.

Forms 12c benötigt: Forms 12c Application Supports JACOB Version 1.18-M2
Oracle Forms 12c, when configured with Webutil at runtime, supports JACOB version 1.18-M2 in order to perform the client side OLE integration. Note that this version of JACOB is different from the versions supported in the previous releases of Oracle Forms.

JACOB is a JAVA-COM bridge that allows you to call COM automation components from Java. It uses JNI to make native calls to the COM libraries. JACOB runs on x86 and x64 environments supporting 32 bit and 64 bit JVMs.

%d Bloggern gefällt das: