In gesprek met externe toepassingen

Vergelijkbare documenten
Oracle WebForms en Java UI Components

Knowledgeable Referenceable Personable Accountable Scalable

Kleine cursus PHP5. Auteur: Raymond Moesker

IMP Uitwerking week 13

Zelftest Programmeren in Java

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Secure Application Roles

VB Magazine Online /08 1 / 6

In BlueJ. Doe onderstaande met muis/menu s:

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.

Modelleren en Programmeren

Is APEX a worthy substitute for Oracle Forms?

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

eerste voorbeelden in Java

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;

Abstracte klassen & Interfaces

Opdracht 7a. Applicatiebouw 2014/2015

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Genetische algoritmen in Java met JGAP

Uitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, uur

Zelftest Java concepten

Interoperabiliteit in Forms met.net

Inhoudsopgave. Hoofdstuk 1.RMI...2

Een eenvoudige webserver maken in Lazarus

Unit testen van EJB's. Koert Zeilstra - iprofs

Het reclyclen van Oracle Forms

Programmeren in C# Samenvatting van C#

ASRemote WebService. Via deze webservice kunt u:

Javascript oefenblad 1

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

Dieper in Visual Basic.Net

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:

Programmeren in Java 3

DrICTVoip.dll v 2.1 Informatie en handleiding

Zo vind u hierin de volgende documentatie over de klasse Applet: +----java.awt.panel java.applet.applet

Network Computing Architecture Toekomstige rol van Oracle Developer marginaal

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Dergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen.

Access voor beginners - hoofdstuk 25

Modelleren en Programmeren

Modelleren en Programmeren

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren


Wat is een grafische gebruikersinterface (GUI)?

Programmeren in Java 3

Een eerste applicatie

Vakgroep CW KAHO Sint-Lieven

Modelleren en Programmeren

De sheets zijn gebaseerd op met name hoofdstuk. D. Bell en M. Parr, Java voor studenten, Prentice Hall,

INFITT01 - Internettechnologie WEEK 8

Modelleren & Programmeren. Jeroen Fokker

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

Overerving & Polymorfisme

INFITT01 Internettechnologie WEEK 2

Een stoomcursus door Edgar de Graaf, november 2006

Een Data Driven toepassing op basis van Visual Objects en SQL Server

Bijlage I. 2. Kies : Weergave op kleine pictogrammen. 3. Kies Java en de tab General : Kamer van Koophandel Nederland

Siemens workpoints en DHCP options

Sparse columns in SQL server 2008

Een gelinkte lijst in C#

Programmeren in C# Interfaces. Hoofdstuk 23

Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Game of Life in Java

Kwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();

Dynamische gebruikersbeslissingen in SAP Workflow

Veel succes! 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn.

Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad

Programmeren in Java 3

NAAM: Programmeren 1 Examen 29/08/2012

Programmeren in C# Klassen schrijven

Modelleren en Programmeren

User experience voor projecten

Extra oefening Boek: Neem de opgaven van hoofdstuk 1 en 2 door om je de stof beter eigen te maken. Programmeer zelf voorbeeld 0204.

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag

VI. Klassen en objecten

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Acht stappen voor JSF

Java op het Oracle 9i platform

Variabelen en statements in ActionScript

De toekomst van Oracle Forms

Programmeren 1 20 januari 2012 Prof. T. Schrijvers

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

Ontwerp. <naam applicatie>

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

4 ASP.NET MVC. 4.1 Controllers

OWI_0890: inloggen OWAppl / hoofdmenu / wijzigen wachtwoord

VAN HET PROGRAMMEREN. Inleiding

Rapport. i-bridge FleetBroker en LocationBroker. Versie 1.0. Datum 22 December 2010

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Ingebouwde klassen & methodes

Dynamische webapplicaties in Java

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing.

Zelfstudie Boek: Hoofdstuk 1 tm. 3.5 uit het boek Aan de slag met Java (Gertjan Laan).

Transcriptie:

In gesprek met externe toepassingen Oracle WebForms regelt interactie Steeds vaker wordt gekozen voor een Oracle WebForms applicatie (three tier architecture) als oplossing voor een aan vervanging toe zijnde Oracle Forms applicatie in een client server architectuur. Vaak bestaat dan wel de wens om externe toepassingen aan te kunnen sturen en interactie met Oracle WebForms te onderhouden. Dit artikel gaat in op een technische oplossing om een externe toepassing in de vorm van een Java Applet aan te sturen vanuit een Oracle WebForm Applet. Indien een bepaalde functionaliteit in een Oracle WebForms applicatie gewenst is, welke niet met behulp van een Forms ontwikkeltool te realiseren is, is men aangewezen op andere ontwikkelomgevingen. Java speelt hierbij steeds vaker een belangrijke rol, mede door de nauwe band die Oracle hiermee inmiddels heeft (denk hierbij alleen al aan Oracle JDeveloper). De interactie van een Java Applet met een Oracle WebForm is dan ook, dankzij reeds aanwezige technieken, een relatief eenvoudige zaak.voordeel hierbij is dat de ontwikkelaar van het Oracle WebForm nauwelijks Java kennis nodig heeft. Vanaf Oracle Forms Server 6i is het mogelijk Java componenten ( pluggable Java components ) in een form op te nemen en te gebruiken. In het algemeen gaat het hierbij om aanpassingen van het gedrag van standaard Developer Java UI componenten, zoals bijvoorbeeld een Text Item. Of het gaat hierbij om het geheel vervangen van de standaard Developer Java User Interface componenten door zelf gemaakte Java UI componenten, met hun eigen (uiterlijke) kenmerken en gedrag. Denk hierbij bijvoorbeeld aan een Check Box waarbij een plaatje in plaats van een kruisje gebruikt wordt. In grote lijnen is de techniek die hierbij gebruikt wordt: het instellen en opvragen van kenmerken ( property s ), het aanroepen van functies/procedures ( methods ) en het voortbrengen en afhandelen van gebeurtenissen ( events ). Deze techniek is in één van de Oracle projecten van Koninklijke Boskalis Westminster NV toegepast om externe toepassingen (Java Applets) aan te sturen. Hierbij gaat het om het tonen van grafieken met behulp van de Java tool JClass Chart en het tonen van een driedimensionale afbeelding met behulp van Java 3D vanuit een Oracle WebForm. De benodigde data worden hierbij vanuit het Oracle WebForm doorgegeven aan de externe toepassing. Om de communicatie tussen een Oracle WebForm Applet en een externe toepassing te bewerkstelligen zijn een aantal onderdelen van belang (zie afbeelding 1), te weten: Een Forms item van het type Bean Area in een Oracle WebForm Een JavaBean Een Java Applet Oracle Webform Applet setproperty getproperty CustomEvent JavaBean Java Applet A Java Applet B Afbeelding 1. Overzicht van de communicatie tussen een OracleWebForm Applet en Java Applets Aan de hand van een eenvoudig voorbeeld wordt nader uitleg gegeven over bovenstaande onderdelen en de onderlinge communicatie. De in afbeelding 1 weergegeven setproperty, getproperty en CustomEvent communicatielijnen zijn in het voorbeeld terug te vinden in de JavaBean en hebben steeds een relatie met een bepaalde PL/SQL procedure in het Oracle WebForm. Bean Area item Het Forms item van het type Bean Area, instantiëert de JavaBean en verzorgt daarmee de relatie tussen het Oracle Form en de JavaBean. De werkwijze voor het aanmaken van de Bean Area verschilt enigszins bij gebruik van Oracle 27

Developer en Oracle Designer (honderd procent generatie). Beide ontwikkeltools kunnen echter gebruikt worden. Bij gebruik van Oracle Developer (Oracle Forms Builder) kan bij het aanmaken van een nieuw item, direct Bean Area als Item Type ingesteld worden en als Implementation Class de naam van de JavaBean (bijvoorbeeld myjavabean.), eventueel voorafgegaan door een directory als de JavaBean is opgenomen in een package (zie afbeelding 2). Afbeelding 2. Property Palette van het Bean Area item in het Form Object Library In tegenstelling tot het gebruik van Oracle Developer kan bij het gebruik van bijvoorbeeld Oracle Designer 6i, het item niet als type Bean Area en een bepaalde Implementation Class ingesteld worden. Hiervoor dient een Object Library gebruikt te worden.als basis voor zo n Object Library wordt in het algemeen een objecten bibliotheek onderhoudsform ( object library maintenance form ) gebruikt, van waaruit met behulp van programma FM2LIB61.EXE een Object Library aangemaakt kan worden. Oracle adviseert om ofwel een kopie te gebruiken van de standaard Object Library ofwel een eigen Object Library aan te maken. Het toevoegen van het Bean Area item aan de Object Library geschiedt simpelweg door in het objecten bibliotheek onderhoudsform een nieuw item aan te maken (met als naam bijvoorbeeld CGEYSO$MYBEAN), waarbij de Item Type en Implementation Class kenmerken gelijk zijn aan de kenmerken zoals eerder aangegeven. In Oracle Designer kan vervolgens bij de betreffende module een Unbound item opgenomen worden met een verwijzing naar het gewenste item in de Object Library. In ieder geval dienen de kenmerken Display Type = Bean Area, Unbound Type = Custom en Display? = Yes ingesteld te worden. Java speelt een belangrijke rol door de nauwe band die Oracle inmiddels hiermee heeft PL/SQL procedures Om vanuit een Oracle WebForm te communiceren met de JavaBean is een PL/SQL procedure startmyapplet gebruikt. Hierbij is de SET_CUSTOM_PROPERTY built-in gebruikt met de volgende parameters: item, row-number, prop-name en value. Beperking hierbij is dat parameter value alleen de typen VARCHAR2, NUMBER en BOOLEAN aan kan. Met behulp van deze built-in kunnen niet alleen kenmerken van de JavaBean ingesteld worden, maar ook functies/procedures van de JavaBean gestart worden. Dit gebeurt doordat de built-in de functie setproperty in de JavaBean aanroept. Met behulp van een procedure van de JavaBean kan dan vervolgens bijvoorbeeld een Java Applet gestart worden. procedure startmyapplet() is begin Doorgeven gegevens van Oracle Forms naar de JavaBean set_custom_property( MYBEAN,ALL_ROWS, MIJN_KENMERK_1, mijn waarde 1 ); set_custom_property( MYBEAN,ALL_ROWS, MIJN_KENMERK_2, mijn waarde 2 ); set_custom_property( MYBEAN,ALL_ROWS, MIJN_PROCEDURE_1,0); set_custom_property( MYBEAN,ALL_ROWS, MIJN_KENMERK_3, mijn waarde 3 ); set_custom_property( MYBEAN,ALL_ROWS, MIJN_PROCEDURE_2,0); end; Om in een Oracle WebForm te reageren op een gebeurtenis ( event ), voortgebracht vanuit de JavaBean, is een PL/SQL procedure handlemyappletevent gebruikt. Hierbij is de GET_CUSTOM_PROPERTY built-in gebruikt met de volgende parameters: item, row-number en prop-name. Beperking hierbij is dat altijd een VARCHAR2 wordt geretourneerd. De built-in roept de functie getproperty in de JavaBean aan. procedure handlemyappletevent() is eventname varchar2(30); begin eventname := :system.custom_item_event; if (eventname = MIJN_APPLET_A_GEBEURTENIS ) then :GLOBAL.APPLETVALUE_A := get_custom_property ( MYBEAN,1, MIJN_KENMERK_4 ); else (eventname = MIJN_APPLET_B_GEBEURTENIS ) then :GLOBAL.APPLETVALUE_B := get_custom_property ( MYBEAN,1, MIJN_KENMERK_5 ); end if; end; Aan het Bean Area item dient vervolgens op item niveau een WHEN-CUSTOM-ITEM-EVENT trigger gehangen te worden, die bijvoorbeeld PL/SQL procedure handlemyappletevent anroept (zie volgende alinea voor de code). Bovenstaande PL/SQL procedure wordt aangeroepen vanuit de WHEN-CUSTOM-ITEM-EVENT trigger, die op item niveau aan het Bean Area item is gehangen. In dit voorbeeld worden globale variabelen van een waarde voorzien, afkomstig van de externe toepassingen. 28

JavaBean Om interactie met een Oracle Form mogelijk te maken is in de JavaBean een implementatie van de IView interface nodig. Deze interface bestaat uit de specificaties van functies en procedures benodigd voor de interactie. In de oracle.forms.ui.vbean is de implementatie van de IView interface reeds opgenomen.alle benodigde functies en procedures zijn dus reeds aanwezig. Het is daarom verreweg het gemakkelijkst de JavaBean als sub van Vbean te definiëren (dit scheelt programmeerwerk). Als de JavaBean reeds een sub is van een andere bestaat de meer arbeidsintensieve mogelijkheid om de interface IView zelf te implementeren (en dus alle voor de interactie benodigde functies en procedures zelf te programmeren). package cgey.nl.demo; import Java.awt.event.*; import oracle.forms.ui.*; import oracle.forms.properties.*; import oracle.forms.handler.*; public myjavabean extends VBean * Default constructor public myjavabean () In de JavaBean wordt elk kenmerk ( property ), elke functie/procedure ( method ) en ook elke gebeurtenis ( event ) van de JavaBean gerepresenteerd door een ID middels ID.registerProperty. private String smijnkenmerk_1_waarde; private String smijnkenmerk_2_waarde; private String smijnkenmerk_3_waarde; private String smijnkenmerk_4_waarde; private String smijnkenmerk_5_waarde; private myappleta maa; private myappletb mab; IHandler mhandler = null; * Declaratie van property id s tbv communicatie * tussen Oracle Forms en de JavaBean static final ID p_mijn_kenmerk_1_id = ID.registerProperty ( MIJN_KENMERK_1 ); static final ID p_mijn_kenmerk_2_id = ID.registerProperty ( MIJN_KENMERK_2 ); static final ID m_mijn_procedure_1_id = ID.registerProperty ( MIJN_PROCEDURE_1 ); static final ID p_mijn_kenmerk_3_id = ID.registerProperty ( MIJN_KENMERK_3 ); static final ID m_mijn_procedure_2_id = ID.registerProperty ( MIJN_PROCEDURE_2 ); * Declaratie van property id s tbv communicatie * tussen JavaBean en Oracle Forms static final ID p_mijn_kenmerk_4_id = ID.registerProperty ( MIJN_KENMERK_4 ); static final ID p_mijn_kenmerk_5_id = ID.registerProperty ( MIJN_KENMERK_5 ); static final ID e_mijn_applet_a_gebeurtenis_id = ID.registerProperty( MIJN_APPLET_A_GEBEURTENIS ); static final ID e_mijn_applet_b_gebeurtenis_id = ID.registerProperty( MIJN_APPLET_B_GEBEURTENIS ); In dit voorbeeld heeft de Java component ( JavaBean ) de kenmerken MIJN_KENMERK_1 tot en met MIJN_KENMERK_5 die met een getproperty en setproperty functie respectievelijk opgevraagd en ingesteld kunnen worden. Daarnaast maakt het voorbeeld gebruik van gebeurtenissen MIJN_APPLET_A_ GEBEURTENIS en MIJN_APPLET_B_GEBEURTENIS en ook van de procedures MIJN_PROCEDURE_1 en MIJN_PROCEDURE_2 waarmee externe Java Applets gestart worden. Functie getproperty Met behulp van de getproperty functie kan Oracle Forms een kenmerk van de JavaBean opvragen. Deze functie verzorgt dus de communicatie van de JavaBean naar Oracle Forms. public Object getproperty(id pid) if( pid == p_mijn_kenmerk_4_id ) return(smijnkenmerk_4_waarde); else if( pid == p_mijn_kenmerk_5_id ) return(smijnkenmerk_5_waarde); // Laat de VBean super de andere kenmerken afhandelen else return(super.getproperty(pid)); Functie setproperty Met behulp van de setproperty functie kan een kenmerk van de JavaBean gewijzigd of geïnitialiseerd worden. Ook kan hiermee een functie of procedure gestart worden. Deze functie verzorgt dus de communicatie van Oracle Forms naar de JavaBean Class. 29

public boolean setproperty(id pid, Object value) String data = String.valueOf(value); if ( pid == p_mijn_kenmerk_1_id ) smijnkenmerk_1_waarde = data; else if ( pid == p_mijn_kenmerk_2_id ) smijnkenmerk_2_waarde = data; else if ( pid == m_mijn_procedure_1_id ) myappleta maa = new myappleta( smijnkenmerk_1_waarde, smijnkenmerk_2_waarde ); maa.addwindowlistener(new WindowAdapter() public void windowclosing(windowevent e) smijnkenmerk_4_waarde = maa.geefwaarde(); CustomEvent cea = new CustomEvent(mHandler, e_mijn_applet_a_gebeurtenis_id); dispatchcustomevent(cea); maa.dispose(); maa = null; ); maa.setsize(1000,500); maa.setvisible(true); maa.show(); else if ( pid == p_mijn_kenmerk_3_id ) smijnkenmerk_3_waarde = data; else if ( pid == m_mijn_procedure_2_id ) myappletb mab = new myappletb( smijnkenmerk_3_waarde ); mab.addwindowlistener(new WindowAdapter() public void windowclosing(windowevent e) smijnkenmerk_5_waarde = mab.geefwaarde(); CustomEvent ceb = new CustomEvent(mHandler, e_mijn_applet_b_gebeurtenis_id); dispatchcustomevent(ceb); mab.dispose(); mab = null; ); mab.setsize(1000,500); mab.setvisible(true); mab.show(); // Laat de VBean super de andere kenmerken afhandelen return(super.setproperty(pid,value)); In bovenstaand voorbeeld wordt steeds een gebeurtenis voortgebracht op het moment dat de Java Applet gesloten wordt. Java Applets Het is mogelijk om meerdere Applets vanuit de JavaBean te starten, waarbij iedere Applet zijn eigen argumenten heeft waarmee die gestart kan worden. In myappleta (zie code) zijn dit bijvoorbeeld doorgegevenwaarde_1 en doorgegevenwaarde_2 en in myappletb is dit doorgegevenwaarde_1. package cgey.nl.demo; import Javax.swing.JFrame; public myappleta extends JFrame private String mijnappleta_waarde; * Default constructor public myappleta ( String doorgegevenwaarde_1, String doorgegevenwaarde_2 ) this.mijnappleta_waarde = ; public String geefwaarde() return this.mijnappleta_waarde; public void zetwaarde( String doorgegevenwaarde) this.mijnappleta_waarde = doorgegevenwaarde; Oracle JInitiator Onderdeel van een Oracle WebForms applicatie is een applicatie server, waarbij vaak gebruik wordt gemaakt van Oracle JInitiator. Hiermee bestaat de mogelijkheid de Oracle certified Java Virtual Machine (JVM) in plaats van de standaard JVM van de webbrowser te gebruiken. In het configuratie bestand van JInitiator kan opgegeven worden dat bepaalde Java archief bestanden ( JAR files ) automatisch op de client machine moeten worden neergezet. Door de JavaBean en andere benodigde Java es in één of meerdere Java archiefbestanden te zetten en deze bestanden op te geven in het configuratiebestand van JInitiator, is ervoor gezorgd dat de interactie tussen een Oracle 30

Forms Applet en de Java Applets mogelijk is. Aandachtspunt hierbij is dat de versie van Oracle JInitiator en de daarin ondersteunde JDK versie overeenstemt met de vereiste JDK versie van gebruikte Java tools (zoals bijvoorbeeld Java3D) benodigd voor de externe toepassingen. Praktijktoepassing In het zogenaamde BOEG-project, één van de Oracle projecten van Koninklijke Boskalis Westminster NV is bovenstaande techniek toegepast. Koninklijke Boskalis Westminster NV is een wereldwijd opererend baggerbedrijf. Dit BOEG-project behelst de herbouw van een aantal oudere (character-based) Oracle applicaties waarmee de productie en kosten van baggerprojecten kunnen worden ingeschat. Door verouderde technologie en het grote aantal wijzigingen die in de loop der tijd waren ingevoerd was de onderhoudbaarheid sterk afgenomen. Nieuwe wijzigingen konden soms slechts met grote inspanning worden doorgevoerd. Met name ten behoeve van verbeterde onderhoudbaarheid van deze applicaties heeft Koninklijke Boskalis Westminster NV ervoor gekozen alle verouderde applicaties te laten herbouwen. Daarbij is gekozen voor een Oracle WebForms applicatie (three tier architecture). Afbeelding 4. Oracle WebForm Applet Boskalis DD Calculation pump predict Een belangrijk onderdeel van het BOEG-project is het tonen van grafieken. Op basis van een aantal eisen is de keuze hierbij gevallen op het Java-tool JClass Chart. Door de grafiek te integreren in een Java Applet en gebruik te maken van de JavaBean is het mogelijk door op een button te klikken in het WebForm, op basis van ingevoerde data en daaruit berekende data, grafieken te tonen (zie afbeelding 4). Het voordeel hierbij is dat zowel het doorgeven van de benodigde data als het starten van de externe toepassing door middel van één en hetzelfde mechanisme geschiedt, zoals besproken. Daarnaast is bovenstaande techniek toegepast om een driedimensionale afbeelding van een snijkopzuiger [1] met behulp van Java 3D te tonen. Door op een knop te klikken wordt op basis van ingevoerde data en daaruit berekende data, een driedimensionale afbeelding van een snijkopzuiger getoond. Hierbij is het tevens mogelijk om de snijkopzuiger te roteren om twee assen (zie afbeelding 5). Conclusie De interactie van een externe toepassing (Java Applet) met een Oracle WebForm is, dankzij een techniek gericht op het opnemen van JAVA UI componenten in een Oracle WebForm Applet, een relatief eenvoudige zaak.voordeel hierbij is dat de ontwikkelaar van het Oracle WebForm, nauwelijks Java kennis nodig heeft. Bij de techniek spelen een drietal onderdelen een belangrijke [1] baggermolen die de op te baggeren grond stukmaakt met een snijkopschroef Afbeelding 5. Oracle WebForm Applet Boskalis DD Calculation minimum profile rol: een Forms item van het type Bean Area, een JavaBean en een Java Applet. In grote lijnen is de techniek die hierbij gebruikt wordt: het instellen en opvragen van kenmerken ( property s ), het aanroepen van functies/procedures ( methods ) en het voortbrengen en afhandelen van gebeurtenissen ( events ). Het voordeel bij het gebruik van deze techniek is dat zowel het doorgeven van de benodigde data als het starten van de externe toepassing via hetzelfde mechanisme plaatsvindt. Referenties Using Java Components in Oracle Forms Applications, An Oracle Technical White Paper, January 2000. Boskalis DD Calculation pump predict, Koninklijke Boskalis WestMinster NV, Papendrecht. Boskalis DD Calculation minimum profile, Koninklijke Boskalis WestMinster NV, Papendrecht. Marc Lameriks is werkzaam als Senior Consultant bij Cap Gemini Ernst & Young (e-mail: marc.lameriks@cgey.nl). Voor de volledige broncode van het voorbeeld (myjavabean) kan contact met de schrijver worden opgenomen. 31