Oracle Gebruikersclub Holland
VISIE Voorjaar 2011 • Jaargang 17 • Nummer 1 • h 7,50
Verslag tweede OGh APEX-dag Data autorisatie in Oracle Impact installatie en configuratie op gebruiksrechten Oracle software
APEX in de lift
Programma OGh-bijeenkomsten 2011 In elk kalenderjaar ontplooit de OGh de volgende activiteiten*: • Het organiseren van vier Special Interest Group dagen (minicongressen) • Het houden van elf themabijeenkomsten • Het driemaal uitbrengen van de OGh Visie • Het houden van SIM-bijeenkomsten (Spatial Information Management)
Themabijeenkomsten Voor 2011 staan nog de volgende themabijeenkomsten gepland op: • 29 juni • 30 augustus • 4 oktober • 9 november
Special Interest Group dagen Miniseminars voor 100-250 deelnemers In 2011 worden nog de volgende SIG-dagen gehouden: • DBA en SOA&BPM dag op 8 november 2011 • Spatial dag op 15 november 2011
Het programma en informatie over de OGh bijeenkomsten is te vinden op www.ogh.nl.
*data onder voorbehoud
OGh Visie wordt mede mogelijk gemaakt door
Nieuw: vacaturebanner op de OGh website ter ondersteuning van uw personeelsadvertentie! Zie www.ogh.nl
Voorwoord
VISIE
Voorwoord Geachte lezer,
Colofon
We zijn 2011 goed begonnen. De APEX-dag trok een record aantal bezoekers en ook de ingelaste themabijeenkomst met Joel Goodman over de ‘internals’ van de Exadata X2 Database Machine was druk bezocht. De populariteit van APEX is opvallend. Het lijkt er op dat APEX de plek van Forms gaat innemen.
Redactie
Hans Gerritse (hoofdredacteur) Learco Brizzi (Itium BV) Frits Hoogland (VX Company) Michiel Jonkers (USG People) Milan Uitentuis (Atlis Informatiesystemen) E
[email protected]
Redactieadres/ secretariaat OGh/ advertentie-exploitatie Oracle Gebruikersclub Holland Postbus 701 3700 AS Zeist T + 3130 69 97 065 F + 3130 69 62 378 E
[email protected]
Realisatie
!
Drukkerij Donath B.V., Zeist E
[email protected]
Organisatie/ OGh Secretariaat/ advertentie-exploitatie Guusje van der Weijden BMO b.v, Zeist T +313069097070 F +31 30 6962378 E
[email protected]
Gebruikersbijeenkomsten/ congressen Onderwerpen/ Werving sprekers Theo Koster Conclusion Communiation, Utrecht E
[email protected]
Bestuur OGh
Robin Buitenhuis (voorzitter) Ciber Nederland BV E
[email protected] Ise Douwes (penningmeester) Quobell bv E
[email protected] Milan Uitentuis (secretaris) Atlis Informatiesystemen E
[email protected] Learco Brizzi Itium B.V. E
[email protected] Erik Hogervorst Axis Into ICT E
[email protected] Jaime Conejo Verheijden AMIS Services E
[email protected] Oplage 6.000 OGh Visie is een uitgave van Oracle Gebruikersclub Holland en wordt verzonden aan al haar leden en Oracle geïnteresseerden. U kunt zich aanmelden voor een gratis abonnement via de website www.ogh.nl
© 2011 OGh
Vanuit de OGh zullen we APEX uiteraard blijven volgen en er aandacht aan blijven besteden. Iedereen in de Oracle community heeft natuurlijk gehoord van de Exadata Database Machine. Eén van de goeroes op dit gebied, Joel Goodman, kwam naar Nederland om een cursus te geven en wij wisten hem te strikken om een presentatie voor onze leden te houden. Joel overlaadde ons met afkortingen, features en statistieken, maar na afloop was bij iedereen wel duidelijk dat Oracle een zeer geavanceerde databasemachine heeft gebouwd die ook in Nederland steeds meer ingezet zal worden. 17 mei 2011 vond onze Algemene Ledenvergadering plaats. Voor de tweede keer was het mogelijk om langs elektronische weg te stemmen en hier is dan ook - voorzichtig - gebruik van gemaakt. Het aantal elektronische stemmen was nog niet erg groot, maar al met al waren er toch meer stemmen uitgebracht dan in de afgelopen jaren, dus mogen we spreken van een bescheiden succes op het gebied van de ledenbetrokkenheid bij de vereniging. We spreken dan ook de hoop uit dat het aantal elektronisch uitgebrachte stemmen blijft groeien. Het vorig jaar geïntroduceerde toehoorders-
lidmaatschap blijkt te voorzien in een behoefte. In 2010 mochten we 40 toehoorders verwelkomen, een zeer gewaardeerde toename van ons bereik in de Oracle community. Het aantal bedrijfslidmaatschappen is licht gestegen. We zien dit als een bevestiging dat we op de goede weg zijn en zullen u blijven verblijden met themabijeenkomsten, mini congressen en uitgaven van de OGh Visie. Daarnaast kunnen we u nog melden dat de samenwerking met Oracle verder geïntensiveerd zal worden. In 2011 is, na jaren van afwezigheid, weer een vertegenwoordiger van Oracle bij de bestuursvergaderingen aanwezig. Wat ons betreft een gunstige ontwikkeling die er aan zal bijdragen dat wij interessante dingen voor u kunnen blijven doen. Voor wie het nog niet gedaan heeft: Sluit je aan bij de OGh-group op LinkedIn. De OGh is er voor de leden. Dus heeft u ideeën, suggesties, wensen, vragen of wilt u een steentje bijdragen? Laat het ons weten! Als u uw stem laat horen, zullen wij luisteren. Robin Buitenhuis Voorzitter Oracle Gebruikersclub Holland
Inhoud Verslag OGh APEX-dag
4
OGh DBA-dag en Oracle Spatial dag in november
9
Klantcase – APEX, GPS en Google Maps
10
Oracle verkast naar nieuw hoofdkantoor
11
APEX in de lift - Column Learco Brizzi
12
Excel, de Haarlemmerolie voor afdelingsapplicaties
13
Data autorisatie in Oracle
14
Presentatie Joel Goodman over X2 Exadata Database Machine
22
Impact installatie en configuratie op gebruiksrechten Oracle software
24
ProRail – de Objectgerichte Basisbeheerkaart
26
Legal Oracle? - Column Theo Koster
30
OGh APEX-dag
APEX 4.1 ondersteunt applicaties op mobiele devices
Succes OGh APEX-dag weerspiegelt grote interesse voor Oracle ontwikkeltool De OGh APEX-dag die dit jaar voor de tweede maal is gehouden maakte opnieuw duidelijk dat de Oracle ontwikkeltool sterk in de belangstelling staat van een gestaag groeiende schare aanhangers. Ruim250 OGh-leden kregen in Figi Zeist een gevarieerd programma voorgeschoteld, met onder meer presentaties over de nieuwe features van de komende APEX 4.1 release, tools en towepassingen op basis van APEX, interessante praktijkcases en doorlopende hands-on sessies. Het programma van de APEX-dag vermeldde twee plenaire sessies en een flink aantal parallelsessies die waren opgesplitst in drie tracks, met een breed scala aan onderwerpen en een drietal praktijkcases. Een uitgebreid verslag van een succesvolle dag, met dank aan de deelnemers en sprekers die als ‘‘verslaggever’ een bijdrage Foto: Marijn Westerbeek
hebben geleverd. De hand-outs van de presentaties van de OGh APEX-dag zijn te downloaden van de OGh website www. ogh.nl.
Migratie 1500 forms naar APEX
Hilary Farrell van het Application Development team van Oracle gaf in haar keynote een live
Het spits werd afgebeten door Tony An-
demonstratie van APEX 4.1.
drews en Nigel Blair, die uitgebreid verslag deden van hun ervaringen met de mi-
de tweede keynotye een live demonstratie
Tabular forms validaties worden ook uit-
gratie van 1.500 forms naar APEX bij het
van Application Express 4.1. Oracle-colle-
gebreid. Validaties kunnen op rij-niveau
Engelse Northgate Public Services daarbij.
ga Iloon Ellen-Wolff, die zelf later op de
ofwel op pagina niveau worden aange-
Is onder meer gebruik gemaakt van een
dag een presentatie verzorgde over APEX
maakt.
tool die het mogelijk maakte het grootste
& Security (zie het vorige nummer van
getriggerd worden door rijen die veran-
deel van de code sources van de Design-
OGh Visie), doet verslag.
derd zijn, alle nieuwe rijen of voor alle
er Repository te hergebruiken, zodat ze
Wat je kunt verwachten in Application
rijen binnen de tabular forms applicatie.
daarna geïmplementeerd konden worden
Express 4.1 staat beschreven in het state-
Voor de Application Express developer
in APEX. Belangrijkste conclusie van hun
ment of direction (zie bijgaand kader),
is het maken van validaties makkelijker
boeiende betoog was dat APEX zeker ook
maar een live demonstratie met uitge-
geworden. Kolomwaarden kunnen ger-
heel goed kan worden ingezet voor grote
breide toelichting is natuurlijk veel boei-
efereerd worden en extra built_ins zul-
projecten. Op de vraag of ze weer een
ender dan een opsomming van nieuwe
len beschikbaar zijn. (apex$row_selector,
dergelijk project op die manier zouden re-
functionaliteit op papier.
apex$row_num).
Application Express 4.1
kunnen
validaties
Dynamic actions zijn uitgebreid en ver-
aliseren, was het antwoord dan ook zeer duidelijk: “Yes – and we already have.”
Daarnaast
Application Express 4.1 is voorbereid voor
beterd. Je kunt condities gebruiken bin-
gebruik op mobiele devices zoals smart-
nen dynamic actions. Dit voorkomt het
phones en tablets. Er zijn nieuwe themes/
maken van redundante dynamic actions.
Hilary Farrell, lid van het Application Ex-
templates beschikbaar die gebruik maken
Dynamic actions kunnen in de nieuwe
press development team van Oracle gaf in
van Jquery mobile.
versie van Application Express worden
4 OGh Visie
OGh APEX-dag
aangeroepen in Tabular Forms, Reports en
maakt over betaling zoals bijvoorbeeld het
de APEX-applicatie en DBMS_SCHED-
Buttons.
tot stand brengen van een betalingsrege-
ULER packages dagelijks kunnen worden
Plug-ins in Application Express was al erg
ling.
ververst. De data die in de KIES-applicatie
krachtig maar wordt nog krachtiger in
Voorheen werkten tien medewerkers van
wordt geraadpleegd is dus niet redundant
versie 4.1. Het aantal plug-in attributen
deze afdeling in een Excelsheet dat een
binnen de applicatie aanwezig, maar wordt
wordt opgeschaald naar 15. Daarnaast
overzicht uit het bronsysteem haalde met
via een databaselink geraadpleegd in de
komen er ook nieuwe plug-in types be-
data over alles omtrent deze klanten met
interface van het bronsysteem. Daarnaast
schikbaar. Er is plug-in ondersteuning
een betalingsachterstand. Zo werd hierin
heeft de applicatie uiteraard wel haar ei-
voor authentication, authorization sche-
bijgehouden welke afspraken met klanten
gen tabellen in haar eigen database.
ma’s en tabular forms.
werden gemaakt en wanneer er weer een vervolgactie nodig was. Omdat een ge-
Alblas noemde een aantal punten waar-
Forms minder strikt
deeld Excelsheet met zoveel medewerkers
mee je rekening moet houden wanneer je
In Application Express 4.1 forms wordt
die er tegelijk in werken leidt tot prob-
met een nieuwe ontwikkeltool, en in dit
ROWID ondersteund en primary keys
lemen, is men vanuit de afdeling gaan
geval specifiek APEX, gaat werken.
kunnen uit meer dan 2 kolommen
zoeken naar een oplossing.
- Denk na over je architectuur en
bestaan. Een primary key mag ook een
Al snel kwam een ondersteunende afde-
inrichtingseisen. Installeer je APEX
foreign key zijn. Forms in versie 4.1 zullen
ling met het idee APEX te kunnen inzetten
op een bestaande database, of richt je
minder strikt zijn. Een form kan gemaakt
om een applicatie te bouwen die robuust,
een nieuwe OTAP-straat in?
worden zonder dat er een primary key ge-
betrouwbaar en snel is. Jasper Alblas:
- Wanneer je de workspaces binnen een
definieerd wordt.
“Toen we als IT-afdeling benaderd werden
OTAP straat gaat inrichten, zorg dan
Alsof dat alles nog niet genoeg is krijgen
met dit verzoek zijn we eerst gaan kijken
dat je de workspace-id gelijk houdt.
websheets een professioneler uiterlijk. De
of er geen oplossingen denkbaar waren
Dus exporteer de workspace uit O en
look & feel en de navigatie binnen web-
die binnen de huidige architectuur en/of
importeer deze op T, A en P.
sheets lijken gemakkelijker te worden.
met bestaande toepassingen kon worden
– Stel standaarden en richtlijnen op
Daarnaast kan een page section op SQL-
gerealiseerd. APEX bleek uiteindelijk een
voor APEX, en indien nog niet
PL/SQL gebaseerd worden. Eerlijk gezegd
goede oplossing te bieden, mede door de
aanwezig, ook voor het standaard (PL)
zie ik eindgebruikers geen SQL en/of PL/
gebruikersvriendelijkheid, het draagvlak
SQL ontwikkelproces. Denk hierbij na
SQL gebruiken, maar de praktijk zal dit
dat er bij de klant al was en de inpasbaar-
over hoe je omgaat met code-
moeten uitwijzen.
heid van de toepassing binnen ons Oracle
standaarden, pagina nummering,
Sommige van de door APEX gebruikers
landschap. Ook konden we APEX uit-
templates, subscription, autorisatie en
gevraagde verbeteringen komen beschik-
stekend inzetten om via RUP een ontwik-
authenticatie enz.
baar in de nieuwe release. Hierbij moet
keltraject in te gaan; een al ingeslagen weg
gedacht worden aan de mogelijkheid van
binnen de IT afdeling.
De KIES applicatie had als requirement
twee interactieve rapporten op een pagina,
Om deze applicatie (KIES) te realiseren is
dat gebruikers kunnen inloggen met hun
twee tabular forms op een pagina en mas-
gebruik gemaakt van de interfacelaag van
Windows gebruikersnaam en wacht-
ter-detail-detail support. Als laatste wil ik
het bronsysteem: MIS (MVS Interface Sys-
woord. APEX biedt de mogelijkheid aan te
noemen dat de fout afhandeling verbeterd
teem). Hierin is een aantal materialized
sluiten op de Active Directory. Dat proces
zal worden. Kortom een versie om naar uit
views opgenomen die door middel van
is snel en gemakkelijk in te richten, al-
te kijken!
dus Alblas. “Let er wel op dat je altijd nog moet valideren, indien het geen publieke
Geld verdienen met APEX
applicatie is, welke gebruikers toegang
Jasper Alblas, Senior Software Devel-
hebben tot de applicatie. Dit kan door
oper bij Eneco, presenteerde tijdens de
middel van een validatie bij inloggen, of
APEX-dag een usercase over het gebruik
je kunt dit controleren in het authentica-
van APEX bij de energieleverancier. De
tieproces. Je moet dan wel afwijken van de
debiteuren- en incassoafdeling van Ene-
standaard LDAP authenticatie en gebruik
co houdt zich bezig met alle betalingen
maken van de DBMS_LDAP packages om
die niet via de reguliere manier worden
zelf een functie te schrijven die de authen-
voldaan. Zo worden er aanmaningstra-
Communicatie met het bronsysteem, grafisch
ticatie regelt.
jecten gestart, afspraken met klanten ge-
weergegeven
Wat we bij het ontwikkelen van deze appli-
OGh Visie
5
OGh APEX-dag
catie misten was de mogelijkheid om bin-
en Gielis als AE-developer, bootsten ze een
nen een Interactive Report (IR) updates
echte case na. Het publiek kon ervaren
te kunnen uitvoeren. Om dit op te los-
dat AE reeds tijdens de bespreking van een
sen hebben we twee schermen gebouwd:
nieuw project samen met de klant mock-
een Interactive Report en een Tabular
ups van schermen probeert te maken. Het
Form. Middels APEX_COLLECTIONS kan
project krijgt vanaf de eerste bespreking al
vanuit het IR worden geschakeld naar het
een vorm, maar ligt uiteraard niet volledig
tabular form. Zo behouden we de voorde-
vast. De verdere ontwikkeling gebeurt in-
len van het IR voor de eindgebruiker en
teractief volgens het Agile principe. Hier-
kunnen we toch van het gemak van de
door kan er volgens AE veel efficiënter
tabular forms gebruik maken.”
gewerkt worden dan wanneer een project
te volgen en – heel belangrijk – de klant
“Het project is voor de eindgebruikers een
wordt opgestart op basis van enkel een be-
inzicht en inbreng te geven in de vorde-
succes geworden omdat ze in relatief korte
spreking met de klant of op basis van een
ring van het project. Idealiter levert AE
tijd een applicatie tot hun beschikking
geschreven document.
elke twee weken een nieuwe versie van het
hebben die veel tijdswinst oplevert, zeer
project en kan de klant feedback geven.
actuele data bevat en zeer gebruiksvrien-
Infrastructure Setup
Deze feedback komt terecht in Glitchi.
delijk is. Daarbij heeft de eindgebruiker
Om verschillende projecten met verschil-
Via Glitchi communiceren de klant en
een hoge mate van invloed op het eindre-
lende mensen tegelijkertijd en snel te
de developer en wordt bijkomende infor-
sultaat, ook bij wijzigingen na oplevering.
kunnen ontwikkelen is een specifieke in-
matie uitgewisseld. Welke elementen in
Inmiddels is de wens bij de eindgebruikers
frastructuur gebouwd. Belangrijk hierbij
welke fase worden ingebracht en hoeveel
om deze en soortgelijke andere APEX tools
is dat alle projecten op eenzelfde manier
tijd het kost om bepaalde functionalitei-
op grotere schaal te gaan inzetten. Een
worden aangepakt. Gielis toonde de door
ten te ontwikkelen, zijn hierbij belangrijke
goed voorbeeld van het succes van APEX”,
AE ontwikkelde Amazon-infrastructuur
aandachtspunten.
concludeerde Alblas dan ook terecht.
met de scripts die automatisch de database, de webserver, APEX, de back-ups en
AE hecht in de projecten veel belang aan
de version control configureert voor het
best practices, aldus Gielis. “Beter weinig
project.
regels die iedereen volgt, dan veel regels
In een levendige presentatie belichtten
AE werkt volgens het Agile principe en
die niemand volgt.” De regels die zijn ge-
Dimitri Gielis en John Scott, directors
gebruikt eigen software voor het pro-
definieerd, spitsen zich onder meer toe op
van APEX Evangelists (AE), hun ‘Way of
jectmanagement (cfr Glitchi). Glitchi
het toevoegen van commentaar, het ge-
Working in APEX Projects’. Via een rol-
maakt het mogelijk om de user cases te
bruik van packages en herbruikbare code,
lenspel waarin Scott figureerde als klant
definiëren, de taken van de developers op
en het gebruik van JavaScript, Dynamic
Way of working in APEX-projects
Actions en Plug-ins. Verder kwamen de specifieke features van APEX aan bod die nuttig zijn voor het werken in teams, zoals Application en Page Groups, Publish en Subscribe, Shared Components, Build Options, Locken van pagina’s en Shortcuts. Het opleveren van de applicatie is de laatste stap van een project. Voor het uitrollen (deploy) van een applicatie wordt een specifieke aanpak gevolgd. Afhankelijk van waar naartoe wordt uitgerold is Foto: Marijn Westerbeek
dat proces volledig automatisch of semi-
Dimitri Gielis (rechts) en John Scott in actie tijdes de OGh APEX-dag.
6 OGh Visie
automatisch. Meer informatie over deze werkmethode is te vinden op http://www. apex-evangelists.com. Dimitri Gielis verzorgde later op de dag nog een presentatie met als titel: APEX and Oracle Locator/Spatial – A Success
OGh APEX-dag
Story. In een artikel elders in dit nummer wordt dit onderwerp uitgebreid behandeld en nader toegelicht.
Geef je APEX-applicatie een eigen gezicht Het framework van Oracle Application Express is in hoge mate flexibel en aanpasbaar. Hierdoor is het mogelijk om de gebruikersinterface van een ‘custom’ design te voorzien. In zijn presentatie over Oracle Application Express Templates & Themes liet Christian Rokitta zien hoe het APEX template-mechanisme is opgebouwd en welke stappen nodig zijn om je eigen GUI Foto: Marijn Westerbeek
design in APEX te implementeren Met Oracle Application Express is het mogelijk snel en eenvoudig databasecentrische webapplicaties te bouwen. Veel van de eenvoud is gelegen in het feit dat de ontwikkelaar declaratief te werk kan gaan
Er zijn maar weinig tools waarmee het
het geheel te passen.
en gebruik kan maken van voorgegeven
mogelijk is eenvoudig een consistent
Eenmaal in het bezit van een maatwerk
componenten, zoals de user interface
web(applicatie)design te ontwerpen en
APEX theme, de verzameling van alle
templates die standaard met APEX geïn-
deze als HTML/CSS te exporteren. Een
templates die door een applicatie ge-
stalleerd worden. Maar wat als de eindge-
van deze tools is Artisteer. Met deze tool is
bruikt worden, is het mogelijk deze ook
bruiker een aangepaste lay-out of design
het mogelijk een volledig ontwerp dat de
voor andere applicaties te gebruiken. Zelfs
voor een applicatie eist? APEX biedt met
meeste in APEX gebruikelijke elementen
bestaande applicaties kunnen achteraf van
zijn template- en theme mechanisme de
bevat (Tabs, Regions, Buttons, Text, Head-
het nieuwe design voorzien worden, mits
mogelijkheid de user interface van een ap-
ings etc.) vrij vorm te geven. Het ontwerp
het APEX-mechanisme die het switchen
plicatie van een eigen ontwerp te voorzien.
kan als HTML, CSS en image bestand
van themes mogelijk maakt in het maat-
geëxporteerd worden. De code is goed ge-
werk theme correct geconfigureerd is.
Design
structureerd en een vertaling naar APEX-
Er zijn verschillende manieren om aan een
templates is dan ook redelijk eenvoudig
Case Provincie Zeeland
‘maatwerk’ design voor een web GUI te
mogelijk.
De Provincie Zeeland presenteerde zich
komen. Zelf een (professioneel) ontwerp
op de APEX-dag met drie ICT-ers van de
maken is voor de meeste Oracle ontwik-
Structuur
directie Economie & Mobiliteit, die in-
kelaars geen dagelijkse kost en kan dus
Webpagina’s zijn gebaseerd op HTML, ook
middels behoorlijke ervaring hebben met
behoorlijk tijdrovend zijn met een matig
pagina’s die zijn gegenereerd door APEX.
het bouwen van applicaties in APEX. De
resultaat. Daarom laat men webdesigns
HTML beschrijft de structuur van de pa-
directie E&M, die verantwoordelijk is voor
vaak door specialisten ontwerpen die ge-
gina en met CSS wordt deze structuur van
onder andere het provinciale wegennet,
bruik maken van grafische tools als Adobe
opmaak voorzien. Het ‘render’ proces van
heeft onder meer haar Wegen Informatie
Photoshop. Vervolgens wordt het ontwerp
APEX combineert HTML, vastgelegd in tem-
Systeem compleet nieuw laten bouwen in
in aparte grafische bestanden ‘gesliced’
plates, met dynamische content afkomstig
APEX. Het ICT-cluster van deze directie
en samen met HTML en CSS bestanden
uit de database. De templates voor de ver-
heeft in twee jaar tijd het complexe sys-
opgeleverd.
schillende elementen in APEX worden als
teem gebouwd en draait momenteel in
Natuurlijk zijn er ook tal van kant-en-
puzzelstukjes in elkaar gezet. Wie zijn eigen
productie met APEX 4.0. Tijdens de pre-
klare HTML templates op tal van sites,
template wil ontwerpen, moet weten hoe
sentatie lieten Trudy van Linden, Mirjam
vaak gratis, te downloaden. De kans ech-
dit ontwerp in voor APEX geschikte stukjes
van Delft en Hans Quist zien wat er bij de
ter dat exact het gewenste design wordt
op te knippen en aan welke eisen elk stukje
Provincie Zeeland op het gebied van APEX
gevonden is relatief klein.
moet voldoen om vervolgens weer netjes in
gebeurt aan de hand van een uitleg van
OGh Visie
7
OGh APEX-dag
Een van de deelnemers aan de hands-on sessies was Maurice Smits, werkzaam bij Logica Nederland. Smits heeft voor zijn hobby een bridge-applicatie ontwikkeld en had in dat kader “zelf al gestoeid met APEX”. In verschillende sessies heeft hij “enorm veel opgestoken en zijn er ook verschillende onduidelijkheden over APEX opgehelderd. Dankzij de praktische ondersteuning van een van de begeleiders heeft
Foto: Robin Buitenhuis
Smits in de hands-on sessies zelfs kans gezien een aantal onvolkomenheden in zijn bridgeprogramma op kunnen lossen en kreeg hij concrete ideeën aangereikt om het programma met APEX verder te verbeteren, zo vertelde hij na afloop enthousiast. het Wegen Informatie Systeem (WIS).
gemaakt, die inhoudt dat de provinciale
“Toen we begonnen met bouwen werd
standaard voor het ontwikkelen van ap-
De OGh APEX-dag is mede mogelijk ge-
er door collega ICT-ers van de andere di-
plicaties bestaat uit Oracle APEX en Ora-
maakt door de sponsors CIBER en Trans-
recties sceptisch gekeken naar onze ver-
cle BI Publisher. “De combinatie tussen
fer Solutions.
richtingen, want APEX was toch voor
die twee heeft ons heel wat hoofdbrekens
hobbyisten? Daar bouw je toch geen grote
gekost, maar blijkt intussen succesvol.”
bedrijfskritische systemen mee? De prak-
De presentaties van deze dag zijn te down-
tijk heeft echter inmiddels geleerd dat het
Hands-on sessies
wel degelijk mogelijk is om robuuste, grote
Deelnemers aan de OGh APEX-dag
Het verslag van de OGh APEX-dag is tot
applicaties te bouwen met APEX. De ge-
konden gedurende dag speciale hands-on
stand gekomen met medewerking van Jasper
bruikers zijn enthousiast over de interface
sessies volgen. Onder leiding van Shintaro
Alblas (Eneco), Dimitri Gielis (APEX Evan-
en de performance, zeker in vergelijking
Nagaoka en Marti Koppelmans van Ora-
gelists), Hans Quist (Provincie Zeeland),
met de oude Java-applet die Forms ge-
cle Nederland en Learco Brizzi van Itium
Learco Brizi (Itium), Christian Rokitta
bruikte.”
konden de ‘ cursisten’ met Oracle OBE’s
(Rokit) en Iloon Ellen-Wolff (Oracle Ned-
Er is naar aanleiding van deze ervarin-
hun praktische vaardigheden met APEX
erland). Foto’s: Marijn Westerbeek en Robin
gen bij de provincie een principekeuze
beproeven dan wel verder aanscherpen.
Buitenhuis.
loaden van de OGh website: www.ogh.nl.
Oracle Application Express 4.1 Oracle Application Express 4.1 zal volgens de ‘statement of
- Plug-Ins - Add plug-in support for additional
direction’ van Oracle voorzien in de volgende uitbreidingen
en nieuwe functionaliteiten:
- Use of ROWID – Allow usage of ROWID for Automatic
components and enhance plug-in definitions
– Development for Mobile Applications – Include themes
DML processing (as an alternative to identifying the
PK columns)
and HTML templates suitable for smart phones and mobile
devices
- Websheets – Improved user interface, new page section
- Error Handling - Improve error handling and user-
- Data Upload - Enable end-users to upload data into an
defined exception processing
types, and enhanced spreadsheet / datagrid integration
- Tabular Forms – Continue to expand tabular forms
validations
- Accessibility – Improve accessibility in existing themes
existing table (within an application.
- Dynamic Actions – Allow dynamic actions to be defined
- Numerous functional and performance improvements.
for buttons and enhanced conditional processing
8 OGh Visie
and HTML templates
Aankondigingen
Jaarlijkse OGh DBA-dag uitgebreid met BPM en SOA 8 november in Figi Zeist In navolging van de twee eerdere succesvolle edities organiseert de OGh op dinsdag 8 november weer de jaarlijkse DBA-dag. Ook dit jaar kunnen DBA’s en andere geïnteresseerde OGh leden weer rekenen op een interessant en afwisselend programma, met spraakmakende sessies en gerenommeerde sprekers. Nieuw dit jaar is dat het programma is uitgebreid met aparte sessies over twee actuele onderwerpen: BPM en SOA. Oracle voert de nieuwe ontwikkelingen op het gebied van zowel SOA als BPM razendsnel door, waardoor kennisuitwisseling en –deling meer dan ooit noodzakelijk is om bij te blijven. Op dit moment wordt nog hard gewerkt aan de invulling van het programma van deze gecombineerde DBA-dag en BPM & SOA-dag. We zijn op dit moment in gesprek met een aantal Oracle
ACE’s en ACE Directors, zodat de kwaliteit en diversiteit van de sessies optimaal gewaarborgd wordt. Heeft u ideeën of suggesties voor onderwerpen, of wilt u zelf als spreker uw professionele steentje bijdragen – liefst vanuit een technische insteek neemt u dan voor 30 juli a.s. contact met het OGhsecretariaat, e-mail:
[email protected]. Wij zien uw reactie graag tegemoet. Gezien de grote belangstelling voor de voorgaande edities van de DBA-dag en de BPM&SOAdag is de beschikbare zaalcapaciteit wederom verhoogd (naar 250 deelnemers). Vroegtijdig aanmelden blijft echter aan te bevelen. Zodra het programma definitief is en de inschrijving is geopend zal dit (o.a.) op de website van de OGh worden bekendgemaakt.
Noteer in ieder geval alvast de datum 8 november in uw agenda!
OGh/Oracle Spatial-dag met Siva Ravada 15 november bij Oracle in Utrecht Op dinsdag 15 november organiseren de OGh en Oracle weer de jaarlijkse Spatial dag. Dit jaar ligt de nadruk op het ontwikkelen, gebruik en de ervaringen met Oracle Spatial vanuit een meer technische insteek. De locatie is het nieuwe hoofdkantoor van Oracle Nederland in Utrecht. We zijn trots al te kunnen aankondigen dat Siva Ravada, Director Spatial Development van Oracle Corp., een van de keynotes zal verzorgen. Op dit moment wordt er door de SIM Commissie hard gewerkt aan de invulling van het programma. Ook u kunt hieraan bijdragen. Ideeën voor onderwerpen, concrete projecten of presentaties, liefst met een insteek vanuit de techniek kunnen tot 30 juli doorgegeven worden via
[email protected]. We zullen zo veel als mogelijk gehoor geven aan uw wensen en suggesties. Wij hopen als SIM Commissie van de OGh alle ‘Spatial’ geïnteresseerden te kunnen verwelkomen op 15 november a.s. Milan Uitentuis, Voorzitter SIM Commissie
OGh Visie
9
Oracle APEX, GPS en Google Maps
Klant Case - Oracle APEX, GPS en Google Maps AE GPS Tracker is een applicatie die GPS-signalen doorstuurt en de mogelijkheid biedt om (real-time of op een later tijdstip) analyses te maken op basis van deze geo-locatiedata. De applicatie is ontwikkeld door APEX Evangelists (AE) en is een goed voorbeeld van een combinatie van Oracle met andere technologieën om tot een innovatieve oplossing te komen.
Door Dimitri Gielis
Toegepaste technologie De Oracle database is zeer goed uitgerust om met grote hoeveelheden data en geo-informatie te werken. Oracle database (11g)
GPS Tracker bestaat uit een iPhone applicatie die de GPS-ge-
is standaard voorzien van Locator. Deze feature laat toe queries
gevens doorstuurt naar de AE-server die in de cloud staat. De
te schrijven op geo-data, bijvoorbeeld bepalen of een punt bin-
back-end is een volledige Oracle-oplossing, bestaande uit een
nen een gebied (polygoon) valt. Indien meer functionaliteiten
Oracle Database, Oracle Application Express (APEX) en een Or-
gewenst zijn, kan de Spatial optie van de Oracle Database ge-
acle Web Server. De front-end bestaat uit een web-applicatie en
bruikt worden.
een native smartphone-applicatie. In eerste instantie is er alleen
Oracle Application Express, of kortweg APEX, is een ontwikkel-
nog een iPhone versie, maar versies voor andere mobiele platfor-
platform van Oracle dat in de database zit. Met APEX kunnen
men zoals Android en Windows zijn in ontwikkeling. Als de klant
zeer snel web-applicaties worden gemaakt op basis van data uit de
reeds over een oplossing beschikt die GPS-informatie doorstuurt, biedt de applicatie de mogelijkheid om hiermee te verbinden. De
Voorbeeld van een spatial query:
web-applicatie, die meer mogelijkheden geeft om de data te ana-
select c.feature_name
lyseren, is volledig in APEX gebouwd en toont de data in Open
from city_streets c
Street Map of Google Maps. Optioneel kan de data ook in Oracle
where sdo_anyinteract(c.feature,
MapViewer getoond worden.
sdo_geometry(2003, null, null, sdo_elem_info_array(1, 1003, 3), sdo_ordinate_array(5,5, 30,40))) = ‘true’;
Oracle database. APEX bevat heel wat wizards om de schermen te De applicatie wordt in middels gebruikt door verschillende bedrij-
bouwen, maar indien iets niet via de wizards kan, is dit eenvoudig
ven voor uiteenlopende doeleinden.
zelf te programmeren met behulp van PL/SQL.
Enkele voorbeelden: - een bedrijf wil weten waar zijn vrachtwagens zijn
Bij smartphone-ontwikkeling hangt het af van het platform hoe
- een autobedrijf wil weten waar zijn auto’s zijn bijvoorbeeld
de schermen worden ontwikkeld. Zowel voor Android, Windows
als iPhone zijn de beschikbare API’s zeer uitgebreid en bestaat
in geval van autopech.
- een verkoper wil weten welke andere klanten in zijn buurt zijn
er een goede documentatie om het werken met de verschillen-
- een manager wil analyseren waar zijn klanten en eventuele
de componenten te vergemakkelijken. Bij iPhone development
wordt gebruik gemaakt van XCode.
concurrentie zich bevinden
- op een event wordt de applicatie gebruikt om informatie te
verschaffen over de plaats van personen
De smartphone-applicatie maakt een connectie met een Ora-
- men wil een locatie zoeken die goed te bereiken is voor alle
cle Web Service, die de data opslaat in tabellen. Afhankelijk van
het toestel, kan meer data doorgestuurd worden dan enkel de
deelnemers van een event
10 OGh Visie
Oracle APEX, GPS en Google Maps
locatie, bijvoorbeeld ook gegevens over de bestuurder, rit etc.
een applicatie die de laatste technologieën gebruikt om een in-
Vervolgens kunnen de binnenkomende gegevens gelinkt worden
novatieve oplossing te bieden in combinatie met geo-locatie data.
met bestaande applicaties zoals CRM, HRM.. Zo kan nagegaan
Meer informatie over AE GPS Tracker is te vinden op: http://
worden welke medewerker zich waar bevindt. Specifieke klantge-
www.apex-evangelists.com.
gevens die relevant zijn voor een locatie kunnen worden weergeDimitri Gielis is samen met John Scott oprichter APEX Evangelists,
geven.
een bedrijf dat zich specialiseert in training, consulting en het bouwen Geo-Locatie en spatial-data worden elke dag belangrijker. Oracle
van oplossingen met Oracle Application Express. Dimitri is ook Ora-
heeft alle nodige tools voorhanden om op een efficiënte manier
cle ACE Director en publiceert over APEX-gerelateerde onderwerpen
om te gaan met deze data. AE GPS Tracker is een voorbeeld van
op zijn blog http://dgielis.blogspot.com.
Oracle verkast naar nieuw hoofdkantoor Enkele maanden later dan oorspron-
ling op een verdieping of een deel van de
afgesloten kunnen worden. Met deze
kelijk gepland heeft Oracle Nederland
werkvloer, iedereen werkt door elkaar.
filosofie van activiteitgerelateerd werken
een nieuw hoofdkantoor betrokken aan
Om collega’s in het pand gemakkelijk te
beoogt Oracle de samenwerking tussen
de A2 in Utrecht. Het nieuwe pand,
kunnen vinden gebruikt Oracle de tool
medewerkers van verschillende divisie
hemelsbreed zo’n vier kilometer van
CU (see you), die bij binnenkomst per
en afdelingen, zoals hardware, technolo-
de oude locatie in De Meern, is volle-
SMS aangeeft waar de collega’s waarmee
gy, applications, consultancy en verkoop
dig ingericht om Het Nieuwe Werken
het meest wordt samengewerkt (‘bud-
te bevorderen. Oracle huurt 10.500 vi-
optimaal te faciliteren. Niemand heeft
dies’) te vinden zijn.
erkante meter in het Facet-gebouw aan
een vaste werkplek of persoonlijke en
de A2, waarin 625 werkplekken zijn in-
iedereen wordt geacht ‘vanuit zijn tas’ te
Naast de flexibele werkplekken zijn er
gericht voor de 1.050 medewerkers die
werken. Ook zijn in het nieuwe pand
teamwerkplekken,
Oracle Nederland op dit moment telt,
medewerkers niet gegroepeerd per afde-
ontmoetingsplekken en werkruimtes die
stiltewerkplekken,
met ruimte voor groei.
OGh Visie
11
Column
Learco Brizzi
APEX in de lift De laatste tijd zijn er weer spannende dingen gebeurd rondom APEX. Duidelijk is te merken dat het gebruik van APEX en de interesse in deze mooie tool goed in de lift zit. Ik zal hier wat recente ontwikkelingen de revue laten passeren.
Terugblik APEX dag De OGh APEX dag van 22 maart in Figi Zeist was een enorm succes. Het was lekker druk, 250 deelnemers kwamen op het evenement af. Gezien het succes van vorig jaar hadden we het evenement wat groter ingestoken. Meer zalen, presentaties en parallelsessies. Het was wederom erg snel vol en tot op het laatste moment stonden er mensen op de reservelijst. Het was voor de meesten een zeer interessant programma. Vooral de ‘APEX 4.1 features’ sessie, gepresenteerd door Hilary Farrell was erg interessant om te zien en te horen. Natuurlijk sprak ook het succesverhaal van de migratie van 1500 Forms naar APEX van Northgate aan. Leuk om te zien was ook de luchtige presentatie van de APEX Evangelists over de aanpak van een project. Verderop in deze OGh Visie worden de presentaties uitgebreid besproken. Deze dag hadden we samen georganiseerd met Oracle Nederland. Wat tussen de regels door te merken was, was dat er (helaas) toch aardig wat moeite moest worden gedaan om budget te vinden voor een dergelijk APEX evenement. Uiteindelijk is het allemaal gelukt en was het ook voor Oracle een geslaagde dag. Al met al is dit voor ons reden om volgend jaar opnieuw een APEX dag te organiseren. Wellicht dat de OGh later dit jaar ook nog een APEX thema-avond gaat organiseren
highlights: error handling, verbeteringen op het gebied van dynamic actions, plug-ins, tabular forms validations, etc. Op http://apex.oracle.com/pls/apex/f?p=52663:1 is een gedetailleerd overzicht van alle nieuwe features te lezen. Nog niet alle features die aangekondigd zijn in het statement of direction, zijn al in deze Early Adopter release opgenomen, zoals bijvoorbeeld de data upload functionaliteit voor eindgebruikers en charts zonder gebruik te maken van Flash. Zelf 4.1 alvast proberen kan op: http://tryapexnow.com. Degenen die mij kennen zullen weten dat ik vooral van de nieuwe errorhandling functionaliteit erg gecharmeerd ben. Iets wat in een moderne ontwikkelomgeving gewoon een vereiste is en eigenlijk nooit goed in APEX geregeld was. Ook CDM Ruleframe kan nu veel makkelijker geïntegreerd worden. De grote vraag is natuurlijk wanneer APEX 4.1 in productie zal wordt genomen. Er is echter een afhankelijkheid met jQuery Mobile, dat op dit moment pas als alfa versie beschikbaar is. Ook is nog niet alles af. Ik denk en hoop dat het nog ergens dit jaar zal zijn.
Events
APEX 4.1 Early Adopter release
De OBUG APEX SIG had ook een interessante dag georganiseerd, waar ik helaas niet bij aanwezig kon zijn. Volgende keer beter. Iets van een andere orde is de ODTUG (Oracle Developer Tools User Group) Kaleidoscope 2011. Honderden presentaties, waarvan vele op het gebied van APEX, een week lang in Long Beach, California. Niet echt vervelend om bij te mogen zijn. Hier merk je pas echt hoe populair APEX is. Zie voor meer informatie: http://www.kscope11. com. Voor een voorproefje van wat een aantal Nederlanders daar gaat presenteren, kun je naar de AMIS preview avond. Een aanrader als je zelf niet naar Kaleidoscope 2011 kunt gaan.
Een niet geheel onbelangrijke gebeurtenis vorige maand was het vrijgeven van de APEX 4.1 Early Adopter release. Enkele
Learco Brizzi
Belangstelling Wat ik zelf merk is dat er op trainingsgebied ook meer belangstelling is voor APEX. Meer cursussen en deelnemers. Ook is er weer een aantal boeken verschenen.’Beginning Oracle Application Express 4’ en ‘Oracle Application Express 4.0 with Ext JS’. Met name het laatste boek laat zien dat ook Ext JS een interessante aanvulling kan zijn op de ‘standaard’ jQuery functionaliteit van APEX.
12 OGh Visie
Excel en APEX
Microsoft Excel, de Haarlemmerolie voor afdelingsapplicaties Maar denk ook eens aan de keerzijde van de medaille ‘Sinterklaas, wie kent ‘m niet’, gezongen door Het Goede Doel, kennen we allemaal. Hoewel het waarschijnlijk minder in de hitparade zou hebben gescoord, hadden Henk en Henk met hetzelfde waarheidsgehalte ook een nummer kunnen schrijven met de titel ‘Excel, wie kent het niet’.
Door Charles Betman
zijn een of meerdere van de volgende situ-
aties herkenbaar.
voorhanden.
kelijke werkblad is helaas niet meer
- Omdat bepaalde rekenbladen niet Microsoft Excel als veelgebruikt en veelzij-
- De afdeling heeft behoefte aan onder-
rechtstreeks gebruik maken van de
dig spreadsheetprogramma waarmee ge-
steuning van een ingewikkeld reken-
brongegevens maar van gegevens die
bruikers, voor zichzelf of voor afdelingen,
proces. Een ‘handige’ medewerker
periodiek worden gerepliceerd of met
snel en eenvoudig overzichten, rekenbla-
maakt met Excel een rekenblad, waar
de hand worden bijgewerkt, blijkt u
den, rapportages e.d. kunnen realiseren.
de afdeling voortvarend mee aan de
bepaalde beslissingen te hebben
En dat zonder gebruik te maken van pro-
gang gaat. Na enige tijd blijkt, zonder
genomen op basis van gedateerde
fessionele ondersteuning. Voorbeelden te
dat iemand het heeft gemerkt, de
data.
over, denk bijvoorbeeld aan berekeningen
berekening toch niet helemaal correct
voor verzekeringspremies, adresverzendlij-
in Excel te zijn geprogrammeerd. Is het
Het is niet ondenkbaar dat u voor de
sten en managementrapportages.
gemaakte rekenblad wel goed getest
ondersteuning van in gebruik zijnde
Aanvullende of gewijzigde informatiebe-
voordat het in gebruik is genomen?
Excel-applicaties afhankelijk blijkt van
hoeften? Geen probleem, wijzig het in ge-
- Een complex en veelgebruikt reken-
de kennis, kunde en beschikbaarheid
bruik zijnde werkblad of maak een kopie
blad dient te worden aangepast, maar
van specifieke medewerkers. Een ander
van de applicatie en pas dit naar behoefte
de medewerker die het rekenblad heeft
reëel risico is dat er geen of onvoldoende
aan. Binnen de kortste keren vindt het
gemaakt en altijd onderhield is niet
maatregelen genomen worden om aspect-
nieuwe werkblad zijn weg in de organi-
meer beschikbaar.
en als juistheid, volledigheid, beschikbaar-
satie. Door deze eenvoud en snelheid be-
- Een werkblad zou eigenlijk door
heid en betrouwbaarheid te garanderen,
schikken veel organisaties over een groot
meerder medewerkers tegelijk
zowel wat betreft de hulpprogramma’s als
aantal Excel-applicaties die een belangrij-
bijgewerkt moeten worden, maar
de gegevens. De effectiviteit en efficiency
ke aanvulling zijn geworden op de be-
Excel ondersteunt dat maar ten dele
van de bedrijfsvoering is hiermee kwets-
drijfsapplicaties en onmisbaar ter onder-
en daarom circuleren her en der
baarder geworden.
steuning van de bedrijfsprocessen, veelal
kopieën van het bestand. Op enig
op afdelingsniveau.
moment blijken er gegevens te
Voorkomen is beter dan genezen
We kunnen gerust stellen dat Microsoft
ontbreken omdat verkeerde versies
Helaas worden we ons vaak pas bewust van
Excel zich in de praktijk heeft bewezen als
zijn opgeslagen.
deze risico’s op het moment dat de bedrijf-
een krachtig en flexibel programma - de
- Gegevens in een werkblad blijken
svoering er hinder van ondervindt. Als de
Haarlemmerolie om snel te voorzien in
verminkt of verdwenen, maar helaas
bedrijfsvoering in meer of mindere mate
bepaalde informatiebehoefte.
is er geen back-up gemaakt van het
leunt op het gebruik van met Excel ge-
bestand toen het nog wel correct en
maakte applicaties en beheerde gegevens,
Keerzijde van de medaille
volledig was.
is het verstandig tijdig vast te stellen welke
Maar zoals een bekend filosoof al eens op-
- Werkbladen staan op een algemeen
eisen worden gesteld aan eerdergenoemde
merkte: ‘Elk voordeel heb z’n nadeel’. De
toegankelijke plaats op in het netwerk.
aspecten als juistheid, volledigheid, be-
snelheid en het gemak waarmee een ver-
Iemand blijkt, zonder overleg of
schikbaarheid en betrouwbaarheid van de
zameling werkbladen opgebouwd wordt,
toestemming, een bepaald rekenblad
applicaties en de gegevens.
kan ook een keerzijde hebben. Wellicht
te hebben aangepast. Het oorspron-
Oplossingen hiervoor zijn uiteraard in
OGh Visie
13
Excel en APEX
verschillende richtingen te zoeken. U kunt
applicaties waarvan meerdere gebruikers
binnen uw eigen afdeling de organisatie
gelijktijdig gebruik maken, lenen zich hier
van het ontwikkelen en beheren van de
uitstekend voor.
spreadsheets strakker gaan inregelen. Dit
Bijkomend voordeel is dat rechtstreeks ge-
betekent aandacht voor procedures, ver-
bruik wordt gemaakt van de brongegevens
siebeheer, testen, gecontroleerde beschik-
in de Oracle database, en daarmee niet het
baarheid etc. Consequentie is ook extra
risico bestaat te werken met gedateerde ge-
taken voor de afdeling, werk dat waarschi-
gevens. Met APEX gerealiseerde applicaties
jnlijk niet tot de core business behoort.
zijn toegankelijk via uw netwerk en via het
Een andere mogelijkheid is de realisa-
internet indien gewenst, en het gebruik
tie en het beheer uit te besteden aan een
van bijvoorbeeld mobile devices, smart-
gespecialiseerde partij. Dat kan de eigen,
phones en tablets is ook geen probleem.
interne IT-organisatie zijn maar ook een
Als uw organisatie ook last heeft van vele
derde partij. Hiermee lost u een aantal
Excel lijstjes waarin belangrijk data en
(beheer)problemen op, maar nog niet de
informatie verborgen ligt, waarvan niet
beperkingen die Excel heeft waar het gaat
duidelijk is of deze actueel of juist zijn
om de meer bedrijfskritische applicaties.
maar waarvan de organisatie wel afhan-
De oplossing kan ook worden gezocht in
kelijk is om goed te kunnen functioneren,
de inzet van andere technologie, tech-
hoeft u niet verder zoeken: APEX is het
nologie die de mogelijkheid bieden snel
antwoord.
en tegen beheersbare kosten vergelijkbare applicaties te (laten) ontwikkelen;
Het omzetten van uw Excel-applicaties
multi-user applicaties met een effectief
naar APEX is snel uit te voeren. Oracle
antwoord op de hierboven beschreven
zou Oracle niet zijn als het niet zou zorgen
risico’s en met handvatten voor een ad-
voor eenvoudige conversietools om de mi-
equate beheersbaarheid, betrouwbaarheid
gratie te ondersteunen. Uiteraard zijn aan
en veiligheid.
het (her)ontwikkelen van applicaties kosten verbonden. Deze wegen echter al snel
Oracle Application Express (APEX)
op tegen de (vaak niet vooraf voorziene en
Oracle heeft een dergelijke ontwikkelom-
noemde risico’s daadwerkelijk optreden.
kwantificeerbare) gevolgen als eerderge-
geving beschikbaar, een nog relatief verborgen schat waarmee snel en eenvoudig
Charles Betman is werkzaam bij ICT-dienst-
flexibel toegankelijke applicaties gereali-
verlener Quobell.
seerd kunnen worden aan geautoriseerde gebruikers: Oracle Application Express, kortweg APEX genoemd. APEX combineert de vele voordelen van Excel zoals snelle, simpele en productieve ontwikkeling met beheersbaarheid, betrouwbaarheid, schaalbaarheid. En het mooie van dit alles, APEX is een volledig gratis onderdeel van de Oracle database. APEX is, in een paar zinnen, een licentievrije
softwareontwikkelingomgeving
gebaseerd op en integraal onderdeel van de Oracle-database. Met APEX zijn korte, intuïtieve realisatietijden mogelijk, met als resultaat robuuste en veilige webgebaseerde applicaties. Met name data-driven
14 OGh Visie
Data autorisatie in Oracle
Data autorisatie in Oracle Data autorisatie (ook wel Row-Level-Security - RLS) genoemd) valt buiten de standaard databaseprivileges en -rollen binnen Oracle. In dit artikel wordt besproken hoe data autorisatie op record niveau is te implementeren door middel van views en/of Virtual Private Database.
1. Toegang tot data op recordniveau (alleen eigen patiënten).
Door Peter Rurenga
2. Onderscheid tussen verschillende DML rechten op record
niveau (wel/niet muteren).
Uitgangspunt bij deze oplossing is de bestaande applicatie niet of
3. Autorisatie moet dynamisch aan te passen zijn (arts draagt
minimaal aan te passen.
patiënten tijdelijk over).
Het gepresenteerde concept is initieel ontwikkeld bij TNO Bouw en Ondergrond in Utrecht en wordt daar gebruikt binnen een
Er zijn meer voorbeelden waarin data autorisatie gewenst is:
VPD-implementatie.
- Combineren van data van verschillende eigenaren, bijvoor
Waarom data autorisatie?
beeld als gevolg van consolidatie, waarbij data aan de eigenaar
voorbehouden moeten blijven.
Een voorbeeld uit de medische wereld.
- SaaS applicatie (Software-as-a-Service): een gedeelde appli-
Binnen een centraal patiëntensysteem behoort een arts alleen
catie waarin gegarandeerd moet zijn dat elke klant uitsluitend
toegang te hebben tot data van zijn eigen patiënten. De arts kan
data ook wijzigen en toevoegen. Verpleegkundigen moeten de-
- Need-to-know: openstellen van (privacygevoelige) gegevens
toegang heeft tot zijn eigen gegevens.
zelfde gegevens kunnen raadplegen. Maar muteren zal aan be-
perkingen onderhevig zijn, bijvoorbeeld omdat alleen een arts
- Preventie van datadiefstal en beschermen van gevoelige
aan specifieke medewerkers, leveranciers en /of klanten.
medicatie mag aanpassen. Een arts die op vakantie gaat moet de
(productie)gegevens in ontwikkel-/testtrajecten.
zorg (en daarmee ook de autorisatie voor de gegevens) van zijn patiënten over kunnen dragen aan een collega.
Naast Row-Level-Security is ook Column-Level-Security (CLS) mogelijk. In dit artikel wordt hier verder niet op ingegaan.
Welke behoeften aan data autorisatie zijn hieruit af te leiden?
Oplossingsmogelijkheden voor data autorisatie
Oracle editie
Enterprise
XE/
Extra Licentie?
Edition
Standard Edition
the-Box?
Oracle Label
ja
nee
ja
ja
Out-of
Toelichting
OLS voegt een extra
Security (OLS)
(verborgen) kolom toe aan
een tabel. Zowel records als
gebruikers krijgen een ‘label’
toegekend. Indien deze matchen,
is toegang toegestaan.
Virtual Private
VPD voegt een verborgen
ja
nee
nee
nee
Data (VPD)
‘where-clause’ toe aan
statements.
VPD biedt alleen tooling,
logica moet nog
geprogrammeerd in PL/SQL.
Views
Werkt altijd, ook dit zelf te
ja
ja
nee
nee
programmeren.
OGh Visie
15
Data autorisatie in Oracle
Er zijn verschillende mogelijkheden om data autorisatie te reali-
Queries op de tabel moeten nu rekening houden met autorisa-
seren, afhankelijk van de database-editie.
ties. Het eenvoudigste is om dit via een view te doen:
Database Vault is ook een Oracle product dat is bedoeld om gegevens af te schermen en dan met name voor privileged users
create or replace view abc_vw
zoals DBA’s. Helaas biedt Database Vault op zich geen Row Level
as select a, b, c from abc
Security.
where eigenaar_id in (select eigenaar_id
Eerste oplossing: inpassen in applicatie tabel
from
gebruiker
where
naam =
user);
Vaak wordt data autorisatie opgelost binnen de applicatie zelf, door een extra kolom toe te voegen aan de tabel. Deze kolom
Hiermee is geregeld dat gebruiker TEST1 rijen 1 t/m 3 ziet, TEST2
(een soort van label) bevat dan autorisatiedata, bijvoorbeeld wie
ziet 4 t/m 6 en TEST3 ziet helemaal geen data.
de eigenaar van een record is. Vervolgens worden de statements aangepast (of weggewerkt in
TEST1> select * from abc_vw;
een view) opdat met de eigenaar rekening gehouden wordt.
A B
C
---------- ---------- -------(Dit artikel maakt gebruik van voorbeeldcode. Voor wie dit wil
3 B
17-05-11
navolgen is in bijlage 1 een script opgenomen om de benodigde
2 A
16-05-11
objecten aan te maken.)
1 A
15-05-11
A B
C
Eerst leggen we in een referentietabel vast welke eigenaren er zijn: TEST2> / conn app_dba/app_dba create table eigenaar (id number , naam
---------- ---------- --------
varchar2(20)); insert into eigenaar values (1, ‘X’);
6 C
20-05-11
5 C
19-05-11
4 B
18-05-11
insert into eigenaar values (2, ‘Y’); TEST3> / Aan de applicatietabel voegen we een kolom toe die bepaalt wie eigenaar is van het record:
Geen rijen geselecteerd
alter table abc add (eigenaar_id number); update abc set eigenaar_id = 1 where a <=
Op zich werkt deze aanpak. Er zijn echter ook nadelen:
3;
- Er is geen onderscheid tussen verschillende DML
update abc set eigenaar_id = 2 where a >
- Elk record heeft maar één label (namelijk: eigenaar).
3;
De indeling van records is statisch. Een andere indeling kan
alleen door een update van de applicatietabel. Meerdere
Vervolgens leggen we vast voor welke eigenaar gebruikers geau-
eigenaren voor een record is nu niet mogelijk
toriseerd zijn:
- De oorspronkelijke applicatie is aangepast. Tabel ABC is
uitgebreid met een extra kolom.
create table gebruiker (id number, naam
- In deze implementatie zijn applicatiedata en autorisatiedata
varchar2(20), eigenaar_id number);
gemixt.
insert into gebruiker values (2, ‘TEST2’, 2);
Een flexibeler oplossing: autorisatie scheiden van applicatie
insert into gebruiker values (3, ‘TEST2’,
Bovenstaande bezwaren vragen om een meer flexibele oplossing
null);
die een flexibele indeling van records mogelijk maakt, zonder
insert into gebruiker values (1, ‘TEST1’, 1);
aanpassing aan de bestaande applicatie en waarin autorisatie- en applicatiedata gescheiden zijn. DML-rechten moeten apart kun-
16 OGh Visie
Data autorisatie in Oracle
nen worden toegekend naast andere DML-rechten.
De tabel EIGENAAR doet er nu niet meer toe, evenals de kolom
Dit kan worden bereikt door autorisatiedata compleet te scheiden
EIGENAAR_ID in de tabellen ABC en GEBRUIKER.
van applicatiedata. In plaats van een label aan applicatiegegevens toe te voegen, worden labels apart opgeslagen, samen met verwij-
alter table abc drop column eigenaar_id;
zingen naar de applicatiedata waarop de labels betrekking heb-
-- herstel applicatie tabel
ben. Een record kan meerdere labels hebben en een label kan op
alter table gebruiker drop column eige-
meerdere records van toepassing zijn. Een label is een set van één
naar_id;
of meer records.
drop table eigenaar purge;
We gaan records groeperen in recordsets, waarbij de naam van
In feite hebben is dit een vergelijkbare situatie als voorheen. De
de set het label is. Vervolgens koppelen we sets aan een gebruiker.
flexibiliteit blijkt als we een nieuwe uitsnede van de data willen toewijzen aan gebruiker TEST3. Deze is een nieuwe verzameling
-- creëer record sets
afkomstig van voorheen verschillende eigenaren.
Create table record_set ( id number, naam varchar2(20));
insert into record_set values (3, ‘cus-
insert into record_set values (1, ‘eige-
tom_set’);
naar1’);
insert into data values (3, 1);
insert into record_set values (2, ‘eige-
-- record binnen data set
naar2’);
insert into data values (3, 2);
-- nieuwe record set
-- idem -- vul data set met
insert into data values (3, 5);
create table data (set_id number, a_
-- idem
waarde number);
insert into gebruiker_per_record_set val-
insert into data values (1, 1);
ues (3,3); -- toewijzen aan gebruiker
insert into data values (1, 2);
commit;
insert into data values (1, 3); insert into data values (2, 4); insert into data values (2, 5); insert into data values (2, 6);
Testgebruikers TEST1 en TEST2 zien dezelfde resultaten als voorheen, maar voor gebruiker TEST3 is een eigen deelverzameling
create table gebruiker_per_record_set
van de data beschikbaar:
(gebruiker_id number, set_id number); insert into gebruiker_per_record_set val-
TEST3> select * from abc_vw;
ues (1,1); insert into gebruiker_per_record_set values (2,2);
A B
C
---------- ---------- -------De query wordt anders, view ABC_VW wordt als volgt aangepast: create or replace view abc_vw
1 A
15-05-11
2 A
16-05-11
5 C
19-05-11
as select a, b, c from abc where a in (select a_waarde from
data d join gebruiker_per_re-
cord_set rs on rs.set_id = d.set_id join gebruiker g
on g.id
= rs.gebruiker_id
Data autorisatie is nu flexibel in te regelen. Er kunnen naar behoefte verschillende recordsets worden aangemaakt. Records kunnen in willekeurige sets worden opgenomen. Elke uitsnede van de data is mogelijk.
where g.naam = user) /
Gebruikers kunnen meerdere sets toegewezen krijgen, zo kan de CUSTOM_SET ook aan gebruiker TEST1 worden toegekend:
OGh Visie
17
Data autorisatie in Oracle
Omdat per statement een andere where clause nodig is, moet insert into gebruiker_per_record_set val-
view ABC_VW worden uitgebreid met Instead-Of triggers die de
ues (1,3);
verschillende DML afhandelen.
commit;
Voor selecteren kan de view blijven zoals die is. Hierna is de aanpassing voor het update statement verder uit-
TEST1> select * from abc_vw; A B
C
---------- ---------- --------
gewerkt. create or replace trigger iou_abc_vw instead of update on abc_vw
1 A
15-05-11
for each row
2 A
16-05-11
begin
5 C
19-05-11
update abc set b = :new.b, c = :new.c
3 B
17-05-11
where
a = :new.a
and
a in (select a_waarde
Onderscheid naar DML-rechten Er is nu nog geen verder onderscheid naar DML-rechten. Op een
from
data d -- join re-
cord_set ds on d.set_id = ds.id
toegekende set is voor de gebruiker nu alles toegestaan. Dit zal niet altijd wenselijk zijn. Hoe kunnen we verder differentiëren
join gebruiker_per_ record_set rs on rs.set_id = d.set_id
naar lezen, wijzigen, verwijderen en inserts? Dit moeten apart registreerbare autorisaties worden.
join gebruiker g on g.id = rs.gebruiker_id
Om dit onderscheid te kunnen maken moeten twee extra
where g.naam = user
zaken gebeuren:
and
1. In het autorisatie datamodel moeten DML rechten worden
rs.upd = ‘J’);
end;
opgenomen en
2. afhankelijk van het statement moet een andere where
conditie worden gebruikt.
Wat gebeurt er als TEST1 probeert alle rijen in de view te wijzigen?
Voor de DML-rechten breiden we tabel GEBRUIKER_PER_RECORD_SET uit met indicatoren voor DML-rechten. TEST1>
update abc_vw set b = b||’***’;
alter table gebruiker_per_record_set add (ins varchar2(1)
4 rijen zijn bijgewerkt.
,upd varchar2(1)
TEST1>
,del varchar2(1)
select * from abc_vw; A B
C
---------- ---------- -------);
Leesrechten worden impliciet verondersteld.
1 A***
15-05-11
2 A***
16-05-11
5 C
19-05-11
3 B***
17-05-11
We gaan gebruiker TEST1 op record set 1 autoriseren voor muteren, deleten en inserten: Record 5 is niet gewijzigd want het is niet opgenomen in een reupdate gebruiker_per_record_set set ins =
cordset waar de gebruiker mutatierechten op heeft. (Merk op dat
‘N’, upd
volgens de feedback er vier records zijn gewijzigd, ook al zijn dat
= ‘N’, del
= ‘N’;
update gebruiker_per_record_set set ins = ‘J’, upd
= ‘J’, del
er feitelijk maar drie.)
= ‘J’
where gebruiker_id = 1 and set_id = 1;
Wat de Instead-Of trigger hier doet, kan ook worden geïmplementeerd door middel van VPD (althans binnen een Oracle Enterprise Edition). Voor VPD zijn twee acties nodig:
18 OGh Visie
Data autorisatie in Oracle
1. aanmaken van een functie die een where clause levert
Ook in de aanroep naar DBMS_RLS zullen de policy_name, poli-
2. registreren van deze functie bij de DBMS_RLS package zodat
cy_function en statement_types aangepast moeten worden.
VPD zal nu de where-clauses van de functies toevoegen aan het
deze actief wordt toegepast.
statement dat wordt uitgevoerd tegen tabel ABC. Ad 1: aanmaken van de functie:
De resultaten zullen dezelfde zijn als die tegen de view:
create or replace function abc_update (p_
TEST1> select * from abc;
schema varchar2, p_object varchar2) return varchar2 is
A B
begin
C
---------- ---------- --------
return q’# a in (select a_waarde
1 A
15-05-11
2 A
16-05-11
from
data d
5 C
19-05-11
join
gebruiker_per_record_set
3 B
17-05-11
rs on rs.set_id = d.set_id join on g.id
gebruiker
g
En ook de update werkt hetzelfde:
= rs.gebruiker_id where
g.naam = user
and
rs.upd = ‘J’)
#’;
TEST1> update abc set b=b||’===’; 3 rijen zijn bijgewerkt.
end; /
TEST1> select * from abc;
Ad 2. registreren
A B
C
EIGENAAR
---------- ---------- -------- ---------begin DBMS_RLS.ADD_POLICY(
1 A===
15-05-11
2 A===
16-05-11
object_schema
=> ‘APP_DBA’,
3 B===
17-05-11
object_name
=> ‘ABC’,
5 C
19-05-11
policy_name
=> ‘ABC_UPD_POLICY’,
function_schema => ‘APP_DBA’,
4 rijen zijn geselecteerd.
policy_function => ‘ABC_UPDATE’, statement_types => ‘UPDATE’); end;
Insert
/
Eén statement type is nog niet aan de orde geweest, namelijk insert. Recht op insert wijkt af van andere DML-statements. Insert rechten hebben namelijk niet betrekking op de records in de re-
Voor delete en select kunnen vergelijkbare functies worden
cordset (want die zijn er al) maar op de tabel zelf. In het autori-
gecreëerd. Deze zijn vrijwel identiek, alleen de where clause is
satiemodel betekent het recht op insert een recht om records toe
verschillend.
te voegen aan de recordset.
De delete where clause is als volgt: Het nieuwe gegeven zal dan ook in de recordset moeten worden where g.naam = user
opgenomen. Zo niet, dan is het record wel aangemaakt maar nie-
and
mand is voor dit record geautoriseerd. In geval van VPD zou dit
rs.del = ‘J’
record zelfs voor alle gebruikers onzichtbaar blijven. En de select where clause:
where g.naam = user
Daarom bevat de instead-of-insert trigger twee inserts: - een insert in de applicatie tabel ABC en - een insert in de autorisatie tabel DATA.
OGh Visie
19
Data autorisatie in Oracle
Maar voor TEST1 zal het goed gaan: create or replace trigger ioi_abc_vw instead of insert on
TEST1> insert into abc_vw (a, b, c) val-
abc_vw
ues (‘7’, ‘D’, to_date(‘21-05-2011’, ‘dd-
for each row
mm-yyyy’));
declare doel_set record_set.id%type;
1 rij is aangemaakt.
begin select set_id
TEST1> select * from abc_vw;
into
doel_set
from
gebruiker_per_record_set rs
join
gebruiker
g.id
g
A B on
C
---------- ---------- -------1 A===
15-05-11
where
g.naam = user
= rs.gebruiker_id
2 A===
16-05-11
and
rs.ins = ‘J’;
3 B===
17-05-11
5 C
19-05-11
7 D
21-05-11
insert into data (set_id, a_waarde) values (doel_set, :new.a); insert into abc (a, b, c ) values (:new.a, :new.b, :new.c);
In een VPD functie is het niet mogelijk om DML op te nemen. Immers, de functie retourneert een string: de where clause. Afgezien daarvan zijn er geen extra parameters aan de VPD functie
exception when no_data_found then raise_application_error (-20000, ‘U
mee te geven. De insert in de DATA tabel kan dan worden ondergebracht in een Before-Row-Insert trigger op tabel ABC.
heeft geen insert rechten’);
Selecteren en updaten van meerdere recordsets is geen probleem,
end;
maar met insert rechten op meerdere recordsets wordt het wat
/
lastig. Gesteld dat een record in één terecht hoort te komen, hoe geef je dat dan aan? Een oplossing kan zijn om slechts op
Het resultaat is als volgt, eerst proberen als gebruiker TEST2, die
één recordset insert rechten toekennen, of de record set als een
geen insert rechten heeft:
parameter mee te geven. Dit laatste zou kunnen door gebruik te maken van context variabelen.
conn TEST2/TEST2 Verbonden.
Conclusie
TEST2> insert into abc_vw (a, b, c) val-
In dit artikel is een concept gepresenteerd waarmee toegang tot
ues (‘7’, ‘D’, to_date(‘21-05-2011’, ‘dd-
en DML-rechten op data op recordniveau op een flexibele manier
mm-yyyy’))
zijn vast te leggen. Autorisatie is gescheiden gehouden van de ap-
/
plicatie. Dit heeft het grote voordeel dat wijzigingen in autorisatie
insert into abc_vw (a, b, c) values (‘7’,
onafhankelijk van de applicatie kunnen worden doorgevoerd.
‘D’, to_date(‘21-05-2011’, ‘dd-mm-yyyy’))
In een Enterprise Edition kan dit model ook worden geïmple-
*
menteerd door middel van VPD, waarbij de rechten transparant
FOUT in regel 1:
worden toegepast. In niet-EE omgevingen kan dit worden inge-
.ORA-20000: U heeft geen insert rechten
past door middel van views.
ORA-06512: in “APP_DBA.IOI_ABC_VW”, regel
Gebruikersinterfaces zoals schermen e.d. zullen dan wel via de
16
views moeten lopen, wat een aanpassing van de applicatie in-
ORA-04088: Fout bij uitvoering van trig-
houdt. Tenzij de tabellen hernoemd worden en de views de na-
ger ‘APP_DBA.IOI_ABC_VW’.
men worden gegeven die de tabellen eerst hadden.
Nog wat aandachtspunten In dit artikel zijn autorisaties gekoppeld aan databasegebruikers. Dit zal lang niet in alle gevallen voldoen, bijvoorbeeld in applica-
20 OGh Visie
Data autorisatie in Oracle
ties die via een enkele databaseaccount naar de database connec-
Martiris (www.martiris.nl).
teren (bijvoorbeeld APEX). Ook kunnen autorisaties gekoppeld
Dit artikel is gebaseerd op de presentatie die hij heeft gehouden tijdens
worden aan rollen. Een ander aspect om te overwegen betreft
de OGh APEX-dag. Het in dit artikel gepresenteerde concept ligt ten
performance: grote hoeveelheden referenties naar applicatiedata
grondslag aan Secure Private Data (SPD). SPD biedt Row-Level en
kan tot problemen leiden.
Column-Level autorisatie out-of-the-box, genereert de benodigde code en implementeert dit op een intuïtieve manier via VPD of views.
Peter Rurenga is onafhankelijk Oracle consultant en eigenaar van
SPD is als commercieel product verkrijgbaar.
Bijlage 1 Set demo tabellen, data en users. --setup test gebruikers, tabel en view connect app_dba/app_dba create table abc (a number , b varchar2(10) , c date); alter table ABC add constraint abc_pk primary key(a) ; insert into abc values (1, ‘A’, sysdate+1); insert into abc values (2, ‘A’, sysdate+2); insert into abc values (3, ‘B’, sysdate+3); insert into abc values (4, ‘B’, sysdate+4); insert into abc values (5, ‘C’, sysdate+5); insert into abc values (6, ‘C’, sysdate+6); create public synonym abc for abc; create public synonym abc_vw for abc_vw; create user TEST1 identified by TEST3; create user TEST2 identified by TEST3; create user TEST3 identified by TEST3; grant create session to TEST1, TEST2, TEST3 grant all on abc to TEST1, TEST2, TEST3; grant all on abc_vw to TEST1, TEST2, TEST3;
OGh Visie
21
Joel Goodman – Exadata Database Machine
Presentatie Joel Goodman tijdens OGh themabijeenkomst
A technical introduction of the X2 Exadata Database Machine Op 10 mei 2011 organiseerde de OGh een extra themabijeenkomst over de Exadata Database Machine, gepresenteerd door Joel Goodman, Senior Principal Technical Team Leader bij Oracle. Deze themabijeenkomst werd gehouden bij Ordina in Nieuwegein en trok ruim 90 belangstellenden, die een interessante avond met veel details meemaakten.
Door Frits Hoogland
geschikt voor online transaction
processing (OLTP)
- 2010 - X2: Versie 2, met hardware Joel startte met een overzicht van de hardware en software in een Exadata Database
update.
Machine, namelijk de database server laag,
Exadata optimalisaties
de netwerk/Infiniband laag en de storage
De basisproblemen die Oracle oplost
server laag. De opzet is dat al deze compo-
met Exadata zijn bandbreedte en latency-
nenten door de DBA worden beheerd. Dit
problemen met storage. In eerste instan-
sluit aan op de ‘DBA 2.0’ gedachte, die in-
tie lijkt Exadata storageproblemen op te
houdt dat een moderne DBA ook kennis
lossen door toepassing van een nieuwe
en kunde opbouwt buiten de database (dus
netwerkinfrastructuur,
storage, networking, operating system).
Door het inzetten van Infinibandband,
De term ‘Database Machine’ slaat op alles
met een snelheid van 40 gigabit per sec-
wat een databasemachine omvat: de hard-
onde en - onder andere - RDMA (Remote
ware, de software, licenties, support en
Direct Memory Access, waardoor berich-
dergelijke. De term ‘Exadata’ slaat op de
ten zelfstandig, dus zonder interactie van/
capaciteit van de storage servers gebruikt,
storage server in de databasemachine, en
met het besturingssysteem verzonden kun-
in plaats van CPU capaciteit op de database
dat is wat verwarrend want in de marketing
nen worden) heeft het storage netwerk
servers. De smart scan functionaliteit is
wordt de term ‘Exadata’ dikwijls gebruikt
simpelweg meer bandbreedte en lagere la-
daarnaast volkomen transparant voor de
voor ‘Database Machine’. Op zich goed be-
tency dan conventionele Fiberchannel of
database, er hoeft geen enkele aanpassing
doeld, maar eveneens nogal verwarrend is
Ethernet netwerken.
gedaan te worden om hiervan te kunnen
dat de officiële naam later ‘Oracle Exadata
Maar dat is minder dan de halve waarheid:
profiteren.
Database Machine’ is geworden, waarmee
naast het snelle netwerk tussen database
Naast smart scans kent Exadata ook stor-
de term ‘Exadata’ in de officiële naam is
servers en storage servers biedt Exadata
age indexen. Door middel van een storage
opgenomen.
de mogelijkheid tot smart scans. Met een
index wordt van een groep van database
De Exadata Database Machine is nu alge-
smart scan wordt een gedeelte van een
blokken (ter grootte van 1MB) de mini-
meen bekend en wordt wereldwijd in toe-
query naar de Exadata storage servers ge-
mum en maximum waarde bijgehouden
nemende mate gebruikt. Toch is de data-
zonden en wordt een aantal taken die nor-
op de storage server van de velden in de
basemachine niet nieuw, een overzicht van
maal de database uitvoert, uitgevoerd op de
tabellen in dit blok van 1MB. Als er een
de historie:
storage servers en het resultaat ervan terug
filter in de ‘where’ clause staat van een
- 2008 - V1: Versie 1, op HP hardware,
gezonden naar de database.
query, kan door middel van de storage in-
Dit leidt ertoe dat er aanmerkelijk minder
dex worden bepaald worden of de groep
housing
data naar de database wordt gezonden,
van blokken gelezen moet worden, of uit-
- 2009 - V2: Versie 2, op Sun hard-
reductie is mogelijk tot meer dan 90%.
gesloten kan worden van lezen. Dit kan
Ook wordt hiermee automatisch CPU-
leiden tot een reductie in IO in de storage
exclusief ontworpen voor dataware-
ware, naast datawarehousing nu ook
22 OGh Visie
Infinibandband.
Joel Goodman
Joel Goodman – Exadata Database Machine
servers voor de uitvoering van een query.
De ‘X2-2’ is leverbaar in de volgende
Configuratie
Ook hiervoor geldt dat dit volkomen au-
uitvoeringen:
Een ander belangrijk gedeelte van Exa-
tomatisch gebeurt, zonder dat enige aan-
Quarter rack: 2 database servers, 3 storage
data heeft betrekking op configuratie. Een
passing nodig is.
servers, 2 Infiniband switches
Exadata Quarter rack configuratie gebruikt
Half rack: 4 database servers, 7 storage
zo’n 24 IP adressen over 3 verschillende
Compressie
servers, 2 Infiniband switches
netwerken, een aanzienlijk gedeelte heeft
Als bovenstaande Exadata specifieke zaken
Full rack: 8 database servers, 14 storage
DNS namen nodig die in een externe DNS
(Infiniband, smart scan, storage index)
servers, 3 Infiniband switches
server geconfigureerd dienen te worden,
nog niet genoeg performance opleveren,
De ‘X2-8’ is alleen leverbaar in een full
waaronder 1 DNS naam die naar 3 IP
is er nog een performance optie: Exa-
rack configuratie, waarin 2 database ser-
adressen resolved (voor de SCAN listener).
data Hybrid Columnar Compression. Bij
vers zitten, met elk 8 8-core CPU’s en 1TB
Daarnaast vereist de installatieprocedure
deze vorm van compressie wordt op data
aan geheugen, en 14 storage servers en 3
een NTP server. Andere optionele configu-
opgeslagen per kolom in plaats van per rij
Infiniband switches.
raties van een Database Machine zijn ASR
in groepen van blokken, genaamd ‘com-
Hardware planning is een belangrijk on-
(Automatic Service Request), dat ervoor
pression unit’. Omdat de data per kolom
derdeel van de plaatsing van een Database
zorgt dat hardware issues automatisch ge-
opgeslagen is betere compressie mogelijk.
Machine. Denk hierbij aan floorspace
meld worden bij Oracle, en OCM (Oracle
Bovendien wordt voor de compressie ge-
planning (een Exadata rack is dieper dan
Configuration Manager) die ervoor zorgt
bruik gemaakt van gzip of van bzip2 com-
een standaard 19” rack), koeling (een half
dat configuratie van de Database Machine
pressie (de eerste voor compressie om que-
rack configuratie heeft twee ventilerende
met een bepaald interval (de default inter-
ries te versnellen, de tweede voor maximale
vloertegels nodig) en stroomaansluiting (2
val is 1 dag) in My Oracle Support (voor-
compressie). Doordat de storage servers
of 3 fasen stroom).
heen Metalink) wordt geüpload.
de data kunnen decomprimeren, kan disk Advertentie
IO met compressie worden ‘geruild’ voor CPU power. Er kunnen dus meer gegevens worden gelezen per IO door de compressie, maar dit kost meer CPU dan zonder compressie. De laatste Exadata-specifieke optie, die zeker met performance te maken heeft maar
Vitalizing your organisation with knowledge
voornamelijk gaat om resource management, is de IO resource manager (IORM). Door middel van de resource manager kan een bepaalde hoeveelheid IO’s worden gegarandeerd voor onder andere een user, een service of een database. Dit werkt door middel van een ‘tag’ (label) die aan elke IO request wordt toegevoegd. Zodra IO requests moeten wachten, kan de storage
PeopleSoft-experts Oracle-experts
server door middel van deze tag de prioriteit bepalen. Zolang er geen wachttijd is, wordt alles onmiddellijk uitgevoerd.
Hardware Een aanmerkelijk gedeelte van de Exadata Database Machine betreft hardware. Een voorbeeld daarvan is de uitvoeringen waarin de X2 beschikbaar is. De X2 kent de uitvoering ‘X2-2’ en ‘X2-8’, waarbij de toevoeging van het nummer aan ‘X2’ slaat op het aantal CPU sockets dat gebruikt wordt.
www.sennac.com
T 00 31 (0)10 477 76 95
OGh Visie
23
Gebruiksrechten Oracle software
Eén druk op de knop -
de impact van installatie en configuratie op de gebruiksrechten van Oracle software Software compliance, het staat de afgelopen jaren steeds vaker op de agenda. Veel bedrijven hebben er mee te maken. Als we naar de Amerikaanse markt kijken neemt de hoeveelheid audits toe. Het gevolg is schrikbarend. Het risico van ongelicentieerd gebruik is altijd aanwezig. Maar wat is nu dit risico, waardoor wordt het veroorzaakt en wie is er eigenlijk voor verantwoordelijk? naar te kijken.
productdocumentatie wordt snel duidelijk
Verder kijken dan alleen het aantal li-
dat Oracle Database Enterprise Edition
centies, naar ruimere gebruiksregels, het
niet een afzonderlijk product is, maar een
Twintig jaar geleden was software na
opnemen van nieuwe features in het
verzameling van functionaliteit die wel of
ontwikkeling klaar, dachten we. Inmid-
product etc. Kennis van de restricties
niet zijn inbegrepen bij het product. Het
dels is bekend dat ICT continu aan ver-
vormt een kans om de software efficiënt-
product kan daarom ook beter beschouwd
andering onderhevig is. Nieuwe versies,
er te gebruiker en is dus niet alleen ter
worden als een ‘suite’ van features. Het is
nieuwe producten, nieuwe hardware,
voorkoming van een risico.
dus zaak goed op de hoogte te zijn van deze
Door Mark van Wolferen
nieuwe software - gemaakte afspraken zijn
features en als er nieuwe versies worden
en verplichtingen te herzien.
Oracle restricties, een zaak van vertrouwen
Om ervoor te zorgen dat dit gebeurt zijn
Het recht om een product te gebruiken,
gebruikt mogen worden), is het belangrijk
er nieuwe beroepen ontstaand, zoals Soft-
voor een bepaalde periode en met in acht
de kennis hierover weer aan bij te werken.
ware Asset Management (SAM) mana-
name van bepaalde condities. Hoe zit dat?
Er is namelijk een groot aantal features,
gers die hier op moeten toezien. Toch is
Wat is dat product eigenlijk? Niet alle soft-
zoals de databaseopties, die niet standaard
het niet uitgesloten dat er een significant
ware die op de CD staat of wordt aange-
bij het product zijn inbegrepen.
probleem kan ontstaan, zeker met betrek-
boden als download. Oracle distribueert
Daarnaast is er de periode, verreweg de
king tot Oracle software. Een van de voor-
software op basis van vertrouwen, met als
makkelijkste restrictie; de periode die Ora-
naamste redenen hiervoor is dat slechts
gevolg een ongelimiteerde installatie en
cle hanteert is meestal eeuwigdurend, ook
het aantal gebruikers wordt bekeken. Tijd
distributie. Niet beperkt door installatie-
wel ‘perpetual’ genoemd. Dit betekent dat
om breder te kijken naar gebruikers en
codes of aanmeldingen. Oracle vertrouwt
het product waarvoor de rechten zijn ge-
naar restricties
erop dat eindgebruikers de juiste rechten
kocht tot in de eeuwigheid gebruikt mag
bezitten voor gebruik. In gebruiksbepal-
worden. Dat lijkt wat lang, dus zijn er al-
niet meer actueel. Hoog tijd om rechten
Licentie restricties
geïnstalleerd (bijvoorbeeld omdat deze door het hebben van een support contract
ingen wordt gekeken naar wat er geïn-
ternatieven voorhanden, zoals een term
Software wordt niet verkocht, maar geli-
stalleerd is en waar het draait. Dit staat
licentie, die dit recht voor een periode van
centieerd. Licenties geven het recht om
dus los van of het daadwerkelijk gebruikt
1 - 5 jaar aanbiedt. Echter, als de termijn
een product te gebruiken, tegen bepaalde
wordt. Er staat code van Oracle, dus moet
verstreken is dient het product volledig
condities. Restricties waaraan een eindge-
er een licentie zijn. Het is tenslotte copy-
van de systemen te zijn verdwenen, ook
bruiker zich dient te houden; hoe minder
right.
als het enkel om kopie gaat die voor ar-
restricties, des te duurder het wordt. Het
chiefdoeleinden gebruikt wordt.
is dus zaak goed van deze restricties op
Het product staat genoemd op het order-
de hoogte te zijn, de juiste te kiezen en ze
formulier, stel Oracle Database Enterprise
Condities
goed in de gaten te houden. Hierin ligt
Edition, maar in de voorwaarden (OLSA)
Tot slot zijn er de condities. Deze zijn het
vaak het probleem. Een groot deel van de
wordt via Oracle’s site (via oracle.com/
meest complex en kunnen ook sterk van
restricties krijgt vaak helemaal geen aan-
contracts) verwezen naar de product-
product tot product verschillen. Deze kun-
dacht, terwijl het slim is om daar goed
documentatie. In de licentie sectie van de
nen in drie categorieën worden ingedeeld:
24 OGh Visie
Gebruiksrechten Oracle software
(i) Algemene condities; deze gelden
juist worden gebruikt. De interne valida-
simpel om bijvoorbeeld te zeggen dat ‘de
ties dienen daar aan te worden aangepast.
DBA’s het maar moeten bijhouden’. Er
(ii) Productcondities; deze gelden voor
voor alle software
Dat blijft echter reactief en zorgt ervoor
kan echter wel gesteld worden dat elke
dat de compliance problemen inzichtelijk
techneut er vroeg of laat mee in aanmerk-
(iii) Gebruikscondities; deze gelden voor
specifieke producten
worden, maar voorkomt deze niet. Beter
ing zal gaan komen. Het is ook een feit dat
het gebruik van de product(en)
is om dit al de revue te laten passeren in
als iedereen zijn verantwoordelijk neemt
Het gaat wat ver om alle categorieën te
de verschillende fasen van het ontwerp
voor zijn deel, het een makkelijker te ma-
behandelen, zeker voor alle producten en
en implementatie van de software. Zeker
nagen probleem wordt.
het daaraan gerelateerde gebruik. Maar
als het gaat om Oracle software, die vaak
denk bij de (i) algemene condities aan
een centrale rol heeft binnen de archi-
Op de OGh themabijeenkomst in maart
welk bedrijf de rechten heeft, wie het mag
tectuur. Veel keuzes die worden gemaakt
van dit jaar stond dit onderwerp centraal.
gebruiken, dat het voor het voor de onder-
in het ontwerp, hebben grote impact op
Duidelijk was dat velen van de aanwezi-
steuning van interne processen gebruikt
het product en op veel van de condities.
gen er al mee te maken hebben gehad en
mag worden etc. De (ii) productcondities
Keuzes in hardware, server set-up (virtu-
ook het belang van een ‘licentiebehoefte
slaan op de verschillende features binnen
alisatie/partitioning), datacommunicatie
bepaling’ tijdens de ontwerpfase zeker
het product, de productafhankelijkheden
en data recovery zijn rechtstreeks van in-
werd ingezien. Een interessante discus-
en vereisten die er rond het product
vloed op wat er nodig is en de restricties
sie ontstond over de vraag wie de verant-
worden gesteld. Tot slot bevatten de (iii)
die vereist zijn. Het zijn dus de technische
woordelijkheid draagt. Dat komt mede
gebruikscondities de meer bekendere za-
keuzes die voor een groot deel de kosten
doordat er waarschijnlijk geen duidelijk
ken zoals het aantal licenties, welke licen-
van de software bepalen. Eenmalig, maar
antwoord op is, het is wat je afspreekt
tiemetriek, de bijbehorende definities, de
ook in de toekomst omdat de support
met elkaar. Het belangrijkste is dát het af-
minima, het licentietype etc.
prijs daaraan gerelateerd is. Elke verander-
gesproken wordt, met name al tijdens het
Al met al lijkt dit veel, en dat is het ook.
ing, zoals het updaten van de hardware, is
ontwerp.
Oracle is een leverancier die veel verschil-
daarom van invloed op de vereisten voor
lende gebieden binnen de infrastructuur
Oracle.
Mark van Wolferen
bestrijkt, van desktop softwareapplica-
Hoe werkt dat op dit moment in de prak-
(
[email protected]) is 11 jaar
ties, ERP-applicaties, middleware, data-
tijk? Stel er komt een externe consultant
werkzaam geweest voor het Oracle License
base, operating systeem tot recentelijk
binnen een bedrijf, waar vind deze de in-
Management Services Team, waarvan de
zelfs hardware. Oracle biedt duizenden
formatie over de restricties waarbinnen hij
laatste 6 jaar als EMEA director. Sinds eind
producten en om het juiste commerciële
of zij moet blijven? Als de hardwaregroep
2008 is hij mede eigenaar van b.lay, een in
model te hebben en te behouden voor al
veranderingen wil maken, hoe weten zij
Nederland gevestigd bedrijf dat onafhankelijk
deze producten wordt er gebruik gemaakt
wat hun speelveld is zonder de restricties
licentiekennis aanbiedt en oplossingen levert
van veel restricties en regels. De meeste hi-
te overtreden?
aan beide partijen om licenties duidelijk en
ervan zijn niet complex, vele zeer logisch, combinatie met de producten blijven het
Ieder zijn verantwoordelijkheid
er wel heel veel. Het advies is dan ook om
Bedrijven dienen eraan te werken om zelf
zich niet te richten op alle mogelijkheden,
de juiste kennis intern beschikbaar te stel-
maar te beginnen bij wat er voor een
len. Maar ook de betrokken techneuten
bedrijf is afgesproken, ofwel de contact-
binnen de organisatie hebben een rol om
uele positie. Dan zal blijken dat het over-
meer kritische vragen te stellen en mis-
grote deel van al deze restricties en regels
schien zelfs wel een goede basiskennis
niet van toepassing zijn en management
te ontwikkelen van licentiëring, omdat
daarvan wel goed mogelijk is.
zij tenslotte een groot deel de technische
en vele zijn al jaren hetzelfde, maar in
Techneuten raak betrokken!
beheersbaar te krijgen.
keuze bepalen. Het is moeilijk een schuldige aan te wijzen als er compliance problemen zijn. On-
Het is dus duidelijk dat er meer nodig is om
danks dat de techneuten een belangrijke
ervoor te zorgen dat licenties optimaal en
rol spelen in het verhaal is het ook te
OGh Visie
25
ProRail – de Objectgerichte Basisbeheerkaart
Alle Railinfrastructuur-informatie centraal
ProRail -
de Objectgerichte Basisbeheerkaart ProRail is verantwoordelijk voor het spoorwegennetwerk van Nederland. ProRail zorgt derhalve voor het aanleggen, het onderhouden en het beheren van dit spoorwegennetwerk. Dit netwerk beslaat ruim 6.500 kilometer spoor en wordt bereden door ruim 6.500 treinen. De veiligheid hierbij is van zeer groot belang: elke dag verplaatsen zich ongeveer 1.200.000 reizigers en zo’n 100.000 ton goederen over dit spoor. Om dit alles in goede banen te leiden moet er heel wat worden geregeld. ProRail verdeelt de beschikbare ruimte op het spoor, regelt het treinverkeer en voorziet alle betrokkenen (zowel reizigers als vervoerders) van relevante informatie. Daarnaast worden telkens nieuwe ontwikkelingen doorgevoerd, zoals de aanleg en onderhoud van nieuw spoor, het bouwen en beheren van stations en het onderhouden van allerlei bestaand materieel zoals wissels, seinen en overwegen.
Geschiedenis
deze dataset gebruikt worden voor allerlei
Een aantal jaren geleden was de basis-
nieuwe toepassingen. Het belangrijkste as-
beheerkaart opgeslagen in Microstation
pect is daarom de geografische basis van de
Om alles goed te kunnen beheren, om het
designfiles per kaartblad. Die gehele data-
objectgerichte basisbeheerkaart, waardoor
spoor in stand te kunnen houden en om
set omvatte ruim 3000 kaartbladen. Op
de data universeel gebruikt kon worden
het plannen van toekomstige infrastruc-
deze kaartbladen werden de objecten door
voor ontsluiting van gegevens in verschil-
tuur te kunnen faciliteren maakt ProRail
middel van lijnen en symbolen weerge-
lende systemen binnen ProRail, zoals SAP
volop gebruik van kaartmateriaal. Naast
geven. Deze objecten waren in de kaart
en RailMaps, de portal voor geografische
infrastructuurobjecten wordt dit kaart-
goed te herkennen, maar konden niet af-
informatie van ProRail. Daarnaast werd
materiaal gebruikt voor het kunnen vol-
zonderlijk worden geselecteerd omdat er
een verbetering van de kwaliteit verkregen
doen aan wet- en regelgeving op het gebied
geen onderscheid tussen de objecten ge-
door de inhoud van de dataset af te stem-
van milieu en veiligheid op en rond het
definieerd was. Naast deze objecten werd
men op de ‘Objectenstructuur en Basislijst
spoor. Daarnaast zijn er externe partijen/
ook het door ProRail gehanteerde systeem
Objecten’ (BID00001), het toevoegen van
klanten die gebruik maken van beschik-
voor identificatie van objecten op basis
de identificatie en het verbeteren van de
baar kaartmateriaal van ProRail. Binnen
van het lineaire systeem van geocode en
actualiteit.
ProRail is de afdeling Assetmanagement
kilometrering op de kaartbladen weerge-
Informatie belast met het beheer en on-
geven. Aan deze identificatie zijn alle ge-
Applicatie
derhoud van dit kaartmateriaal.
gevens over de objecten gerelateerd. Dit
Bij ProRail is een beheerproces rondom de
De meest gedetailleerde kaart die ter onder-
betreft niet alleen alle objecten die met de
basisbeheerkaart ingericht om de actual-
steuning van de werkzaamheden gebruikt
railinfrastructuur zelf te maken hebben,
iteit en kwaliteit zo goed mogelijk te kun-
wordt, is de basisbeheerkaart (BBK). De
maar ook (daaraan gerelateerde) objecten
nen waarborgen. Het beheerproces kent
basisbeheerkaart is een grootschalige topo-
als bijvoorbeeld werkzaamheden, ongeval-
de volgende workflow:
grafische kaart, waarop naast de railinfra-
len, storingen en natuurwaarden.
- Controle van de designfiles
structuur ook de directe omgeving van het
In de loop van de tijd werd het steeds belan-
- Import designfiles in de database
spoor is weergegeven. Binnen ProRail is de
grijker om de data-infrastructuur te verbe-
- Controle van de geografische dataset
basisbeheerkaart de dataset waarin de geo-
teren. Op een gegeven moment is besloten
- Verbeteren van de geografische dataset
grafische componenten van railinfrastruc-
een objectgerichte basisbeheerkaart te
- Verwerken van de dataset naar de
tuurobjecten wordt beheerd. De afdeling
ontwikkelen.
presentatieomgeving
Assetmanagement Informatie - Infrada-
opslag en door het leggen van koppelin-
- Koppeling met andere informatie-
tacenter onderhoudt de basisbeheerkaart.
gen met andere informatiesystemen kan
systemen
Door Kenneth Willems
26 OGh Visie
Door
de
objectgerichte
ProRail – de Objectgerichte Basisbeheerkaart
bestanden. Ook kunnen overige imports, zoals overwegen, seinen en andere objecten vanuit andere bronapplicaties worden verwerkt in de database. Daarnaast vindt er voor een aantal objecten een koppeling plaats met het SAP-systeem. Verder worden via de BBK ook de conversies verzorgd: conversies van de objecten naar de presentatieomgeving en ook conversies van spoordata uit de OBBK naar het Oracle Network Data Model met het spoornetwerk. Voor een korte impressie via een schermafbeelding zie figuur 2. Na het muteren van elementen in de BBK-omgeving door middel van de waswordt bestanden, kunnen er onjuistheden in de data ontstaan. Om deze elementen te kunnen corrigeren, zijn er (SQL) scripts ontwikkeld die deze elementen groeperen in zogenaamde ‘werklijsten’; verzamelinFiguur 1 - Schermafbeelding van de module controle designfiles
gen van objecten met dezelfde fouten. Met behulp van de applicatieschil ron-
- Export/ontsluiting ten behoeve van
controle vindt plaats door middel van een
dom Cadcorp SIS kunnen deze elementen
gebruiksvriendelijke user interface; voor
worden gelokaliseerd, waarna ze kunnen
een korte impressie zie figuur 1.
worden verbeterd. Figuur 3 laat zo’n werk-
(externe) klanten en projecten.
Om de workflow van het beheerproces zo
lijst zien, waarbij van een element uit de
goed mogelijk te kunnen ondersteunen is
In de BBK vindt het daadwerkelijke be-
lijst de attributen worden getoond. In het
de applicatie Basisbeheerkaart daarop af-
heer van de dataset plaats. Aangeleverde
scherm met de kaart wordt datzelfde ele-
gestemd en opgebouwd uit drie hoofdon-
designfiles met mutaties kunnen worden
ment (object) getoond, zodat de gebruiker
derdelen:
verwerkt in de database. Deze worden
een goed beeld heeft om welk object het
- Controle Designfiles
aangeboden in de vorm van was-wordt
gaat.
- Beheer Basisbeheerkaart - Grafisch Beheer Basisbeheerkaart. Voor het vastleggen van gegevens in de database van de BBK worden Microstation designfiles aangeleverd. Een leverancier maakt deze bestanden op basis van actuele luchtfoto’s. Deze bestanden worden door de leverancier en door ProRail zelf gecontroleerd op een aantal vastgestelde kenmerken. Het belangrijkste is dat in de opgegeven bestanden alleen die objecten voorkomen, die er volgens de ‘Bestandspecificaties geo-objecten Railinfrastructuur’ in mogen voorkomen. Voor het controleren van deze aangeleverde Microstation V8 bestanden wordt gebruik gemaakt van FME. Het aansturen van de
Figuur 2 - Schermafbeelding van de BBK
OGh Visie
27
ProRail – de Objectgerichte Basisbeheerkaart
Voor het beheer van geo-objecten wordt,
terface. Van elk object zullen naast de geo-
In de grafische beheerapplicatie staat de
vanwege het bijhouden van historie op de
grafie ook alle attributen zichtbaar zijn. In
kaart centraal. In de kaart wordt de geo-
data, gebruik gemaakt van transactie ge-
de meeste gevallen is de referentie-data
grafische data uit de database getoond.
baseerde verwerking. Er kan geen gebruik
volledig beschikbaar in de objecttabellen,
Binnen deze grafische beheerapplicatie is
worden gemaakt van een directe koppeling
waardoor er geen onnodige queries op de
een drietal thema’s gedefinieerd:
van de Cadcorp SIS component op de da-
database noodzakelijk meer zijn.
- Beheer geo-objecten
tabase. Als dit wel gedaan zou worden, zou
- Spoor en Topo presentatie
elke geografische (deel)mutatie resulteren
De objecten in deze presentatieomgeving
- Spoor NDM (Netwerk Data Model)
in een nieuw historisch record in de da-
zullen bekeken kunnen worden met het
presentatie.
tabase. Alleen het eindresultaat van alle
‘Spoor en Topo presentatie’ thema en zijn
bewerkingen op een bepaald object wordt
niet meer in deze omgeving te wijzigen.
Per thema is een legenda gedefinieerd;
opgeslagen in de database. De applicatie
Datzelfde geldt ook voor objecten die in
de lagen binnen deze legenda worden
zorgt ervoor dat dit geregeld wordt:
het thema ‘Spoor NDM (netwerk data
gevormd door de objecten uit de object-
- Zowel geografische-, als attribuutdata
model) presentatie’ in de presentatieom-
encatalogus, of de objecten uit de presen-
geving worden getoond.
tatieomgeving. Het is mogelijk om lagen
- De mutaties kunnen worden
aan en uit te zetten met behulp van de
geannuleerd
Figuur 4 laat een schermafbeelding zien
legenda. Door middel van een selectietool
- De wijzigingen kunnen worden
van de grafische beheeromgeving (OBBK)
kunnen objecten worden geselecteerd en
opgeslagen in de database, waarbij er
waarin de objecten worden getoond, met
kan er attribuutinformatie worden op-
in de database, door middel van data-
een luchtfoto als achtergrond.
gevraagd. Alleen in de beheeromgeving
base-triggers, historie wordt aange-
kan de geometrie en de bijbehorende at-
maakt voor de transactie.
kan worden gewijzigd
tributen van een object gewijzigd worden.
Vanuit
de
presentatieomgeving
kun-
nen de objecten gemakkelijk beschikbaar
Alle elementen van de beheeromgeving
Bij het verwerken van de datasets naar de
worden gesteld aan andere informatiesys-
moeten voldoen aan de specificaties van
presentatieomgeving worden van de punt-
temen. Hiervoor zijn interface gebruik-
de objecten catalogus.
en, lijnen en teksten uit de BBK-omgeving
ers gedefinieerd. Een groot voordeel van
geconverteerd naar objecten en geplaatst
het gebruik van deze structuur is dat de
in de presentatieomgeving. De presenta-
beheeromgeving geen hinder ondervindt
tieomgeving bevat dezelfde geografische
van de raadpleeg- en analyse-acties van
component, die door middel van een
de interface gebruikers. Ook kunnen ob-
kaart centraal is opgenomen in de user in-
jecten vanuit deze omgeving gemakkelijk
Figuur 3 - Schermafbeelding van een werklijst
28 OGh Visie
Figuur 4 - Schermafbeelding van de OBBK
ProRail – de Objectgerichte Basisbeheerkaart
worden geëxporteerd naar verschillende
zichtbaar een gedeelte van de beschikbaar
ing van de BBK is opgebouwd uit tabellen
(geografische) formaten ten behoeve van
gestelde BBK-data.
met objecten die, na conversie vanuit het
derden. Dat gebeurt meestal met behulp
BBK-schema, bewerkt zijn tot logische
van FME workbenches.
Datamodel
Naast het ondersteunen van het beheer-
Het datamodel van de BBK (beheerom-
worden de lijnen samengevoegd tot vlak-
proces van de Basisbeheerkaart kan de da-
geving) is opgebouwd uit een groot aantal
ken. In de objectcatalogus is per object-
tabasestructuur ook gebruikt worden voor
tabellen, die in hoofdlijnen zijn in te delen
type gedefinieerd of en hoe er vlakken
het verrijken van informatiesystemen in
in de volgende tabelgroepen:
gevormd moeten worden. Omdat veel
beheer bij ProRail waarbij een geografis-
- Tabellen met gebieden (vlakken)
referentie-data niet in de presentatieom-
che component ontbreekt. Veelal zijn er
- Tabellen met topografische objecten
geving (redundant) is opgeslagen, en om
wel administratieve attributen aanwezig
(gesplitst in tabellen met puntobject-
een betere performance te kunnen waar-
die een geografische locatie kunnen mark-
en en tabellen met lijnobjecten)
borgen, hebben de objecttabellen in de
eren, zoals een X,Y locatie of een kilome-
- Tabellen met teksten (inclusief geo-
presentatieomgeving van het BBK-schema
trering, maar een echt geografisch object
ook referentie-data in zich. Dit schept ook
ontbreekt. Door deze data te voorzien van
objecten)
duidelijkheid voor informatiesystemen die
een geografische component is het ineens
- Referentietabellen (waaronder de
gebruik maken van deze data en daardoor
mogelijk deze data ook te visualiseren en
objectcatalogus).
de attributen met volledige omschrijving-
grafische componenten, als punt-
breder in te zetten binnen ProRail.
objecten. Van een groot aantal objecten
en kunnen weergeven.
Een voorbeeld van het bedrijfsbreed be-
De topografische objecttabellen bevat-
schikbaar stellen van data vanuit de BBK-
ten alleen lijnen en punten (cellen). De
Techniek
omgeving is de webapplicatie RailMaps.
gegevens zijn ingelezen uit Microstation
De BBK-applicatie is gebouwd rondom
Door middel van materialized views in
designfiles of zijn bewerkt door middel van
Cadcorp’s SIS. De data wordt opgesla-
een
wordt
een CAD-applicatie. Omdat de data in de
gen in een Oracle Spatial 10.2 database.
data vanuit het OBBK-schema ontsloten.
tabellen ook gebruikt wordt om Microsta-
Voor het muteren en controleren van de
Op deze manier is de getoonde data ac-
tion designfiles aan te maken, zijn er in de
designfiles met geografische data wordt
tueel en kunnen ook andere datasets die
tabellen extra attributen opgenomen om
gebruik gemaakt van de CAD-applicatie
in deze webapplicatie zijn opgenomen
dit te kunnen faciliteren (bijvoorbeeld ro-
Microstation. De importmodules gebruik-
worden gerelateerd aan de BBK-dataset. In
tatie van teksten, rotatie van cellen, stijlen
en FME workbenches om de designfiles in
figuur 5 is een schermafdruk te zien van
etc.).
de database in te lezen en de export mod-
de webapplicatie RailMaps, met daarin
Het datamodel van de presentatieomgev-
ules maken gebruik van FME workbench-
aparte
raadpleeg-database
es om de gewenste output te kunnen vervaardigen. Een aparte database bevat data in materialized views, gebaseerd op de presentatieomgeving van de BBK. Door middel van ESRI-programmatuur wordt die data vervolgens weergegeven in onder andere web-applicaties. Kenneth Willems is Oracle Spatial consultant bij ATLIS.
[email protected]
Figuur 5 - Schermafbeelding van de webapplicatie RailMaps
OGh Visie
29
Column
Column
Theo Koster
Legal Oracle? Uit de markt hoor ik meer en meer dat Oracle wel erg goed begint te worden in compliance. Omdat compliance veelal buiten het blikveld van de meeste technici valt: als je software van Oracle koopt, dan is dat in veel licentievormen afgestemd op een vooraf bepaald aantal gebruikers. Als je meer gebruikers toelaat, dan moet je bijbetalen. Op zich is dat nog wel redelijk. Wat in de markt als minder redelijk wordt ervaren, is de vasthoudendheid en toonzetting waarmee klanten worden benaderd. Verschillende organisaties hebben mij verteld over de dreigbrieven die ze hebben ontvangen en die - op zijn minst - bepaald niet klantvriendelijk waren. ‘Oracle had geconstateerd… jij diende maar te bewijzen dat… als je niet snel dan’… enzovoort. Ik heb dit fenomeen een keer eerder gezien bij een andere
Oracle naar Microsoft conversiemogelijkheden gedemon-
softwareleverancier. Daar was de compliance-jacht verheven
streerd. Zielige lutsers!
tot een nieuwe vorm van acquisitie. Eigenlijk verkochten ze bestaande klanten. Dat uitpersen kun je echter niet al te lang
Maar wie wordt er nu de dupe van: de gebruikers. Ik ben er
volhouden, de omzet en de aandelenkoers van het betreffende
ten diepste van overtuigd dat als je juridische aspecten in jouw
bedrijf waren binnen twee jaar gedecimeerd. Ik vind het daar-
klantrelatie laat domineren, het snel is afgelopen. Natuurlijk
om een teken aan de wand als een softwareleverancier zich
begrijp ik dat je je rechten wilt handhaven, maar dat moet
ineens overdreven gaat richten op compliance. Lukt het niet
wel in goed overleg en niet via juristen gaan. Oracle moet wat
meer om gewoon voldoende nieuwe klanten te werven? Ik snap
dat betreft dus erg oppassen dat men klanten niet van zich
heus wel (en ben het er zelfs mee eens) dat klanten zich aan
vervreemdt.
de afspraken moeten houden. Maar als bedrijven zich geschoffeerd gaan voelen, dan ga je echt een stap te ver. Oracle moet
Theo Koster is directeur van Conclusion Corporate & Public
daarmee oppassen: het is een slechte langetermijnstrategie en
Communication. Zijn e-mailadres
[email protected] staat
je vervreemdt je van bestaande klanten. Tel uit je verlies…
open voor reacties.
Maar, juridisering smaakt schijnbaar naar meer. Oracle heeft
PS: De tentakels van de juridische afdeling van Oracle gaan
enorme rechtszaken lopen waarbij men SAP en Google voor
zover dat ze zelfs een ‘hello world’ Java-programmaatje offi-
de rechter sleept. SAP was vanwege (overigens bewezen) dief-
cieel voorzien hebben van een ‘legal notice’. Sterker nog, het
stal van code. Google gaat over de vermeende schending van
programmaatje is slechts 3 regels code en de juridische rand-
patentrechten. Oracle heeft bij Google een ‘miljarden’-eis
voorwaarden voor dit intellectuele wonder beslaan 32 regels.
neergelegd. Miljarden! Er zijn landen op deze wereld waar het
Voor wie me niet gelooft: http://download.oracle.com/javase/
totale bruto nationaal product maar enkele miljarden bedraa-
tutorial/getStarted/application/examples/HelloWorldApp.
gt. Oracle lijkt wel een patent-trol.
java
En het houdt niet op. Oracle stopt met de ondersteuning voor de HP Itanium processor. En hup, weer naar de rechter. HP heeft zelfs op een Oracle gebruikersconferentie uitgebreid haar
30 OGh Visie
A-Packs Complete dienstverlening rondom Oracle APEX
keln de ontwik Verhogen va met behulp van t productivitei support kit X de APE
ontwikkelen Fixed price X-applicatie van uw APE
kelt de ontwik Toegang to an Transfer omgeving v
A-Packs
complete dienstverlening rondom Oracle APEX n uw eigen Opleiden va Oracle APEX s in medewerker
te beheer 24*7 remo mgeving Xo van uw APE
y Designer-repositor Migreren van uw hulp van de naar APEX met be Assistant APEX Migration
Transfer Solutions Stationsweg 19 | 4141 HB Leerdam | T 0345-616 888 | F 0345-616 300
[email protected] | www.transfer-solutions.com
WWW.TRANSFER-SOLUTIONS.COM
=
=
= = =
= ^äë=àÉ=àÉòÉäÑ=âìåí=òáàåI=ÄÉå=àÉ=çé=àÉ=ÄÉëíK=_áà=aÉäí~=iäçóÇ=dêçÉé=îáåÇÉå=ïÉ= Ç~í=ÜÉÉä=åçêã~~äK=a~í=ÖÉäÇí=Çìë=ççâ=îççê=ÉÉå=pÉåáçê=lê~ÅäÉ= låíïáââÉä~~êK=gÉ=ÄÉåí=îÉê~åíïççêÇÉäáàâ=îççê=ÉÉå=î~å=ÇÉ=ÄÉä~åÖêáàâëíÉ=Éå= ãÉÉëí=çãî~åÖêáàâÉ=lê~ÅäÉ=Ä~Åâ=çÑÑáÅÉ=ëóëíÉãÉå=î~å=aÉäí~=iäçóÇ=iÉîÉåK= káÉí=~ääÉÉå=ÇÉ=íÉÅÜåáëÅÜÉ=çåíïÉêéÉåI=ççâ=ÇÉ=ÄçìïI=ÇÉ=ïáàòáÖáåÖÉå=Éå= ìáíÄêÉáÇáåÖÉå=î~å=Çáí=ëóëíÉÉã=î~ääÉå=çåÇÉê=àçìï=äÉáÇáåÖK=tÉ=òçÉâÉå=ÉÉå= ëíÉêâÉ=éÉêëççåäáàâÜÉáÇ=ãÉí=~ãÄáíáÉ=Éå=é~ëëáÉK=aáÉ=~äíáàÇ=îççê=ÉÉå=íáÉå= Ö~~íK=gÉ=ÄÉåí=ÉÉå=çåãáëÄ~êÉ=ëÅÜ~âÉä=áå=çåë=ÄÉÇêáàÑK=båI=àÉ=âêáàÖí=ÜáÉê=~ääÉ= êìáãíÉ=çã=Çççê=íÉ=ÖêçÉáÉå=Éå=àÉòÉäÑ=íÉ=çåíïáââÉäÉåK== = = √=dçÉÇ=ë~ä~êáë=Éå=ÉÉå=ÇÉêíáÉåÇÉ=ã~~åÇ= √=báÖÉåíáàÇëÉ=Éå=ÑäÉñáÄÉäÉ=éÉåëáçÉåêÉÖÉäáåÖ= √=mÉêëççåäáàâ=çåíïáââÉäÄìÇÖÉí=Éå=ìáíÖÉÄêÉáÇÉ=ÇççêÖêçÉáãçÖÉäáàâÜÉÇÉå= √=fåíÉêÉëë~åíÉ=âçêíáåÖÉå=çé=ÜóéçíÜÉâÉå=Éå=îÉêòÉâÉêáåÖÉå= √=cäÉñáÄÉäÉ=ïÉêâíáàÇÉå=Éå=ÇÉ=ãçÖÉäáàâÜÉáÇ=çã=é~êííáãÉ=íÉ=ïÉêâÉå= √=dê~íáë=ÖÉÄêìáâ=î~å=ãçÇÉêåÉ=ëéçêíÑ~ÅáäáíÉáíÉå= = bÉå=~ÑÖÉêçåÇÉ=çéäÉáÇáåÖ=çé=ÜÄç=çÑ=~Å~ÇÉãáëÅÜ=åáîÉ~ìK=sÉêÇÉê=ÜÉÄ=àÉ= ãáåëíÉåë=îáàÑ=à~~ê=~~åíççåÄ~êÉ=âÉååáë=Éå=Éêî~êáåÖ=ãÉí=lê~ÅäÉ=NMÖ=çÑ= ÜçÖÉêI=lê~ÅäÉ=cçêãë=_ìáäÇÉêI=oÉéçêíëI=pni=Éå=miLpniK=hìå=àÉ= Ç~~êå~~ëí=ïÉêâÉå=ãÉí=ms`pI=lê~ÅäÉ=^ééäáÅ~íáÉ=pÉêîÉêI=ujiI= gaÉîÉäçéÉê=Éå=g~î~I=Ç~å=áë=Ç~í=~Äëçäììí=ÉÉå=éê¨K= = sççê=ãÉÉê=áåÑçêã~íáÉ=åÉÉã=àÉ=Åçåí~Åí=çé=ãÉí=êÉÅêìáíÉê=_Éííáå~=î~å=sÉÉå= çé=MOM=RVQ=VOVMK=lÑ=âáàâ=çé=
Een integriteittoets maakt deel uit van de sollicitatieprocedure.
= = aÉäí~=iäçóÇ=dêçÉé== aÉäí~=iäçóÇ=dêçÉé==
=
=
=
========Toekomst verzekerd www.deltalloydgroep.com ========