Integration von Java in Forms 10g Seite 1
DOAG Regionaltreffen
Regionalgruppe Nürnberg
Integration von Java inOracle Forms 10g
Andreas StröbelOPITZ CONSULTING München
Integration von Java in Forms 10g Seite 2
Agenda
� Java Importer
� Pluggable Java Components
� Enhanced JavaBean Support
� Selbst geschriebene Java-Komponenten
• OPITZ CONSULTING Framework für Java in Forms
Integration von Java in Forms 10g Seite 3
Java Importer
� PL/SQL-Wrapper für den Zugriff auf Java-Klassen
• Zugriff wie auf PL/SQL-Objekte
• nutzt den vollen Funktionsumfang der Java-Klasse
� Läuft in JVM auf dem Forms Server
• Nachteil: je Benutzer eine dedizierte JVM
• soll in einem der nächsten Releases überarbeitet werden(JVM-Sharing)
� Beispiel:
• Aufruf eines Webservices aus Forms
Integration von Java in Forms 10g Seite 4
Pluggable Java Components
� Erweiterung von Standard-Funktionen
� Einsatz von Komponenten von Drittanbietern
� selbst geschriebene Komponenten
• PJC Wizard im JDeveloper
� Implementierungsklasse des Forms Java Client wird bei Standard-Objekttypen überschrieben
� Beispiele:
• JugglerWrapper (Sun)
• LeftButton, RightButton, SingleButton
Integration von Java in Forms 10g Seite 6
Enhanced JavaBean Support
� Package FBEAN
• automatische Registrierung von JavaBeans zur Laufzeit� FBEAN.REGISTER_BEAN
• Abrufen und Setzen von Properties� FBEAN.GET_PROPERTY, FBEAN.SET_PROPERTY
• Aufruf von Methoden� FBEAN.INVOKE
• Registrierung von Events� FBEAN.ENABLE_EVENT
• Logging-Mechanismen� FBEAN.SET_LOGGING_MODE
� JavaBean läuft innerhalb einer Bean-Area
• Implementierungsklasse der Bean-Area ist leer
� läuft in JVM des Java Forms Client Applets
Integration von Java in Forms 10g Seite 9
Selbst geschriebene Java-Komponenten
� Voraussetzungen für die Java-Klasse
• muss das Interface oracle.forms.ui.IView implementieren
• Properties, Methoden und Events müssen registriert werden
• diese Voraussetzungen können erfüllt werden, indem ein vorhandenes JavaBean in einen Wrapper „eingepackt“ wird
� Implementierung der Java-Klasse
• kann von der Klasse oracle.forms.ui.VBean abgeleitet werden � diese implementiert das Interface oracle.forms.ui.IView
• Registrierung der Properties, Methoden und Events über ID.registerProperty()
• Zugriff auf Properties und Methoden der „eingepackten“ Klasse über getProperty()- und setProperty()-Methoden des Wrappers
• für die Kommunikation mit Forms erforderliche Events können über die Methode dispatchCustomEvent() erzeugt werden
Integration von Java in Forms 10g Seite 10
Selbst geschriebene Java-Komponenten
� Implementierung der Form
• die JavaBean läuft innerhalb einer Bean-Area in der Form
• Implementierungsklasse der Bean-Area wird auf die entsprechende Java-Klasse gesetzt
• Zugriff auf Properties und Methoden der JavaBean über die Built-Ins Get_Custom_Property und Set_Custom_Property
• Auswertung von Events aus der JavaBean im TriggerWhen-Custom-Item-Event
� Beispiel:
• OPITZ CONSULTING Framework für Java in Forms
Integration von Java in Forms 10g Seite 11
OPITZ CONSULTING Framework für Java in Forms
� OPITZ CONSULTING Framework für Java in Forms
• Java-Klasse in eine vorgefertigte Wrapper-Klasse aus javainforms.jar „einpacken“
• innerhalb des Forms-Moduls in einen Bean-Bereich einfügen
• Forms-Bibliothek javainforms.pll einbinden
• ansprechen der Java-Funktionalitäten wie gewohnt über PL/SQL-Built-Ins
� Vorteile
• fast alle GUI Java-Klassen können in Forms integriert werden
• keine Beschränkung auf JavaBeans
• schnelle Nutzung der neuen Technologien
• Kombination des Know-Hows aus Java und Forms
Integration von Java in Forms 10g Seite 13
Fragen und Antworten
F R A G E NF R A G E NA N T W O R T E NA N T W O R T E N
Integration von Java in Forms 10g Seite 14
Kontaktadresse
� Andreas Strö[email protected]
� OPITZ CONSULTING München GmbHWeltenburger Straße 481677 München
� Telefon: 0 89/68 00 98-0Telefax: 0 89/68 00 98-44 00