VISIE Voorjaar 2008 • Jaargang 13 • Nummer 1 • h 7,50
Oracle Gebruikersclub Holland Onderdeel van
Apex: RAD in de database Oracle en BEA: Better together? GIS beheerapplicaties dankzij Web 2.0 technologie
Oracle as it is meant to be Uw keuze voor Oracle is een bewuste keuze. Niet alleen voor de techniek, maar ook voor de visie van Oracle. De vraag is dan ook niet waar u heengaat, maar hoe u er komt. Volgt u altijd de ideale lijn of moet u onderweg toch afremmen? Meant2B heeft het vermogen om met Oracle techniek onderscheidende toepassingen te maken. We benaderen ICT vraagstukken zoals Oracle dat bedoelt. Pragmatisch, zonder het denkwerk uit het oog te verliezen. Leuk, vanwege het enthousiasme én de kennis van onze medewerkers. Effectief, want uiteindelijk telt het resultaat. Wilt u de ideale lijn volgen?
De Liesbosch 14a, 3439 LC Nieuwegein T: 030 2674204 E:
[email protected] W: www.meant2b.nl
Voorwoord
VISIE
Geachte lezer,
Colofon
mer 2008. Ook in dit nummer weer veel interessants.
Met trots presenteren we hierbij het voorjaarsnumOracle Apex is deze keer het hoofdthema, daarnaast is er onder andere ruime aandacht voor het RedDatabase
Redactie
H. Gerritse (hoofdredacteur) R. Buitenhuis L. Jellema M. Uitentuis
symposium dat van 10 tot 12 maart werd gehouden.
Redactie-adres
een aantrekkelijke korting op de entreeprijs kregen.
Oracle Gebruikersclub Holland Utrechtseweg 48c, 3704 HE Zeist Postbus 701, 3700 AS Zeist E
[email protected]
Een symposium waarbij Rick van der Lans samenwerking zocht met de OGh en waar de OGh-leden
Verder een verslag over hét goeroe event
later dit jaar nog uitgebreid afscheid van
met Graham Wood op 10 april jl., spe-
Gerwin te kunnen nemen tijdens een
ciaal voor de leden van de OGh. De zaal
uitgestelde jubileumviering ‘OGh 20
was zeer goed bezet. We verwachten
jaar’. Tijdens de ALV hield Conclusion
natuurlijk ook een grote opkomst op
Communication een interessante work-
13 mei als Alex Keh (een andere Oracle
shop over Arbeidsmarktcommunicatie.
A.J. van der Weijden BMO bv E
[email protected]
goeroe), speciaal voor de OGh-leden een
Jammer genoeg waren er weinig leden
presentatie houdt over Oracle applica-
die aan de oproep voor de vergadering
OGh-secretariaat/ advertentie-exploitatie
tieontwikkeling in een .Net omgeving.
gehoor gaven en het bestuur beraadt zich
Kortom de OGh leeft!
hoe in de toekomst de algemene leden-
Realisatie
Drukkerij Donath B.V. T (030) 69 22 887 F (030) 69 181 34 E
[email protected]
Organisatie
Utrechtseweg 48c, 3704 HE Zeist A.J. van der Weijden T (030) 699 70 65 F (030) 696 23 78 E
[email protected] www.ogh.nl
Gebruikersbijeenkomsten/congres Werving sprekers/onderwerpen Th. Koster Conclusion Communication
[email protected]
vergaderingen vorm te geven om een Op 23 april was de algemene ledenver-
grotere opkomst te realiseren.
gadering van de OGh bij Oracle in De Meern. Bij die vergadering namen we af-
Ik wens u veel leesplezier.
scheid van Gerwin Timmerman, die na 11 jaar penningmeesterschap het stokje
Ruud Bos
overdroeg aan Hans Fermont. We hopen
Voorzitter Oracle Gebruikersclub Holland
Bestuur OGh
Voorzitter R. Bos Delta Lloyd NV T +31 (0)20 594 2360 E
[email protected] Penningmeester G.G. Timmerman Amis Services BV T +31 (0)30 601 6000 E
[email protected] Overige bestuursleden R. Buitenhuis Ciber Nederland BV T +31 (0)40232 9090 E
[email protected] Y. Fu Itude Technology T +31 (0)30 656 6171 E
[email protected] Vertegenwoordiger SIM M. Uitentuis Atlis Informatiesystemen T +31 (0)30 602 0070 E
[email protected] Oplage 7.000 OGh Visie is een uitgave van Oracle Gebruikersclub Holland en wordt verzonden aan al haar leden. U kunt zich aanmelden via de website www.ogh.nl of d.m.v. het inschrijfformulier in OGh Visie en u ontvangt dan automatisch OGh Visie. Voor losse (gratis) abonnementen kunt u zich ook aanmelden bij de website www.ogh.nl
© 2008 OGh
Inhoud Voorwoord door Ruud Bos
Damen Shipyards ontwikkelt web-based Call Registration System met Oracle Apex door Bob de Leeuw
Column – Als je denkt dat opleiden duur is, probeer het dan eens met onwetendheid door Carel-Jan Engel
Apex: RAD in de database door Maarten van Luijtelaar
Oracle en BEA: Better together?
3
4
8
9
door Léon Smiers, Jacques van Heijst en Balt Leenman
13
Oracle On Demand: ruime interpretatie van begrip SaaS
18
Gis beheerapplicaties dankzij Web 2.0 technologie door Dirk Frigen
Van 3-ster indexen tot Analytics’ – verslag RedDatabase Symposium door Toine van Beckhoven
Graham Wood over DB Time Oracle Performance Tuning door Toine van Beckhoven
20
27
28
Call Registratie Systeem met Apex
Damen Shipyards ontwikkelt web-based Call Registratie Systeem met Oracle Apex Door Bob de Leeuw De afdeling Damen Field Services (DFS) is verantwoordelijk voor de wereldwijde serviceverlening van Damen Shipyards Gorinchem. De administratie van deze serviceverlening wordt bijgehouden in het nieuw ontwikkelde Call Registratie Systeem, een webapplicatie die in samenwerking met Transfer Solutions is ontwikkeld met Oracle Application Express (Apex). De afdeling DFS heeft opdracht ge-
• Het
systeem
moest
kunnen
geven aan de afdeling ICT van Da-
worden gebruikt om de workflow
Breed concept.
men Shipyards voor het realiseren
te coördineren tussen Damen
De overwegingen achter deze keuze
van een nieuw Call Registratie Sys-
Shipyards,
zijn als volgt:
teem (CRS), waarin de afwikkeling
leveranciers.
• Blijf
van serviceverlening van nieuwge-
• Het nieuwe CRS moest de rol van
omgevingen waar dat mogelijk is,
bouwde schepen kan worden bijge-
centrale
• gebruik pakketoplossingen waar
houden. De aanleiding was dat het
vervullen
bestaande CRS niet meer voldeed
andere registraties, bijvoorbeeld
management),
aan de wensen van DFS. Het was
in MS Access, overbodig maken.
• gebruik bekende technologie, ook
bijvoorbeeld alleen stand-alone te
Een
randvoorwaarde
al zit die in een nieuw jasje, voor
gebruiken, waardoor gebruik vanaf
was dat het bestaande werkproces
zelf te ontwikkelen systemen en
andere locaties niet mogelijk was.
van DFS zo min mogelijk zou wor-
houd die ontwikkeling eenvoudig.
Dat is onhandig omdat engineers
den aangepast. Bestaande oplossin-
van DFS vaak in het buitenland zijn
gen voor tekstverwerking en e-mail
Het CRS-systeem bevat drie hoofd-
en daar 7*24 uur toegang moeten
moesten ingezet worden.
functies: opslag, correspondentie en
hebben tot alle documentatie in ver-
Het nieuwe CRS moest een spin in
administratie.
band met een ingediende call. Verder
het web worden voor wat betreft de
ontbrak de mogelijkheid om docu-
gehele vastlegging, communicatie en
Opslag
mentatie te koppelen aan ingediende
regie rondom de serviceverlening.
De correspondentie met klanten en
haar
klanten
informatiebron en
belangrijke
daarmee
en
gaan allerlei
calls en was de technologie verou-
4
mooie toepassing van het Best of
dat
werken
met
mogelijk
is
bestaande
(document
leveranciers over de geregistreerde
derd, waardoor verdere aanpassing
Systeembeschrijving CRS-applicatie
calls wordt opgeslagen in een nieuw
en onderhoud moeilijk werd.
In het volgende beschrijven we hoe
document
management
systeem
het CRS technisch is opgebouwd.
(Kronodoc). Het bestaande tradi-
Andere wensen van DFS ten aanzien
Dat doen we aan de hand van de
tionele filesysteem zonder historie,
van het nieuwe CRS-systeem waren:
schematische weergave in figuur 1.
zoekmogelijkheid, versiebeheer en
Zoals te zien is in het schema heeft
metadata is hiermee komen te ver-
• Er moest een mogelijkheid komen
Damen Shipyards ervoor gekozen
vallen.
om een archief op te bouwen
om de totaaloplossing te realiseren
gerelateerd aan de call registratie,
met behoud van een aantal al in ge-
Figuur 1 laat zien dat er drie databa-
van alle relevante documentatie
bruik zijnde software componenten
ses zijn aangemaakt:
en correspondentie met klanten
die elk een deel van het werkproces
• Een Oracle10g database voor
en leveranciers. Hiervoor had
ondersteunen. Het CRS is daarin de
Oracle Apex.
DFS al een nieuw op Oracle
centrale en verbindende component
Deze database bevat de systeem-
gebaseerd
documentbeheers-
van waaruit het totale serviceverle-
tabellen van Oracle Apex. Dit is
systeem op het oog, Kronodoc.
ningproces geregisseerd wordt. Een
de repository van Apex. Hierin
Call Registratie Systeem met Apex
zitten de gegevens over de opbouw
waarvan de gegevens moeten
ingericht, die zich elk afzonderlijk
van de Oracle Apex schermen en
worden geïntegreerd.
gedragen als een fysieke server. Een
rapporten.
dergelijke geëmuleerde server wordt
• Een Oracle10g database voor het
Op alle databases vindt een on-line
ook wel een ‘virtual server’ genoemd.
Kronodoc DMS.
back-up (ook wel ‘hot back-up’) van
Virtual servers bieden de mogelijk-
Deze database bevat de systeem-
de data plaats. Dankzij de on-line
heid om verschillende Oracle Apex
tabellen
back-ups is een 7*24 uptime met
omgevingen (OTAP) duidelijk van
hoge betrouwbaarheid gerealiseerd.
elkaar te scheiden en indien nodig
van
het
Kronodoc
document management systeem met daarin de data en metadata
snel te verplaatsen naar een andere
van het DMS.
Apex onder Xen
hardwareomgeving. Bovendien kan
• Een Oracle10g database voor het
Uit financiële overwegingen en van-
bij goed gebruik van het concept de
CRS applicatie schema.
wege flexibiliteit is ervoor gekozen
beschikbare hardwarecapaciteit opti-
Deze
de
om de Oracle Apex omgeving in te
maal worden benut.
productiegegevens van de CRS-
database
richten op een gevirtualiseerde ser-
Bij DFS is op advies van Transfer
applicatie
ver omgeving, in dit geval Red Hat
Solutions het virtual server concept
er
Linux Xen. Dit houdt in dat er op
gebruikt om een afzonderlijke pro-
maandelijks een import plaats
één fysieke server meerdere software-
ductie- en een acceptatieomgeving
vanuit
matig geëmuleerde servers worden
in te richten.
gebruikt.
en
bevat wordt
Bovendien
een
externe
on-line vindt
databron,
Damen Shipyards wereldwijd actief in de scheepsbouw en industrie Damen Shipyards wereldwijd actief in de scheepsbouw en industrie. De Damen Shipyards Group heeft zich ontwikkeld van een kleine scheepswerf in 1927 tot een groep van ruim dertig bedrijven wereldwijd actief in de scheepsbouw en daaraan gerelateerde industrieën. In 1969 is het concept van standaardisatie van ontwerpen en componenten voor sleepboten, werkschepen en andere commerciële schepen geïntroduceerd, gebruik makend van een modulaire bouwmethode. De Shipyards Group leidt vanuit het hoofdkantoor in Gorinchem zijn activiteiten, die bestaan uit onder andere ontwerp en bouw van een brede sortering van standaard schepen, speciale one-offs en scheepsreparatie. In aanvulling daarop biedt Damen Shipyards scheepscomponenten, zoals straalbuizen en roeren en een breed pakket van diensten aan, zoals diverse financieringsvormen, garantieservice, assistentie bij groot onderhoud of verbouwingen, trainingen etc. Damen Shipyards bedient een wereldwijde markt en wordt in veel sectoren waar zij actief is als marktleider beschouwd. De Damen Shipyards bedrijven die actief zijn in scheepsnieuwbouw kunnen schepen tot 180 meter bouwen met een voortstuwingsvermogen tot 14.000 kW en 60.000 tdw. De scheepstypen variëren van grote en kleine werkschepen, eenvoudige en geavanceerde sleepboten tot tankers, algemene lading- en containerschepen, baggerwerktuigen en megajachten.
5
Call Registratie Systeem met Apex
gistratie Systeem
een
is de toepassing
management systeem (Kronodoc)
die met Apex is
aangemaakt en één submap voor
gebouwd
de call.
voor
map
in
het
document
de administratie
• Correspondentie
van de calls en
leverancier of intern opgestart.
alle bijbehorende
Voor de correspondentie heeft
documentatie.
Damen Shipyards eigen MS Word
De
toepassing
templates in gebruik. De MS
gebruikt
Word templates zijn in XML-for
voor de afhande-
maat opgeslagen in het document
ling van calls en
management systeem en worden
wordt
naar
klant,
koppelt alle verschillende software-
bij
componenten die nodig zijn voor
correspondentie
Document Management Systeem
documentbeheer en corresponden-
samengevoegd met gegevens uit
De meeste correspondentie over
tie. Omdat de applicatie via het in-
de database.
calls tussen DFS aan de ene kant en
ternet ook van buiten af beschikbaar
• Het
klanten en leveranciers aan de an-
moet zijn is gekozen om er met Apex
document wordt ook opgeslagen
dere kant gaat per e-mail. De e-mails
een webtoepassing van te maken. De
in het document management
worden met behulp van MS Word
schermen worden op runtime op-
systeem.
templates opgebouwd.
gebouwd door PL/SQL modules die
Kronodoc Oy (www.kronodoc.com)
HTML en JavaScript genereren. De
Het
is een Finse software leverancier op
Apex toepassing is in dit systeem let-
processtappen kan direct worden
het gebied van documentbeheerssys-
terlijk de spin in het web.
geopend in MS Word of in het do-
Figuur 1 Systeemarchitectuur CRS applicatie
temen en is door Damen Shipyards
het
creëren
van
samengestelde
resultaat
van
nieuwe
geopend
MS
en
Word
bovenstaande
cument management systeem zoals
als partner voor de implementatie
Functionaliteit Call Registratie
is te zien in . In deze schermprint
van een document management
Systeem (CRS)
is te zien is dat er onder het pro-
systeem (DMS) uitgekozen vanwege
De administratie van de servicever-
jectnummer (619190) een map is
de toepasbaarheid binnen de logis-
lening over de afgeleverde schepen
aangemaakt voor een call met het
tieke branche. Een van de web-based
wordt door de afdeling DFS van Da-
nummer 532010-004. Daaronder
producten van Kronodoc Oy is het
men Shipyards bijgehouden in het
is een correspondentie-item aange-
document
systeem
ontwikkelde CRS. Zolang een ser-
maakt met de naam: C532010-004-
‘Kronodoc Suite’.Kronodoc gebruikt
vicecontract van het schip nog loopt,
CRS001_Warranty Request Form-
een Oracle10g database voor alle ad-
worden de calls door de afdeling DFS
NL.xml.
ministratie die nodig is rondom het
verwerkt.
documentbeheer.
Voor elke aan-
management
gemelde
call
De toepassing van het Kronodoc DMS
(zie
Figuur
2
was voor DFS een pilot, waarbij werd
Registreren van
onderzocht of Kronodoc voldeed aan
een Call (Apex))
de gestelde eisen. Er is daarom gekozen
wordt een nieuw
voor een koppeling die een gemakkelij-
project
ke uitwisseling van Kronodoc met een
maakt
eventueel ander te kiezen DMS moge-
CRS,
lijk maakt. De koppeling tussen Apex en
ware een call-
Kronodoc is daarom op basis van URL’s
afhandelings-
(‘deep links’) gemaakt, met standaard
project.
aangein
het
als
het
protocollen (HTTP en XML).
Figuur 2 Registreren van een Call (Apex)
Het registreren van een call vindt
6
Oracle Apex
plaats in de volgende stappen:
De medewerker van DFS kan nu
De derde component in het Call Re-
• Per project wordt automatisch
vanuit MS Word een opdracht geven
Call Registratie Systeem met Apex
om het document te versturen via
meegeleverd
met
MS Outlook.
zonder meerprijs.
Oracle
10g,
zorg heeft gedragen voor de accepta-
MS Word templates zijn ook in het document
management
gesteld, terwijl Damen Shipyards tie- en productieomgeving, zodat er
systeem
De ontwikkeltool zelf en de toepas-
voor het regulier beheer kennis en
opgeslagen, zodat de medewerkers
singen die met Apex gemaakt wor-
ervaring kon worden op gedaan met
van Damen Shipyards de moge-
den zijn alleen via een browser be-
de nieuwe architectuur.
lijkheid krijgen om wijzigingen te
naderbaar (HTML over HTTP). De
Omdat binnen Oracle Apex de ap-
maken in bestaande templates of
Apex omgeving wordt in een Oracle
plicaties zijn opgeslagen in tabellen,
om zelf nieuwe templates te kunnen
database geïnstalleerd en kan werken
kan de hele omgeving worden over-
toevoegen. Het proces gebruikt dus
in combinatie met een willekeurige
gezet naar een ander schema door
aparte applicaties voor registratie,
webserver. De voordelen van Apex
middel van een exportimport actie.
opslag en correspondentie, maar
zijn daarmee duidelijk:
Zo kon er bij Transfer Solutions in
is functioneel volledig gekoppeld.
• Snelheid Apex
en
schaalbaarheid:
schermen
Leerdam worden ontwikkeld en ge-
op
test en werd de applicatie door mid-
Waarom Oracle Apex?
runtime voor het grootste deel
del van een SQL-bestand uitgerold
Apex, voorheen HTML DB, is een tool
uitgevoerd
bij Damen Shipyards in Gorinchem.
om webapplicaties te bouwen. De
RDBMS engine. De middle tier
tool bestaat uit een databaseschema
wordt minimaal belast.
Damen Shipyards heeft gedurende
en een aantal webpagina’s die gege-
• Flexibiliteit: kan gebruikt worden
het gehele project een technisch
nereerd worden door PL/SQL modu-
in
applicatiebeheerder ingezet, die ver-
les om de inhoud van de database te
architecturen.
bewerken en te tonen. Oracle Apex
• Bekendheid:
gebruikte
ren van de technische en functionele
wordt als onderdeel van Oracle10g
technologie is PL/SQL. Daarnaast
kwaliteit. De technisch applicatiebe-
meegeleverd, zonder meerprijs. Het
is kennis van HTML, CSS en
heerder begeleidde de acceptatietes-
databaseschema is een repository,
JavaScript wenselijk.
ten en de in-productiename en was
binnen
verschillende
worden de
Oracle
middle
tier
antwoordelijk was voor het controlede
vergelijkbaar met de (oude) Oracle
sparringpartner voor de projectleider
Forms dictionary tabellen. Een ver-
Oracle Apex leent zich goed voor
van Transfer Solutions. Transfer So-
schil is wel dat in dit geval het data-
een iteratieve ontwikkelstrategie. In
lutions heeft in een aantal sessies de
base schema de enige registratie van
overleg met de gebruiker wordt in
functionele en technische werking
broncode is, en dat ze ook de code
een aantal stappen de applicatie ont-
van het systeem gepresenteerd aan
van de ontwikkeltool zelf bevat. Op
wikkeld. Ons is gebleken dat iteratief
beheerders en gebruikers van Damen
het moment van aanroepen worden
ontwikkelen nuttig is om nieuwe
Shipyards.
de schermen dynamisch opgebouwd
IT-infrastructuur te beproeven en te
uit de database met behulp een aan-
introduceren.
lees verder op pagina 12
tal PL/SQL modules. De keuze voor Oracle Application Ex-
Samenwerking
press (Apex) als user interface komt
Damen Shipyards
voort uit een aantal afwegingen:
heeft het gehele
• Bekende technologie: Applicatie-
project uitgevoerd
beheerders van Damen Shipyards
in samenwerking
kunnen met alleen kennis van
met Transfer So-
SQL en PL/SQL snel en gemakke-
lutions, van con-
lijk
cept
een
webapplicatie
onder-
naar
ont-
houden met Apex.
werp, bouw, test,
• Flexibele (web)architectuur: Alles
tot oplevering, in-
wat ontwikkeld is met Apex kan
gebruikname en
als
beheer.
webservice
worden
gesteld
beschikbaar via
de
SOA
Solutions
Transfer heeft
communicatie standaarden SOAP
de Xen ontwik-
en XML.
kel- en testomge-
• Kosten: Apex wordt standaard
ving beschikbaar
Figuur 3 Kronodoc DMS
7
Column
Column
OGh Visie verwelkomt Carel-Jan Engel als columnist. Carel-Jan Engel werkt vanaf 1985 (versie 4.1) met Oracle. Hij werkt als onafhankelijk Oracle RDBMS specialist onder de naam DBAlert, veelal op korte projecten van enkele dagen.
Als je denkt dat opleiden duur is,
probeer het dan eens met onwetendheid Door Carel Jan Engel Sinds augustus 2004 gebruik ik
Ik kan geen begrip opbrengen voor
systeem vond. Ik antwoordde dat
deze uitspraak van prof. Derek Bok
deze kortzichtigheid. Goed opge-
het best goed was opgezet, maar
(oorspronkelijk: If you think edu-
leide medewerkers zijn beter (lees
dat het later veel minder zorgvul-
cation is expensive, try ignorance)
duurder) verkoopbaar, slecht op-
dig was onderhouden, en ook dat
als standaard ondertekening. Ik
geleide medewerkers maken grote-
nieuwe mogelijkheden niet wer-
werd er direct door getroffen, en
re (lees duurdere) fouten. De beste
den benut. Ik vroeg me hardop af
heb nog steeds niets beters gezien
illustratie van deze stelling kwam
of de leverancier misschien een
om mijn e-mails mee af te slui-
ik ruim een jaar geleden tegen.
slechte periode had doorgemaakt,
ten.
Een bedrijf had een ‘standaard’
en op opleidingen had bezuinigd.
softwarepakket op basis van Ora-
De initieel goede opzet strookte
Wat ik nu zo ontzettend jammer
cle (Forms, RDBMS) aangeschaft.
gewoon niet met het belabberde
vind is dat deze ‘waarheid als een
Door de DBA’s van de leveran-
onderhoud. Ik had de spijker op
koe’ door zo weinig mensen, en
ciers was het geheel geïnstalleerd.
zijn kop geslagen: ze hadden een
dan met name managers, wordt
Na drie maanden was het pakket
hele slechte periode achter de rug,
begrepen. Steeds weer valt het
volledig vastgelopen. Het bedrijf
waarbij geen ruimte was voor op-
me op hoe gering de Nederlandse
van de klant kwam vrijwel tot stil-
leidingsbudgetten.
deelname aan prima opleidings-
stand. De leverancier (die zelf de
pound foolish: Het oplossen van
mogelijkheden is. Ik denk bijvoor-
‘sizing’ van de hardware had ge-
de problemen bij de klant kostte
beeld aan het recente RedDatabase
adviseerd) bleef hameren op het
ze vele, vele manmaanden. Man-
Forum in Den Haag, het jaarlijkse
toevoegen van CPU’s, geheugen,
maanden die met fractie van de
Miracle Database Forum (nu Mi-
daarmee zijn eerdere adviezen ver-
inspanning aan opleiding hadden
racle Open World) in Lalandia en
loochenend. Zowel aan de kant
kunnen worden vermeden!
de jaarlijkse UKOUG conferentie
van de klant als van de leverancier
in Birmingham. Qua schaalgroot-
was het probleem inmiddels geës-
te zijn deze evenementen verschil-
caleerd tot op hoger management-
lend, maar ieder evenement wordt
niveau. De klant vroeg me het
gekenmerkt door een hoge kwali-
probleem te analyseren. De kern
teit onafhankelijke sprekers, wei-
van het probleem bleek terug te
nig tot geen marketing, kortom:
voeren op één enkele foute query.
waar voor je geld. Toch schijnt het
Daarnaast waren er nog zo’n ruim
volgen van opleiding nog steeds
dertig forse verbeterpunten moge-
als een beloning te worden gezien
lijk. Nadat de eerste verbetering
voor (bijzondere) prestaties, en
was aangebracht was het systeem
niet als noodzakelijk onderhoud
meteen weer bruikbaar.
van je ‘product’. Hoe vaak ik niet
8
hoor dat een medewerker die ‘op
Tijdens mijn analyse was ik door
een klus’ zit niet naar cursus mag
de PL/SQL packages van de appli-
omdat dit omzet kost!
catie gelopen. Een manager van de leverancier vroeg me wat ik van het
Penny
wise,
Oracle Apex
Apex: RAD in de database Door Maarten van Luijtelaar ‘Een tool die een oplossing biedt voor het centraliseren van toepassingen die vroeger veelal met Access of Excel gebouwd werden. Met deze omschrijving werd Oracle Application Express’, toen nog HTMLDB genaamd, in 2004 geïntroduceerd. Application Express richt zich in eerste instantie dan ook op afdelingen of organisaties die zonder tussenkomst van IT-ers oplossingen willen creëren ter ondersteuning van de dagelijkse werkzaamheden. Maar mede door de sterk gedreven community verschijnen er zo langzamerhand steeds meer succesverhalen over de inzet van Apex in grotere projecten. Application Express is voornamelijk
Er blijft gelukkig genoeg over voor
Embedded PL/SQL Gateway of kort
een declaratieve ontwikkelomgeving
de gevorderde ontwikkelaar. Omdat
EPG. Statische bestanden als afbee-
die gratis meegeleverd wordt bij een
Apex volledig is gebaseerd op PL/SQL
ldingen en stylesheets moeten dan
licentie van de Oracle database. Met
heeft de ontwikkelaar alle mogelijkh-
geplaatst worden in de XDB reposi-
behulp van wizards kan al snel een
eden van de krachtigste database tot
tory van de database. Metadata Het hart van Apex bestaat uit een metadata
repository
en
tabellen
voor het bewaren van sessiedata. De repository bevat alle gegevens die declaratief worden vastgelegd, zoals paginalayout, rapportdefinities, validaties en processen. Het samenstellen van de webpagina en de acceptatie van gebruikersinvoer gebeurt door de Apex engine. Als een pagina wordt opgevraagd zal de engine de metadata verzamelen en hiermee de HTML samenstellen. De gebruikersinvoer wordt eerst vastgelegd in de
Figuur 1: Infrastructuur, mod_plsql en EPG
zijn beschikking.
sessietabel. Samen met de request string, die bijvoorbeeld gekoppeld is
webapplicatie samengesteld worden, zonder al te veel zelfgeschreven code.
Architectuur
aan een button, worden validaties
Denk hierbij aan invulformulieren,
Apex is gebaseerd op mod_plsql, de
en processen uitgevoerd. Vervolgens
rapporten en grafieken op databa-
extensie voor de Apache webserver.
wordt conditioneel bepaald wat de
setabellen. Het creëren en vullen van
Hiermee wordt PL/SQL code middels
volgende pagina is de die gebruiker te
tabellen kan door het laden van CSV
HTTP requests uitgevoerd en het re-
zien krijgt. Het mooie is dat bij wi-
of XML bestanden. Door de logische
sultaat teruggestuurd naar de client.
jziging van de applicatie geen genera-
indeling in workspaces ontstaat een
De infrastructuur is dan ook simpel:
tie- of deployment-slag nodig is. Het
virtueel werkterrein dat volledig met
een Oracle database versie 9.2.0.3 of
overzetten naar een andere database
een browser benaderbaar is. Deze ei-
hoger en een webserver. Voor de laat-
instance is dan ook een kwestie van
genschappen maken Apex vooral ge-
ste kan gekozen worden uit een stan-
het importeren van een Apex export-
schikt voor opportunistische toepass-
dalone Oracle HTTP Server (OHS)
bestand dat de metadata van de ap-
ingen. Ideeën kunnen snel en vooral
of een volledige Oracle Application
plicatie bevat.
gemakkelijk
worden
server installatie. Voor wie er geen
zonder veel kennis van de onder-
probleem mee heeft dat het HTTP
Sessiebeheer
liggende database. Maar door al-
verkeer rechtreeks naar de database
Het beheer van sessievariabelen ge-
leen deze eigenschappen te noemen,
geleid wordt, kan een nieuwe feature
beurt in Apex volledig transparant.
doen we Apex wel een beetje te kort.
van de 11g database gebruiken, de
Omdat een Apex sessie per definitie
gerealiseerd
9
Oracle Apex
verschillend is van een databasesessie
combinatie met OC4J of Tomcat.
De zoekvraag kan voor later gebruik
wordt bij authenticatie een uniek ses-
Wie complexe rapporten nodig heeft
opgeslagen worden. Hoewel de webin-
sienummer uitgegeven. Samen >>>
kan gebruik maken van de integratie
terface voor de Query Builder knap is
>>> met dit sessienummer worden
met BI-Publisher.
gemaakt, is deze tool duidelijk bedoe-
de opgestuurde waarden van invoer-
Het beheer van workspaces laat
ld voor gebruikers met weinig of geen
items vastgelegd in een sessietabel.
duidelijk het self-service karakter
kennis van SQL. De doorgewinterde
De waarden van items op een pagina
van Apex zien. De administrator kan
ontwikkelaar zal waarschijnlijk snel
kunnen dus gedurende de hele leven-
zelf workspaces aanmaken, maar ge-
zijn toevlucht zoeken bij IDE’s als
sduur van de sessie geraadpleegd of
bruikers ook de mogelijkheid bieden
SQL Developer.
gewijzigd worden. Dit gebeurt in PL/
dit zelf te doen. Hierbij kan worden
SQL processen en SQL statements
gekozen voor een automatische pro-
Utilities
door de bind variabele notatie toe te
cedure, waarbij na e-mailverificatie
De Apex Utilities zijn een verzameling
passen, bijvoorbeeld :
de workspace wordt aangemaakt. Als
van tools en rapportages. Met de data
controle op de aanvraag gewenst is
load functionaliteit kunnen gegevens
SELECT orderregel_id, prod-
gebeurt de creatie pas na goedkeur-
van CSV of XML bestanden in een
uct_id, aantal
ing van de administrator.
bestaande of nieuw te creëren tabel
Als we de beschikking hebben over
geplaatst worden met behulp van een
een workspace kunnen we zien wat
wizard. Rapporten op de data dic-
de ontwikkelomgeving van Apex ons
tionary van de database geven snel
FROM orderregels WHERE order_id = :P12_ORDER_ID
allemaal te bieden heeft. We onder-
inzicht in ontbrekende sleutels of
Als je de waarde van een sessievari-
scheiden drie hoofdcomponenten, de
ontbrekende indexen op foreign keys.
abele in de titel van een rapport of
SQL Workshop, Utilities en de Appli-
Systeemstatistieken kunnen bekeken
HTML wil gebruiken kan dit geschre-
cation Builder.
worden in de Database Monitor. Hier
ven worden als de naam van het item
zijn rapporten ondergebracht die on-
voorafgegaan door een ampersand en
SQL Workshop
dermeer SQL statements weergeven
eindigend met een punt: &P3_OM-
De plaats om het databaseschema
met hun executieplan en gebruikte
SCHRIJVING.
te beheren is de SQL workshop. In
resources.
Omdat de sessietabel zelf geen onder-
de objectbrowser kunnen databa-
scheid maakt in de variabelen van de
seobjecten via wizards aangemaakt
Een interessante toevoeging is de
verschillende pagina’s moet de naam
worden. Daarnaast biedt de work-
Apex views. Sinds versie 3 zijn er
van een invoeritem binnen een ap-
shop de mogelijkheid voor het op-
views op de metadata die gebruikt
plicatie uniek zijn. Het is daarom
laden en wijzigen van SQL scripts.
kunnen worden in applicaties. Hier
gebruikelijk het paginanummer als
Met de Query Builder kunnen vis-
is een schat aan informatie te vinden
prefix te gebruiken.
ueel zoekvragen gemaakt worden
over bijna elk declaratief vastgelegd
door entiteiten te koppelen en filters
onderdeel van een applicatie. Deze
toe te kennen aan de kolommen.
gegevens kunnen gebruikt worden
Workspaces Om te kunnen starten met ontwikkelen moeten we eerst de Apex instance naar onze hand zetten. Dit gebeurt door als administrator in te loggen op de interne workspace. Hier vinden we onder meer instellingen voor de mailserver, het beheer van workspaces en koppeling met een externe rapportserver terug. De rapportserver kan gebruikt worden om resultaten van een rapport samen met standaard XSL-FO templates om te zetten naar PDF formaat. Hierbij kan
10
gebruik gemaakt worden van open source projecten als Apache FOP in
Figuur 2: de Apex Query Builder
Oracle Apex
voor kwaliteitscontroles of naleving
tie is er keuze uit een 20-tal thema’s
lende typen pagina’s, bijvoorbeeld
van ontwikkelstandaarden. Of beter
die later nog omgewisseld kunnen
een grafiek of de combinatie van een
nog: bouw daarvoor een applicatie.
worden. Een thema is een verzameling
rapport met formulier op een tabel.
van HTML templates met daarin
Hierbij moet een keuze gemaakt
Application Builder
substitutiecodes. De templates zijn
worden uit beschikbare lay-outs en de
De Application Builder is het vertrek-
ingedeeld in typen zoals regions, rap-
koppeling met navigatiestructuren.
punt voor het ontwikkelen van ap-
porten, buttons of labels. Indien men
Regions fungeren als een container
plicaties.
een eigen huisstijl wil toepassen, kan
voor user interface componenten en
Een Apex applicatie is een hiërarchie
een kopie van een bestaand thema
kunnen geplaatst worden op posities
van pagina’s die door hyperlinks en
worden gemaakt waarna de gewenste
die in pagina templates gedefinieerd
branches met elkaar verbonden zijn.
templates gewijzigd kan worden.
zijn.
Het parsing schema wordt gekozen
Rapporten kunnen snel gebouwd
uit een van de schema’s die eerder
De interface van een paginadefini-
worden op basis van queries. Declara-
toegekend zijn aan de workspace. Alle
tie is overzichtelijk verdeeld in drie
tief worden sorteervolgorde, breaks
gebruikte PL/SQL code wordt tegen
kolommen. In het page rendering
en sommaties vastgelegd. Rapporten
dit schema gevalideerd en uitgevoerd.
gedeelte zijn alle regions, buttons,
kunnen met hyperlinks verbonden
Dit betekent ook dat databaserollen
items en processen ondergebracht
worden aan formulieren of andere
en gebruikers niet gebruikt kunnen
die samen de pagina vormen. De
rapporten om drill-down functional-
worden om toegang van eindge-
page processing kolom bevat alle
iteit te realiseren.
bruikers tot objecten te beperken. Dit
validaties, berekeningen, branches
Een formulier is een samenstelling
kan wel bewerkstelligd worden door
en processen die gebruikt worden
van page items. Bijna alle vormen
views te maken die gebruik maken
bij acceptatie van gegevens op een
van page items zijn beschikbaar,
van de APP_USER variabele die door
pagina. Door het instellen van het
waaronder text items, checkboxes,
Apex gezet wordt in de databaseses-
executiepunt van processen heb-
shuttles, date pickers en pop-up-
sie. Als gebruik wordt gemaakt van
ben we complete controle over de
waardelijsten. De waarden van een
Virtual Private Database kan een security context gezet worden voordat de pagina opgebouwd of geaccepteerd wordt. De toegang tot de applicatie voor eindgebruikers wordt geregeld in authenticatieschema’s. Voor de validatie van gebruikersnaam en wachtwoord kan een keuze gemaakt worden uit een LDAP directory, Apex gebruikers en database accounts. Indien de ingebouwde authenticatiemethoden
Figuur 3: Een paginadefinitie in de Application Builder
niet toereikend zijn kan altijd nog zelf een functie worden geschreven
volgorde van uitvoeren. De derde
formulier worden gevuld door een
die de authenticatie afhandelt.
kolom geeft een opsomming van de
SQL query of door het Automatic Row
Autorisatie kan ingeregeld worden
gebruikte Shared Components in een
Fetch proces. Bij dit proces wordt een
met behulp van schema’s. Deze be-
pagina. Deze componenten zijn op
tabelnaam opgegeven, samen met de
staan uit criteria in de vorm van SQL
applicatieniveau gedeclareerd en be-
items die de waarden bevatten om
statements, PL/SQL of expressies.
staan ondermeer uit waardelijsten en
een rij uniek te identificeren. Voor
Ook hier kan gerefereerd worden aan
navigatiestucturen als lijsten, tabs en
de verwerking van een formulier is er
de ingelogde gebruiker of groep. Een
breadcrumbs.
ook een procestype, Automatic Row
autorisatie schema wordt later geko-
Processing. Op de items van een for-
ppeld aan een pagina’s of componen-
Een nieuwe pagina kan handmatig of
mulier wordt aangegeven aan welke
ten daarvan.
met een wizard gebouwd worden. De
attribuut van een tabel ze gekoppeld
Voor de user interface van de applica-
wizards leggen de basis voor verschil-
zijn. Het proces verzorgt dan op basis
11
Oracle Apex
van de sleutelwaarde en gebruikers-
grotere projecten waar meerdere on-
beeld JDeveloper en ADF kan alleen
actie de DML. Hierbij wordt gebruik
twikkelaars bij betrokken zijn is het
beantwoord worden door een analyse
gemaakt van optimistic locking om-
raadzaam om een model applicatie te
van de soort applicatie en omgeving.
dat er geen constante verbinding is
maken die de huisstijl en andere alge-
Apex is vooral sterk in database-cen-
met de database. Een checksum van
mene componenten als waardelijsten
trische toepassingen. Wanneer een
de opgehaalde gegevens in het formu-
en
open architectuur en op standaarden
lier wordt bijgehouden en vlak voor
Maak ook zeker gebruik van
de DML vergeleken met de huidige
locking, waarmee de ontwikkelaar ex-
verschillende systemen gewenst is,
waarden in de database om tussen-
clusieve toegang afdwingt tijdens het
zal Apex waarschijnlijk niet de aller-
tijdse wijzigingen te detecteren. Het
wijzingen van een pagina. Een nadeel
beste keuze zijn. Hoewel Apex niet
ophalen van gegevens en de afhande-
is het ontbreken van versiebeheer in
voorkomt in de strategische road-
ling van DML zijn zeker niet gelim-
Apex. Het is dus de verantwoordeli-
map van developer tools, zal Oracle
iteerd tot de automatische verwerk-
jkheid van de ontwikkelaar om bij
naar eigen zeggen blijven investeren
ing door Apex. Indien gewenst kan
wijzigingen een export te maken van
in de ontwikkeling ervan. Dit wordt
een eigen implementatie gemaakt
de pagina of zelfs de hele applicatie.
duidelijk door de lijst van geplande
worden door het gebruik van PL/SQL
Het is duidelijk dat Apex onafschei-
vernieuwingen voor versie 4.0. Deze
API’s of views, maar we verliezen dan
delijk is van de Oracle database, dus
zijn voornamelijk toegespitst op het
wel het standaard locking mechanis-
zal het geen optie zijn voor projecten
verbeteren van de gebruikerservar-
me van Apex.
waarbij het merk van de database aan
ing en de mogelijkheid om zelf het
verandering onderhevig is. PL/SQL
framework uit te breiden.
authenticatieprocedures
bevat. page
gebaseerde
communicatie
tussen
Conclusie
ontwikkelaars zullen veel gemakkeli-
Gezien de ontwikkelingen die Apex
jker kunnen instappen en hun ken-
Maarten van Luijtelaar is consultant
heeft doorgemaakt is het zeker niet
nis benutten dan bijvoorbeeld java
bij Whitehorses bv.
alleen geschikt voor kleine applica-
ontwikkelaars. De vraag of Apex zich
ties binnen een bedrijfsafdeling. Voor
staande kan houden naast bijvoor-
Call Registratie Systeem met Apex vervolg van pagina 7
Damen Shipyards, haar klan-
De inzet van een iteratieve ont-
ten en leveranciers. Het nieuwe
wikkelstrategie bij applicatie-
Het nieuwe CRS-systeem wordt
CRS is daarmee daadwerkelijk
ontwikkeling met Oracle Apex
sinds februari 2008 gebruikt.
de centrale en unieke informa-
is goed bevallen, zeker voor het
Damen Shipyards heeft aange-
tiebron geworden die nodig was
beproeven en het introduceren
geven, dat het systeem inderdaad
binnen Damen Shipyards.
van een nieuwe IT-infrastruc-
het bestaande werkproces van
12
tuur. Het is een goede strate-
DFS ondersteunt, met behoud
Conclusie
gie geweest om niet een totaal
van email- en tekstverwerkings-
Oracle Apex inzetten als spin
nieuwe IT-oplossing te introdu-
programmatuur. Het grote voor-
in het web bij een best-of-breed
ceren. We hebben gekeken naar
deel van het nieuwe systeem is,
oplossing is vanwege de een-
het behoud van bestaande, goed
dat het nu mogelijk is om een ar-
voudige architectuur en een
werkende omgevingen en heb-
chief (mails, documenten, foto’s,
niet te zwaar belaste middle tier
ben deze aangevuld met nieuwe
tekeningen) op te bouwen gere-
verstandig. Doordat Apex geba-
componenten. Transfer Solu-
lateerd aan de call registratie van
seerd is op internettechnologie
tions verwacht in de toekomst
alle relevante documentatie en
en werkt met de standaard pro-
nog meer projecten met Oracle
correspondentie met klanten en
tocollen HTTP en XML, is inpas-
Apex te realiseren.
leveranciers. Het systeem kan nu
sing in een service georiënteerde
worden gebruikt om de informa-
architectuur (SOA) zeer goed
Bob de Leeuw is werkzaam bij
tiestroom te coördineren tussen
mogelijk.
Transfer Solutions bv.
Oracle en BEA
Oracle en BEA: Better together? Door Léon Smiers; Jacques van Heijst en Balt Leenman Toen Oracle in 2004 PeopleSoft overnam lanceerde Oracle het programma: ‘Oracle and PeopleSoft: Better Together’. Deze campagne was nodig, want door velen werd de overname als ‘vijandig’ gezien. Er was veel scepsis over de doelstellingen van Oracle bij de overname: wilde Oracle alleen maar een concurrent wegvagen? Zouden klanten gedwongen worden te migreren? Intussen weten we dat het samengaan het begin was van een veranderproces. Met ‘Project Fusion’ heeft Oracle een krachtige groeistrategie ingezet. Deze strategie is gebaseerd op open standaarden en SOA. In een later stadium is er, met de overname van verschillende ‘Industry Verticals’, een duidelijke industriefocus aan toegevoegd en een integratiestrategie op basis van de ‘Application Integration Architecture’. Maar wat betekent de overname
plementaties rijst de vraag welk
tijd met de snelle technologische
van BEA voor de bedrijfsvoering van
platform beter is: Oracle Fusion
ontwikkelingen de ontwikkelcapa-
organisaties? En wat voor IT? Daar
Middleware Application Server, of
citeit van strategisch belang om de
gaan we in dit artikel nader op in.
BEA WebLogic? Beide zijn krachtige
voordelen van nieuwe ontwikkelin-
We de behandelen markt, technolo-
applicatieservers en bieden een de-
gen zoals Web 2.0 goed te kunnen
gie, mensen en toekomst. Vervolgens
gelijke basis voor applicatieontwik-
benutten. Het overnemen van een
openen we een nieuw onderwerp: dat
keling. We zien echter WebLogic in
concurrent biedt schaalvoordelen in
van de eigenlijke rol van IT in dienst
het voordeel, niet alleen vanwege het
de ontwikkelcapaciteit van een soft-
van de business en de impact die ons
grotere marktaandeel maar ook om-
wareleverancier, waarmee deze een
inziens Business Process Manage-
dat bijvoorbeeld Weblogic’s hotpat-
betere positie kan uitbouwen.
ment (BPM) zal gaan hebben op de
ching en WebLogic Real Time plus-
traditionele manier van werken. Zo-
punten bieden. Voor data-intensieve
Toekomst
wel BEA als Oracle zet stevig in op
toepassingen is Oracle’s integratie
Oracle belooft blijvende support en
BPM, we geven aan hoe en waarom.
met haar database echter weer een
verdere ontwikkeling van geacqui-
duidelijk pluspunt.
reerde producten. Op de website
Markt
Compliancy - Oracle’s security pro-
van Oracle (oracle.com/bea) staat
Met de overname van BEA koopt
ducten zoals Identity Management
uiteengezet hoe Oracle omgaat met
Oracle marktaandeel. BEA kent als
(IDM) zijn duidelijk in het voordeel
de toekomstige support van huidige
succesvolle en toonaangevende le-
op BEA’s oplossingen. Legacy pro-
platforms. BEA klanten hoeven zich
verancier van middleware een flinke
ducten als BEA Tuxedo zullen wor-
geen zorgen te maken. Oracle gaat
‘installed base’. BEA WebLogic en
den gecontinueerd, maar zullen geen
voor klantretentie en zal de keuze-
AquaLogic als middleware platform
strategisch speerpunt blijken.
vrijheid, een belangrijke reden waar-
en de BEA WebLogic applicatieser-
BPEL - Om logische softwarecom-
om veel klanten voor BEA kozen,
ver worden door veel applicatieleve-
ponenten te integreren volgens het
blijven honoreren.
ranciers gebruikt. Een flink deel van
op services georiënteerde architec-
Maar is de overname nu goed nieuws
de geacquireerde Oracle applicaties
tuurontwerp principe (SOA) is BPEL
of niet? Wij vinden de samenvoeging
(PeopleSoft, Siebel, maar ook Retek,
een breed geaccepteerde open stan-
goed nieuws voor Oracle, voor BEA
i-flex, SPL en vele andere) draaien
daard. Oracle BPEL Process Mana-
en voor hun klanten. Goed nieuws
met gebruik van BEA WebLogic.
ger (BPEL-PM) is een zeer volwas-
ook voor nieuwe toepassingen: Ora-
sen oplossing en werkt goed samen
cle en BEA zijn ‘Better together’. De
Technologie
met BEA WebLogic. Zowel Oracle’s
concurrentie wordt groter voor IBM,
Capgemini’s visie in een vergelijking
BPEL-PM als BEA’s AquaLogic BPM
maar ook voor SAP en Microsoft. Het
van Oracle Fusion Middleware met
zijn uitstekende producten.
venijn (vanuit het standpunt van de
BEA producten is vastgelegd in het
concurrentie) zit hem in Oracle’s
visiedocument ‘The Potential of BEA
Mensen
radicale keuze voor open standaar-
& Oracle’1 Een drietal aspecten lich-
In veel beschouwingen over overna-
den. Daarin passen BEA en Oracle
ten wij hierna toe:
mes wordt het aspect ‘mensen’ niet
ook prima samen. Open standaar-
Basis platform - Voor nieuwe im-
meegenomen. Toch is in de huidige
den hebben een sterke toekomst, en
13
“CIBER is klantgericht… Zij zijn de eersten die opstaan als er ’s nachts iets gedaan moet worden.” CASEMA
“CIBER is goed thuis in Oracle. En ze maken waar wat ze beloven.” ENECO
Do you still wonder? www.ciber.nl
Oracle en BEA
dat is vooral goed voor de business:
Oracle BPA Strategie
de bedrijfsvoering van organisaties.
Om het business process-manage-
Laten we namelijk nooit uit het oog
ment vorm te geven heeft Oracle ARIS
verliezen dat IT en in het bijzonder
van IDS-Scheer als business process
middleware slechts een middel is en
modelling en analyse tool gekozen.
geen doel op zich.
In samenwerking met IDS-Scheer is extra functionaliteit ontwikkeld.
De
nieuwe
ontwikkeling
van
Oracle heeft dit product omgedoopt
BPM: IT in dienst van de business
naar Oracle BPA - Business Process
De closed loop, groeimodel naar de toe-
Maar we wijzen u graag een weg die
Analysis. BPA is een subset van de
komst
nog veel verder naar echte business
complete ARIS oplossing, verrijkt
voordelen voert. De ontwikkeling
met nieuwe functionaliteit. De ori-
PM en Business Activity Monitoring
naar open standaarden en Web 2.0
ginele ARIS code is niet gewijzigd.
(BAM). Dit is een prachtmodel voor
verandert namelijk het speelveld van
De meest indrukwekkende nieuwe
groei naar de toekomst. In kleine
business en IT ingrijpend. Business
functionaliteit van Oracle BPA is de
stappen kan toegewerkt worden naar
en IT hebben in de loop der jaren
mogelijkheid om automatisch BPEL
een organisatie waar Business en IT
een
code te genereren en in een closed
elkaar aanvullen door continue te-
die steeds gespannener wordt. Een
verstandhouding
opgebouwd
loop terugkoppeling te krijgen.
rugkoppeling.
actueel beeld daarvan geeft de ‘Glo-
Met Oracle BPA wordt de kloof tus-
bal CIO Survey 2008, een wereldwijd
sen business en IT overbrugd. Vooral
Op dit moment is de technologie
wanneer de functio-
nog onvoldoende volwassen om de
naliteit om BPEL code
volledige closed loop op hoog ab-
te genereren wordt
stractieniveau daadwerkelijk te kun-
toegepast.
nen implementeren. De koppeling
Hoewel dit een re-
van BPA naar BPEL is wel realiteit en
cente
ontwikkeling
een bijzonder waardevolle. Het kun-
is, is op dit moment
nen importeren van BAM naar BPA
Oracle BPA al zo goed
Simulation zal technisch mogelijk
uitontwikkeld dat de
worden vanaf versie 11g. Het klas-
ARIS - BPEL integra-
sieke dilemma van Business IT align-
tie zakelijk toepasbaar
ment is echter niet alleen met een
onderzoek van Capgemini onder 400
is. Capgemini heeft veel ervaring
CIO’s over de hele wereld en alle in-
met ARIS van IDS-Scheer en erva-
dustriesectoren.
ren business architecten hebben de
In de komende alinea’s wijzen we op
Oracle BPA functionaliteit van ARIS
een ontwikkeling die Business en IT
naar BPEL integratie getest. De con-
daadwerkelijk laat integreren en het
clusie is dat het een gedegen oplos-
complete spel ingrijpend zal doen
sing is, voldoende volwassen om in
veranderen. We gaan in op hoe Ora-
zakelijke projecten in te zetten. Ui-
cle omgaat met BPM, vervolgens op
teraard is het altijd aan te raden om
BEA’s BPM productstrategie en geven
te starten met een Proof of Concept
vervolgens onze conclusie en mening
in een klein business domein, om
over deze nieuwe ontwikkeling.
zodoende ervaring op te doen met deze nieuwe technologie en een goe-
De nieuwe ontwikkelingen op het
de business case voor implementatie
gebied van BPM liggen op het vlak
voor te bereiden. Oracle heeft een
technisch hulpmiddel op te lossen,
van business en IT-integratie. Zowel
holistische visie op BPM: de closed
het gaat hier om organisatie trans-
Oracle als BEA werkt hard aan de
loop of lifecycle van Business Process
formatie. Oracle’s visie zal echter ze-
ontwikkeling van een ‘closed loop’
Management, bestaande uit Business
ker bijdragen aan de goede discussies
tussen de bedrijfsprocessen en de IT
Process Analysis (BPA), Business
over dit onderwerp.
hulpmiddelen: tussen BPM en BPEL.
Process Execution (BPE) via BPEL-
>>
15
Oracle en BEA
flows. Ontwikkelaars kunnen gebruik
Application Integration Architecture
BEA AquaLogic BPM
maken van een ontwikkelomgeving
(AIA) is Oracle’s strategie om de geac-
BEA AquaLogic® BPM (kortweg: ALB-
die gebaseerd is op Eclipse; mede
quireerde industrieoplossingen op een
PM) is in de markt een vooraanstaan-
daardoor vervult BEA ALBPM haar
geïndustrialiseerde wijze te integreren.
de software suite die de gehele BPM
leidende rol wat betreft uitbreidbaar-
De overname van BEA is ook hier een
lifecycle ondersteunt. Het modelleren,
heid naar Java, . NET en andere talen
verrijking van Oracle’s aanbod, van-
samenstellen, uitrollen, uitvoeren en
en frameworks. Het platform is ui-
wege de installed base. Oracle ontwik-
monitoren van business processen
termate geschikt om organisatiebreed
kelt standaard Process Integration Packs
is volledig geïntegreerd in één suite
ingezet te worden zodat het mee kan
(PIP), ‘plug-and-play’ integratiepak-
die zowel in een BEA-omgeving maar
groeien met de ontwikkeling van de
ketten die voor de koppeling tussen de
zeker ook ‘stand-alone’ kan worden
business waarbij duizenden complexe,
verschillende applicaties zorgen. Cen-
geïmplementeerd. Bovendien kunnen
grensoverschrijdende en vaak mission
traal hierbij staan de Industry Reference
real-time processimulaties en optima-
critical bedrijfsprocessen ondersteund
Models (IRM) die in BPA zijn afgebeeld.
lisaties worden uitgevoerd om de resul-
kunnen worden. De IT-afdeling vaart
Ook op gebied van applicatie integratie
taten van de processen te verbeteren.
er wel bij want zij heeft sterk behoefte
speelt BPM dus een cruciale rol.
De ‘collaborative edition’ bevat extra
aan een product dat schaalbaar is en
mogelijkheden om ad-hoc samenwer-
intuïtief gebruikt kan worden door de
Conclusie
king en case management mogelijk te
business mensen.
Om de Oracle Fusion strategie tot vol-
maken, zodat activiteiten nog effec-
ledig wasdom te laten komen werkt
tiever gecoördineerd kunnen worden.
De toekomst van BPM
Oracle sterk samen met launching
De gehele BPM lifecycle kan worden
Zoals in het eerder beschreven maakt
customers en system integrators om
doorlopen met de ALBPM suite, er zijn
de keuze van onderliggende technolo-
de collectie van referentie modellen
geen externe tools nodig. Dit versnelt
gie (BEA enerzijds of ARIS anderzijds)
uit te breiden en complementeren,
het gehele ontwikkelproces waarin
voor de business geen verschil. Het
de samenwerking met IDS-Scheer op
zowel business- als IT-vertegenwoor-
verschil zit in de wijze waarop de busi-
ARIS zal daarom zeker zinvol blijven.
digers een rol hebben. Dit betekent
ness modellen worden vormgegeven.
dat het ontwikkelen van processen
Oracle maakt momenteel gebruik van
De auteurs Léon Smiers, vakgroepleider
en daarmee ook applicaties sneller,
de OEM met ARIS om business mo-
Oracle Technologie; Jacques van Heijst,
met kortere iteraties en nauwkeuriger
dellen te maken. BEA heeft een eigen
BEA Alliance Manager en Balt Leen-
kan worden uitgevoerd, de business is
product BEA ALBPM Designer. Waar-
man, Oracle Alliance Manager, zijn
namelijk integraal onderdeel van het
om zou Oracle na het overnemen van
allen werkzaam bij Capgemini Neder-
ontwikkelproces. Ook biedt de BPM
BEA nog gebruik maken van de OEM
land B.V.
suite aan IT-medewerkers en ontwik-
met ARIS? Het antwoord zit hem in de
kelaars een uiterst krachtig platform
beschikbare referentiemodellen.
om applicaties te bouwen die de bedrijfsprocessen
16
ondersteunen.
Het
Industrie-referentiemodellen
platform biedt als een van de weinige
Er is een schat aan ‘business’ referen-
in de markt een uitgebreide ondersteu-
tiemodellen onder ARIS beschikbaar,
ning voor industriestandaards zoals
onder andere uit de SAP markt. Er zijn
Business Process Modeling Notation
ook wel referentiemodellen voor markt-
(BPMN), XML Process Definition
gebieden beschikbaar met BEA ALBM,
Language (XPDL 2.0) en the Business
maar dit kan toch niet wedijveren met
Process Execution Language (BPEL
de beschikbaarheid met ARIS. Stan-
2.0). ALBPM kent vele integratiemo-
daardisatie in de markt op het gebied
gelijkheden, zodat het niet uitmaakt
van Business Proces Modellering, zoals
welke technologie er wordt gebruikt
XPDL en BPMN, maken het op termijn
(Java, .NET). Schermen voor eind-
transparant welke BPM tool gebruikt
gebruikers worden gegenereerd door
wordt.
gebruik te maken van wizards, de interactie wordt gemodelleerd in screen-
Applicatie Integratie
Capgemini heeft al in 2005 het programma ‘CxO Fusion Experience’ opgestart, waarmee de zakelijke impact van de Oracle strategie worden onderkend en organisaties worden ondersteund en geadviseerd over een te volgen implementatie- en migratiestrategie. Meer over het ‘CxO Fusion Experience’ programma is te vinden op www.nl.capgemini.com/oracle. Het Engelstalige visiedocument ‘The Potential of BEA & Oracle’ is gratis te downloaden op: http://www.us.capgemini. com/DownloadLibrary/ requestfile.asp?ID=621
Oracle en BEA
BPM portfolio BEA BEA AquaLogic BPM Designer
ning van de procesafhandeling en
AquaLogic BPM Enterprise Server
is de ontwerpomgeving voor de
workflow kan eenvoudig samenge-
en voorziet in een high perfor-
business analisten die op een sim-
steld worden. Web design of coderen
mance werkomgeving voor de deel-
pele manier elk type proces op een
is absoluut niet noodzakelijk want
nemers in de business processen.
grafische wijze kunnen samenstel-
de nodige webcomponenten worden
Proces activiteiten die menselijke
len door verschillende standaard
automatisch gegenereerd op basis
tussenkomst of afhandeling verei-
proceselementen te verslepen. BEA
van de berichtformaten zoals die zijn
sen worden automatisch naar een
AquaLogic BPM ondersteunt volle-
gespecificeerd in het proces.
standaard webinterface gestuurd.
dig de standaards BPMN en UML
BEA AquaLogic BPM Enterprise
Deze gebruikersinterface compo-
waarbij naadloos geswitcht kan
Server orkestreert alle processen en
nenten kunnen ter beschikking
worden tussen verschillende views.
de daaraan gekoppelde resources –
worden gesteld als standaard JSR
Business analisten kunnen een pro-
medewerkers, afdelingen, applicaties
168 portlets die door elke portal
ces ontwerpen en modelleren zon-
and systemen – en bestuurt de juiste
platform gebruikt kunnen worden
der code te schrijven en zonder de
volgorde, dwingt het toepassen van
dat deze standaard ondersteunt.
hulp van IT, inclusief het doorzoe-
business rules af, en legt elke stap
BEA AquaLogic BPM Manager is
ken van enterprise directories naar
nauwgezet vast zodat foutloze proce-
een console dat real-time informa-
organisatiestructuren en het toe-
suitvoering, escalatie en exceptions
tie levert over alle processen die ac-
kennen van rollen aan de proces-
management gegarandeerd zijn. The
tief zijn binnen de BEA AquaLogic
sen. Op het moment dat het proces
server voert processen uit die ont-
BPM Enterprise Server. Via dit con-
vanuit business oogpunt compleet
wikkeld zijn in BEA AquaLogic BPM
sole kunnen ook real-time proces-
is, wordt het overgedragen aan IT
Designer en BEA AquaLogic BPM
sen gemanipuleerd worden zoals
om het verder af te ronden en uit
Studio maar ook elk proces dat vast-
onderbreken en beëindigen.
te rollen.
gelegd is in BPEL (business process
BEA AquaLogic BPM Dashboard
BEA AquaLogic BPM Studio is de
execution language).
voorziet IT beheerders en business
workbench voor de procesontwik-
BEA AquaLogic BPM Enterprise
users van historische gegevens
kelaar. Het bevat alle faciliteiten
Server kan geïnstalleerd worden op
over de activiteiten die gekop-
van BEA AquaLogic BPM Designer
diverse platforms; op deze manier
peld zijn aan de business proces-
en bovendien talrijke extra tools
kan voldaan worden aan eisen ten
sen die actief zijn. Daarmee kun-
waarmee de ontwikkelaar business
aanzien van lage kosten (bijv. Tom-
nen de gebruikers de performance
logica kan toevoegen, koppelingen
cat, JBoss), maar ook aan eisen met
monitoren, afgezet tegen de KPI’s.
naar bestaande applicaties kan aan-
betrekking tot hoge beschikbaarheid
Bovendien kan een audit trail op-
brengen en user interfaces kan sa-
en betrouwbaarheid (bijv. BEA We-
gebouwd worden om compliance
menstellen voor de eindgebruikers.
bLogic Server, IBM WebSphere, Ora-
met service level agreements en
BEA AquaLogic BPM Studio onder-
cle AS).
andere afspraken te monitoren en
steunt verschillende programmeer-
BEA AquaLogic HiPer Workspace
te documenteren.
talen door gebruik te maken van
for BPM is onderdeel van BEA
een zogenaamde ‘skin’ aanpak. De ontwikkelaar kan naadloos switchen tussen .NET and Java – op elk gewenst moment – voor bestaande en nieuwe code. Met een uniek wizard-driven tool worden koppelingen gelegd met externe systemen op basis van interface standaarden zoals EJB, JNDI, Web Services, XML, CORBA, COM, SQL. De gebruikersinterface
ter
ondersteu-
17
Software as a Service
Oracle On Demand: ruime interpretatie van begrip SaaS Software as a Service – SaaS – zal in 2008 definitief doorbreken, zo wordt door tal van ICT-watchers en andere waarzeggers voorspeld. Ooit, aan het eind van de vorige eeuw, werd datzelfde beweerd van ASP - Application Service Providing – het businessmodel dat sterke overeenkomsten vertoont met het SaaS concept en daarom ook vaak als voorganger van SaaS wordt bestempeld. ASP heeft echter de belofte nooit kunnen waarmaken, dus waarom zou SaaS het dan nu wel gaan redden?
18
Die vraag kwam ook aan de orde
Michiel Steltman in zijn presenta-
gen als het alom aanwezige internet,
tijdens de themabijeenkomst ‘Wat
tie toe. Steltman is CTO van Sien-
de beschikbaarheid van applicaties,
is SaaS?’ die de OGh eind januari
nax, destijds een van de eerste ASP’s
technologieën als virtualisatie en
organiseerde. In twee sessies werd
(Application Service Providers) in
consolidatie en de steeds zwaardere
het fenomeen Software as a Service
Nederland en nu toonaangevend
compliance-eisen, die de behoefte
nader verklaard en belicht vanuit
international leverancier van SaaS-
aan een betrouwbare en stabiele ap-
Oracle perspectief. Oracle biedt Soft-
oplossingen voor enterprise gebruik-
plicatieomgeving doen toenemen.
ware as a Service aan onder de naam
ers. Siennax ondersteunt en begeleidt
Oracle On Demand. Onder die vlag
tevens leveranciers die hun software
Oracle On Demand
worden ook services aangeboden die
volgens het SaaS model willen gaan
Ook Oracle constateert een groe-
meer richting traditionele outsourc-
aanbieden.
iende belangstelling in de markt voor
ing gaan, waarmee Oracle het begrip
Steltman onderbouwde de optimis-
SaaS, aldus Johan Vandersmissen,
SaaS tamelijk ruim interpreteert.
tische
voor
binnen de EMEA regio verant-
toekomstverwachting
SaaS, die ook tot uitdrukking kwam
woordelijk voor Oracle On Demand,
Optimistische verwachtingen
in de titel van zijn presentatie - ’SaaS:
die in zijn presentatie het fenomeen
Wikipedia geeft als definitie van
Alive and kicking’. - met een aantal
Software as a Service belichtte vanuit
SaaS: Software as a service (SaaS) is
sprekende marktcijfers. Volgens IDC
Oracle-perspectief. Hij benadrukte
a software application delivery model
zullen de uitgaven voor SaaS wereld-
dat Oracle al tien jaar geleden is be-
where a software vendor develops a
wijd jaarlijks met 18 procent toene-
gonnen met het online aanbieden
web-native software application and
men tot een omvang van 10,7 miljard
van software en wereldwijd inmid-
hosts and operates (either independ-
dollar in 2009. Gartner verwacht ev-
dels ruim 2 miljoen gebruikers heeft.
ently or through a third-party) the ap-
eneens een sterke groei van SaaS bin-
Oracle On Demand is in 2002 van
plication for use by its customers over
nen de markt voor bedrijfssoftware,
start gegaan en realiseert nog steeds
the Internet. Customers do not pay for
naar een wereldwijde omzet van 11,5
een jaarlijkse omzetgroei van 40 pro-
owning the software itself but rather
miljard dollar in 2011.
cent. Vorig jaar bedroeg de omzet
for using it. Bekende voorbeelden zijn
De
beweegredenen
uit de On Demand activiteiten zo’n
de CRM-applicatie salesforce.com
voor organisaties om te kiezen voor
600 miljoen dollar. Het merendeel
en de Google Apps bedrijfsapplica-
SaaS zijn daarbij volgens Steltman
daarvan (ruim 60 procent) werd
ties, aangeboden, maar ook de vele
onder meer: vereenvoudiging van
gerealiseerd in Noord-Amerika. Eu-
applicaties voor on-line boekhouden
het softwarebeheer, vermindering
ropa blijft daar met ruim 20 procent
en salarisadministratie vallen onder
van investeringen en operationele
duidelijk bij achter, maar volgens
de noemer SaaS/ASP.
kosten, snelle implementatie, hogere
Vandersmissen zal die verhouding
“Een belangrijk kenmerk van SaaS
service levels, snellere time-to-mar-
de komende jaren gaan verschuiven
is dat het gaat om commercieel be-
ket, het kunnen focussen op kern-
omdat de vraag naar on-demand di-
schikbare software (dus geen maat-
activiteiten, hogere betrouwbaarheid
enstverlening nu ook in Europa sterk
werk) die volgens een ‘one-to-many’
en lager risico. De opkomst en snelle
toeneemt.
model (single instance, multi-ten-
groei van SaaS als distributiemodel
Oracle On Demand kent drie busi-
ant architectuur) beschikbaar wordt
wordt ook gestimuleerd en deels
ness modellen voor het leveren van
gesteld aan gebruikers”, zo lichtte
mogelijk gemaakt door ontwikkelin-
software als een service. Het Sub-
belangrijkste
Software as a Service
scription Applications model sluit
plete IT-omgeving (“Take your mess
meer KPN en de Rabobank gebruik
het meest aan bij het ASP- c.q. SaaS-
for less”) met vaak langjarige con-
van de CRM On Demand diensten.
concept. Gebruikers krijgen op abon-
tracten met stringente voorwaarden
nementsbasis online toegang tot
en clausules die weinig ruimte laten
PaaS en HaaS
standaard Oracle software. Dit abon-
voor flexibiliteit. Bij Oracle On De-
Uit de beide presentaties kwam in
nementsmodel is momenteel alleen
mand gaat het uitsluitend om een
ieder geval naar voren dat Software as
beschikbaar voor CRM, I-learning
specifieke,
Oracle
a Service, in tegenstelling tot ASP, de
en retail-applicaties, maar volgens
applicatieomgeving, die wordt be-
hooggespannen verwachtingen waar
Vandersmissen zullen op termijn ook
heerd door Oracle specialisten. De
gaat maken en een belangrijke rol
andere Oracle applicaties op abonne-
klant heeft directe toegang tot de
gaat spelen als business model voor
mentsbasis worden geleverd.
kennis en expertise van Oracle Prod-
het leveren van (bedrijfs)software.
Your Oracle Software is het On De-
uct Development en Support en kan
Ook Oracle zet duidelijk in op SaaS
mand businessmodel dat momenteel
profiteren van best practices en de
– met name met de Siebel CRM On
de meeste omzet voor Oracle gene-
‘Fix once, apply many’ benadering
Demand oplossing – en zal voor een
reert. Bij dit ‘single tenant’ wordt de
die kenmerkend is voor deze On De-
toenemend aantal applicaties klant-
applicatiesoftware (ERP en E-Busi-
mand service. Kernelementen in de
en een keuze tussen ‘on premise’ en
ness) van de klant beheerd door Ora-
SaaS dienstverlening van Oracle zijn
‘on demand’ gaan bieden. Het SaaS-
cle (managed by Oracle experts). Or-
standaardisatie en geautomatiseerd
model zal zich verder ontwikkelen,
acle telt wereldwijd inmiddels ruim
softewarebeheer.
waarbij nieuwe verschijningsvormen
gestructureerde
600 klanten voor deze On Demand
zullen ontstaan. Michiel Steltman
service, waarvan 120 in Europa.
Oracle On Demand telde in de be-
noemde als voorbeelden PaaS (Plat-
Voor heel grote klanten biedt Oracle
ginperiode vooral kleinere klanten,
form as a Service) en HaaS (Hard-
On Demand een maatwerkoploss-
vertelde Vandersmissen, maar nu
ware as a Service), varianten die vol-
ing, waarbij Oracle als outsourcing
zijn het voornamelijk grotere klant-
gens hem gezien de acroniemen “niet
partner fungeert voor de (Siebel)
en met minimaal 150 (E-Business
toevallig juist in het vroege voorjaar
IT-omgeving van de klant. Dit busi-
Suite) respectievelijk 500 (PeopleSoft
extra de aandacht krijgen”.
ness model lijkt daarmee sterk op het
en Siebel) professionele gebruikers
traditionele
concept,
die de software als service afnemen.
De hand-outs van beide presenta-
maar Vandersmissen wees wel op
Als afsluiting van zijn presentatie be-
ties zijn te downloaden via de OGh
een aantal significante verschillen.
handelde Vandersmissen een aantal
website:
Bij traditionele outsourcing gaat het
cases van grote Oracle On Demand
om het uitbesteden van een com-
klanten. In Nederland maken onder
VIS
outsourcing
IE
NFS /VN H
BBSHBO
+ BBS 7PPSK
b cle sclu Ora ruiker b Ge and l Hol MWBO
SEFF
0OEF
H
TF BCB EBU OEF "%J Y3 S F Q " FUIF SUPH FUUF "# & # O [JK DMFF BOL 0SB JFTE MJDBU Q Q FFSB OPMPHJF CFI (*4 UFDI 8FC
www.ogh.nl
Ook u kunt lid worden van de OGh en ontvangt automatisch OGh Visie!
Meld u aan via www.ogh.nl Niet-leden kunnen zich gratis abonneren op OGh Visie via www.ogh.nl
19
Spatial data-infrastructuur
geGIS als prototype voor een spatial data-infrastructuur (SDI)
GIS beheerapplicaties dankzij Web 2.0 technologie Door ir. Dirk Frigne In de wereld van geo-ICT vormen authentieke bronnen een belangrijk begrip. Het onderling uitwisselen en aanpassen van informatie binnen deze authentieke bronnen vormt een van de hoekstenen van wat men de ‘spatial data-infrastructure’ (SDI) noemt, of met andere woorden de geografische informatiesnelweg.
Wie bronnen zegt denkt aan databa-
gen is dat het verzamelen en centra-
listische architectuur praktisch niet
ses. Eén van de eerste pogingen om
liseren van deze gegevens slechts een
meer haalbaar is. Het geGIS project,
deze geografische gegevens makkelijk
onderdeel is. Ze up to date houden
opgestart door de Vlaamse overheid
te kunnen ontsluiten bestond eruit
en zorgen dat verschillende gebrui-
in 2006, was een initiatief om voor
om een uniek databasemodel op te
kers er op een efficiënte manier ge-
het bovenvermeld probleem een op-
stellen waar al deze gegevens hun
bruik kunnen van maken is een heel
lossing te bieden ten behoeve van de
plaats konden vinden. Deze centra-
andere zaak. Wanneer deze gegevens
Vlaamse overheid en haar partners.
listische aanpak werkt, voor zover
ook nog van buiten de organisatie
De architectuur echter die aan de
men de gegevens binnen één enkele
kunnen komen en aan derden, bui-
basis van geGIS ligt zou wel eens de springplank kunnen zijn voor een pan-Europees project rond de geografische data-infrastructuur. Context Een
‘spatial
data-infrastructure’
(SDI) is een software stack die toelaat om geografische informatie op een eenvoudige manier van de producenten tot bij de gebruikers te brengen. Je zou het kunnen omschrijven als het noodzakelijke netwerk van wegen en autosnelwegen om goederen en diensten van de bron naar de bestemming te brengen. Er is een enorme vraag naar dergelijke infrastructuur: Heel veel informaticavragen
bevatten
een
‘waar bevindt het zich’ element Geografische informatie bevat heel veel attributen. Veel gebruikers hebben dezelfde data nodig, eventueel in iets andere vorm. Wat voor de één brondata is,
Figuur 1: geGIS 2.0 architectuur
20
ten de organisatie, moeten worden
is voor de ander referentiedata. Een
organisatie wil verdelen en ter be-
aangeleverd, kunnen deze beper-
(antieke) manier om een geografi-
schikking stellen, maar heeft zo zijn
kingen van dien aard zijn dat een
sche data-infrastructuur op te zet-
beperkingen. Eén van die beperkin-
oplossing op basis van een centra-
ten bestond eruit om alle data cen-
Spatial data-infrastructuur
traal te verzamelen, een meta-index
Authentieke bronnen
Deze uitwisseling is bi-directioneel:
(catalog) te maken zodat gebruikers
Geografische gegevens kunnen wor-
eigen gegevens dienen ter beschik-
inzicht krijgen in welke data ter
den opgesplitst in verschillende la-
king gesteld, externe gegevens die-
beschikking zijn en een manier de-
gen, die met elkaar gecombineerd
nen geïntegreerd.
finiëren om de data te distribueren
kunnen worden. Elke laag, of zelfs
In 2005 werd door het actuele de-
(in de praktijk komt dit neer op het
een onderdeel van een laag, kan wor-
partement
doorsturen van shape bestandjes of
den toegewezen aan een eigenaar of
Woonbeleid
Cd’s). Groot nadeel aan deze ma-
een autoriteit die er verantwoordelijk
goed van de Vlaamse Gemeenschap
nier van werken is dat de tijd tussen
voor is. We noemen zo’n deelgebied
(RWO) een bestek uitgeschreven
het up-to-date brengen van bepaalde
dan ook de authentieke bron van
om geografische gegevens op een ef-
gegevens en de aanlevering van deze
deze datalaag of subset van de data-
ficiënte manier te kunnen ontsluiten
Ruimtelijke en
Ordening,
Onroerend
Erf-
en/of aan te maken. De belangrijkste criteria waren: Lage licentiekosten per webmap applicatie (elektronisch loket) Mogelijkheid om gegevens ook te kunnen wijzigen via de browser Gebaseerd
op
webtechnologie
Een generiek systeem dat ook te gebruiken is door andere diensten Gebruiksgemak van een desktopapplicatie. Uitgaande van SDI principes. Het winnende voorstel was een architectuur gebaseerd op open source componenten, waarbij de ontbre-
Figuur 2: MAJAS Core Architectuur
kende schakels werden gebouwd aangepaste gegevens bij de gebrui-
laag. Deze bronnen moeten op een
en eveneens als open source com-
kers, veel te lang was. Verder is er
efficiënte manier worden opgeslagen
ponenten werden vrijgegeven. Het
een hele organisatie rond versiebe-
en hierbij komt dan databasetechno-
project kreeg de werknaam geGIS en
heer vereist om deze aanpassingen
logie kijken.
werd uitgevoerd door DFC Software
op een correcte manier te kunnen
Binnen het ministerie van de Vlaam-
Engineering als hoofdaannemer.
beheren.
se gemeenschap hebben de beleids-
geGIS 1.2 heeft niet als doelstelling
We leven vandaag in een wereld van
domeinen RWO, LNE en MOW alle
een vervangproduct te vormen voor
webservices en snelle netwerkver-
relevante geografische gegevens ver-
desktop GIS applicaties, maar eerder
bindingen. Een moderne SDI struc-
zameld in een centrale Oracle10g
een aanvulling erop. Doordat het
tuur berust dan ook meestal op deze
databaseserver. De gegevens op deze
bovendien eenvoudige GIS edit mo-
webservices. Een tweede belangrijk
server worden enerzijds bijgewerkt
gelijkheden bevat, zijn heel wat inte-
element bestaat uit het gebruik van
door verschillende fat client GIS ap-
ressante applicaties mogelijk.
open standaarden, zodat uitwisse-
plicaties. Deze omgeving staat bekend
Om aan de eis te kunnen voldoen om
ling op een gecontroleerde en vooral
onder de naam ‘Mercator-omgeving’
de software ook bruikbaar te maken
gestandaardiseerde manier verloopt.
en werd opgezet vanuit het ex-LIN
door andere diensten en organisaties
Binnen de GIS-wereld spreken we
domein (leefmilieu en infrastruc-
werd door de verschillende organisa-
van OGC standaarden. Deze bestaan
tuur). Het nadeel van deze omgeving
ties die van bij de aanvang van het
reeds langer dan de ICT-standaarden
is de noodzaak om voor elke toepas-
project betrokken waren het initia-
rond webservices en zijn helaas niet
sing een dure webmapping server te
tief genomen om een user groep op
helemaal compatibel. Er worden
installeren en de moeilijkheid om in
te richten. Deze komt 4 keer per jaar
wel initiatieven ondernomen om
te spelen op de snel veranderende
samen. Ondertussen is deze gebrui-
deze OGC standaarden te integreren
behoeften. Dit systeem werkt voor
kersgroep uitgebreid tot een 15-tal
binnen de ICT-standaarden, maar
alle ‘interne’ klanten. Meer en meer
administraties,
we zullen nog een paar jaar moeten
moeten er echter gegevens worden
nutsbedrijven en privé bedrijven.
wachten voor het zover is.
uitgewisseld met ‘externe’ klanten.
Stilaan groeit de idee om te starten
lokale
overheden,
21
Spatial data-infrastructuur
met een volgende versie. Deze versie
ingelezen, maar ook weggeschreven
widgets te combineren en te confi-
zal meer GIS desktop functionalitei-
via dit framework.
gureren in een HTML pagina kan
ten mogelijk maken in een browser
De database-infrastructuur waarop
snel en efficiënt een krachtige GIS
omgeving zoals snapping, splitsen en
de gegevens voor dit project werden
applicatie worden samengesteld. De
samenvoegen van percelen, aanma-
opgeslagen bestond uit een Ora-
belangrijkste widgets zijn:
ken van complexe objecten etcetera.
cle10g omgeving met een ArcSDE
• MAP Widget - deze kan alleen
daarboven. geGIS maakt geen ge-
of in combinatie met andere map
geGIS architectuur
bruik van de ArcSDE server, maar
widgets worden ingezet. Elke map
De geGIS Software stack (Figuur 1:
de gebruikers kunnen op die manier
widget kan worden gebruikt om
geGIS 2.0 architectuur) bestaat uit 3
via Mercator hun gegevens via hun
verschillende gegevenslagen voor
verschillende lagen.
reeds bekende omgeving blijven be-
te stellen en de geografische
De presentatielaag
naderen. Zo worden shapefiles via de
attributen van de voorgestelde
Deze laag is volledig op basis van
SDE-omgeving opgehaald om ze ver-
gegevens aan te maken of te
Ajax ontwikkeld en bevindt zich in
volgens via een wizard op een ‘well
wijzigen.
de browser. Bij het opstarten van een
known binary’ manier in Oracle
• Legende Widget - deze widget
geGIS applicatie worden deze com-
op te slaan voor gebruik vanuit de
geeft extra informatie over de
ponenten eerst gedownload, opge-
geGIS-omgeving. Een optie was ook
voorstelling van de lagen. Hierdoor
start en vervolgens worden de geo-
geweest te kiezen een koppeling tus-
kan
grafische gegevens opgehaald.
sen ArcSDE en geGIS, maar het open
zicht krijgen in de betekenis
De presentatielaag is gebouwd met
karakter van de architectuur was be-
van de voorgestelde informatie.
behulp van Majas WebApps. Majas
langrijker dan het ondersteunen van
De widget kan ingesteld worden
staat voor ‘mapping with asynchro-
proprietary formaten.
zodat bijvoorbeeld alleen de zicht-
nous Javascript and SV. ’ Dit open
Een belangrijk concept is ook het
bare lagen gepresenteerd worden.
source framework maakt het bouwen
lezen en schrijven van gegevens via
• LayerTree Widget - deze widget
van Webmap applicaties wel heel ge-
de OGC standaarden. Hierdoor ont-
zorgt
makkelijk. Majas is gebouwd met be-
staat de mogelijkheid om een geGIS
vriendelijke besturing van de ver-
hulp van de Dojo toolkit. Hierdoor is
server in te zetten als een SDI node.
schillende
een goed design en een objectgeori-
Om de OGC standaarden te imple-
kunnen op die manier beslissen
ënteerde aanpak mogelijk.
menteren wordt geoServer gebruikt.
welke
De applicatielaag
GeoServer is een referentie imple-
willen zetten, of ze eventueel
De applicatielaag is verantwoorde-
mentatie voor de open GIS standaar-
attributen
lijk voor het omzetten en integreren
den ‘Web Map Server 1.1.1’, de ‘Web
en of ze de snapping mode van
van de geografische informatie uit de
Feature server 1.0 en 1.1’. Dank zij
een laag willen aan of uit te zetten.
verschillende authentieke bronnen
de koppeling van de verregaande edit
• Toolbar Widget - dit is de widget
en het vertalen van deze informatie
mogelijkheden van het Majas frame-
die toelaat om de voorkant van
naar SVG of VML technologie, zodat
work en de mogelijkheden om met
de applicatie uit te breiden. In
die aan de browserkant gebruikt kan
open standaarden om te gaan van
de standaard library zitten reeds
worden om de geografische gegevens
het geoServer framework, wordt ge-
de meeste voor de hand liggende
te presenteren en te beheren.
GIS een heel interessante architec-
commando’s,
Het grote voordeel van deze tech-
tuur om SDI nodes uit te rusten.
pannen,
nologie is inderdaad dat editen van
22
de
gebruiker
voor
een
een
gebruikers-
lagen.
lagen
ze
willen
Gebruikers aan
of
uit
visualiseren,
zoals
creatie
in-
zoomen,
van
nieuwe
objecten, splitsen van polygonen,
geografische en andere informatie
De front-end architectuur – de
samenvoegen van polygonen, een
mogelijk wordt gemaakt vanuit die
presentatielaag
meetlat, enz. geGIS gebruikt deze
browser en dat deze informatie ver-
Aan de voorkant is er een rich cli-
toolbar widget om bijvoorbeeld
der verwerkt kan worden aan de ach-
ent applicatie (RIA) gebouwd op
bookmarks en navigatie op straat-
terkant.
basis van Maja Webapps (Zie Figuur
naam/huisnummer
De persistentielaag
2: MAJAS Webapps architectuur). Als
menteren. Als er eenmaal een
Om de gegevens op te slaan en op-
onderliggend applicatie framework
uitbreidingsfunctie
nieuw in te lezen wordt gebruik
wordt Dojo gebruikt. Majas We-
en toegevoegd aan het frame-
gemaakt van het Hibernate frame-
bapps is gebaseerd op specifieke GIS
work
work. Gegevens worden niet alleen
gerelateerde Dojo widgets. Door deze
uitbreiding makkelijk inschakelen
kan
te is
implegemaakt
iedereen
deze
Spatial data-infrastructuur
door
configuratie
van
een
voorbeeld door het model achter de
terugkeren van het antwoord op deze
parameter.
map op de render-topic te plaatsen.
commando’s wordt vervolgens aan
• FeatureTable Widget - deze
De map widget staat immers steeds
de client het beeld systematisch op-
widget maakt het mogelijk de
te luisteren naar deze topic, en zal bij
gebouwd. Door het gebruik van asyn-
alfanumerieke gegevens die aan
het detecteren van render events de
chrone commando’s is moet de client
de objecten in de lagen vasthangen
juiste painters activeren.
nooit wachten op resultaten van de
te
visualiseren,
selecteren,
Een tweede voorbeeld is het selecte-
server, wat zeker handig kan zijn in-
of
wijzigen.
De
widgets
ren. Als in het achterliggende map-
dien men bijvoorbeeld gegevens moet
een
kunnen
webont-
model een object wordt toegevoegd
ophalen van tragere, externe services.
wikkelaar worden gebruikt om
door
aan de selectie, zal dit op de selectie-
Men kan dus rustig verder pannen of
een integratie uit te voeren met in
topic worden gezet. Hierop zal dan
zoomen nog voordat het beeld is opge-
een
weer gepast worden gereageerd door
bouwd. De acties op de client worden
o.a. de map widget of de featuretable
nooit tegengehouden omdat er nog
widget (stijl voor de geselecteerde ob-
data van de server verwacht wordt. Dit
De afhandeling van de events wordt
jecten verandert typisch). Deze Dojo
verhoogt de gebruiksvriendelijkheid
voorgesteld in Figuur 3: Majas We-
topics laten toe om snel en overzich-
enorm.
bapps architectuur.
telijk om te gaan met de vele events
Wanneer men een actie uitvoert (ge-
die typisch in een GIS applicatie voor-
De back-end architectuur
bruiker beweegt met de muis, drukt
komen, zodat de gebruiker de indruk
De achterkant bestaat uit een soft-
een toolbarknopje in of draait aan
krijgt met een desktop-applicatie van
warestack van verschillende services.
het scrollwiel) wordt deze gebeurte-
doen te hebben.
We spreken van een server om de OGC
nis opgevangen door de juiste con-
Communicatie tussen client en server
webservices uit te sturen, een database
troller. Deze controller vertaalt de
gebeurt dan weer via asynchrone com-
server om de lokale persistentie te re-
website
of
een
bedrijfs-
applicatie.
aliseren en een applicatieserver om de integratielogica te kunnen huisvesten. De applicatieserver De afhandeling van de verschillende commando’s van de voorkant gebeurt op de applicatieserver. Er werd geopteerd om een eenvoudige servlet server te gebruiken. Tomcat is voor deze doeleinden meer dan geschikt. Door Hibernate te gebruiken om gegevens in te lezen en weg te schrijven laat het systeem integratie met bestaande processen op de back-end toe.
Figuur 3: MAJAS Webapps architectuur
gebeurtenis naar een opdracht om
mando’s in JSON formaat. Het JSON
Integratie via de backend (J2EE)
het model aan te passen.
formaat is in principe vereenvoudigde
Een relationeel database systeem zoals
Het model wordt volledig aan de cli-
XML, waardoor minder bandbreedte
Oracle is eigenlijk niet geschikt om de
ëntzijde beheerd en is in staat om te
nodig is. Voorts betekent het gebruik
persistentie van object-georiënteerde
beslissen of alle noodzakelijke gege-
van asynchrone commando’s dat
applicaties te regelen. Om deze pro-
vens om de widgets opnieuw te ren-
de client nooit staat de wachten op
blemen op een efficiënte manier op
deren reeds aanwezig zijn of niet.
antwoord van de server. Als men bij-
te lossen bestaat er specifieke middel-
Alle communicatie tussen de ver-
voorbeeld een nieuw beeld opvraagt
ware. Majas Core maakt gebruik van
schillende widgets gebeurt door mid-
op de map widget worden daarvoor
Hibernate. (Zie figuur 2: MAJAS Core
del van Dojo topics. Deze topics zijn
commando’s uitgestuurd naar de ser-
architectuur.)
een soort van informatiewegen voor
ver. Deze commando’s worden on-
ject-relationeel mapping bibliotheek
specifieke gebeurtenissen. Zo gebeurt
afhankelijk van elkaar op de server
voor Java (ORM). Het voordeel van
het renderen van een map widget bij-
afgehandeld en beantwoord. Bij het
dit raamwerk is dat de typische pro-
Hibernate is een ob-
23
Wie zoekt kent Conspect niet, wie Conspect kent zoekt niet... Wij zijn gespecialiseerd in:
Conspect combineert senioriteit in Oracle met
• Oracle Consultancy
senioriteit in Java en Internettechnologieën.
• Java Consultancy
Door deze unieke combinatie is Conspect als
• Applicatiebeheer
geen ander in staat te helpen met het ontwikkelen
• ICT project-management
of beheren van uw bedrijfskritische applicaties.
Voor meer informatie:
Conspect behoort tot het selecte gezelschap
Conspect ICT diensten
van bedrijven dat door Oracle is gecertificeerd.
Robin van der Beek
Een predikaat dat een organisatie niet zomaar
Transistorstraat 71 j
opgespeld krijgt, maar waarvoor zij zich continu
1322 CK Almere*
moet waarmaken.
T (036) 538 72 92
Conspect doet deze investering om u een
E
[email protected]
objectieve kwaliteitsgarantie te kunnen bieden.
of kijk op www.conspect.nl 24
* De Conspect Group is per 11 april verhuisd naar Almere.
Spatial data-infrastructuur
blemen die optreden bij het koppelen
deling van ophalen van de gegevens
wordt vrijgegeven maakt gebruik van
van een object-georiënteerd domein-
kan zorgen.
postgreSQL met de postgis extensie.
model op een traditionele relationele
Het applicatieobject bevat alle spe-
De koppeling met de databaselaag ge-
database door het raamwerk worden
cifieke
Aangezien
beurt via het Hibernate framework.
geregeld. Hibernate is voor het Majas
het een GIS-applicatie betreft zijn
Het Hibernate framework werd spe-
project speciaal uitgebreid met spatial
reeds een aantal generieke objecten
ciaal voor geGIS uitgebreid met een
mogelijkheden om met geografische
voorzien waarvan de applicatielogica
spatial
objecten te kunnen omgaan.
gebruik kan maken. Zo zijn er map-
Hierdoor ontstaat een afzonderlijke
Het gebruik van Hibernate om de per-
objecten (die de voorstelling van een
laag die de onafhankelijkheid tussen
sistentie te regelen van de grafische
map widget vertegenwoordigen). Deze
geGIS en de database laag waarborgt.
objecten is één van de basisprincipes
mapobjecten worden op hun beurt
van de Majas architectuur. Met deze
samengesteld uit verschillende lagen
De applicatiegenerator
keuze is het m ogelijk om op een effi-
(of layer objects). Door een virtuele
Een belangrijke niet-functionele eis
ciënte manier complexe domeinlogica
generieke laag te definiëren kunnen
voor de geGIS architectuur is de mo-
te implementeren op een server node.
applicaties worden samengesteld op
gelijkheid om het platform in te rich-
Hierdoor kunnen databronnen van
basis van het bekende datastore prin-
ten door configuratie. In de huidige
verschillende types met elkaar worden
cipe (van geo-tools), via Hibernate of
versie is er een beperkte user interface
geïntegreerd.
volgens een volledig zelf op te stellen
voorzien om authentieke bronnen te
Doordat aan de voorkant via Majas
layermodel.
koppelen en shape files te converte-
applicatielogica.
extensie:
hibernatespatial.
ren naar een database tabel, waarbij de geografische informatie per record in een ‘geom’ object wordt weggeschreven. De meeste parameters voor de applicatiegenerator moeten echter worden ingesteld door een XML bestand handmatig in te vullen. Gelukkig is er een validator voorzien, zodat tikfouten en fouten tegen het schema vermeden kunnen worden. Toch is op dit onderdeel nog wat werk aan de winkel. Door de user interface van de configurator uit te breiden kan deze de gebruiker helpen de juiste keuzes te maken en de juiste XML parameters in te vullen. Op die manier kan de
Figuur 4 : geGIS als SDI knooppunt
drempel om deze software te gebruiWebApps en het Dojo framework use
Om compatibiliteit te verkrijgen met
ken enorm worden verlaagd. Aange-
cases kunnen toegevoegd worden die
de OGC standaarden wordt gebruik
zien het een open source omgeving is,
resulteren in commando’s die naar
gemaakt van het geoServer platform.
verwachten we dat het bouwen van
de achterkant worden doorgestuurd
GeoServer ondersteunt standaarden
een user interface voor de configura-
is Majas uitermate geschikt voor de
zoals WFS-T, WMS, open protocol-
tor bij een aantal gebruikers hoog op
integratie van Webmapping GIS ap-
len van OGC om jpeg, png svg, KML/
het verlanglijstje zal staan.
plicaties met de backoffice van de or-
KMZ GML, PDF, shape files en andere
De configurator in de huidige versie
ganisatie of het bedrijf.
formaten te produceren.
maakt het mogelijk om te beschrijven
Gebeurtenissen, gegenereerd aan de
Een tweede server die gebruikt wordt
welke lagen zichtbaar moeten worden,
voorkant worden door de applicatie
door geGIS is de database server. Elke
vanaf welke schaal en wat je met deze
controller omgezet in een application
database server die de opslag en in-
lagen kan gaan doen. Afhankelijk van
command. Dit application command
dexering van geografische data on-
de rol die je toegemeten krijgt kan je
wordt ofwel aan een specifiek applica-
dersteunt, wordt ondersteund. In de
lagen aanpassen door er nieuwe ob-
tie object aangeboden, ofwel aan een
praktijk werd geGIS ontwikkeld met
jecten voor te definiëren, kan je op
layermodel dat voor de verdere afhan-
Oracle10g. De open source versie die
objecten van een laag snappen om
25
Spatial data-infrastructuur
andere objecten te creëren, of kan je
gehouden die te maken hebben met de
geGIS 2.0
gewoon informatie bekijken en at-
onbebouwde percelen. Er is voor ge-
Op dit moment zijn er verschillende
tributen opvragen. De details van alle
opteerd om ook de percelen en al hun
projecten op basis van geGIS opge-
parameters worden beschreven in de
gerelateerde informatie bij te houden
start.
documentatie aan de hand van een
in dezelfde database. De reden is een-
zetten proefprojecten op om gegevens
XML schema.
voudig dat op het ogenblik dat het
te kunnen uitwisselen op een SDI ma-
project werd opgestart er nog geen SDI
nier. Ook is er vier keer per jaar een
geGIS als SDI knooppunt
infrastructuur bestond waar gebruik
gebruikersbijeenkomst
Het feit dat de applicatielaag zowel
kon van gemaakt worden. Een eerste
gebruikers of mensen die geïnteres-
gebruik maakt van Hibernate om ge-
service wordt in de figuur aangeduid
seerd om ermee aan de slag te gaan.
gevens in te lezen en te schrijven, als
als domein 2, service 2.1. Dit is een
De volgende bijeenkomst vindt plaat
van geoServer om gegevens op basis
gewone ICT Soap service om te kun-
op 16 mei a.s. Inschrijven kan via de
van de OGC standaard naar andere
nen navigeren naar een bepaald adres
website.
systemen door te sturen, maakt deze
en huisnummer. De Soap request
Een onderwerp dat zeer actueel is, is
architectuur uitermate geschikt om
wordt door de server afgehandeld en
de start van een geGIS 2.0 project. Eén
te fungeren als een Spatial Data-in-
aan de gebruiker gepresenteerd met
van de doelstellingen van dit project is
frastructuur (SDI)node. (zie Figuur 4:
een gepaste gebruikersinterface. Het
een functionele omschrijving te ma-
geGIS als SDI knooppunt).
volledige adresnavigatiesysteem kan
ken van de software stack die nodig
Aan de hand van het volgende rea-
via een configuratieparameter worden
is om een SDI node te kunnen bou-
listische voorbeeld wordt de geGIS
geactiveerd of aangepast zodat enkel
wen. De bedoeling is om geGIS 2.0
infrastructuur beschreven zoals deze
op straat of gemeente kan worden ge-
uit te bouwen tot het platform om
in Vlaanderen door RWO werd geïm-
zocht in plaats van op huisnummer.
SDI nodes die te editen zijn te kunnen
plementeerd:
Ten slotte zijn er twee andere geGIS
creëren. Door de mogelijkheden van
Domein 1 stelt het domein voor van de
servers ingericht (domein 3 en do-
OGC servers en database servers met
onbebouwde percelen (de ROP server
mein 4) respectievelijk een plannen-
elkaar te integreren in een domeinge-
– register van onbebouwde percelen).
register en een server met gewest-
stuurde applicatieomgeving, waarbij
Dit is een omgeving die bijhoudt waar
planinformatie. Via de applicatie 4.1
de domeinlogica van een SDI node op
er nog bouwrijpe percelen klaarliggen.
kan een gemeentelijke ambtenaar het
een gebruiksvriendelijke manier kan
De situatie in Vlaanderen is zo dat er
plannenregister van zijn gemeente bij-
beheerd worden via een browserappli-
nog honderdduizenden bouwgronden
werken. Dit kan eveneens als hij over
catie. Meer informatie is te vinden op
beschikbaar zijn, maar dat deze zo ver-
een lokale GIS applicatie beschikt
de website van de beide projecten.
snipperd in het Vlaamse landschap
door het aanspreken van service 4.2.
verspreid zijn, dat het niet evident is
De ROP server zal dan op zijn beurt
Dirk Frigne heeft meer dan twintig jaar
deze op te sporen en bij te houden.
de 4.3 services aanspreken om na te
informatica ervaring als ontwikkelaar,
Deze applicatie server heeft precies als
gaan of een bepaald perceel binnen
architect, project manager en bedrijfslei-
doel al deze percelen te registreren en
een bebouwbare zone ligt of niet. Het
der. Als stichter/oprichter van DFC Soft-
ter beschikking te beheren.
zelfde scenario gebeurt via de gewest-
ware Engineering is Dirk Frigne reeds
Applicatie 1 is dan ook de beheersap-
plan-server, maar dan op het niveau
meer dan vijftien jaar begaan met dat
plicatie voor het register van onbe-
van het Vlaamse gewest.
gedeelte van de informatica dat bekend
administraties
voor
geGIS
staat als geo-ICT. Van de problematiek
bouwde percelen, Applicatie 2 is een
26
Verschillende
applicatie om de bijgehouden infor-
Al deze informatie wordt geconsoli-
rond leidingbeheer via CAD systemen tot
matie te kunnen ontsluiten.
deerd binnen de applicatielaag van de
het beheren en uitwisselen van authen-
We zouden nu kunnen opteren om
ROP server zodat er kan beslist wor-
tieke informatiebronnen over SDI nodes,
alle relevante data eveneens onder het
den of een perceel waar geen woning
hij heeft er een gefundeerde mening over
domein 1 bij te houden. Dit is/was
opstaat inderdaad een onbebouwd
die gebaseerd is op ‘in the field’ uitgeteste
ongetwijfeld het systeem zoals het tot
perceel is of niet. Dit voorbeeld toont
projecten.
op vandaag wordt toegepast bij heel
aan hoe informatie vanuit verschil-
veel applicaties. Hier gaat geGIS ech-
lende losstaande authentieke bron-
Referenties
ter een paar stappen verder.
nen kan worden gecombineerd en
http://www.gegis.org
In de lokale Oracle10g database wor-
geïntegreerd tot een nieuwe applicatie
http://majas.dfc.be
den alleen die relevante gegevens bij-
met specifieke applicatielogica.
http://www.epractice.eu/cases/corve05
RedDatabase Symposium
Presentatie Tapio Lahdenmäki op RedDatabase Symposium
‘Van 3-ster indexen tot Analytics’ Door Toine van Beckhoven, Jom IT Het NH Hotel in Den Haag was 10,11 en 12 maart jl. het toneel van het eerste RedDatabase Symposium in Nederland, geheel gericht op de Oracle database server en zowel voor DBA‘s als ontwikkelaars. Organisatoren Rick van der Lans en Klaas Brant van RedStone Innovations hadden een reeks excellente sprekers uit of naar Nederland gehaald. Verdeeld over de drie dagen waren er in totaal acht sessies en elke spreker hield een presentatie van een volle dag. Als deelnemer aan twee van de drie
Performance Tuning (zie voor een
Zijn expertise richt zich niet op de
dagen doe ik graag verslag van dit
korte impressie pagina 31).
Oracle database alleen, maar op
symposium, waarvan ik een vervolg
databases in het algemeen en dan
zeker kan aanbevelen. Het gebeurt
Educatieve waarde
specifiek indexering. Kennis van het
niet vaak dat we in Nederland de
Het laatste jaar ben ik zelf heel erg
goed ontwerpen van indexen is be-
keus hebben uit zo’n select gezel-
veel bezig geweest met Oracle Tuning
langrijk voor elk type database. Het
schap sprekers. De algehele indruk
en troubleshooting. In die hoedanig-
is zoals gezegd misschien wel het
was goed: niet alleen de presentaties,
heid was ik naar Den Haag gekomen
eerste wat je te binnen schiet als je
maar ook de randvoorwaarden - lo-
voor de presentaties van Tapio Lah-
denkt aan het optimaliseren van
catie, koffie en thee, de uitgebreide
denmäki en Daniel Fink. Persoonlijk
SQL statements: ‘De juiste indexen
lunch, het presentatiemateriaal en
voelde ik bevestigd dat ik me op de
aanmaken!’. Helaas is dat in de
parkeerkaarten - waren dik in orde.
juiste boeken en artikelen heb gestort
praktijk niet zo simpel en de kennis
Tijdens de pauzes en lunch was er
en de juiste focus heb gelegd het af-
ervan ontoereikend. Veel applicaties
uitgebreide mogelijkheid om te pra-
gelopen jaar, want met name Daniel
zijn sterk overgeindexeerd (uit hui-
ten met de andere deelnemers en
Fink’s presentatie was een feest der
dige praktijkervaring wil ik hier zeker
sprekers. Een greep uit de presenta-
herkenning. Heb ik dan kostbare
Siebel noemen: dat heeft tabellen
ties tijdens de drie dagen: ‘Analytics
tijd weggegooid die dag? Neen, inte-
met meer dan 80 indexen, met vaak
and Data Warehousing using Ora-
gendeel: ik kon mezelf een volle dag
80-90% nooit gebruikte!); andere
cle11g and Oracle BIEE’ door Mark
toetsen aan wat een groot specialist
applicaties zijn te weinig geïndexeerd
Rittman, onze eigen Lucas Jellema
op Tuning gebied te zeggen heeft over
en draaien al jaren met te zware SQL
die een prima presentatie hield met
Oracle en vragen stellen die ik eerder
statements die met de juiste indexen
als titel ‘Advanced Application Deve-
niet naar tevredenheid beantwoord
in een turbo zouden veranderen.
lopment with the Oracle Database’
had gezien. De presentatie van Tapio
Veel mensen zijn zich niet bewust
en het zeer goed ontvangen ‘Query
Lahdenmäki’s had een grote educa-
van de negatieve bijwerkingen van
Optimizer and SQL Tuning’ door
tieve waarde. Gedurende de dag wer-
teveel indexen en zeker zoveel men-
performance expert Christian An-
den we een aantal malen uitgedaagd
sen maken suboptimale indexen.
tognini. In dit verslag op één van de
met opdrachten en vrijwel iedereen
Tapio begon zijn presentatie dan ook
andere gevolgde sessies, een presen-
had opvallend grote moeite met het
met het noemen van oorzaken van
tatie van Tapio Lahdenmäki. In de
vinden van de juiste antwoorden.
te langzame programma’s. Naast
volgende OGh Visie volgt een verslag
Dit gaf aan hoe het meest bekende
problemen met indexen (missende
van de presentatie van Daniel Fink
performance ‘handvat’ dat we heb-
indexen, belangrijke columns die
(‘Effective performance for Develo-
ben binnen de database, indexen,
missen in de index en een verkeerde
pers and Users’), alsmede een uit-
voor zelfs heel ervaren DBA’s nog
columnvolgorde) zijn dat onnodige
gebreid artikel over Graham Wood,
voor hoofdbrekens kan zorgen.
tabel opdelingen of gemis aan de-
wiens presentatie tijdens het sympo-
normalisatie (denormalisatie is vaak
sium niet door kon gaan, maar die
Index design: ondergewaardeerd
noodzakelijk voor acceptabele perfor-
op 10 april voor de OGh presentatie
Tapio Lahdenmäki is een 62-jarige
mance). Daarnaast onjuiste optimi-
heeft gegeven over DBTime Oracle
Fin met een lange staat van dienst.
zer kostencalculaties of wel en niet
27
RedDatabase Symposium
gebruiken van bind variabelen. Ook
ste verwerking. Wat maakt echter
departement_id
gaf hij aan dat er wel heel vreemde
een index optimaal voor een gegeven
• Een index op deze tabel met in
‘best practices’ genoemd worden
statement? Ontmoet de ‘drie sterren
volgorde de columns [hire_date,
in literatuur of aanwezig zijn in de
index’ van Tapio: een index krijgt een
departement_id] levert voor de
hoofden van veel mensen: ‘Er mogen
ster voor elk van de volgende criteria
query 1 matching (hire_date) en
maximaal 5 indexen per tabel wor-
gegeven een statement:
1
den aangemaakt’ of ‘columns moe-
• om alle van belang zijnde records
column op
ten in de index gesorteerd worden
te lezen moet het indexdeel
• Een index op deze tabel met in
op volgorde van cardinality’. Deze en
(‘slice’) dat gescand wordt zo dun
volgorde
andere wijsheden houden heden ten
mogelijk zijn
partment_id, hire_date, email]
dage vaak geen stand (meer) omdat
• de van belang zijnde records
levert 2 matching columns op
er andere belangrijke overwegingen
komen in de juiste volgorde terug
(departement_id, hire_date) en 1
meespelen.
zodat een sort wordt vermeden
screening column op (email)
screening
(departement_id)
de
columns
[de-
• het aantal index columns is Drie sterren indexen
voldoende: geen noodzaak meer
Dat dit verwarrend is, is goed te be-
De presentatie, genoemd ‘Better da-
om de tabel te benaderen
grijpen: waarom is departement_id
tabase performance with well desig-
Noot vooraf: het is niet altijd moge-
in de tweede index een screening co-
ned indexes’ ging vervolgens in op
lijk een 3-sterren index te ontwerpen
lumn en in de eerste en derde index
de verschillen tussen random reads
voor een gegeven query!
een matching column? Dit heeft al-
(single block reads) en sequential
les te maken met een aantal regels
reads (multiblock reads), die door
Wat betekent het dat het indexdeel
Tapio in het kader van de rest van
dat gescand wordt zo klein mogelijk
de presentatie Random Touches (TR)
is? In feite is dat het geval als zoveel
Ga de indexcolumns na van links
en Sequential Touches (TS) werden
mogelijk in de predicates aanwe-
naar rechts (van eerste naar laatste
genoemd. Wellicht opmerkelijk is
zige columns ‘Matching columns’
column):
dat fabrikanten van storage syste-
zijn. Tapio maakt onderscheid tus-
1. Is
men erin geslaagd zijn om de snel-
sen Matching columns en Screening
minimaal 1 voldoende eenvoudig
heid van sequential reads de laatste
columns in de predicates van een
predicate dat ernaar refereert? Zo
jaren aanmerkelijk omhoog te krij-
query. Dit onderscheid is het best uit
ja,
gen, maar dat random reads grofweg
te leggen aan de hand van een voor-
matching column. Zo nee, dan
even snel (of traag) zijn gebleven en
beeld:
is deze column, maar ook alle
onder meer door de steeds maar gro-
in
dan
de
is
WHERE
de
clause
column
een
erop volgende columns, geen We nemen de Employees tabel van
matching column
zijn geworden of gaan worden.
het Oracle HR demoschema en een
2. Als
Aangezien we bij het gebruik van
query als volgt:
predicate
indexen vaak te maken hebben met
SELECT
first_name,
BETWEEN, LIKE), dan zijn de
random reads, zeker als we een ta-
last_name,
volgende columns geen matching
ble access doen via rowid’s verkre-
job_id
columns
we ons wellicht beter voorstellen dat het heden ten dage duurder is om
het
predicate is
(>,
een <,
>=,
range <=,
3. Iedere column na de laatste
FROM hr.employees WHERE department_id = :v_
matching column is een screening column zolang er maar een
dept_id
indexen te gebruiken in vergelijking
AND hire_date > TO_DATE
met ‘vroeger’. De cost based optimi-
(:v_hiredate, ‘dd-mm-yyyy’)
zer, mits voorzien van alle informa-
voldoende simpel predicate is dat refereert aan die column.
AND email like :v_
tie (denk zeker ook aan system sta-
email
Bij het lezen van een Explain plan is
tistics, geïntroduceerd in 9i), is zich
ORDER BY hire_date;
het wellicht al eens opgevallen dat er
hiervan bewust.
28
er
ter wordende disks zelfs nog trager
gen vanuit een index scan, kunnen
28
en deze zijn als volgt:
zoiets is als Access Predicates en Fil-
De rule based optimizer niet! Maar
• Een index op deze tabel met
ter Predicates. Hieraan zie je ook het
uiteraard, indexen die optimaal zijn
[departement_id]
verschil tussen matching en scree-
voor een gegeven statement, zijn
column levert voor deze query 1
ning columns:
nog altijd onmisbaar voor de snel-
matching column op:
Een index genaamd idx_employ-
als
enige
RedDatabase Symposium
ees_1_semifat op [department_id,
ment en als tweede column email
dex die een tweede ster verdient voor
email, hire_date] levert bij boven-
OF als tweede column hire_date
dit criterium en dat is een index be-
staand SQL statement het volgende
kunnen beide een ster voor dit eer-
ginnend met [department_id, hire_
Explain plan op (Oracle 9.2.0.8 da-
ste criterium opleveren. Welke van
date]: records zullen uit deze index
tabase):
beide het allerbeste is, hangt weer af
op volgorde van hire_date terugko-
van de filter factor (FF) van beide:
men gegeven een department_id (en
Plan
waarschijnlijk heeft e-mail hier een
aangezien er een equality predicate
SELECT STATEMENT
hogere filter factor (is selectiever)
staat op department_id, is er maar
dan het predicate op hire_date, maar
1 department_id dat terugkomt. Een
2 TABLE ACCESS BY INDEX RO-
alleen onderzoek hiernaar kan dit
index beginnend met [department_
WID HR.EMPLOYEES
uitwijzen. Een regel die Tapio hierop
id, email] levert dus weliswaar wel
noemt is dat je altijd moet uitgaan
een ster op voor het eerste criterium,
1 INDEX RANGE SCAN NON-UNI-
van de ’worst case input’: wat is de
maar geen voor het vermijden van
HR.IDX_EMPLOYEES_1_SE-
selectiviteit van het predicate met de
een sortering. Vergelijk maar eens de
slechtst denkbare inputwaardes?
volgende Explain plans:
EES’.’DEPARTMENT_ID’=TO_
De tweede ster is te verdienen met
Met SORT ORDER BY:
NUMBER(:v_dept_id)
AND
het elimineren van een sorteerope-
‘EMPLOYEES’.’HIRE_DATE’>TO_
ratie door het gebruik van de index.
Plan
DATE(:v_hire_date,’dd-
Van nature zijn records in een tabel
SELECT STATEMENT CHOOSE
mm-yyyy’)
ongesorteerd, maar rowid’s in een
EES’.’EMAIL’ LIKE :v_email
index staan op volgorde van de waar-
3 SORT ORDER BY
Filter Predicates: ‘EMPLOY-
des van de indexcolumns. Het is dus
EES’.’EMAIL’ LIKE :v_email
mogelijk om gebruik te maken van
2 TABLE ACCESS BY INDEX RO-
dit fenomeen en een mogelijk dure
WID HR.EMPLOYEES
Ofwel, zoals gezegd bij de derde bul-
sorteeroperatie te vermijden door
Filter
let: department_id en hire_date zijn
een juiste index. Dit kan met name
PLOYEES’.’HIRE_DATE’>TO_
matching columns (deze worden al-
in OLTP achtige applicaties waar een
DATE(:v_hire_date,’dd-mm-
leen genoemd in de Access Predica-
scherm zo snel mogelijk gevuld moet
yyyy’)
tes van het index toegangspad, maar
zijn met de eerste n records, maar
Email wordt als enige column ge-
waarbij die records tevens gesorteerd
1 INDEX RANGE SCAN NON-UNI-
noemd in de Filter predicates tijdens
moeten zijn op een bepaalde (set
QUE HR.IDX_EMPLOYEES_1_DEP-
de index toegang. Omdat hire_date
van) columnwaarde(s), enorm van
TIDEMAIL
een range predicate in de WHERE
pas komen en de gebruikersperceptie
Access Predicates: ‘EMPLOY-
clause bevat, is email geen matching
van zo’n scherm danig verbeteren.
EES’.’DEPARTMENT_ID’=TO_
QUE MIFAT
Access Predicates: ‘EMPLOY-
AND
‘EMPLOY-
column meer, maar een screening column.
Predicates:
NUMBER(:v_dept_id)
‘EM-
AND
Moderne RDBMS-en als Oracle heb-
‘EMPLOYEES’.’EMAIL’
ben ingebouwde optimalisering om
:v_email
Welke index levert nu een ster op
de kosten van dure random reads te
Filter Predicates: ‘EMPLOY-
voor het eerste criterium? Met welke
verminderen: Data block prefetching
EES’.’EMAIL’ LIKE :v_email
columns aan het begin van de index
in Oracle verzamelt de index entries
is de te lezen index slice nu zo klein
waarmee de tabel bezocht moet wor-
mogelijk?
den en start indien mogelijk meerdere
LIKE
En zonder SORT ORDER BY:
parallelle I/O’s om de tabel te benade-
Plan
Een index op alleen id_department?
ren. Dit heeft echter als bijwerking dat
SELECT STATEMENT CHOOSE
Nee, het is weliswaar een matching
een gebruikte ‘tweede ster’ index om
column, maar er zijn nog twee ande-
een sortering te vermijden toch een
2 TABLE ACCESS BY INDEX RO-
re predicaten die simpel genoeg zijn
SORT ORDER BY te zien kan geven.
WID HR.EMPLOYEES
om te refereren aan een matching
Verwarrend, maar goed om te weten.
Filter Predicates: ‘EMPLOY-
column: op email en hire_date. Een
In bovenstaand voorbeeld is maar
EES’.’EMAIL’ LIKE :v_email
index beginnende met id_depart-
één set van leading columns in de in-
1 INDEX RANGE SCAN NON-UNI-
29
RedDatabase Symposium
QUE HR.IDX_EMPLOYEES_1_DEP-
DER BY en zonder TABLE ACCESS
geen aandacht aan zou hebben be-
TIDHIRE
BY INDEX ROWID (random reads):
steed. Het Oracle RDBMS is een complex maar ontzettend krachtig
Access Predicates: ‘EMPLOYEES’.’DEPARTMENT_ID’=TO_
Plan
en intelligent stuk software en dagen
NUMBER(:v_dept_id)
SELECT STATEMENT CHOOSE
als deze doen je er nog meer waarde-
‘EMPLOYEES’.’HIRE_DATE’>TO_
ring voor en kennis van krijgen. In
DATE(:v_hire_date,’dd-mm-
1 INDEX RANGE SCAN NON-UNI-
de volgende OGh Visie zoals beloofd
yyyy’)
QUE HR.IDX_EMPLOYEES_1_FAT
een tweede artikel naar aanleiding
AND
Access Predicates: ‘EMPLOY-
van dit symposium, want Daniel
Maar beter is nog om ook screening
EES’.’DEPARTMENT_ID’=TO_
Fink had ook heel wat mooie en in-
columns in de index op te nemen:
NUMBER(:v_dept_id)
teressante dingen te vertellen.
het aantal (dure) random reads
‘EMPLOYEES’.’HIRE_DATE’>TO_
naar de tabel wordt daarmee gere-
DATE(:v_hire_date,’dd-
Link: http://www.tapio1.com
duceerd. Dit verkrijgen we door de
mm-yyyy’)
Boek: ‘Relational Database Index
index genoemd in het allereerste Ex-
EES’.’EMAIL’ LIKE :v_email
Design and the Optimizers’, Tapio
plain plan in dit artikel: idx_employ-
Filter Predicates: ‘EMPLOY-
Lahdenmäki and Michael Leach,
ees_1_semifat op [department_id,
EES’.’EMAIL’ LIKE :v_email
2005
heeft te maken met het feit dat alle
In zijn presentatie behandelde Tapio
Toine van Beckhoven (http://www.
in het predicate aanwezige columns
nog veel meer aspecten van index
jom-it.nl/) is zelfstandig en allround
in de index aanwezig zijn, maar niet
design, zoals indexen in een query
Oracle specialist. Oracle Performance
alle columns in het hele SQL state-
met joins, de bijwerkingen van extra
Tuning en PL/SQL hebben zijn groot-
ment. Voor dit laatste belanden we
indexen of extra columns in een be-
ste interesse.
bij criterium drie voor de 3 sterren
staande index (op inserts/updates/
index.
deletes), free space management
Die laatste ster is te verdienen als de
en de gunstige effecten van denor-
index dusdanig is dat de tabel niet
malisatie. Hij ging uitgebreid in op
meer bezocht hoeft te worden: alle
de QUBE methode, wat staat voor
informatie die de query nodig heeft
Quick Upper Bound Estimate om de
komt uit de index. Dit voordeel is in
kosten van een zekere index voor een
de meeste gevallen het grootst van
gegeven query te berekenen in ter-
de drie 3-sterren criteria: het aantal
men van doorlooptijd en CPU ver-
random reads wordt erdoor beperkt.
bruik. Het is teveel en te complex om
AND
AND
‘EMPLOY-
hire_date, email]. De naam semifat
in een artikel als dit te behandelen. Een index waarmee een tabel bezoek
In dat kader kan ik het boek dat Ta-
vermeden wordt, noemt Tapio een
pio samen met Michael Leach heeft
‘fat’ index: zo’n index bevat relatief
geschreven, aanbevelen (zie onder-
veel columns. In bovenstaand voor-
aan artikel). Het geeft veel achter-
beeld zou de tot nu twee sterren op-
grond informatie over dit belangrijke
leverende index op [id_department,
onderwerp.
hire_date, email] uitgebreid moeten worden met alle columns gebruikt in
Resumerend
de query: [..., last_name, first_name,
Het RedDatabase symposium voldeed
job_id] waarmee de 3 sterren index
voor mij zeer aan de verwachting en
voor deze query wordt:
voorzag in een behoefte aan presentaties door ’s werelds beste Oracle
30
CREATE INDEX idx_employees_1_
experts. Het heeft mijn toch al niet
fat ON employees(department_id,
geringe interesse in Oracle Perfor-
hire_date, email, last_name, first_
mance Tuning nog verder aangewak-
name, job_id);
kerd en me op boeken en artikelen
Het explain plan, zonder SORT OR-
gewezen waar ik eerder ten onrechte
Graham Wood
Graham Wood over DB Time Oracle Performance Tuning Door Toine van Beckhoven Overweldigende belangstelling. Die kwalificatie gaat absoluut op voor een recente OGh-bijeenkomst: Oracle-coryfee Graham Wood was in Nederland en onderhield ons bijna drie uur over DB Time in Oracle 10g en verder. Graham Wood werkt al sinds versie 2
ning is meer dan ooit komen te liggen
is door aanschaf van het Diagnos-
(!) van de Oracle database met Oracle
op Tijd. ‘Vroeger’, en velen doen dat nog
tics Pack) levert enorm waardevolle
en is zeer nauw betrokken bij de ont-
steeds, richtten we ons op ratio’s (zo-
en heel snelle informatie op die eerder
wikkeling van de Oracle RDBMS soft-
als de befaamde en achterhaalde buffer
niet mogelijk was (wel enigszins met
ware. Hij werkte met Dave Ensor aan
cache hit ratio), absolute counters of
eigen geschreven sampling applica-
wat uiteindelijk Statspack zou worden,
metrics als parses/executes. Oracle10g
ties). De DBA kan zich hierdoor in zijn
hij leerde Cary Millsap wat SQL Trace
introduceert DB Time: overal worden
beperkte tijd meer bezig houden met
inhield (en voor wie Cary Millsap en
performance grafieken en aanbevelin-
het oplossen van een probleem dan
diens relatie tot SQL Trace kent is dit
gen aan reduceren van DB Time gekop-
met het vinden van de oorzaak van
veelzeggend). In Oracle 10g was hij
peld. ADDM analyseert de databaseac-
een probleem. En dat is waar het Gra-
medearchitect van de AWR (Automa-
tiviteit en geeft aanbevelingen, AWR
ham Wood c.s. om te doen was in 10g.
tic Workload Repository), ASH (Active
(by default snapshots om het uur) is de
Iedereen die erg veel tijd kwijt is aan
Session History) en ADDM (Automatic
repository waarin databaseactiviteit en
diagnose of nooit weet waar te begin-
Database Diagnostic Monitor). Iemand
statistieken worden opgeslagen en ASH
nen bij een performance probleem, zal
met zo’n rijke Oracle historie heeft heel
is een historie van actieve sessies, ge-
baat hebben bij het bestuderen van deze
wat te vertellen en dat werd door veel
sampled per seconde. Een actieve sessie
‘nieuwe’ - Oracle10g is uiteraard al en-
OGh leden onderkend, waardoor er
is een sessie die ten tijde van sampling
kele jaren uit en we zijn alweer bij Versie
zelfs een wachtlijst was voor deze pre-
tijd spendeert in een database call. Ora-
11 - mogelijkheden. Met veel genoegen
sentatie. In de volgende OGh Visie zal ik
cle Enterprise manager 10g en verder
zal ik daarom in de volgende OGh Vi-
gedetailleerd ingaan op de inhoud van
bevat mooie overzichten (real-time en
sie in detail treden en kan daarbij put-
deze presentatie van Graham Wood. In
historisch uit de AWR) van de ASH.
ten uit recente Performance Tuning
dit nummer alvast een globale weergave
Zie bijvoorbeeld het screenshot uit de
ervaring in een Oracle 10g omgeving.
van deze zeer boeiende sessie.
presentatie van Graham Wood:
De hand-outs van de presentatie van
hebben we nieuwe troeven in handen:
Deze nieuwe informatie (waarvan
Graham Wood zijn te downloaden van
AWR, ASH en ADDM. De focus van tu-
gebruik weliswaar alleen toegestaan
de website van de OGh: www.ogh.nl
Performance Tuning Methods Performance Tuning (en Troubleshooting) in Oracle heeft heel wat fases doorlopen en de mogelijkheden stonden en vielen uiteraard ook met wat de Oracle software te bieden had. Heden ten dage staat de Oracle database bekend als één van de best geïnstrumenteerde stukken software. De enorme hoeveelheid aan statistieken en wait events heeft er natuurlijk niet altijd ingezeten. Versie 7 introduceerde bijvoorbeeld pas de wait interface. Statspack is er sinds Oracle8i en in Versie 10g
31
Ondernemend luisteren Ondernemend luisteren is de tweede natuur voor de mensen van Itude. Bij Itude werken ICT-ers die niet alleen volledig op de hoogte zijn van de nieuwste Oracle en Java technologieën, maar die ook vanuit een ander perspectief naar de technologie kijken. Zij werken op basis van eigen initiatief en in volledige vrijheid aan projecten. Deze eigenschappen leiden ertoe dat wij samen met onze opdrachtgevers de beste oplossingen creëren.
Ben je opdrachtgever of Oracle specialist? Ga voor meer informatie naar www.itude.com
Create it