13. Dezember 2007

Talk2Gerd in Deutsch

Heute lernte ich von Patrick Wolf, wie einfach es sein kann, einen Blog in mehreren Sprachen zu schreiben. Dies hier ist nun mein guter alter Talk2Gerd auf Deutsch. Die englische Version findet man hier.

Abschliessend noch ein Foto von meiner Firma im tiefen Schnee... und wir haben hier ne Menge Schnee in den letzten Wintern gehabt:

12. Dezember 2007

Libraries: PLL vs. PLX

Ein grosses Problem beim Erstellen von Forms-Anwendungen ist: Soll ich Libraries auf Basis von *.pll oder *.plx attachen?

Schauen wir uns einmal ein paar typische Fälle an:

A) Für die Forms-Entwicklung werden PLL und PLX genutzt. Der Forms Builder benutzt das Arbeitsverzeichnis C:\Forms und der FORMS_PATH hat einen Pfad auf C:\Forms\Lib. Die Sourcecodes heissen Lib.pll, Menu.mmb und EMP.fmb.

Wenn es eine generierte Lib.plx in c:\forms oder c:\forms\lib gibt, dann ist dies die Version, die zur Runtime benutzt wird.

Die Reihenfolge, in der Forms Libraries nutzt ist folgende:
1) Wenn Lib.plx im Arbeitsverzeichnis liegt wird es genutzt
2) Wenn es nicht gefunden wird, suche im FORMS_PATH nach Lib.plx
3) Wenn es nicht gefunden wird, suche im Arbeitsverzeichnis nach Lib.pll
4) Wenn es nicht gefunden wird, suche im FORMS_PATH nach Lib.pll
5) Wenn die Library nicht gefunden wird, erzeugt Forms eine Fehlermeldung

Dies gilt auch für Forms und Menüs



Wenn das PLX im lokalen Verzeichnis eine ältere Version ist als die entsprechende PLL, dann führt dies zu grossen Problemen während der Laufzeit. Fehler zu finden ist dann nahezu unmöglich, solange der Entwickler die Timestamps der Libraries nicht überprüft.

B) Wenn in der Anwendung nur PLL's benutzt werden:

Während der Entwicklung und zur Laufzeit hat man keine Probleme. Wenn eine Library nicht im Arbeitsverzeichnis liegt, wird sie im FORMS_PATH gefunden.

Zusammenfassung:

Ich selber nutze keine plx-Libraries mehr, da ich in viel zu vielen Projekten mit den Problemen konfrontiert war. Fehlersuche wird immens aufwändig, wenn man grössere Forms-Pfade hat und irgendwo eine plx-Library existiert, die nicht die richtige Version besitzt.

Viele Entwickler sagen: plx ist schneller. Dies konnte ich bisher nicht nachvollziehen und ich hatte auch noch nie Performance-Probleme damit.

Andere Entwickler sagen: plx ist der kompilierte Code, somit kann niemand den Sourcecode stehlen - in diesem Fall sollte man jedoch einmal folgendes ausprobieren:

Erzeuge eine Library mit einem Package und einer Konstanten:
PACKAGE Const IS
HiddenPW                     CONSTANT Varchar2 (100) := 'HiddenPW';
END Const;

Erzeuge die plx und öffne sie in einem Editor. Suche nach "HiddenPW". Der Name der Konstanten und ihr Wert sind auf diese Weise direkt zu finden. Das ist alles andere als sicher. Nur der Sourcecode ist unleserlich. Meines Erachtens ist eine Forms-Anwendung auf einem Oracle Application Server sicher. Somit braucht man den lesbaren Code der pll nicht in eine plx umzuwandeln

Dies gilt natürlich ausdrücklich nicht für Standard-Software, die man verkauft und deren Sourcecode man nicht ausliefern möchte. Hier ist die plx die einzige Alternative und auf der Datenbank sollte man über ge-wrappte Packages nachdenken.

11. Dezember 2007

DOAG Top News: Forms 11g

Die DOAG hat als neue Top News einen meiner Forms 11g Abstracts abgedruckt.

Dort schrieb ich über die neuen Features von Forms 11g und den vielfältigen Möglichkeiten, die uns in der künftigen SOA Welt zur Verfügung stehen.

Forms 11g unterwegs in Richtung SOA :

Donnerstag, 6. Dezember 2007 (wta) – Nach über sechs Jahren bringt die neue Forms-Version 11g erstmals wieder Neuerungen im Forms Builder. Die DOAG hat vorab einen Blick darauf geworfen und zwei extrem wichtige Funktionalitäten entdeckt.

Die erste betrifft die Kommunikation mit Advanced Qeueing aus der Datenbank. Es gibt einen neuen Objekttyp "Event", der mit einer Queue zusammenarbeitet. Werden Daten in eine Datenbank-Queue gestellt, startet in der Formsmaske sofort ein Event, der abgearbeitet wird.

Das zweite Highlight bezieht sich auf die Javascript-Integration. HTML-Seiten können nun direkt per Javascript mit Oracle Forms kommunizieren. Früher war dies nur über Umwege oder Java-Applets möglich. Mit der neuen Technik werden in Forms "WHEN CUSTOM JAVASCRIPT EVENT"-Trigger gestartet, die vom Entwickler benutzt werden können. Die Kommunikation verläuft bidirektional. Somit können auch Änderungen in der HTML-Seite direkt von Forms via Javascript vorgenommen werden.

Diese beiden neuen Techniken sind deutliche Anzeichen dafür, dass Oracle Forms mit neuem Schwung in die Zukunft durchstartet. In der neuen Oracle Fusion Middleware 11g ist Forms einer der zentralen SOA-Bestandteile.

Weitere Informationen zu Forms 11g finden Sie bei der Deutschen Forms Community sowie im Blog des Betatesters für die DOAG.


Vielen Dank an die DOAG !

1. Dezember 2007

Neues Statement of Direction, Nov. 2007

Im aktuellsten SoD wird Oracle Forms bis mindestens 2013 supported: