Follow Us on Twitter

JDeveloper for NewBees - deel 2

Business Components for Java (BC4J)
Gepubliceerd in

Augustus 2002 - Oracle9i JDeveloper biedt de mogelijkheid voor een snelle ontwikkeling van foutloze (gegenereerde) Java code. JDeveloper kan gebruikt worden voor de ontwikkeling van een aantal verschillende soorten Java applicaties. "Pure" Java applicaties worden in JDeveloper gebouwd met Business Components for Java (BC4J) en door JDeveloper gegeneerde Java code, waarbij kennis van JDBC en SQLJ handig is. Voor Web applicaties moet hiernaast ook gebruik worden gemaakt van HTML, XML en JavaScript.

In dit deel gaan we in op de belangrijkste kenmerken van een tweetal soorten Java applicaties: Java Client en JavaServer Page (JSP). Omdat alle "deployment" (= in productiename) opties van JDeveloper gebruik maken van Oracle’s BC4J framework is het zinvol om nu eerst hierop dieper in te gaan. Meer informatie over BC4J is te vinden in het JDeveloper help systeem en op de Oracle Technology Network website (otn.oracle.com).

Dit Whitebook verschijnt in een aantal delen, waarvan dit het tweede deel is. Het eerste deel ging in op de keuze voor JDeveloper en verscheen vorige maand. Klik hier om het eerste deel te lezen . Het derde deel gaat in op de JSP architectuur en ontwikkelmethodes in JDeveloper.

Business Components for Java

Business Components for Java (BC4J) is een Java en XML-gebaseerd framework (of architectuur) om applicatie logica te ontwikkelen zoals validaties, database queries en transactie logica. De BC4J laag communiceert met een separate client applicatie, die de gebruikers-interactie afhandelt. Het voordeel van het definiëren van de applicatie logica in BC4J in plaats van in de client applicatie is de mogelijkheid tot hergebruik. Een enkele BC4J laag kan gebruikt worden voor meerdere bedrijfssystemen en meerdere client applicaties.

Het voordeel van BC4J ten opzichte van "database-enforced" applicatie logica is complexer. Doordat de gegevens in de memory cache worden gehouden vermindert BC4J het aantal database "trips" waardoor de applicatie performance en schaalbaarheid toeneemt. Hiernaast biedt BC4J de mogelijkheid om alle logica in Java te coderen zodat een Java GUI of JSP niet geïntegreerd behoeft te worden met PL/SQL code. Tenslotte, doordat de applicatie logica buiten de database wordt gehouden neemt de applicatie modulariteit toe en kan de database server zich volledig bezighouden met de data in plaats van met data èn applicatie code.

Er zijn natuurlijk ook voordelen om applicatie logica in de database te implementeren. Applicatie logica in de database is robuust en alle client applicaties moeten er gebruik van maken (zelfs SQL*Plus). Applicatie logica die in de BC4J laag geïmplementeerd is wordt alleen maar gebruikt door de applicaties die deze laag daadwerkelijk aanroepen. Deze "tradeoff" tussen robuustheid en performance is iets wat per applicatie bekeken moet worden: de meest kritische applicatie logica moet daarom alleen in de database worden geïmplementeerd of redundant zowel in de database als in de BC4J laag. Het overige deel van de applicatie logica kan alleen in de BC4J laag worden geïmplementeerd.

BC4J geeft de mogelijkheid tot een flexibele deployment: een enkele BC4J laag kan zowel als lokale Java klasse ge-deployed worden of als een Enterprise JavaBean (EJB), zonder dat de code herschreven dient te worden. Programmeurs die BC4J gebruiken behoeven geen rekening te houden met de deployment architectuur maar kunnen vertrouwen op de BC4J framework "base" classes voor de belangrijkste functionaliteiten. De framework "base" classes handelen alle EJB protocol zaken af  waardoor programmeurs zich volledig kunnen concentreren op de eigen Java classes.

Database toegang

De BC4J objecten halen gegevens op van en versturen gegevens naar de database en de client applicatie middels de JDBC communicatie classes. Omdat de BC4J "base" classes direct met JDBC communiceren behoeft de ontwikkelaar zich geen zorgen te maken over applicatie specifieke klasse extenties die hij of zij bouwt bovenop de "base" classes.

BC4J Componenten

De BC4J laag bevat de volgende componenten:

  • De Entity objecten representeren database tables en views. Een entity object handelt alle DML operaties af inclusief alle bedrijfsregels voor een bepaalde tabel of view: validaties, default waarden, en alles wat moet gebeuren als een rij wordt gecreëerd, verwijderd of veranderd.
  • Associations representeren foreign key relaties tussen tabellen en kunnen worden gebruikt in applicatie logica om master en detail rijen op te halen.
  • De View objecten representeren SQL queries. View objecten bepalen welke gegevens en welke functies beschikbaar worden gesteld aan de client applicaties.
  • View links representeren relaties tussen de view object "result sets". Door gebruik te maken van view links worden master-detail gegevens automatisch gesynchroniseerd in de client applicaties.
  • Applicatie modules vormen een collectie view objects en view links die een client applicatie nodig heeft voor een bepaalde transactie. Applicatie modules handelen ook transactie operaties af zoals COMMIT. Het BC4J framework gebruikt een geavanceerd resource polling mechanisme voor applicatie modules dat de performance en schaalbaarheid verbeterd.

Gebruikelijke ontwikkelstappen

De stappen die benodigd zijn om een applicatie met JDeveloper te creëren zijn enigszins afhankelijk van het soort Java applicatie dat u ontwikkelt. Er zijn enige stappen die altijd gevolgd moeten worden:

1. Creëer een workspace

Het begint allemaal met een zogenaamde workspace dat eigenlijk een soort logische container is voor de project files waarmee gewerkt wordt. Projecten bevatten de programma code files (zoals .java, .html, and .xml) en worden meestal gebruikt voor het creëren van deployment packages. De workspace kan ook projecten bevatten die door andere workspaces worden gebruikt.

2. Definier een BC4J project

Het BC4J project bevat alle objecten die benodigd voor uw programma om de database te benaderen. Na het definiëren van het BC4J project kan applicatie code worden toegevoegd die specifieke bedrijfsregels implementeert.

Het BC4J project bevat alle objecten die benodigd voor uw programma om de database te benaderen. Na het definiëren van het BC4J project kan applicatie code worden toegevoegd die specifieke bedrijfsregels implementeert.

3. Test de BC4J laag

Gebruik nu de Oracle Business Components Browser om de BC4J objects en de eigen code te testen. Deze stap is belangrijk omdat zo alle code in deze laag wordt getest voordat de client applicatie code wordt gebouwd die deze laag gebruikt.
Gebruik nu de Oracle Business Components Browser om de BC4J objects en de eigen code te testen. Deze stap is belangrijk omdat zo alle code in deze laag wordt getest voordat de client applicatie code wordt gebouwd die deze laag gebruikt.

4. Start de Project Wizard voor de applicatie

De Project Wizard creëert de project file voor de applicatie en kan automatisch de wizard starten die benodigd is voor het soort Java applicatie dat u wilt creëren (bijvoorbeeld een applet).

De Project Wizard creëert de project file voor de applicatie en kan automatisch de wizard starten die benodigd is voor het soort Java applicatie dat u wilt creëren (bijvoorbeeld een applet).

5. Start eventueel andere benodigde wizards

Gebruik de New Gallery (File | New) om files toe te voegen aan het project ten behoeve van de gebruikers interface. Alle wizards creëren een bepaalde hoeveelheid code die aangepast dient te worden ten behoeve van uw specifieke applicatie specificaties.
Gebruik de New Gallery () om files toe te voegen aan het project ten behoeve van de gebruikers interface. Alle wizards creëren een bepaalde hoeveelheid code die aangepast dient te worden ten behoeve van uw specifieke applicatie specificaties.

6. Wijzig de gegeneerde code

Nu moet de overige applicatie specifieke code aan de gegenereerde code worden toegevoegd. Het hangt nu af van de gebruikte wizard hoeveel code geschreven of herschreven moet worden. Sommige wizards creëren complete code, maar andere wizards creëren bijvoorbeeld alleen maar een lege schil die daarna handmatig ingevuld dient te worden.

Nu moet de overige applicatie specifieke code aan de gegenereerde code worden toegevoegd. Het hangt nu af van de gebruikte wizard hoeveel code geschreven of herschreven moet worden. Sommige wizards creëren complete code, maar andere wizards creëren bijvoorbeeld alleen maar een lege schil die daarna handmatig ingevuld dient te worden.

7. Test en deploy de code

De eerste testen moeten uitgevoerd worden in de JDeveloper omgeving. Hierdoor kan de ingebouwde JDeveloper debugger worden gebruikt om problemen op te sporen. Hierna moet een deployment package gebouwd worden met de deployment profile wizards (beschikbaar in de New dialog) en geplaatst worden op het definitieve test platform.

De eerste testen moeten uitgevoerd worden in de JDeveloper omgeving. Hierdoor kan de ingebouwde JDeveloper debugger worden gebruikt om problemen op te sporen. Hierna moet een deployment package gebouwd worden met de deployment profile wizards (beschikbaar in de New dialog) en geplaatst worden op het definitieve test platform.

Volgende maand deel 3: JSP architectuur en ontwikkelmethodes in JDeveloper.

Waardering:
 

Reacties

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.