Oracle Gebruikersclub Holland
VISIE Zomer 2014 • Jaargang 20 • Nummer 1 • h 7,50
Verslag Verslag APEX APEX World World 2014 2014 Oracle Oracle Database Database && Middleware Middleware Security Security Day Day Oracle Oracle 12c 12c biedt biedt controle controle over over data data in in de de cloud cloud
Ontvang gratis OGh Visie-mail
Met uw bedrijf in de Cloud? Wij zorgen voor een duurzaam proces op aarde.
De wereld draait steeds sneller en wordt steeds kleiner. Everything for Apex
Uiteraard is onze aarde niet aan het krimpen, echter de
Op deze manier blijft de unieke waarde van uw bedrijf voor u
technologie zorgt ervoor dat we de meest exotische dingen
en uw klanten gegarandeerd. Tijdens de migratie naar de Cloud
overal met één druk op de knop in ons bezit willen hebben. Ook
wordt u ondersteund door specialisten die ervaring hebben in
uw klanten verwachten dat u een antwoord heeft op deze snelle
deze trajecten. Zodat alles gewoon blijft doorwerken, terwijl de
veranderingen.
automatisering wordt klaargemaakt voor de toekomst! En zodra
Smart4apex is een Gilde, gespecialiseerd in het maken van
u in de Cloud werkt, blijven wij stevig met beide benen op de
betrouwbare Cloud-applicaties. Samen met onze partner
Everything for IT! grond staan om uw systemen te monitoren. Geïnteresseerd?
InnoviQ hebben wij een traject ontwikkeld waarmee bedrijven
Ga dan naar www.smart4apex/cloud voor het aanvragen van
haar volledige bedrijfsinformatie veilig kan overbrengen naar de
een gratis QuickScan.
Cloud. Dit doen we door dé ideale mix te maken uit bestaande Cloudapplicaties en het realiseren van maatwerk als dat nodig is.
www.smart4apex.nl
SMART4Apex is partner van:
Voorwoord
VISIE
Voorwoord Geachte lezer,
Colofon
Bent u al over op versie 12c van de database? Zo nee, dan is er een interessant artikel te vinden op My Oracle Support. Zoek maar eens op document id: 742060.1 ‘Release Schedule of Current Database Releases. Wat er precies in staat, kan ik hier niet prijsgeven, maar ik beloof u: het is de moeite waard om op te zoeken.
Redactie
Hans Gerritse (hoofdredacteur) Learco Brizzi (Itium BV) Frits Hoogland (Enkitec) Michiel Jonkers (USG People) Milan Uitenhuis (IntellinQ) 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 +3130 69 09 070 F + 3130 69 62 378 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) IntellinQ E
[email protected] Learco Brizzi Itium B.V. E
[email protected]
Lees vooral de zin die begint met: ‘NOTE: The fee for the first year of Extended Support for 11.2….’ maar eens aandachtig. De OGh heeft er al weer twee grote events op zitten: APEX World 2014 en de ‘Database & Middleware Security Day - ‘Connecting the Clouds, 12c in de praktijk’. Beide events waren goed bezocht en uit de evaluatie viel af te lezen dat ze goed in de smaak gevallen zijn. Apex World 2015 zullen we grootser aanpakken. Meer hierover elders in dit nummer. Op 13 maart hielden we onze algemene ledenvergadering. Het bestuur ontving decharge voor het gevoerde beleid en we verwelkomden Luc
Bors als nieuw bestuurslid. We hebben onze website in een nieuw jasje gestoken en zijn gestart met een 3-maandelijkse elektronische nieuwsbrief in aanvulling op de OGh-Visie in print. Op social media zijn we actief op Twitter en LinkedIn. Op de site staan alle tweets van en over de OGh. Volg ons via: @OGh_nl. De OGh is er voor de leden. Dus heeft u ideeën, suggesties, wensen of vragen? Laat het ons weten! Als u uw stem laat horen, zullen wij luisteren. Tot ziens op een van de OGh bijeenkomsten. Robin Buitenhuis Voorzitter OGh
Inhoud Voorwoord - door Robin Buitenhuis
3
Verslag OGh APEX World 2014
4
Voor de avondspits naar huis - niet gestrest, alles getest - door Hendrik Blok
15
Erik Hogervorst Axis Into ICT E
[email protected]
MIS NIETS met OGh Visie-mail
17
Bart van de Laar Transfer Solutions E
[email protected]
User Experience in APEX-applicaties - door Stijn van Raes
19
Oracle, Big Data en Datawarehousing - door Marti Koppelmans
22
‘’Wij zijn veilig want onze data staan in de Oracle Database” verslag van de Oracle Database & Middleware Security Day
23
Oracle 12c biedt controle over data in de cloud - door Gerard Uiterwaal
27
Oracle Database & Middleware provisioning door Edwin Biemond en Robbrecht van Amerongen
29
Interesse in WebCenter SIG blijft groeien - door Rob de Gouw
34
Think Exa! - Hybrid Columnar Compression door Frits Hoogland en Martin Bach
36
Linked Data en Oracle Graph - door Lieke Verhelst
38
Luc Bors AMIS E
[email protected] Oplage 4.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 © 2014 OGh
APEX World 2014
Lustrumeditie bevestigt opnieuw status van grootste Oracle APEX-only event ter wereld
OGh APEX World 2014 APEX World 2014 was met een recordaantal van meer dan 330 deelnemers, een breed en gevarieerd lezingenprogramma, een keur van gerenommeerde sprekers en hoge waarderingscijfers, andermaal zeer succesvol. De lustrumeditie van APEX World - dit jaar voor de vijfde maal in successie gehouden - heeft dan ook opnieuw de status van ‘grootste APEX-only event ter wereld’ duidelijk bevestigd. Een uitgebreid verslag van een opnieuw zeer succesvolle APEX World, met dank aan de sprekers die als ‘verslaggever’ een bijdrage hebben geleverd. Een aantal van de presentaties is verder uitgewerkt in een artikel, dat elders in dit nummer te vinden is. De hand-outs van de presentaties van APEX World zijn te downloaden via de OGh website www.OGh.nl.
Test developments with APEX De openingskeynote werd verzorgd door Joel Kallman, Development Manager Oracle Application Express en bij Oracle verantwoordelijk voor Product Management en Product Development van APEX. Zijn Nederlandse Oracle-collega Iloon Wolff, zelf ook spreker op APEX World, doet verslag van deze boeiende presentatie, waarin
APEX World groeit uit naar internationaal tweedaags event
met name de nieuwe features in APEX 5.0
APEX World is in de afgelopen jaren
Engels en er zullen meer internationale
uitgebreid aan bod kwamen. Dit alles uite-
uitgegroeid tot een evenement van in-
sprekers worden aangetrokken. De OGh
raard wel onder voorbehoud en met verwij-
ternationale allure, met sprekers uit bin-
geeft hiermee gevolg aan de uitkomsten
zing naar het Safe Harbor statement van Or-
nen- en buitenland (o.a. de VS, Canada,
van de enquête onder de APEX World-
acle en de Statement of Direction omtrent
Duitsland
Oracle-
deelnemers, die zich in zeer ruime meer-
APEX 5. Application Express 5.0 is door
partners uit Engeland en Oostenrijk als
derheid voorstander toonden van een
APEX ontwikkelaars voor APEX ontwik-
sponsors en opvallend veel buitenlandse
internationaal, meerdaags evenement.
kelaars ontworpen. De meeste nieuwe
deelnemers uit tal van Europese landen,
De OGh zal met de overige gebruikers-
features in APEX 5.0 zijn gericht om het
waaronder België, Frankrijk, Schotland,
verenigingen in Europa, verenigd in de
leven van developers makkelijker te maken.
Oostenrijk, Polen, Kroatië en Zwitser-
EOUG, de mogelijkheden bespreken
Hoe weten we dat Application Express 5.0
land.
voor samenwerking bij de organisatie
ook daadwerkelijk effectiever is? We hoe-
APEX World 2015 zal nog meer een in-
van APEX World 2015 en deelname van
ven minder te switchen tussen verschil-
ternationaal karakter krijgen en ook
EOUG-leden uit de aangesloten landen.
lende onderdelen in APEX en we hebben
breder worden opgezet. De OGh bekijkt
Via de OGh Visie-mail nieuwsbrief zul-
minder muisklikken nodig. Dit werd geïllu-
op dit moment de mogelijkheden om het
len de OGh-leden op de hoogte worden
streerd door middel van een video en een
programma te spreiden over twee da-
gehouden van de plannen voor de eerste
‘leuk’ muziekje, dat in ieder geval lang blijft
gen. De voertaal van het congres wordt
internationale APEX World in 2015.
hangen. Ik hoor het deuntje nu nog...
4 OGh Visie
en
Oostenrijk),
APEX World 2014
De page designer/editor is een zeer belang-
Mobiel
rijke nieuwe feature in Application Express
Het bouwen van mobiele applicaties is de
5.0. De editor designer is vooral bedoeld
laatste jaren enorm toegenomen en ook erg
om de productiviteit van de ontwikkelaar
belangrijk geworden binnen APEX. Daarom
te verhogen. Het definiëren van pagina-ele-
worden de mobiele functies ook uitgebreid
menten kan direct met de page designer/
in de nieuwe versie van APEX. APEX 5.0 is
editor verwezenlijkt worden. Wijzigen van
gebaseerd op jQuery mobile 1.4. Een van de
een pagina kan veel makkelijker en snel-
jQuery mobile features is een nieuwe kalen-
ler worden gedaan zonder dat er meerdere
derfunctie met ‘drag and drop’ op mobile
malen genavigeerd of geklikt moet worden
devices. Een nieuwe interface, de ‘tablet
met de muis.
interface’ zal ook worden toegevoegd aan
Een pagina opmaak ziet er als volgt uit:
APEX. Deze interface is niet alleen voor
• Tree navigation aan linker kant om
mobiele applicaties, maar kan ook voor
verschillende componenten te
desktop applicaties gebruikt gaan worden.
kunnen benaderen
OGh-bestuurslid Ise Douwes ging door
Tabular Form -Er komt een nieuw tabular
• Een layout editor in het midden van
de knieën om de Twitter-fontein tijdens
form element beschikbaar. Hierdoor zal in-
de pagina, met de ‘drag and drop’
APEX World live te zetten.
line editing mogelijk gaan worden.
opties
Interactive reports - In APEX 5 kunnen
Hierdoor is het veel makkelijker om APEX
hele breedte. Er is ook een grid layout die
meerdere interactieve reports op een pa-
elementen te kopiëren, dupliceren of te ver-
je de mogelijkheid geeft voor het creëren,
gina gemaakt worden. Daarnaast komt er
wijderen.
kopiëren of wijzigen van regio’s, buttons
de mogelijkheid om Pivot reports te maken.
• Een property palette om eigenschappen
en items. Daarnaast is er een nieuwe text
Kortom een versie van APEX om naar uit te
van componenten te kunnen aan-
editor die het gemakkelijker maakt om
kijken, voor en door developers. Kun je niet
passen. Lijkt mijns inziens veel op
de overview niet te verliezen door syntax
wachten om je eigen mening te vormen
het property palette van Oracle
highligting en auto completion. Indien
over APEX 5, kijk dan op de EA website:
Forms. Indien er meerdere compo-
er een wijziging gemaakt wordt, wordt er
http://apexea.oracle.com/i/index.html.
nenten geselecteerd worden, dan
ook netjes een foutmelding getoond als
Uiteraard zijn niet alle nieuwe features
worden de properties die met elkaar
dit nodig is. Hierdoor kan er onmiddellijk
hier genoemd. Wil je een volledig overzicht
gelijk zijn getoond. Uiteraard gaat
worden ingegrepen op een eventuele fout.
hebben over APEX 5, dan kun je de nieuwe
hiermee de productiviteit omhoog
De hulp die je hierbij krijgt van de tool is
Statement of Direction bekijken op de ora-
omdat je direct verschillende eigen-
ook afhankelijk van de context en daardoor
cle.com website.
schappen van meerdere componenten
enorm nuttig.
Statement of direction van APEX 5: http://
kunt aanpassen.
www.oracle.com/technetwork/developNavigation lists - Navigation lists zal de
er-tools/apex/application-express/apex-
Tabs vervangen. Navigation lists zijn ook
sod-087560.html.
opgenomen in het nieuwe beschikbare theme in APEX 5. (Blue responsive). Navigation lists geeft een veel betere flexibiliteit
What I do in every APEX project
en is ook opgenomen in verschillende built-in wizards binnen de tool. Uiteraard waren de resultaten van de
Theme Styles - Theme style zal het veel ge-
Nederlandse schaatsers tijdens de Olym-
makkelijker maken om themes te veran-
pische Winterspelen Oracle’s Develop-
deren gebaseerd op de ‘Style’. Met een ver-
ment Director niet ontgaan.
schillend ‘css’, krijg je een nieuwe look and feel. Modal dialogs - Er komt een built-in
Door de verandering in de pagina opmaak,
support voor het gebruik van modal win-
Dimitri Gielis van APEX R&D (België) werkt
is de rendering, processing en shared com-
dows. (Page mode). De modale dialoog zal
al 10 jaar met APEX en in die tijd ontwik-
ponents verhuisd naar het linker gedeelte
makkelijker zijn voor validaties en even-
kelde hij een werkwijze die hem in staat
van de pagina in plaats van over de ge-
tueel hergebruik.
stelt op een efficiënte manier kwalitatieve,
OGh Visie
5
APEX World 2014
succesvolle applicaties te ontwerpen. In
de woorden en/of de code. Substitution
zijn presentatie toonde hij enkele belang-
Strings kunnen bijvoorbeeld handig zijn
rijke elementen van zijn werkwijze. Dat ge-
voor ‘Page titles’.
APEX Application Deployment en Application Management
beurde grotendeels met live demo’s om de
In onze applicatie maken we gebruik van
Denes Kubicek van biCubes (Duitsland)
aanwezigen een goede kijk op de praktijk
error handling die we definiëren op appli-
gaf in zijn presentatie inzicht in het beheer
te geven.
catieniveau. Onze error logging logt bij
van de volgende componenten:
Een persoonlijke weergave van een druk-
elke error automatisch een entry in Team
1. Application Security –
bezochte en hoog gewaarde presentie:
Development. Op deze manier zien we
Gestart wordt met het creëren van een
waar zich welke errors voordoen. We
2. Application Deployment –
nieuwe APEX applicatie. Daarin gebruiken
kiezen ervoor om automatisch een e-mail
Development/Test/Production
we geen Tabs om te navigeren, maar Lists
te genereren wanneer er een error opduikt.
3. Application Programming –
(zie Shared Components). We kiezen voor
Dit is een echte ‘game-changer’, omdat we
Theme 25, een responsive theme, zodat de
nu het gedrag omkeren. Vroeger kregen we
4. Add-On management –
applicatie zich automatisch aanpast aan
een telefoontje van een klant als hij een
de breedte van het scherm en het toestel
probleem had, nu bellen wij de klant met
De focus lag daarbij op de belangrijkste
waar het op draait.
de boodschap: ‘We zagen dat je een pro-
wijzigingen en best practices in de nieuw-
Vervolgens gaan we onze applicatie uit-
bleem hebt, we zijn hier om je te helpen.’
ste versie van APEX met betrekking tot ge-
breiden en aanpassen. Om op een gestruc-
Veel pagina’s zijn van het type ‘Forms met
noemde onderwerpen.
tureerde en iteratieve manier te werken,
Report’. In de presentatie werd ingegaan
gebruiken we Team Development. Daarin
op de lay-out ervan en werd aangegeven
kunnen we ons projectplan opnemen.
welke items en plugins worden gebruikt.
Team Development laat zich moeiteloos
Daarnaast werd vergeleken wat we van-
integreren in onze applicatie.
daag doen in APEX 4.2 en hoe we morgen
In de pre-
We maken een feedback pagina aan die
de dingen zullen doen in APEX 5.0. Zo
sentatie van
onze gebruikers toelaat om reeds vanaf
maken we in APEX 4.2 bijvoorbeeld ge-
André Geelen
het prille begin feedback te geven. Deze
bruik van een Modal-Page plugin, terwijl
en Sebastiaan
feedback wordt mooi opgevangen in Team
deze functionaliteit standaard in APEX 5.0
Laponder van
Development, waarna we hem kunnen
zit.
Unit4 en Gil-
verwerken in onze applicatie.
In het Security gedeelte werd extra aan-
bert Rattink
In elke applicatie creëren we een Global
dacht geschonken aan Session State Pro-
van Transfer
Page. Een global page maakt het mogelijk
tection om ‘url-tempering’ (aanpassen
Solutions
om regions, items et cetera die op meer-
url) tegen te gaan. Naar Quality Assurance
werd een
dere plaatsen terugkomen, alleen hier te
toe benadrukte Gielis dat het belangrijk is
migratietra-
definiëren. Automatisch zal alles wat op
om de Advisor eenmaal per dag te draaien.
ject toege-
de global page staat, ook op de andere
De Advisor gaat een aantal best practices
pagina’s verschijnen. Een goed voorbeeld
na en checkt de applicatie op fouten.
financiële applicatie Decade van UNIT4.
hiervan zijn breadcrumbs (hiërarchische
Gielis heeft de Advisor uitgebreid met ei-
Deze client/server-applicatie is gebouwd
navigatie: xxx > yyy).
gen checks, specifiek voor zijn manier van
in Oracle Forms en Oracle Reports
Oude en nieuwe features in APEX
Best Practices Best Practices
Decade Financials, met APEX klaar voor de toekomst
licht van de
werken. Hij gaf tenslotte nog mee dat het
en wordt gegenereerd vanuit Oracle Designer.
Erg belangrijk in software development
nuttig is om de ‘packaged applications’ te
Om diverse redenen heeft UNIT4 besloten
is dat we eenzelfde code op één plaats
installeren en achter de schermen een kij-
de applicatie te migreren naar APEX. Het
aanmaken, met andere woorden dat we
kje te nemen hoe het APEX development
betreft hier geen standaardmigratie van
dezelfde logica en informatie niet op
team deze heeft gemaakt. Op die manier
Forms naar APEX en dat komt door het
verschillende plaatsen definiëren. In die
wordt het niet alleen snel duidelijk wat je
unieke karakter van de Decade-applicatie.
optiek maken we meestal gebruik van
allemaal kan doen met APEX, maar ook
Decade is gebaseerd op een bijzondere
substitution strings: hiermee kunnen we
hoe je het moet aanpakken.
structuur van metagegevens. Het komt er
veelgebruikte woorden en codes eenmaal
Dimitri
ODTUG
op neer dat de meer dan honderd verschil-
definiëren en meerdere keren gebruiken
KScope14 in Seattle, dit onderwerp uit-
lende schermen waar een eindgebruiker
door enkel de verwijzing in te geven. De
gebreider behandelen. Meer informatie is
mee werkt (om bijvoorbeeld relatiege-
string wordt vervangen (substituted) door
te vinden op www.apexRnD.be.
gevens te onderhouden, facturen en fac-
6 OGh Visie
Gielis
zal
tijdens
APEX World 2014
tuurregels te onderhouden, het grootboek
voor complexe applicaties die niet op de
‘Responsive Web Design’. Responsive Web
te onderhouden et cetera) feitelijk uit één
standaardwijze (via de wizards uit de APEX
Design belooft ons websites en applica-
generieke Forms-module ontstaan.
Builder) gebouwd kunnen worden.
ties te kunnen ontwerpen, waarvan de
Op het moment dat een gebruiker een
userinterface zich kan aanpassen aan de schermgrootte en oriëntatie van het toe-
samengesteld.
Going Public - What to consider when the world has access to your APEX Application
Voor de migratie zijn twee belangrijke
Dus u zet
ontwikkelen. In de praktijk wordt hiervoor
eisen opgesteld:
uw APEX
een mix van verschillende technieken ge-
• de nieuwe applicatie moest ook
toepassing
bruikt, zoals Grids en CSS Media Queries.
online en de
Maar wat is nu het verschil en hoe dienen
• voor de nieuwe applicatie mochten
hele wereld
ontwikkelaars met de nieuwe mogelijk-
geen wijzigingen aan het bestaande
heeft toegang
heden om te gaan? Heeft de verande-
datamodel worden doorgevoerd.
tot uw appli-
ring impact op bestaande applicaties? In
catie, kan
zijn presentatie liet Christian Rokitta van
Migratie
ermee spelen
SMART4apex de mogelijkheden van Re-
Na een gezamenlijk vooronderzoek werd
en een paar
sponsive Web Design zien aan de hand
de migratie uitgevoerd door medewerkers
script kiddies
van Theme 25 en lichtte de onderliggende
van UNIT4 met ondersteuning van mede-
zullen gaan
technieken toe, waarbij hij ook aangaf wat
werkers van Transfer Solutions.
proberen het
de problemen van ‘Responsive Layout’ in
Het accent in de presentatie lag op een
te kraken? Klinkt dat angstaanjagend?
APEX applicaties zijn en hoe deze mogelijk
aantal zaken uit de migratie die juist be-
Peter Raganitsch van FOEX (Oostenrijk)
opgelost kunnen worden.
trekking hadden op het dynamische en
presenteerde een checklist van de dingen
generieke karakter van de APEX-applicatie.
waaraan men moet denken voordat men
Net zoals de oude applicatie eigenlijk uit 1
zijn toepassing aan de wereld publiceert.
Een B2B Webshop met APEX
Forms module bestond, bestaat de nieuwe
Onderwerpen als ontwerp, veiligheid, SEO
Tuur Hendrickx van iAdvise en Justine
APEX-applicatie vooral uit 1 generieke
en enkele algemene lessons learned in de
Ghekiere van Billiet presenteerden een
page. In de presentatie werd de kracht van
afgelopen paar jaar kwamen aan de orde.
klantcase over een B2B webshop die is
dynamic PL/SQL-regions benadrukt en de
Een van vele highlights: een eenvoudige
gebouwd voor Billiet, een Belgische im-
toepassing van de APEX-API’s (zoals het
methode voor menselijk leesbare URL’s
porteur en distributeur van huishoudar-
package APEX_ITEM) om tot generieke
in APEX zonder enige configuratie van de
tikelen. Billiet zocht naar een oplossing
formulieren te komen. Voor dynamische
Webserver.
om deze artikelen via een webshop aan te
scherm opvraagt wordt dynamisch op basis van de metagegevens de inhoud van het scherm en de bijbehorende functionaliteit
gebaseerd zijn op de metagegevens
overzichten werden Report regions toe-
stel waarop deze benaderd worden. Hierdoor is het niet nodig om voor elke nieuwe device die op de markt komt opnieuw te
bieden. De importeur maakt reeds gebruik
Responsive Web Design met APEX
van een Oracle ERP-systeem en de data
PL/SQL-functie zijn gebaseerd en die een tekststring teruggeven. Voor dynamische
In APEX werd vroeger een ‘table-based
webshop. Omdat er reeds meer dan 100
navigatiestructuren werden navigation
column layout mechanism’ gebruikt om
APEX-applicaties werden ontwikkeld voor
lists en plug-ins gebruikt die gebaseerd
regions op een pagina te plaatsen, maar er
intern gebruik en de kennis en ervaring
zijn op query’s op de metagegevens. Ver-
zijn layouts die simpelweg niet met HTML-
beschikbaar was, werd er gekozen om de
der werd de structuur toegelicht waarmee
tabellen te realiseren zijn. Vanaf versie 4.2
webshop in APEX te bouwen.
conditioneel Javascript-bibliotheken aan
ondersteunt Oracle Application Express
gelicht die niet op een query maar op een
hieruit moest geïntegreerd worden in de
de hoofdpagina werden gekoppeld. Tot slot
Naast standaard webshop-functionalitei-
werd behandeld hoe het ontwikkelteam
ten waren er ook nog andere vereisten. Zo
binnen drie dagen een generator bouwde
moest de registratie en login-procedure
waarmee, met 1 druk op een knop, meer
extra gecontroleerd en beveiligd worden,
dan 100 Interactive Reports aan de appli-
er moest een verregaande integratie zijn
catie werden toegevoegd.
met het onderliggende ERP-systeem en er
De presentatie maakte duidelijk dat
moesten extra modules aan de webshop
APEX zeer flexibel is en ook inzetbaar is
kunnen worden toegevoegd. Dit zijn dan
OGh Visie
7
APEX World 2014
ook de voornaamste redenen waarom een
Cordova (of Phonegap, zoals de Adobe
webshop op maat werd verkozen boven de
versie heet), is er echter een brug te slaan
aanschaf van een webshop-pakket.
tussen een webapplicatie en de native
Mobile APP met Geo informatie: ‘Sleutel Bewegingen’
De webshop biedt vele voordelen op ver-
functionaliteit van een mobiel apparaat.
Frank Derickx van Stedin en Frank Klein
schillende vlakken. Er is een betere service
Cordova functioneert als een soort wrap-
van Yenlo presenteerden via een live
naar de klanten en kosten en tijd worden
per, een schil tussen de webapplicatie en
demo de Mobile APP met Geo informa-
gespaard omdat de klant rechtstreeks zijn
het operating systeem van de telefoon. Het
tie: ‘Sleutel Bewegingen’. De Mobile APP
bestellingen kan ingeven. Verder kan de
grote voordeel is dat je maar eenmaal hoeft
is gemaakt met gebruikmaking van de vol-
klant ook zelf alle informatie opvragen
te ontwikkelen in een voor jou bekende
gende technologieën:
uit het ERP-systeem. Dit zorgt ook voor
programmeertaal (HTML, JavaScript etc.)
• Oracle APEX 4.2 met jQuery Mobile
een lagere werkdruk voor de backoffice en
en door het aanroepen van Cordova API’s
• Oracle Spatial en Oracle Mapviewer
vertegenwoordigers en het betekent een
toch bijvoorbeeld de Contacten van je tel-
aanvulling voor de marketingstrategie van
efoon kunt benaderen. Cordova regelt de
• Javascript en PL/SQL.
Billiet. De presentatie werd afgesloten met
vertalingen naar de verschillende platfor-
een live demo, waarin de verschillende on-
men, daar hoef je je dus helemaal niet
Deze Mobile App is ontwikkeld om de veilig-
derdelen van de webshop werden getoond.
druk over te maken.
heid van elektriciteitskasten van Stedin
De omvang en multifunctionaliteit ervan
voor kaartmateriaal
verder te waarborgen. Door verschillende
leverde veel positieve reacties op van de
Het installeren en configureren - het laden
oorzaken, zoals een technisch defect, na-
deelnemers aan deze sessie.
van de juiste platformen en plugins - van
latigheid of vandalisme kan het zijn dat
Cordova gaat via een aantal eenvoudige
een deur niet (meer) is afgesloten. Uit
The best of both worlds: Going hybrid with Oracle Application Express
operating systeem commando’s. Als je dat
het oogpunt van veiligheid heeft men de
gedaan hebt en je applicatie raamwerk ge-
stelling aangenomen dat elke geopende
maakt hebt, kun je in het raamwerk een
deur er één te veel is. Er moet gerappor-
In zijn presentatie toonde Roel Hartman
verwijzing opnemen naar de (APEX) web-
teerd kunnen worden wat de oorzaken zijn
(APEX Consulting) aan dat de voordelen
applicatie en je hebt je eerste native ap-
van open deuren en wie de veroorzakers
van een native mobile applicatie en die
plicatie gemaakt! In APEX moet je nog
zijn. Met deze Mobile App kan eenvoudig
van een webapplicatie prima met elkaar
wel even regelen dat de juiste Cordova
worden geregistreerd en gemonitord wan-
te verenigen zijn. De voordelen van een
JavaScript library geladen wordt, maar dat
neer een elektriciteitskast wordt geopend
native mobile applicatie zijn bijvoorbeeld
is tegenwoordig bekend terrein voor de
en gesloten.
dat je in je applicatie gebruik kunt maken
meeste ontwikkelaars.
van de GPS, Agenda en Contacten uit je
Using AngularJS in Oracle Application Express
telefoon. Het grote nadeel echter is dat je
In een demo toonde Roel aan dat op deze
voor elk platform een aparte native mobile
manier bijvoorbeeld informatie over het
Toen de
applicatie moet maken - je moet dus alle
mobiele apparaat en het netwerk in je
jQuery
benodigde programmeertalen kennen!
APEX-applicatie getoond kan worden.
JavaScript
Nadelen van een webapplicatie daarin-
Ook werd stapsgewijs gedemonstreerd hoe
library werd
tegen zijn dat ze meestal geen of weinig
de Contacten in de telefoon gesynchro-
uitgebracht
functionaliteit hebben als je geen contact
niseerd werden met de ‘Customers’ in de
in 2006
met het internet hebt en het onmogelijk
database. Hierbij werd gebruik gemaakt
heeft het
is om bijvoorbeeld gebruik te maken van
van de functionaliteit die de APEX Listener
de manier
de Contacten die op de telefoon zijn opge-
- tegenwoordig Oracle REST Data Services
waarop
slagen. De voordelen zijn een eenvoudige
genaamd - op het gebied van restfull ser-
ontwikkelaars
uitrol - als je een nieuwe versie op je server
vices biedt: zowel het opvragen van data in
JavaScript
zet gebruikt iedereen die meteen - en de al
JSON formaat als het versturen van data va-
gebruiken
aanwezige kennis om een dergelijke appli-
nuit JavaScript is een eenvoudige, maar erg
drastisch
catie te bouwen, namelijk HTML, Java-
krachtige manier om gegevens in of uit je
veranderd, betoogde Dan McGhan van
Script en CSS. En dat laatste kunnen we
database te krijgen. De mogelijkheden van
Enkitec (Verenigde Staten) in zijn pre-
allemaal uitstekend combineren met het
een APEX-ontwikkelaar gaan dus verder
sentatie tijdens APEX World. Sindsdien is
ontwikkelen van een APEX applicatie.
dan de browser: ook native mobile appli-
de belangstelling voor JavaScript geëxplo-
Door nu gebruik te maken van Apache
caties behoren tot de mogelijkheden.
deerd, samen met haar rol in het leveren
8 OGh Visie
APEX World 2014
van zeer interactieve webapplicaties. Wan-
hun geluk opraakt, is het wellicht de moei-
neer deze toepassingen veel JavaScript
te waard eens naar Angular te kijken.
• management rapportage gegenereerd
vereisen, wordt een systeem om de code
berichtenstromen vastlopen
worden met aantallen berichten en
de gemiddelde beantwoordingstermijn.
Java-Script MVC frameworks in popular-
APEX berichtenmonitoring op de complexe busstructuur van de IND
De Contexttool 2.0 applicatie zelf is ver-
iteit gestegen omdat ze beloven orde in de
Sander Boer van de IND en Wouter de
rassend klein: ze bevat slechts vier scher-
chaos te scheppen. AngularJS van Google
Waard van Ordina presenteerden op APEX
men met gegevens. Contexttool 2.0 is
is zo’n framework, met een verscheiden-
World de XML berichtenmonitor Con-
in 2 maanden gebouwd in APEX 4.2 en
heid aan functies zoals two-way databin-
texttool 2.0.
functioneert op een Oracle 10.2 en Oracle
ding, dependency injection en directives.
De IND behandelt jaarlijks bijna 50.000
11gR2 Database.
te structureren en bestanden te organiseren heel belangrijk. De laatste tijd zijn
aanvragen voor een Voorlopige Verblijfs-
Een logistiek dataportaal in APEX
Hoewel de gebruikscases voor het com-
vergunning Regulier (VVR). Van over de
bineren van Angular met APEX zeldzaam
hele wereld krijgt de IND verzoeken tot
zijn en ver uiteenlopen, bestaan ze wel
VVR van mensen om in Nederland langere
degelijk. Men kan bijvoorbeeld een vrij
tijd dan drie maanden te mogen verblij-
grote APEX applicatie hebben die meestal
ven. De beweegredenen van de aanvragers
ingebouwde componenten gebruikt, met
zijn zeer uiteenlopend; van gezinsherenig-
waar nodig een beetje CSS en JavaScript.
ing tot vluchteling en van kenniswerker
Als er een nieuwe feature nodig was, dan
tot arbeidsmigrant. De regelgeving voor
was deze zeer interactief en anders dan
deze verlening van deze vergunningen is
wat ooit eerder in APEX is ingebouwd. Het
zeer complex en de uitvoering omvat veel
is dan ook waarschijnlijk dat de feature
raadpleging van overheidsdiensten buiten
vanaf scratch moest worden gecodeerd,
de IND.
waarmee dan heel veel handmatige Java-
Een aanvraag tot VVR wordt vaak vooraf-
Script gemoeid was. Waar dan te beginnen?
gegaan door een Machtiging Voorlopig Ver-
In een dergelijke situatie kan het gebruik
blijf (MVV). Ook van de MVV worden er
van Angular binnen APEX een zeer goede
ongeveer 50.000 per jaar aangevraagd. De
Bij de klantcase van Bas Logistics lieten
keuze zijn. Angular, als een framework
informatiesystemen van diensten (mees-
Menno Hoogendijk van iAdvise en Robert
zoals APEX in plaats van een bibliotheek,
tal aangeduid als de ‘ketenpartners’) com-
Esseling van Bas Logistics zien hoe APEX is
schrijft enigermate voor hoe applicaties
municeren met elkaar via XML-berichten.
ingezet als dataportaal.
moeten worden gebouwd en biedt speci-
Onder de ketenpartners zijn bijvoorbeeld
Bij deze internationale logistieke onderne-
fieke constructies voor verschillende func-
het Ministerie van Buitenlandse zaken,
ming was er behoefte om data uit verschil-
ties binnen de applicatie. Hierdoor kun-
het CJIB en de Gemeentelijke Basis Ad-
lende bronsystemen te combineren om in
nen ontwikkelaars die bekend zijn met
ministratie (GBA). Er gaan jaarlijks on-
de informatiebehoeften te voorzien. De
Angular zich gewoon richten op de oplos-
geveer 1 miljoen XML berichten over en
problemen in het tijdperk voor het data-
sing in plaats van hoe ze de oplossing het
weer. Kwaliteit en volledigheid van in-
portaal ontstonden door de vele losse rap-
beste kunnen inrichten. Wanneer het op
formatie staan hoog in het vaandel bij
portages, waardoor data vaak niet juist en
deze manier wordt ingezet, kan APEX nog
de IND en de overige ketenpartners. Een
volledig was. Een dataportaal bracht de
steeds worden gebruikt om authenticatie
beslissing die gebaseerd is op onvolledige
oplossing: alle benodigde data wordt inge-
en autorisatie services te leveren. Boven-
of onjuiste gegevens kan verstrekkende
lezen en verwerkt in een nieuw datamodel
dien leveren de Ajax-processen van APEX
gevolgen hebben.
dat specifiek ontworpen is voor Bas Logis-
de interface die Angular in staat stelt te
APEX wordt ingezet om alle ingaande en
tics.
communiceren met de database. Deze set-
uitgaande berichten aan elkaar te kunnen
Aan de hand van de klanteisen werd
up vermindert de noodzaak om een nieuw
koppelen. Op die manier kan er:
gedemonstreerd hoe dit was vertaald in
type web listener specifiek voor Angular te
• aangetoond worden dat alle
de APEX applicatie. Het portaal bestaat
introduceren. Met een beetje geluk zullen
inkomende XML berichten zijn
uit twee delen. Aan de achterzijde wordt
APEX-ontwikkelaars nooit grote hoeveel-
beantwoord, zowel over de gehele
data uit verschillende bronnen ingelezen
heden JavaScript moeten schrijven om te
conversaties als in specifieke berichten
en verwerkt tot één geheel. Via dash-
voldoen aan een requirement. Maar als
• in real-time worden gemonitord of
boards met grafieken aan de voorzijde kan
OGh Visie
9
Nieuwsgierig naar u.
Nieuwsg
Nieuwsgie
Nieuwsgierig naar u.
APEX 5.0 - Roadshow Voorinschrijvingen nu open!
Oracle Met de Early Adopter licht Oracle alvast een veelbelovende tip van de Java specialist sluier.
UwOracle Oracle Uw en enJava Javaspecialist specialist Development services Development services
Een hele reeks knappe en langveropment services
wachte vernieuwingen komt er aan, zoals de page designer, modal diaIntuïtieve bedrijfsapplicaties logs, meerdere interactive reports met Oracle en Java technologie. en verbeterde ondersteuning voor Voor desktop, web of mobiel. mobiele toepassingen.
rm services Maar zal APEX 5.0 de hoge verwachten inlossen? Bij iAdvise zit u Uw Oracle platform op dezorgenloos eerste rij om dit te ontdekken! uitbesteed. Bij u of in de cloud. Beveiligd van data tot browser.
Intuïtieve bedrijfsapplicaties
Intuïtieve bedrijfsapplicaties
met Oracle en Java technologie. Op zoek naar een met Oracle en Java technologie. Voor desktop, web of mobiel. Voor desktop, web of mobiel. eenvoudige en goedkope Platform services rapporteringstool voor Platform services je Oracle databank? Uw Oracle platform zorgenloos
Uw Oracle uitbesteed. Bijplatform u of in dezorgenloos cloud. uitbesteed. Bij utot of browser. in de cloud. kijkjeBeveiligd op van data
Neem een Beveiligd van data tot browser. www.docufy.nl Data services Data services
Schrijf u vandaag nog in met onderstaande code Uw data van informatie en ontvang 50% korting! naar kennis. Gestructureerd, U betaalt slechts 99€.
Uw data van informatie naar Gestructureerd, Uwkennis. data van informatie geïntegreerd, gepresenteerd.
services
naar kennis. Gestructureerd, geïntegreerd, gepresenteerd.
geïntegreerd, gepresenteerd.
consultancy projecten consultancy coaching en training projecten hosted solutions coachingservices en training managed hosted solutions Oracle licenties
IAWORLD50
www.iadvise.eu/seminars ultancy cten hing en training d solutions ged services e licenties
managed services Oracle licenties
iA_adv_210x297_2.indd 1
iA_adv_210x297_2.indd 1
www.iadvise.nl
Op zo O eenvo e rappo r je Ora
j
Neem www.N
w
APEX World 2014
worden ingezoomd op specifieke proble-
(https://blogs.oracle.com/theaquarium/
men en worden er prognoses gemaakt van
entry/java_ee_and_glassfish_server).
onder andere kosten en opbrengsten. In-
Rest Data Services heeft mijn voorkeur als
zichtelijk werd gemaakt hoe APEX wordt
ik zou moeten kiezen tussen de verschil-
ingezet om een overzichtelijk dataportaal
lende architecturen. Er vindt constant
te ontwerpen dat een real-time view geeft
ontwikkeling plaats op Rest Data Services.
op de huidige situatie. Er werd uitgelegd
Oracle is volledig verantwoordelijk voor
hoe iAdvise ervoor zorgt dat gebruikers de
de ontwikkeling van het product en ver-
definitie van de getoonde data begrijpen,
Iloon Wolf verwerkt ter plekke nog en-
antwoordelijk om eventuele patches te
hoe nieuwe informatiebehoeftes worden
kele details uit de keynote van Joel Kall-
ontwikkelen tegen defects. Moderne fea-
verwerkt en het vertrouwen in het portaal
man in haar eigen presentatie later op
tures zoals native Excel support en restfull
is gegroeid. Voor veel toehoorders was het
de dag.
webservices zijn alleen beschikbaar binnen
verhelderend om te zien dat het op deze manier ook kan.
Rest Data Services. De naam APEX Listectuur om met de Application Express
tener is vervangen door Rest Data Services
engine te communiceren. Mod/PLSQL
omdat de naam APEX Listener voor veel
How to avoid struggling with the APEX Listener Rest Data Services
is vervangen door JDBC. Officieel gesup-
verwarring zorgde binnen de Oracle com-
porte web servers zijn GlassFish, TomCat
munity. Het is e en listener die ook zonder
en WebLogic van Oracle. TomCat is in
Application Express gebruikt kan worden,
In Application Express zijn er verschillende
februari 2014 toegevoegd als gesupporte
daarom is de naam veranderd. Ook de
architecturen mogelijk om een verbinding
web server.
naam van de war file is veranderd. Apex.
op te bouwen via de webserver naar de Appli-
(http://krisrice.blogspot.nl/2013/11/
war is vervangen door ords.war. Wil je
cation Express engine. De verschillende
apex-listener-supported-app-servers.
toch nog gebruik maken van ‘apex’ in de
architecturen zijn HTTP server, Embed-
html)
URL, dan kun je ords.war gewoon herbe-
ded PL/SQL gateway, gebaseerd op Mod/
Men moet wel rekening houden met het
noemen naar apex.war voordat de war file
PLSQL en Rest Data Services. Iloon Ellen
feit dat GlassFish en TomCat Open Source
naar de web server wordt gedeployed.Rest
van Oracle liet in haar presentatie zien
Web Servers zijn. GlassFish was van Ora-
Data Services kan ook standalone gebruikt
waarom Rest Data Services haar voorkeur
cle maar nieuwe ontwikkelingen zullen
worden. Standalone bevat een ‘embedded’
heeft als architectuur om met APEX te
niet meer plaatsvinden op de GlassFish
web server. Standalone is ALLEEN gesup-
communiceren.
web server en zal daarom teruggegeven
port in test omgevingen en niet in pro-
Rest Data services is de modernste archi-
worden aan Open source.
ductieomgevingen. De achterliggende gedachte is om het testen zonder GlassFish, TomCat en WebLogic mogelijk te maken. Hierdoor schakel je de web server laag uit, en weet je of je met een probleem te maken hebt in Rest Data Services zelf. Integratie van verschillende producten is mooi, maar het lastige van geïntegreerde producten is dat wanneer je tegen een probleem aanloopt, verschillende componenten het onderliggende probleem kunnen veroorzaken. Standalone kan natuurlijk ook heel handig zijn voor demonstratie doeleinden. De scalability en performance load is nooit
De trekking van de APEX World loterij werd onder het toeziend oog van OGh
getest op standalone, dus dat zal Oracle
voorzitter Robin Buitenhuis verricht door de kleurrijke Figi-medewerker Enzo
nooit garanderen.
Karaman die al sinds jaar en dag de OGh-bijeenkomsten culinair in goede banen
Een mooie feature van Rest Data Service is
leidt. Winnaar van de HD Action Camera werd Marco Schlicher van The Doc,
de mogelijkheid van de ontwikkeling van
wiens naam werd getrokken uit de stempelkaarten van de deelnemers die de ‘Elf-
Restfull Web Services.(Representational
stempelstocht’ langs de stands van de sponsors succesvol hadden afgelegd.
state transfer). Stateless toegang tot SQL/ PLSQL statements. In Rest Data Services is
OGh Visie
11
APEX World 2014
Vóór de avondspits naar huis, niet gestrest alles getest!
de grafische laag vervangen door de com-
manier te configureren omdat de interne
mand line. Wil je toch graag gebruik mak-
reports server van Rest Data Services ge-
en van de grafische interface dan heb je
bruikt kan worden.
SQL Developer nodig. SQL Developer doet
Uiteraard heb ik niet alle features kunnen
een restfull web services aanroep naar de
benoemen maar hopelijk wel voldoende
In zijn presentatie behandelde Hendrik
Rest Data Services listener. Dit betekent
getriggerd om Rest Data Services verder
Blok van Transfer Solutions het opzetten
dat de restfull web services geconfigureerd
te gaan ontdekken. De komende jaren
en uitvoeren van loadtesten op een APEX
moeten zijn om een succesvolle verbinding
verwacht ik veel extra functionaliteit bin-
applicatie. In een artikel van zijn hand el-
naar SQL Developer mogelijk te maken.
nen Rest Data Services. Houd daarom de
ders in dit nummer zal uitgelegd worden
Alle mogelijkheden die je op de command
Oracle website goed in de gaten.
hoe dat zonder stress te realiseren is.
line hebt in Rest Data Services zijn ook beschikbaar in SQL Developer. Configuraties
Ask The Experts!
in SQL Developer kunnen ook geüpload worden naar de configuratie files van Rest Data Services. Met Rest Data Services kan je ook connecteren naar meerdere databases. Dit is natuurlijk erg handig met versie 12 van RDBMS. In versie 12 kunnen we meerdere pluggable databases configureren en connecties naar de verschillende pluggable databases opzetten. De APEX-experts Roel Hartman, Dimitri Gielis, Martin Giffy d’Souza, Peter RaganAls laatste wil ik ook de ‘Internal FOP’ re-
itsch, Joel Kallman en Denis Kubicek beantwoorden vragen uit de zaal tijdens de
ports server noemen. Hiermee is het mo-
open-microfoonsessie ‘Ask the Experts’, waarmee de lustrumeditie van APEX World
gelijk om PDF printing op een makkelijke
werd afgesloten.
OGh APEX World werd mede mogelijk gemaakt door DIAMOND SPONSOR
GOLD SPONSORS
SILVER SPONSORS
BRONZE SPONSOR
12 OGh Visie
Column
Column
Learco Brizzi
APEX World
Het zit erop! Het eerste lustrum, de 5e editie van APEX World is een feit. Dit jaar was het weer groter dan voorafgaande jaren, dat bleek niet alleen uit het aantal deelnemers aan het congres, maar ook aan de belangstelling van de sponsoren en sprekers. Ruim 330 deelnemers en 11 sponsoren waren aanwezig op het event. We hadden dit jaar ook een internationale sponsor weten te strikken. Dit jaar waren er ook vele ACEs en ACE Directors aanwezig, als spreker en als deelnemer. We hadden vele technische presentaties en interessante customer cases. Door de aanwezigheid van veel buitenlandse deelnemers en sprekers waren veel presentaties in het Engels. Helaas kon ik niet overal bij zijn. Uiteraard keek ik net als vele anderen uit naar de keynote van Joel Kallman. Hij ging uitgebreid in op de komende release van APEX: versie 5.0. Hij liet vele features en verbeteringen zien, om ons leven als ontwikkelaar nog productiever en makkelijker te maken. Op http://www.apexea.oracle. com kan je alvast met de early adapter versie spelen. Persoonlijk moet ik nog erg wennen aan de nieuwe look and feel van de Page Designer, hoewel Joel ons liet zien (begeleid door een gezellig muziekje) dat het allemaal net iets sneller zou moet gaan. Ik vind eigenlijk dat je met deze versie een flink scherm nodig hebt om goed te kunnen ontwikkelen. Nu heb ik het geluk dat ik onder andere een 30” scherm heb, maar niet iedereen heeft of wil zo’n groot scherm op z’n bureau. Sommige zaken zitten nog niet in de early adapter versie, zoals een wizard voor een extra form op een reeds bestaand scherm. Daarnaast is er ook een aantal beloofde features doorgeschoven naar versie 5.1, zoals een mooi grid als vervanging voor de tabular form en het master / detail / detail scherm. Ik vond vooral de ‘Ask the Expert’ sessie aan het eind van de dag erg leuk, waarbij met name de interactie met het publiek uitstekend was. Het is altijd afwachten bij zo’n sessie of er voldoende interessante vragen uit het publiek komen. Gedurende de dag was er volop de mogelijkheid om te netwerken en met lotgenoten te spreken. Na afloop van de dag gingen enkele sprekers en deelnemers nog even met elkaar een hapje eten. Al met al erg gezellig. In deze OGh Visie een
uitgebreid verslag van APEX World en op de site www.OGh. nl zijn foto’s en presentaties te vinden van de dag. We hadden dit jaar wat meer gefocust op het buitenland. Uit de uitslagen van de enquête is duidelijk gebleken dat dit ook de wens is van de meeste bezoekers. Daarnaast is er ook een voorkeur uitgesproken voor een meerdaags event. We gaan deze uitdaging graag aan en zullen laten zien dat we hier in Nederland het grootste ‘APEX only event’ in de wereld nog verder kunnen laten groeien. Wat nu wel al duidelijk is, is dat we voor volgend jaar een andere opzet zullen kiezen. Een opzet die nog meer recht zal doen aan de mooie tool die APEX heet en de grote APEX-community. Hoe de precieze invulling wat betreft locatie, aantal dagen en aantal sprekers gaat worden, gaan we de komende tijd verder invullen.
ODTUG Voor degenen die het nog niet wisten: van 22 tot en met 26 juni wordt weer het Kscope event van de ODTUG gehouden, zie http://www.kscope14.com. Op dit technische event zullen ook veel APEX-gerelateerde presentaties zijn. Kscope 14 (www.kscope14.com) speelt zich af in Seattle. Uit eigen ervaring kan ik melden dat er elk jaar erg veel te zien valt en dat het zeer de moeite waard is. Overigens is op http://www. apex-plugin.com ook een theming competition van de ODTUG aan de gang, waarbij leuke prijzen te winnen vallen, waaronder een toegangskaart. De laatste keer dat ik keek was er nog maar één inzending, dus de kans dat je iets wint als je iets opstuurt is daardoor erg groot :-). Al met al valt er op events als Kscope en APEX World een hoop te leren en te ontdekken en dat maakt ons werk (meestal) weer wat leuker. Eigenlijk is het werk van een ontwikkelaar één grote puzzel. Laatst was ik bezig om iets ogenschijnlijk simpels uit te zoeken (variabele filename van een report CSV export, waarbij de link onder een ander rapport op een andere pagina moest komen). Na wat zoeken en proberen werkte het en dat gaf een goed gevoel en daar doen we het voor... Learco Brizzi OGh Visie
13
APEX World - Avondspits
Voor de avondspits naar huis niet gestrest, alles getest Bij het ontwikkelen van een APEX-applicatie wordt de applicatie veelvuldig getest door het development team. Waarschijnlijk zijn er ook functionele gebruikerstesten en mogelijk is er zelfs een finale acceptatietest. Maar is de applicatie ook getest met het verwachte aantal gebruikers of is bekend wat de performance is van de applicatie bij veel gelijktijdige gebruikers? Het uitvoeren loadtesten - ook wel stresstesten genoemd - kan hierover uitsluitsel geven.
Hendrik Blok van Transfer Solutions behandelde in zijn presenta-
doorgaans niet uitvoeren met echte gebruikers, simpelweg omdat
tie tijdens APEX World het opzetten en uitvoeren van loadtesten
er niet zoveel testgebruikers zijn. Om deze gebruikers te simuleren
op een APEX-applicatie met behulp van Apache jMeter. In dit
hebben we een tool nodig. Apache jMeter is zo’n tool. Met Apache
artikel schetst hij een scenario waarin het belang van loadtesten
jMeter kunnen gebruikers worden gesimuleerd die een bepaalde
- en de ontstressende werking die ervan uitgaat - duidelijk wordt
handeling op het systeem verrichten bijvoorbeeld: inloggen en
aangetoond.
vervolgens naar een bepaalde pagina gaan.
Prelude: de stress…
Testdoelstellingen
Vrijdagochtend 8 uur, nog een kwartier en dan kunnen gebruik-
Echter voordat je met het tool aan de slag gaat dien je eerst de
ers inloggen. Het oude systeem is gesloten, alle werknemers heb-
testdoelstellingen te formuleren. Als je dit niet doet is het moei-
ben een mailtje gehad dat het nieuwe systeem om 8.15 uur open
lijk om later de resultaten te beoordelen en bestaat de kans dat je
gaat. Nog één keer in mijn hoofd alles nalopen, ‘is alles goed?’.
in een kringetje blijft lopen.
Een ding blijft knagen, al weken dat gevoel: hoe reageert het sys-
Voorbeelden van testdoelstellingen kunnen zijn:
teem bij een volle bezetting? Het testen met grote aantallen ge-
• Bij 100 gelijktijdige gebruikers dient de responstijd van het
bruikers is niet gebeurd. Vanwege tijdsdruk werd dit achterwege
gelaten.
• De applicatie dient minimaal 300 gelijktijdige gebruikers aan
8.15 uur. Gebruikers loggen in.
Alles lijkt goed te gaan. Maar gaandeweg worden sommige re-
unavailable)
quests niet verwerkt: service unavailable. Nog niet rampzalig
• Een standaardrapport van de reporting server dient binnen
maar de spanning neemt toe. Systeem vertoont duidelijke ver-
tragingen, wat niet beter wordt nadat enkele gebruikers wat zware
• De CPU load average op de server mag niet hoger zijn dan
rapporten zijn gaan draaien.
opvragen van een standaardpagina maximaal 800ms te zijn te kunnen voordat fouten optreden (bijvoorbeeld service
1,5s aangeleverd te worden. 3 bij 100 gelijktijdige gebruikers
10.32 uur. Systeem geeft duidelijke problemen. Stress, stress, stress. Er moet iets gebeuren, en snel! Besloten
Het is belangrijk om de doelstellingen concreet te maken zodat
wordt om het een en ander te routeren naar andere servers om
we de doelstellingen later kunnen gebruiken om de resultaten
de load beter te verdelen.
te beoordelen. Hiervoor kan het noodzakelijk zijn om metingen
13.31 uur. Systeem draait stabiel maar wel met enkele noodver-
op een vergelijkbaar systeem te hebben als vergelijkingsmateriaal.
banden.
Een responstijd van 700ms zegt niet zoveel, maar als je weet dat
Het gevolg: omdat de noodverbanden eerst nog omgezet moeten
de responstijd van een vergelijkbaar systeem 900ms is, dan kun je
worden naar wat stevigere oplossingen zodat de volgende dag het
stellen dat het nieuwe of aangepaste systeem goed functioneert.
systeem wel optimaal zal functioneren, ver na de avondspits naar
Nu de testdoelstellingen geformuleerd zijn, kan worden gestart
huis.
met het opzetten van een test. Het is nu immers bekend wat er
Ontstressen met stresstesten
gemeten moet worden. Om te kunnen beantwoorden aan de doelstellingen dienen we het volgende te meten:
Bovenstaand scenario had voorkomen kunnen worden door
1. De responstijd van de pagina-aanvraag (request)
stresstesten uit te voeren op het systeem. Nu kun je stresstesten
2. De respons van het request
OGh Visie
15
APEX World - Avondspits
3. De responstijd van het aanleveren van het pdf-rapport 4. De top load average van de machine Wat deze testdoelstellingen gemeenschappelijk hebben is dat er requests gedaan dienen te worden. Oftewel, de gebruikers die de aanvraag doen dienen gesimuleerd te worden, aangezien er niet vaak 100 testgebruikers aanwezig zullen zijn. Met Apache jMeter kunnen we deze aanvragen, de load, simuleren.
Apache jWhat? Apache jMeter is een Java-applicatie waarmee allerlei testen kunnen worden uitgevoerd. De tool heeft een behoorlijk aantal features, waar we in dit kader niet allemaal op in gaan. We gaan het tool gebruiken als HTTP-request-generator, zodat we veel gelijktij-
• Sampler - Dit is het daadwerkelijke request dat je gaat uit-
dige gebruikers kunnen simuleren. JMeter gaat voor ons de HTTP-
requests doen en logt meteen de responstijden en responses van
• Assertion - Dit element beoordeelt de respons van het request
deze requests. Feitelijk is jMeter dan ook te beschouwen als een
browser zonder layout. We zien bij jMeter dan ook de elementen
• Listener - Dit element vangt de data op waarin je geïnteres-
terug zoals we die ook bij een browser zien: HTTP-headers, cache,
cookies en responses.
We gaan nu verder in op de hierboven genoemde elementen van
Downloaden en installeren
voeren, dus de daadwerkelijke aanvraag van de APEX-pagina en resulteert in een pass of fail seerd bent, bijvoorbeeld de responstijd.
het testscript. Substitutievariabelen - We beginnen met het definiëren van en-
Om te beginnen dien je jMeter te downloaden van de Apache
kele substitutievariabelen. Dit is niet noodzakelijk maar gaat bij
jMeter website. Hierbij is het essentieel dat je het bestand con-
hergebruik van het script veel plezier opleveren. Je kunt in het
troleert op integriteit met behulp van de PGP-keys. Als je dit niet
script verwijzen naar de substitutievariabelen met de volgende
doet dan loop je het risico dat met het bestand gerommeld is, met
notatie:
alle gevolgen van dien (bijvoorbeeld DDoS aanvallen). Je down-
${
}
loadt namelijk van mirror download sites die niet door Apache
Op plekken waar de hostnaam nodig is gebruik je dan de vol-
worden gecontroleerd. Je wilt natuurlijk absoluut niet dat iemand
gende substitutievariabele:
jouw jMeter op afstand bestuurt en vervolgens elke nacht wat
${webhost}
websites plat legt…
Als je dan het script voor een andere webpagina, op een andere
Nadat het is gedownload en Java is geïnstalleerd, kun je direct
host, wilt gebruiken, dan hoef je maar op 1 plek een aanpassing
met jMeter aan de slag. Laat je niet uit het veld slaan door de vele
te doen. Andere handige variabelen zijn: webhost_poort, users,
opties en technische termen, we lopen er even doorheen.
ramp_up, loops, user_agent, APEX_context_root, APEX_cookie_
Apache jMeter script ontwerpen
name, APEX_app_alias Thread groups - Een aanvraag van jMeter is een Thread. Het
Wanneer jMeter is opgestart dan gaan we de linkerkant van het
toplevel van het script is dan ook Thread Group. Hier geef je het
startscherm vullen met de elementen die behoren bij ons test-
aantal gebruikers, ramp up en loops aan. Het aantal gebruikers
script. We gaan een testscript ontwerpen waarmee we een pub-
en de ramp up horen bij elkaar. Het aantal gebruikers is het aan-
lieke APEX-pagina kunnen aanvragen met het aantal door ons
tal gelijktijdige gebruikers. Maar in het echt zijn gebruikers nooit
ingestelde gebruikers. Het testscript ziet er als volgt uit:
op de duizendste seconde gelijktijdig actief. Met ramp up stel je
Ons jMeter-testscript om een APEX-pagina te testen heeft de vol-
een periode in waarbinnen het aantal verzoeken moet worden
gende elementen:
gedaan. Dus bijvoorbeeld: wanneer je 100 gebruikers instelt met
• Algemene parametersectie - Hier definieer je de defaults en
een ramp up van 5 seconden dan wil dit zeggen dat 100 gebruik-
ers binnen 5 seconden een request doen.
substitutievariabelen van de test.
• Thread Group - Dit is de container voor de controllers en
HTTP headers - Na de tread group properties kom je bij de HTTP-
samplers. Dit element bepaalt het aantal threads (lees:
header properties. Hier stel je onder andere de default webhost,
gebruikers) voor de test
de user agent (welke browser) en cache in. De HTTP-cookie-
• HTTP header sectie -Hier definieer je de HTTP-headers die met
manager zorgt ervoor dat de requests de juiste cookie-informatie
hebben (zoals het APEX-cookie).
het request worden meegestuurd
• Een controller - Dit is een container voor de samplers
16 OGh Visie
Controller en Samplers - Vervolgens is er een Simple Controller
APEX World - Avondspits
group. Binnen deze Simple Controller voegen we een sampler toe. jMeter heeft een groot aantal samplers maar wij gebruiken jMeter voor HTTP-aanvragen en derhalve kiezen we voor de HTTP request sampler (klinkt logisch). Deze sampler krijgt de URL die we willen aanvragen, dus de URL voor de APEX-pagina die we willen
Druk op de play-knop en jMeter voert zijn requests uit. De re-
testen. We kunnen hier onze eerder gedefinieerde substitutievari-
quests kunnen live worden gevolgd als er op een van de listen-
abelen gebruiken.
ers wordt geklikt. Als je een nieuwe test wilt doen dan moet je
Assertions - Assertions zijn beoordelingen van de respons op het
eerst even op de bezem-knop drukken om er zeker van te zijn dat
request, pass of fail. Wanneer jMeter een request doet dan krijgt
de resultaten niet worden toegevoegd aan de resultaten van de
hij hierop antwoord, in ons geval komt er HTML terug van de
vorige test. Testresultaten interpreteren -Nu we de testresultaten
server. Door een assertion te definiëren kunnen we beoordelen of
hebben, pakken we onze testdoelstellingen er weer bij. We kun-
de respons die we terug krijgen juist is. We maken hier een asser-
nen nu conclusies trekken of ons systeem voldoet aan de eerder
tion die in de respons kijkt of in de pagina die we terugkrijgen de
geformuleerde doelstellingen.
volgende tekst staat: name=”p_flow_step_id” value=”1”
Conclusie
Als we dit namelijk terug krijgen dan weten we dat we met APEX-
Stress vooraf is beter dan stress achteraf: stresstest versus oplever-
pagina 1 te maken hebben.
stress. De stresstest wordt vaak overgeslagen. Een stresstest geeft
Listeners - Tenslotte voegen we enkele listeners toe om de data op
een indruk van de performance van het systeem bij een groot
te slaan. jMeter heeft een aantal verschillende listeners, bijvoor-
aantal gebruikers. Met Apache jMeter kun je gebruikers simuleren
beeld een responstijden-listener of een Simple Data Writer-lis-
en derhalve het systeem testen met het vooraf ingestelde aantal
tener. Alle listeners hebben de optie om de data weg te schrijven
gebruikers. Problemen die hiermee aan het licht komen kunnen
naar een bestand. Het is raadzaam om dit te doen zodat je de data
op die manier eerder dan in productie worden opgelost. En het is
later kunt analyseren met behulp van je favoriete programma. En
prettig om voor de avondspits naar huis te rijden…
tevens verzamel je vergelijkingsmateriaal voor toekomstige testen.
Hendrik Blok is senior Oracle APEX developer bij Transfer Solutions,
Run de test - Wanneer we alle elementen hebben ingesteld, kun-
een ICT-dienstverlener met een sterke specialisatie in Oracle- en Java-
nen we de test uitvoeren:
technologie.
M I S N I E T S met OGh Visie-mail Wilt het hele jaar door op de hoogte blijven van nieuws en wetenswaardigheden over Oracle en Oracle-producten, de Oracle-community en de activiteiten van de Oracle Gebruikersclub Holland? Abonneer u dan naast het magazine OGh Visie ook op de gratis digitale nieuwsbrief van de OGh
OGh Visie-mail Bent u reeds geabonneerd op de digitale nieuwsbrief, maak dan uw collega’s en andere Oracle-geïnteresseerden attent op OGh Visie-mail. Inschrijven kan via de website van de OGh: www.OGh.nl. U ontvangt dan naast de jaarlijkse papieren editie ook vier maal per jaar de digitale nieuwsbrief.
OGh Visie
17
Cursus Nieuw in Oracle Application Express 5.0 Ervaren APEX-ontwikkelaars van Transfer Solutions nemen u mee op een gerichte ontdekkingstocht. Dankzij de uitleg van de docent en de oefeningen in deze cursus bent u in staat om de krachtige features van APEX 5.0 direct toe te passen in de dagelijkse praktijk van het ontwikkelen.
• • •
Datum: Maandag 1 september Tijd: 09.00 - 16.30 uur Locatie: Transfer Solutions, opleidingscentrum
Transfer Solutions Stationsweg 19 4141 HB Leerdam 0345 - 616 888 E [email protected] I www.transfer-solutions.com
Specialist in Oracle- en Java EE technologie Opleidingen | Consulting | Remote Databasebeheer
APEX World - UX in APEX-applicaties
User Experience in APEX-applicaties UX of User Experience is een term die regelmatig opduikt op het internet of in gesprekken met collega’s. Maar wat is UX nu precies en hoe kan je het toepassen in APEX-applicaties? Naar aanleiding van de presentatie van iAdvise ‘Een B2B webshop met APEX’ tijdens OGh APEX World, probeert Stijn van Raes een duidelijk beeld te geven van wat UX-design kan toevoegen aan APEX applicaties en geeft hij enkele nuttige tips om UX zelf toe te passen.
Door Stijn van Raes
Wat is UX? UX staat voor User Experience. Het is een term die wordt gebruikt
Direct’ (www.oracle.com/us/uxdirect). Die geeft een goed idee van wat het Oracle Design Proces inhoudt en geeft toegang tot resources en templates die kunnen helpen UX toe te passen binnen jouw bedrijf.
voor alles wat te maken heeft met de ervaring die een gebruiker
UX in APEX
krijgt tijdens de interactie met een(software) product. UX design
UX design wordt meer en meer gebruikt bij het maken van busi-
is de praktijk waarbij verschillende technieken worden gebruikt
ness applicaties. De tijd dat mensen het gebruik van slechte in-
om deze ervaring zo optimaal mogelijk te doen verlopen. Het is
terfaces accepteren, ligt intussen ver achter ons. We gebruiken
een concept dat niet alleen gebruikt wordt bij het ontwikkelen
dagelijks fantastische producten en diensten in ons privéleven
van software, maar het is ook toepasbaar op producten, op dienst-
die ons helpen dagelijkse taken te vereenvoudigen. Maar op de
verlening en op alles waarbij interactie is tussen een systeem en
werkvloer moeten we vaak genoegen nemen met toepassingen
een gebruiker.
die onnodig complex zijn, het uitvoeren van onze taken niet of
UX en Oracle
onvoldoende ondersteunen en soms ronduit frustrerend zijn. Ook APEX-applicaties lijden helaas maar al te vaak aan deze
Ook Oracle heeft enkele jaren geleden ingezien dat mooie en in-
symptomen. APEX maakt het immers mogelijk om vanuit een
tuïtieve interfaces nodig zijn. Het resultaat hiervan zie je in de
datamodel snel een werkende applicatie te bouwen die op kor-
laatste Oracle Fusion Applications producten.
te termijn het bedrijfsproces kan ondersteunen. Maar op lange
Om ook partners en ontwikkelaars van Oracle bewuster te mak-
termijn worden deze toepassingen vaak uitgebreider en bedrijf
en van het belang van UX is recent een website gelanceerd ‘UX
kritisch. Bijgevolg is het belang van een goede UX onontbeerlijk:
UX ontdekkingstechnieken OBSERVATIES: De meest doortastende manier om te weten
Hoe geloofwaardiger ze zijn hoe meer empathie ze zullen op-
te komen hoe een gebruiker werkt, is er naast gaan zitten en
wekken tijdens het maken van je applicaties. Door de infor-
observeren. Door te vragen waarom hij/zij bepaalde acties doet,
matie die je hebt verzameld tijdens workshops en observaties
kan je waardevolle informatie verzamelen over de doelen van
om te zetten in persona’s, kan je op een efficiënte manier een
de gebruiker die je tijdens een gewone bevraging niet te weten
voorstelling maken van je gebruikers om zo de inleving in hun
komt.
wereld te vergroten.
WORKSHOPS: Wanneer je in korte tijd de gedachtegang van
GUERILLA TESTING: Een methode die kan gebruikt worden
verschillende gebruikers wil achterhalen, kan je workshops or-
voor, tijdens en na de ontwikkeling van een applicatie. Je doet
ganiseren waarin aan de hand van verschillende oefeningen de
testen van een 15-tal minuten met gebruikers of mensen uit
doelen en behoeften kunnen worden bepalen.
de doelgroep van je applicatie. Hierin vraag je om enkele taken uit te voeren in de applicatie of het prototype, en al snel zal je
PERSONA’S: Persona’s zijn fictieve voorbeelden van gebruik-
waardevolle informatie te weten komen. Belangrijk is om met
ers waarin informatie staat over hun achtergrond, ervaringen,
een ‘open mind’ deze testen aan te vatten en de commentaren
gedrag en wensen.
van gebruikers niet op te vatten als kritiek.
OGh Visie
19
APEX World - UX in APEX-applicaties
bijvoorbeeld een productenlijst in Excel die wordt omgezet naar
er ook snel door het for-
een APEX-applicatie en daarna al snel wordt uitgebreid tot een
mulier heen lezen.
heuse ordermanagement-tool.
Nadeel van deze vorm
Datamodel ! = goede UX
is dat er meer verticale ruimte nodig is, daar-
Aan de basis van iedere APEX applicatie ligt er een datamodel.
door wordt het wel veel
Dat datamodel wordt vaak rechtstreeks gespiegeld in de interface
gebruikt in mobiele toe-
van de toepassing. Voor een ontwikkelaar is dat perfect logisch,
passingen.
maar een niet technische gebruiker zal al snel moeilijkheden krijgen bij het begrijpen van de toepassing.
Links gealigneerde labels:
Een goede UX start dus bij het centraal plaatsen van de gebruiker,
Voor links gealigneerde
niet van het datamodel. Je moet begrijpen hoe de gebruiker denkt
labels heb je minder
en werkt. In bijgaand kader is een aantal tools en technieken
verticale ruimte nodig,
weergegeven die kunnen helpen bij het ontdekken van de wensen
maar de relatie tussen
van de gebruiker.
het veld en het label is
Prototyping
Oog fixaties bij labels boven het veld
niet altijd duidelijk. Er zijn meer fixaties nodig
Om te kunnen valideren of je een goed begrip hebt van de wensen
van je oog om zo een
van de gebruiker kan je met een prototype snel je ideeën visuali-
formulier te lezen.
seren en aftoetsen. APEX is een RAD tool en per definitie geschikt
Hierdoor
voor het maken van prototypes op korte tijd. Helaas is APEX wel
veel langer vooraleer je
afhankelijk van een goed onderliggend datamodel en word je al
klaar bent. Absoluut af te Oog fixaties bij links gealigneerde
gauw verleid om te veel details uit te werken. Daardoor dreig je
raden dus!
duurt
het
labels
tijd te verliezen met het maken van iets wat je achteraf amper zal kunnen hergebruiken.
Rechts gealigneerde labels:
Gelukkig bestaat er een aantal tools die ons kunnen helpen bij
Rechts gealigneerde
het maken van prototypen, zoals balsamiq (balsamiq.com),
labels lezen dubbel zo
axure (www.axure.com) en proto.io voor mobiele prototypen.
snel als links gealigneerde.
UX tips voor APEX applicaties Formulieren zijn conversaties
Doordat hier label en veld dicht tegen elkaar staan, is de relatie
APEX applicaties zijn data-driven applicaties, en die gegevens
duidelijk. De leesbaar-
moeten natuurlijk ergens vandaan komen. Dit betekent dat er
heid is echter nog steeds labels
veel data-invoer gevraagd wordt van de gebruiker, maar niemand
minder goed dan wanneer de labels boven het veld staan.
vindt het leuk om eindeloze formulieren in te vullen. Sta stil bij
Een bijkomend nadeel is dat langere labels vaak over twee regels
de belasting die je legt bij de gebruiker en schrap overbodige infor-
gespreid worden wat voor een verminderde leesbaarheid zorgt.
Oog fixaties bij rechts gealigneerde
matie. Bijvoorbeeld het invullen van een gemeente aan de hand van de postcode.
Labels in het veld:
Probeer formulieren te bekijken als een conversatie die wordt
Door labels in het veld te zetten bespaar je kostbare ruimte.
aangegaan met de gebruiker. Ieder veld dat ingevuld moet worden
Je kan deze variant echter enkel gebruiken wanneer het om
is een antwoord op een vraag, en die vraag is het label.
vertrouwde informatie gaat (naam, email etc.) want zodra
Plaatsing labels
de gegevens zijn ingevuld, verlies je alle context. Het is dus geen goede keuze voor lange formulieren, maar wel voor bi-
De leesbaarheid van je formulieren wordt in grote mate bepaald
jvoorbeeld registratieformulieren. Idealiter gebruik je een
door hoe de labels worden gepositioneerd:
label in het veld in combinatie met een andere variant.
Labels boven het veld:
De weg naar voltooiing
Labels die boven het veld staan zijn het eenvoudigst te lezen en
Ook wel ‘Path to completion’ genoemd. Dit is de weg die een
handig voor langere labels. De relatie tussen label en veld is altijd
gebruiker aflegt om een pagina te lezen of een taak te verv-
sterk aanwezig. Wanneer je alleen verticaal werkt, kan de gebruik-
olledigen. Bij voorkeur maak je die weg zo duidelijk en kort
20 OGh Visie
APEX World - UX in APEX-applicaties
mogelijk. Hoe meer bochten je in deze weg legt, hoe meer tijd het
Positionering: Acties die een taak initiëren komen bij voorkeur
voor de gebruiker in beslag neemt om zijn taak te vervolledigen.
bovenaan de pagina’s. Acties die een taak vervolledigen komen altijd onderaan. APEX ontwikkelaars hebben soms de slechte gewoonte om bewaar acties bovenaan te plaatsen. Dit doorbreekt echter de weg naar voltooiing. Probeer daarom altijd deze acties onderaan de pagina te plaatsen. Benaming: Voor de benaming van acties is consistentie van belang. Gebruik voor dezelfde acties altijd dezelfde benamingen en beschrijf ook duidelijk wat de acties betekenen. Visualisatie: Bij de visualisatie maken we onderscheid tussen primaire acties (opslaan, verdergaan, aanmaken, …) en secundaire acties (verwijderen, terug, opslaan, …). Benadruk de primaire acties door een andere kleur, grootte of vorm te gebruiken. Handig in APEX is het gebruik van de ‘Hot Button Type’ optie voor een knop.
Geef zo snel mogelijk feedback Wacht niet met feedback geven tot de gebruiker een volledig formulier heeft ingevuld of een volledige taak heeft uitgevoerd. Probeer bij elke stap onmiddellijk feedback te geven. Bijvoorbeeld: geef bij het invullen van een e-mailadres onmiddellijk een waarschuwing indien het geen geldig formaat heeft.
Performance Eén van de belangrijkste factoren waarmee de UX van je appli-
Duidelijke acties
catie staat of valt, is performance. Een applicatie kan heel mooi ontworpen zijn en perfect de behoeften van de gebruikers invul-
Knoppen in je applicatie weerspiegelen de acties die een gebruik-
len, indien ze traag werkt krijg je toch een teleurstellende UX.
er kan doen. Omdat niet alle acties even belangrijk zijn, is een
Wanneer een actie toch enige tijd in beslag neemt, overweeg dan
onderscheid van belang. We kunnen deze maken door position-
asynchrone processen en geef tijdig feedback aan de gebruiker.
ering, benaming en visualisatie.
Gebruiksvriendelijke interfaces in APEX, het kan! Net zoals in andere ontwikkelomgevingen is het ook in APEX mogelijk om gebruiksvriendelijke interfaces te maken. Zelfs al heb je niet de beschikking over gespecialiseerde mensen, met gezond verstand en een aantal tools en technieken raak je zelf al een heel eind verder. Belangrijk is dat je altijd de gebruiker centraal zet en niet de techniek. Stijn van Raes is werkzaam bij iAdvise. Dit artikel is geschreven naar aanleiding van de presentatie van iAdvise tijdens Oracle APEX World. Informatie bronnen: www.oracle.com/ux www.oracle.com/us/uxdirect www.smashingmagazine.com/category/uxdesign Web form design: Filling in the blanks – Luke Wroblewski www.uxmatters.com/mt/archives/2006/07/label-placement-informs.php
OGh Visie
21
Oracle, Big Data en Datawarehousing
Moderne datawarehouse houdt rekening met veranderingen en kan vele soorten analyses aan
Oracle, Big Data en Datawarehousing Van oudsher heeft het datawarehouse duidelijke functies. Naast opslag van belangrijke gegevens afkomstig van bedrijfseigen databronnen zijn (analytische) bewerkingen van belang, met als doel afdelingen te ondersteunen, te voldoen aan wettelijke eisen met betrekking tot het leveren van overzichten en ook marketingacties te ondersteunen. In enkele gevallen wordt het datawarehouse ook gebruikt voor opslag en analyse van sensor-data.
Door Marti Koppelmans
zien. Uiteindelijk betreft ‘Big Data’ mijns inziens meer het ‘
De wereld is veranderd. We werken anders, we denken anders.
Big Data en de business case
We bestellen bijvoorbeeld steeds meer via het web, commu-
Uiteindelijk staat het datawarehouse ten dienste van Business
niceren vooral via sociale media en doen reserveringen via
Intelligence en die weer ten dienste van de bedrijfsvoering.
speciale app’s. Zo wordt er veel meer data geproduceerd. Dit
Je gaat niet zomaar nieuwe datastromen betrekken bij je data-
betreft dan met name ongestructureerde informatie en is dan
warehouse. Zeker niet als je je realiseert dat er vaak nog een
afkomstig uit sociale media, webapplicaties en sensor-data,
aantal bewerkingen nodig zijn om de relevante gegevens uit de
tegenwoordig samengevat onder de noemer ‘Big Data’. Deze
datastromen te onttrekken via een speciaal platform.
gegevens kun je nu ook weer gaan betrekken bij je analyses.
Voor het bepalen en implementeren van die speciale Big Data-
Bedrijven die daar rekening mee houden beschikken over be-
datastroom zijn drie aspecten van belang:
tere informatie, krijgen meer inzicht, kunnen beter beslissen,
1) het bepalen van de business case
beter functioneren en hebben commercieel meer succes.
2) het maken van een keuze uit de verschillende datastromen
Big Denken met Data’.
3) het bepalen van de opzet van de technische infrastructuur De business case zal heel verschillend zijn en varieert van ‘overleven ‘ in de bestaande markt ( eigenlijke aspect: hoe kan ik me aanpassen aan de veranderingen in mijn brache), via uitbreiding van diensten en een betere naamsbekendheid, tot sneller en beter gebruik maken van de eigen testresultaten om producten te verbeteren en/of sneller op de markt te brengen. Afhankelijk hiervan zullen een of meerdere datastromen worden gebruikt. Uiteindelijk zal moeten worden nagedacht over de technische infrastructuur die flexibel bronnen moet kunnen accepteren. Afbeelding 1: Een vliegtuig van Boeing in productie Nu
N.B. De rol/taken/invloed van een data scientist: van meer-
nog op de grond. Tijdens testvluchten worden megahoe-
waarde uit de datastroom komen tot invulling van de business
veelheden aan gegevens verzameld die uiteindelijk ook
case.
nog moeten worden geanalyseerd. Het gaat dan over 20 Terabyte per uur en in totaal 90 Petabyte aan opslag aan
De algemene insteek van Oracle
het einde van de testperiode.
Vervolg van dit artikel op de OGh website Soms kunnen ze niet anders zoals bij het testen van een vliegtuig, waarbij het doel is betere producten te leveren. In andere gevallen moet men verder doordenken om het nut ervan in te
22 OGh Visie
www.OGh.nl
Oracle Database & Middleware Security Day
Keynote-spreker Brenno de Winter houdt OGh-leden spiegel voor
‘Wij zijn veilig want onze data staan in de Oracle Database’ De Oracle Database & Middleware Security Day die afgelopen maand is gehouden, droeg dit jaar als thema ‘Connecting the Clouds, Oracle 12c in de praktijk. Gezien de verheugende opkomst en de hoge waardering van de deelnemers voor het afwisselende programma en de sprekers kan ook deze dag als bijzonder succesvol in de OGh-annalen worden bijgeschreven. De openingskeynote werd verzorgd door onderzoeksjournalist Brenno de Winter, die zijn toehoorders direct al met een aantal pijnlijke voorbeelden duidelijk maakte dat het met de beveiliging van informatiesystemen en de bescherming van persoonsgegevens bij veel bedrijven en overheidsinstellingen in Nederland nog steeds droevig is gesteld. Hij deed dan ook een oproep aan de aanwezigen om vanuit hun technische expertise ervoor te zorgen dat beveiliging hoog op de agenda van het management van hun organisatie komt te staan. “Schrijf een memo aan de ‘stropdas van dienst’ en geef aan hoe kwetsbaar een organisatie is als de beveiliging niet afdoende is geregeld.”
Oracle Database & Middleware Security Day
beveiliging. Hij kwam vervolgens met een
De Oracle Database & Middleware Se-
naam en andere gegevens zichtbaar had in
curity Day die op 6 mei in Figi Zeist
zijn eigen mobiele telefoon. “En ook nog
plaatsvond, trok ruim 130 deelnemers. Het
van een stuk of twaalf Android-toestellen,
afwisselende programma vermeldde naast
dus denk niet dat het toestel-gebonden is,
de plenaire openingssessies, tal van paral-
want dit kan iedereen overkomen.”
lelsessies verdeeld over de drie thema’s Da-
De bewuste smartphone-bezitters dachten
tabase, Security en Middleware. Een verslag
nietsvermoedend in te loggen op een WiFI-
van een wederom geslaagd evenement, met
hotspot van T-Mobile of KPN, maar waren
dank aan de deelnemers die als verslaggev-
in werkelijkheid aan het surfen via de hot-
er een bijdrage hebben geleverd. Van elke
spot die De Winter op zijn telefoon had
track is een presentatie verder uitgewerkt
opgezet en die hij simpelweg dezelfde naam
in een artikel, dat elders in dit nummer te
had gegeven als de hotspots van de beide
Hij liet vervolgens zien hoe je met behulp
vinden is. De hand-outs van de presenta-
providers. “Zo eenvoudig kan het dus zijn
van een simpel tooltje - “makkelijk te vin-
ties zijn te downloaden via de OGh website
om andermans gegevens te achterhalen.”
den via ‘Google voor hackers’”- een flinke
www.OGh.nl.
Voor bedrijven is het niet anders, gaf De
lijst van kwetsbare websites kunt gener-
overtuigend bewijs door te vragen wie in de zaal de IPhone-eigenaar was van wie hij de
Winter aan en liet vervolgens op aanschou-
eren. “Sommige sites stonden al maanden-
Database simpel leeg te trekken
wende wijze zien hoe simpel het is om een
lang op die lijst, maar kennelijk had men
“Wij zijn veilig, want onze data staan in
database leeg te trekken. “Als dat gebeurt
nog steeds niet de moeite genomen om de
de Oracle database.” Dit antwoord kreeg
dan merken bedrijven dat vaak niet eens,
lekken te dichten. Met behulp van een an-
Brenno de Winter onlangs op zijn vraag
ondanks het feit dat er toch sprake is van
dere tool kan je dan weer heel simpel zo’n
hoe het met de beveiliging was gesteld van
een flinke hoeveelheid piekverkeer. Ken-
slecht beveiligde database leegtrekken.”
het bedrijf dat hij bezocht. De enige vraag
nelijk wordt dat bij veel bedrijven niet gem-
die hij daarna stelde was: “Wanneer hebben
onitord. In de top-tien van databaselekken
Woensdag Open Database Dag
jullie voor het laatst een update gedaan”,
staat SQL Injection nog steeds op nummer
“Nog steeds zijn er mensen die denken
waarna het opmerkelijk stil werd. De Win-
2. Dat lek bestaat al 25 jaar en het dichten
dat dit niet de harde realiteit is. Bij ons ge-
ter benadrukte dat over het algemeen nog
daarvan is relatief zo eenvoudig, dat ik niet
beurt dat niet, hoor je dan.” Die mensen
steeds heel weinig nagedacht wordt over
snap dat dit niet massaal is gebeurd.”
raadde De Winter dringend aan om deze
OGh Visie
23
Oracle Database & Middleware Security Day
tools eens zelf te draaien en daarmee hun
Ellison veegde nog geen vier jaar geleden
een template database die gebruikt wordt
eigen systemen te testen op kwetsbaarheid
tijdens een aandeelhoudersvergadering de
bij het aanmaken van een lege pluggable
en zwakke plekken. Aan de hand van een
vloer aan met het Cloud Computing busi-
database. Het aanmaken van een pluggable
aantal even hilarische als pijnlijke voor-
ness model - heeft Oracle nu Cloud Com-
database duurt enkele seconden. Vanuit
beelden - zowel bij bedrijven als (semi-)
puting stevig omarmd. De Oracle Cloud
gebruikersoogpunt verschilt een pluggable
overheidsinstellingen - onderbouwde De
Evangelist presenteerde een overzicht van
database niet van een ‘ normale’ Oracle-
Winter nogmaals zijn stelling dat beveiliging
zowel de cloudtechnologieën die bedrijven
database.
van ICT-systemen en informatiebescherm-
helpen om zelf private clouds te bouwen als
De voordelen met pluggable databases zijn:
ing in de bestuurskamer thuishoort. “In de
de publieke cloud diensten die rechtstreeks
1. We kunnen een pluggable database
bestuurskamer is wel kennis van financiën,
van Oracle betrokken kunnen worden.
met behulp van een database-link
juridische zaken en managementtrucjes,
De focus lag daarbij voornamelijk op de
klonen van een container-database op
maar kennis van ICT is niet of nauwelijks
Infrastructuur en Platform diensten, zoals
server A naar server B
aanwezig, laat staan van bescherming van
Testing-as-a-Service, de nieuwe Data-
2. We kunnen een pluggable database
persoonsgegevens en bedrijfsinformatie.
base Backup Cloud Service en vele andere
inpluggen op server A en inpluggen op
Jullie hebben wel die kennis”, riep Brenno
nieuwe diensten die Oracle op afzienbare
server B
de Winter zijn toehoorders op, “en jullie
termijn denk te introduceren. In de presen-
3. Een pluggable database van een lagere
kunnen zorgen dat veiligheid en beveiliging
tatie van Garsthagen - te downloaden van
versie kan worden ingeplugd in een
de juiste aandacht krijgen van de bestuurders.
de OGh website - worden de huidige en
container-databasevaneenhogereversie
“We moeten leren elkaars taal te spreken
toekomstige oplossingen van Oracle op het
4. DBA-werkzaamheden vinden plaats
en er gezamenlijk voor zorgen dat de vei-
gebied van Cloud Computing overzichtelijk
ligheid van informatie en systemen bin-
op een rij gezet.
Het gebruik van de Multitenant oplossing
nen de organisatie wordt gewaarborgd.”
op root-niveau.
met meerdere pluggable databases valt
waarin ook een moreel appel aan de poli-
Oracle 12c: Multitenant database
tiek werd gedaan om niet langer alles uit
Met de komst van Oracle Database 12c is
ant optie in alle Oracle-versies. Hiermee
de weg te gaan wat met veiligheid en bev-
er een belangrijke nieuw feature geïntro-
is het mogelijk om met Standard Edition
eiliging te maken heeft, besprak De Winter
duceerd: de Multitenant database. In de
een container-database te maken en hierin
met de zaal een aantal suggesties om hier
presentatie van Patrick Munne van Transfer
een enkele pluggable database te plaatsen.
als ICT-community zelf iets aan te doen.
Solutions werden de basisprincipes van de
Neem dus de tijd om de Multitenant optie
“Misschien moeten we wel gaan staken.”
Multitenant database doorgesproken en
te bestuderen, want het zou zomaar de toe-
Maar de meeste bijval kreeg het voorstel uit
werden de werking en mogelijkheden met
komst van de Oracle-database kunnen zijn.
de zaal om “een woensdag in het jaar uit
behulp van demo’s toegelicht. Kort samen-
Patrick Munne, Oracle DBA, OCP Ora-
te roepen tot ‘Nationale Open Database
gevat biedt een Multitenant database de
cle Certified Professional 12c, heeft voor
Dag’.”
mogelijkheid om meerdere databases,
Transfer Solutions een vierdaagse cursus
zogenaamde pluggable databases, in een
ontwikkeld, waarin cursisten zelf ervaren
container-database te plaatsen.
wat de nieuwe features zijn en inzicht krij-
Na een levendige discussie met de zaal,
Oracle’s Cloud Strategy In de tweede keynote gunde Richard
onder de Multitenant optie boven op de Enterprise Edition. Er is ook de single ten-
gen in de mogelijkheden van de Multitenant
Garsthagen, Cloud Evangelist bij Ora-
De container-database (Root) is de funder-
cle EMEA, zijn toehoorders een kijkje in
ing met hierin alle databaseopties en pack-
Oracle’s Cloud Strategy. Na aanvankelijke
ages waar de pluggable databases gebruik
terughoudendheid - Oracle-topman Larry
van kunnen maken. De seed-database is
database voor de eigen organisatie.
Logische Toegang Beveiliging: Migratie RWB naar Oracle Het Logische Toegang Beveiliging (LTB) systeem van Rabobank Nederland legt aantoonbaar, uniform, inhoudelijk juist en efficiënt de identiteit vast van de medewerker, regelt de toegang tot systemen en processen en tot welke handelingen met welke limieten deze is gerechtigd. David Kalff van FuseLogic en Gert Heidema van
24 OGh Visie
Oracle Database & Middleware Security Day
en zijn ook onderdeel van de Oracle
voorheen bekend als Oracle UCM. In de
Identity & Access Management Mas-
WebCenter omgeving is een archief ge-
terclass die FuseLogic regelmatig or-
bouwd met daarin voor elke in Oracle HR
ganiseert.
Digitalisering personeelsdossiers, een praktische beslissing
geregistreerde medewerker bij Rivas een leeg dossier met een standaard indeling (overeenkomsten, personalia, opleidingen, infectiepreventie, et cetera). Vervolgens zijn de papieren dossiers gescand en inge-
Paul Oomens, hoofd personeelsservices bij
lezen in het elektronisch archief. In de pre-
Rivas Zorggroep in Gorinchem, vertelde
sentatie werden enkele leuke voorbeelden
over zijn ervaringen als opdrachtgever bij
gegeven van de praktische problemen waar
de invoering van een volledig gedigitali-
je dan tegenaan loopt.
seerd personeelsarchief. Rivas maakte al ge-
Na de overgang van papier naar elektronisch
Rabobank gingen in hun presentatie in op
bruik van Oracle HR voor een groep van in
verloopt de toegang tot het elektronisch
de migratie van het zelfbouw IAM-systeem
totaal meer dan 6.000 medewerkers. Naast
archief altijd via de autorisatiestructuur
naar de Oracle IAM Suite. Daarmee wordt
de registratie in Oracle HR werkte Rivas
van Oracle HR. Een nieuwe medewerker
het fundament uitgebouwd voor het veilig
met een omvangrijk papieren archief. Dat
wordt door een daartoe bevoegde HR
zaken doen met 10 miljoen klanten door
had beperkingen, bijvoorbeeld:
professional aangemeld in Oracle HR,
de medewerkers van Rabobank Nederland.
- Beperkte toegankelijkheid: het archief
automatisch wordt er een leeg dossier bij
De volgende aspecten werden behandeld:
was uitsluitend op de centrale locatie
aangemaakt en daarin worden de relevante
• Historie en uitleg Rabo WEB
in Gorinchem beschikbaar
documenten ingevoegd (waar nodig via
- Weinig efficiënt: papieren dossiers
een scan). Elke bewerking of opvraging op
• Waarom overstappen naar de Oracle
Beveiliging (RWB)
in het archief kunnen na gebruik ver-
het elektronisch archief wordt via webser-
keerd teruggeplaatst worden en daar-
vices in Oracle HR gecontroleerd op juist-
• Fasering van de migratie - De
IAM Suite?
door zoekraken
heid en rechtmatigheid: Is de gezochte me-
migratie is te groot om in één keer uit
- Kostbaar en arbeidsintensief: Een
dewerker bekend, en heeft die een dossier
te voeren. Hoe organiseer je dat per
papieren archief vergt een continu
dat benaderd mag worden door degene die
fase nieuwe functionaliteit wordt uit-
beschikbare goed beveiligde ruimte
de zoekvraag gesteld heeft? Die controle
geleverd, waarmee onderdelen uit
die aan alle regelgeving voor bijvoor-
kan soms complex zijn, bijvoorbeeld als het
RWB vervangen worden?
beeld houdbaarheid voldoet.
mandaat om dossiers te bekijken tussen HR-professionals is overgedragen.
Oracle WebCenter
De koppeling tussen Oracle WebCenter
Om deze problemen op te lossen heeft
en Oracle HR is gebouwd door Transfer
Rivas ervoor gekozen om het papieren ar-
Solutions en kan als integratie-component
chief volledig te digitaliseren. Daarvoor is
worden hergebruikt voor andere (Oracle)
gebruik gemaakt van Oracle WebCenter,
HR omgevingen. Voor het kunnen bekijken
• De nieuwe uitdaging: De Business
View - Hoe krijg je draagvlak en zelfs
enthousiasme bij de business? Welke
functionaliteit kan aan de business
geboden worden om het aanvragen
en intrekken van gebruikersrechten,
eenvoudiger, sneller, goedkoper en
compliant te maken?
• Lessons Learned - Ervaringen en les
sons learned van Oracle IAM-project-
OGh Visie
25
Oracle Database & Middleware Security Day
en bewerken van dossiers op PC, Laptop
er een notification verstuurd die opgepikt
en tablet, gebruikt Rivas Onior Document
wordt door een custom applicatie, die een
Management.
extra server aanmaakt of een extra server
Voordelen
start. Door gebruik te maken van deploy-
De digitalisering levert veel voordeel op,
ment plans kunnen op run-time settings
zoals: dossiers kunnen snel gevonden
van de custom application aangepast
worden, vanaf elke locatie en via elk de-
worden. Om een Coherence data-tier te
vice (BYOD). Verder is het eenvoudig na
integreren maken we eveneens gebruik van
te gaan of een dossier of een document
dynamic clusters. Zoals hierboven al opge-
daaruit vernietigd moet worden (vanwege
merkt staan dynamic clusters toe om een
retentieregels), wie wanneer toegang tot
omgeving gemakkelijk op te schalen, wat
een dossier gehad heeft en kan bij een con-
in het geval van een Coherence data-tier
trole door een externe partij (denk aan de
een must is als bijvoorbeeld de hoeveelheid
fiscus) snel inzage gegeven worden in de
features ingezet kunnen worden (en toege-
data toeneemt.” Als laatste stap werd een
benodigde documenten. De voordelen van
past zijn) in de praktijk.
demo gegeven van Java Mission Control,
het digitaal archief zijn groot: efficiënter,
Rene van Wijk legt uit: “Als eenmaal de
waarmee een Java Virtual Machine in
doelmatiger en veiliger dan een papieren
software is geïnstalleerd kunnen we een
detail kan worden geanalyseerd.
archief. Paul Oomens gaf aan bijzonder
domein creëren. Het creëren van het
tevreden te zijn over de wijze waarop het
domein wordt opgesplitst in fasen. De
geheel is gerealiseerd. Met name de bereid-
eerste fase creëert een basis domain (met
SOA Suite draaien op de Oracle Database Appliance
heid van alle betrokken partijen om flexibel
een admin server) en configureert de
In deze sessie gaf Lonneke Dikmans
in te spelen op onverwachte wendingen in
node manager waar de admin server gaat
(Vennster) uitleg over de Oracle Database
het traject is volgens hem een belangrijke
draaien. In de tweede fase wordt de deploy-
Appliance (ODA). Zij ging in op de archi-
succesfactor geweest.
ment omgeving gecreëerd, zoals clusters,
tectuur en kenmerken en de verschillende
machines, managed servers, messaging re-
mogelijkheden die de ODA biedt. Twee
sources enzovoorts. Op deze manier zorgen
cases studies werden besproken, waarbij in
we ervoor dat we verschillende bouwblok-
de eerste case voornamelijk de nadruk lag
In deze sessie liet René van Wijk van Axis
ken krijgen voor verschillende domeinen
op de database. De tweede case study betrof
into ICT zien hoe het opzetten van een
(lees deployment eisen).
O-box Products Ltd, die haar eerste product
deployment omgeving die gebruik maakt
Automatisch schalen
baseerde op de ODA en WebLogic combi-
van WebLogic Server, geautomatiseerd kan
Om applicaties op de omgeving te deployen
natie die Oracle biedt. Lonneke besloot
worden en hoe een Coherence data tier
hanteren we een vaste directory structuur,
haar presentatie met enkele overwegingen
geïntegreerd kan worden zonder dat een
die gebruikt wordt om de deployments te
ten aanzien van de keuze tussen cloud
bestaande deployment omgeving verwij-
automatiseren. In WebLogic 12.1.2 kun-
services, appliances (Exa versus ODA) en
derd hoeft te worden. Getoond werd hoe
nen we de dynamic cluster feature ge-
zogeheten ‘do-it-yourself’ installaties’.
een omgeving automatisch mee kan scha-
bruiken om applicaties automatisch te
Patrick Munne, Oracle DBA, OCP Oracle
len met betrekking tot het aantal gebruik-
laten schalen met het aantal users. Hierbij
Certified Professional 12c, heeft voor Transfer
ers. In de voorbeelden is gebruik gemaakt
maken we gebruik van het WebLogic Diag-
Solutions een vierdaagse cursus ontwikkeld,
van nieuwe features in WebLogic Server
nostic Framework, zoals collected metrics
waarin cursisten zelf ervaren wat de nieuwe
12.1.2, waarmee tevens een ‘What’s new
en watches & notifications. In het geval
features zijn en inzicht krijgen in de mogelijkheden
in...’ overview werd gegeven. Door middel
dat het aantal user session een bepaalde in-
van de Multitenant database voor de eigen
van demo’s werd duidelijk hoe de nieuwe
gestelde grens wordt overgeschreven wordt
organisatie.
WebLogic 12.1.2: Ready for the Cloud
Oracle Database & Middleware Security Day werd mede mogelijk gemaakt door DIAMOND SPONSOR
26 OGh Visie
SILVER SPONSOR
SILVER SPONSOR
Oracle 12 c biedt controle over data in de cloud
Oracle 12c biedt controle over data in de cloud Oracle 12c bevat een groot aantal verbeteringen op het gebied van security. Veel van deze verbeteringen zorgen niet alleen on-premise voor een hoger niveau van beveiliging, maar bieden ook meer controle over de data als de applicatie in de cloud staat, zo constateert Database Consultant Gerard Uiterwaal van Motiv. privileges worden weggehaald die niet strikt
van de encryptiesleutel apart kan worden
noodzakelijk zijn voor het beheer.
toegekend en dus is losgemaakt van het be-
Met Oracle 12c wordt het een stuk een-
heer van de applicatie.
Een database-administrator (DBA) is door
voudiger om de rechten van een gebruiker
Een andere toevoeging in Oracle 12c is
zijn vele taken het beste te vergelijken met
in te perken. Zo biedt 12c de nieuwe fea-
de ondersteuning van de cryptografische
het schaap met de vijf poten. Zo is de DBA
ture genaamd ‘Privilege Analysis’. Hiermee
hash-functies SHA-224, SHA-256, SHA-
onder andere verantwoordelijk voor het
kunnen de uitgedeelde privileges in kaart
384 en SHA-512 (soms worden deze func-
installeren van databases, de monitoring,
worden gebracht en worden geanalyseerd
ties samengevat onder de naam SHA-2).
back-up en recovery, tuning, het ontwerp
of users over overbodige of ongebruikte
Deze hashes worden gebruikt voor het be-
van het Physical Data Model, het opstellen
privileges beschikken. Aan de hand van
veiligen van elektronische handelingen
van standaarden en richtlijnen en patch-
rapporten kan worden bepaald welke privi-
zoals het afschermen van wachtwoorden.
ing. Om al deze taken uit te kunnen voe-
leges probleemloos kunnen worden in-
In voorgaande versies van de Oracle-data-
ren, beschikt de DBA als ‘super user’ vaak
getrokken.
base was het echter nog zo dat een super
over nagenoeg onbeperkte rechten.
Een ander belangrijk speerpunt in deze
user met nagenoeg onbeperkte privileges
Op het moment dat een applicatie ‘naar
nieuwe versie is de scheiding van functies
ook de ‘gehashte vorm’ van de wacht-
de cloud’ gaat, komen enkele DBA-taken
waarmee wordt voorkomen dat een gepri-
woorden kon opzoeken in de dictionary en
op het bordje van de cloudprovider te
vilegieerde gebruiker meteen alles kan. Zo
eventueel kopiëren in een poging om ze te
liggen. Zo zal de provider niet alleen ver-
voorziet 12c in aparte privileges voor back-
kraken. In 12c is de toegang tot de hashes
antwoordelijk zijn voor de installatie van
up, auditing en sleutelbeheer zodat een appli-
– evenals de toegang tot de encryptiesleutel
de database, maar ook op regelmatige basis
catie naar de cloud kan worden gebracht
– buiten de normale privileges gehouden.
een back-up moeten maken en de software
zonder de controle over te dragen.
Door Gerard Uiterwaal
moeten upgraden. Door het overdragen
Auditing
van de bijbehorende rechten om deze taken
Encryptie
uit te kunnen voeren, ontpopt de cloud-
Een duidelijk voorbeeld van de verregaande
Oracle 12c in een apart privilege dat niet
provider zich tot het een ‘extern schaap
functiescheiding in Oracle 12c is te vinden
automatisch toebehoort aan de ‘super-
met vijf poten’ dat buiten het zicht van de
op het gebied van encryptie. Encryptie is
user’. Het belangrijkste doel van auditing
organisatie in de database kan grazen. De
een van de maatregelen die je kunt nemen
is het controleren of gebruikers – en dan
provider beschikt – als eigenaar van de machi-
om ervoor te zorgen dat alleen de applicatie
met name de gebruikers met de meeste
ne waarop de database draait – bovendien
in staat is om de gevoelige data in een data-
privileges – geen ‘gekke dingen’ doen. In
over het root-account waarmee het mogelijk
base te lezen. Bijvoorbeeld een cloudprovider
voorgaande edities van de Oracle-database
is om een database zonder authenticatie met
die is belast met het beheer van een appli-
had de SYSDBA echter ook automatisch
de hoogste privileges te benaderen.
catie kan de data nog wel kopiëren, maar
toegang tot de auditinformatie en de moge-
moet beschikken over de encryptiesleutel
lijkheid om informatie te verwijderen
om de data ook te kunnen lezen.
waardoor handelingen niet meer traceer-
Voor een organisatie is het niet wenselijk
In voorgaande versies van de Oracle-data-
baar zijn.
dat een derde partij zoals een cloudprovider
basesoftware hadden de users die waren
Met ingang van Oracle 12c zit een aantal
over onbeperkte rechten beschikt waardoor
belast met het beheer van de applicatie
privileges met betrekking tot auditing niet
je als organisatie de controle over de appli-
echter ook automatisch het beheer over
meer standaard in het SYSDBA-privilege;
catie en de onderliggende data verliest. Om
de encryptiesleutel. Met ingang van versie
die moeten expliciet aan een user worden
ook in de cloud de controle te behouden, is
12c kent Oracle een nieuwe logon-role in
toegekend. Zo is het nu mogelijk om apart
het noodzakelijk dat bij de ‘super-users’ de
de vorm van ‘SYSKM’ waarmee het beheer
privileges toe te kennen voor het kunnen
Privilege Analysis
Ook op het gebied van auditing voorziet
OGh Visie
27
Oracle 12 c biedt controle over data in de cloud
bekijken van de auditdata en voor het beheer van de auditing policy’s (op basis
Oracle Advanced Security
waarvan informatie wordt verzameld). Om audit-informatie weg te kunnen gooi-
Met behulp van ‘Oracle Advanced Secu-
uitgaan naar encryptie op de schijf. Voor
en, zijn audit-beheerrechten vereist. Ook
rity’ kunnen ‘gegevens in ruste’ worden
bijvoorbeeld helpdesks die te maken heb-
de handelingen van een super user blijven
beschermd tegen aanvallen die zijn ge-
ben met klantgegevens zoals creditcard-
daardoor traceerbaar en de integriteit van
richt op de data die staan opgeslagen op
nummers biedt Oracle vanaf versie 12c
een audit gewaarborgd.
productieservers of back-upmedia. Voor
de ‘Data Redaction Policies’. Met Data
de versleuteling van gevoelige kolommen
Redaction worden data in de database
in tabellen of in complete tablespaces
bewerkt voordat ze worden teruggegeven
Feit blijft dat ook super users data nodig
voorziet Oracle in diverse vormen van
aan de applicatie. In het voorbeeld van de
hebben voor het beantwoorden van vragen
encryptie, zoals DBMS Crypto, Transpar-
creditcardnummers kan Data Redaction
die betrekking hebben op een applicatie.
ent Data Encryption en Network Data
ervoor zorgen dat een deel van een cred-
Om historische data in te kunnen zetten
Encryption and Integrity. Deze laatste op-
itcardnummer wordt ‘gemaskeerd’ en de
voor operationeel gebruik voorziet Oracle
tie zit nu ook standaard in de Enterprise
helpdeskmedewerker alleen de laatste vier
in Flashback Data Archive, een optie die in
Edition van 12c, zonder de noodzaak om
cijfers te zien krijgt om te kunnen con-
versie 11 al aanwezig was en in 12c verder
een aparte licentie aan te schaffen.
troleren of het nummer inderdaad van
is verbeterd. Met Flashback Data Archive
De keuze voor een bepaalde vorm van en-
de beller is. Aan de hand van policy’s kan
kunnen (delen van) de data van een appli-
cryptie is sterk afhankelijk van de situatie.
worden ingesteld wie precies wat te zien
catie gedurende een bepaalde periode
Zo zal in een cloudomgeving de voorkeur
krijgt.
Flashback Data Archive
worden opgeslagen. Op die manier kan een DBA bv. opzoeken hoe een tabel er een
maken één ding duidelijk: de privileges die
lijkheden om controlerende taken intern
jaar geleden uitzag, en welke user op welk
kunnen worden toegekend, worden met
in de eigen organisatie te beleggen. Het
moment data heeft gewijzigd en waarom.
Oracle 12c net zo fijnmazig als de busi-
inperken van de privileges biedt bovendien
Oracle biedt hiermee – naast de audit-
nessregels. Bijvoorbeeld de eis dat de DBA
een vorm van zelfbescherming, ook als alle
functionaliteit – een aparte tool voor het
geen toegang mag hebben tot de business-
applicaties gewoon on-premise draaien. De
beheren van de operationele data voor
data – die wel nodig is voor de tuning – kan
beveiligingsmaatregelen die in Oracle 12c
operationele doeleinden. Het strekt tot
eindelijk worden ingelost door intern een
zijn toegevoegd, moeten dus niet alleen in
de aanbeveling om de tooling ook strikt
tuning-DBA-functie te creëren.
een cloudscenario worden toegepast.
securityprofessionals en Flashback Data
Door meer functiescheidingen aan te breng-
Gerard Uiterwaal is Database Consultant bij
Archive voor het operationeel gebruik van
en, ontstaan er meer mogelijkheden om
ICT Security-specialist Motiv (www.motiv.
de historische data door de DBA. Zeker nu
privileges af te snoepen van die almachtige
nl).Dit artikel is een weergave van de pre-
de prijzen van schijven sterk dalen, wordt
super user en wordt het eenvoudiger om
sentatie die hij heeft gegeven tijdens de Oracle
Flashback Data Archive een aantrekkelijke
taken die de business raken apart te be-
Database & Middleware Security Day van de
optie.
leggen. Ook als een applicatie in de cloud
OGh.
De hierboven aangehaalde voorbeelden
staat, zijn er kortom nog voldoende moge-
gescheiden te houden: auditing voor de
28 OGh Visie
Oracle Database en Middleware provisioning
Oracle Database en Middleware provisioning Provisioning van Oracle omgevingen kan voor bedrijven een complexe aangelegenheid zijn, vooral bedrijven die beschikken over meerdere ontwikkel-, test- en acceptatie-straten (OTAP). Door het gebruik van de juiste tools kan provisioning van Oracle-omgevingen sterk worden vereenvoudigd.
Door Edwin Biemond en Robbrecht van Amerongen
Arbeidsintensief en foutgevoelig
zolang men alleen maar Oracle software gebruikt. De praktijk is anders. Bedrijven gebruiken naast Oracle ook software van andere leveranciers. Gebruiken vaak VMware als virtualisatie software of draaien in een Non Oracle cloud. Dit betekent dat
Het inrichten van een Oracle Database of een Fusion Middle-
de beheerders naast de Oracle toolset ook een verzameling van
ware omgeving is erg arbeidsintensief en foutgevoelig. Het proces
scripts moeten beheren om ook op deze omgevingen Oracle uit
bestaat uit een groot aantal stappen. Daarbij maakt de beheerder
te rollen en te configureren. In deze scripts lopen in veel geval-
veel belangrijke keuzes in instellingen en parameters die een
len de omgeving-specifieke parameters en de scripting logica
essentieel effect hebben op de schaalbaarheid, beschikbaarheid,
door elkaar heen. Dit maakt het onderhoud van deze scripts erg
onderhoudbaarheid en de performance van de omgeving. Het
lastig. Daarbij kan men vaak na een fout niet verder gaan waar
is belangrijk om deze parameters correct en eenduidig vast te
men gebleven is.
leggen zodat achteraf duidelijk is wat er uiteindelijk is ingesteld.
Een alternatief voor het beschikbaar maken van Oracle omge-
Hierdoor kan de inrichting van een omgeving een paar dagen
vingen is klonen. Daarbij maakt men vaak gebruik van een
tot zelfs enkele weken duren. Omdat ervaring leert dat een
Golden Image. Een kloon van deze image vormt samen met
handmatig niet altijd even soepel verloopt worden er extra con-
de extra configuratie, de basis voor een nieuwe omgeving. Het
trolestappen aan het proces toegevoegd die ervoor zorgen dat
probleem dat hierbij kan ontstaan is dat een werkende omge-
de doorlooptijd alleen nog maar langer gaat worden. Het is ver-
ving ook weer wordt gekloond waardoor men niet meer weet
standiger om te investeren in server provisioning en het proces
wat de verschillen zijn tussen al die omgevingen.
te versnellen dan te investeren in controle en management op een proces dat al inefficiënt en niet effectief werkt. Met server
Star patch beleid
provisioning zijn we in staat om op een snelle, controleerbare
Voor al deze technieken blijft het upgraden en patchen een
en herhaalbare manier een omgeving op te leveren. Daarmee
probleem. Het OS, Java, Database, WebLogic Server of Fusion
kan de beheerder zich proactief richten op het doorvoeren van
Middleware hebben vaak op maandelijkse basis nieuwe (securi-
verbeteringen in plaats van reactief herstellen van fouten die in
ty) patches of zelfs een nieuwe release. Dit is voor een beheerder
het verleden zijn gemaakt.
vaak niet meer bij te houden. Dit kan resulteren in een star
Tot voor kort was Oracle server provisioning alleen mogelijk
patch beleid. Hierbij worden kritieke performance of security
met de volgende Oracle producten: Oracle Enterprise Man-
patches veel te laat doorgevoerd en minor & major releases lei-
ager, de Provisioning Packs en Virtual Assembly Builder. Deze
den altijd tot een groter beheer en testinspanning.
tools richten zich vooral op de engineered machines van Ora-
Met de juiste provisioning toolset is het mogelijk om op een
cle en werken vaak alleen maar met Oracle VM. Dit gaat goed
snelle en flexibele manier een platform van hoge kwaliteit op te
OGh Visie
29
Oracle Database en Middleware provisioning
leveren. Het resultaat is daarbij herhaalbaar en controleerbaar.
• Puppet is beschikbaar als Open Source en de tool kan ook
De nieuwe generatie provisioning tools hebben dit als uitgangs-
punt.
• De Enterprise Editie biedt extra functionaliteit en de
zonder een Puppet Master gebruikt worden. componenten zijn op elkaar afgestemd. Ook deze Enterprise
De oplossing is:
gebruik een
• First Mile support (PXE boot / Razor), hiermee kan men een
provisioning tool
zoals Puppet.
editie is gratis te gebruiken maar tot maximaal 10 nodes nieuwe image of server voorzien van een operating system.
Waarom Puppet
Geen scripting maar een definitie van de To Be situatie
Waarom hebben wij de voorkeur voor Puppet als provisioning
Puppet start niet blind allerlei scripts of commando’s af maar
tool? Naast Puppet kan men ook gebruik maken van Chef, of
beschrijft juist de gewenste ToBe situatie en bepaalt vervolgens
Ansible. De werking van deze tools is vergelijkbaar. Er is echter
de stappen om daar te komen. Puppet weet hoe de server eruit
een aantal onderscheidende karakteristieken die de voorkeur
zou moeten zien, vervolgens maakt Puppet een scan of foto van
richting Puppet laten bewegen. Naast de functionele werking is
de huidige situatie, maakt een catalogus van alle noodzakelijke
het belangrijk dat een goede provisioning tool zo breed mogelijk
acties om daar te komen en voert deze vervolgens in de beste
is in de ondersteuning van verschillende typen OS, software en
mogelijk manier uit. Hiervoor beschikt Puppet over zijn eigen
componenten. De tool moet een grote installed base hebben en
taal (DSL) waarmee men op een eenvoudig wijze eigen mo-
een actieve community. Daarnaast moet het gebruik aansluiten
dules/classes kan maken, daar binnen kan men weer gebruik
bij de belevingswereld van beheerders en ontwikkelaars maar
maken van de volgende Puppet standaard Types.
ook in de communicatie, helderheid aan IT management kunnen bieden. Daarbij heeft Puppet uitstekende support opties. Puppet heeft de volgende karakteristieken. • Leverancier van Puppet is PuppetLabs, winnaar van vele
Linux awards, wereldwijd (zeker in Nederland) de meest
populaire tool voor provisioning. De omzet van Puppet Labs
verdubbelt elk half jaar.
• Op dit moment zijn er ongeveer 10.000.000 nodes
(machines) onder Puppet provisioning.
• Daarbij zijn er commerciële implementaties van 60.000
nodes bij één klant.
• Google gebruikt Puppet. Daarbij beheren ze 30.000 servers
Als dit niet genoeg is, kan men dit uitbreiden met 1 van 2300
modules die men kan vinden op Puppet Forge
met 6 beheerders.
• Puppet is uitbreidbaar met specifieke modules. Er zijn
Hierbij een voorbeeld van een standaard Type = Package. Met
inmiddels 2300 vrij te gebruiken Puppet modules beschik-
Package kan op een eenvoudige manier Operating System pack-
baar. Op de belangrijkste hiervan garandeert PuppetLabs dat
ages installeren, die men onder andere nodig heeft voor een
ze goed werken en ze leveren er support op.
database installatie.
• Puppet ondersteunt de volgende cloud modules zoals
De Package Type installeert vervolgens deze software, hiervoor
VMware, Google Cloud, OpenStack, Microsoft Azure
zal Puppet bij RedHat de yum of rpm utility gebruiken terwijl bij
en Amazon Cloud.
Debian men weer gebruik maakt van apt-get.
• Er is gegarandeerde ondersteuning voor Linux, Windows,
Hetzelfde geldt voor het aanmaken van de Oracle Database OS
rollen en de Oracle database gebruiker.
Solaris en AIX.
30 OGh Visie
Oracle Database en Middleware provisioning
Met Puppet zijn we ook in staat om de huidige staat van een re-
• Het installeren van een 11.2 of 12.1 Oracle Database,
source op te vragen. in dit geval kan ik op de server deze Oracle
user weer opvragen m.b.v. het volgende commando:
• Hierbij kan men kiezen uit de volgende opties
puppet resource user oracle.
Grid of Client software Standard-One, Standard of Enterprise Edition
• Configureren van een Database instance ASM • Oracle Net & Listener configuratie • Het doen van een OPatch upgrade en of apply-en van een patch • GoldenGate 11.2 of 12.1.2 installatie • Repository Creation Utility (RCU) voor SOA Suite,
WebCenter of OIM/OAM
De ORACLE module die gemaakt is door Bert Hajee ondersteunt de volgende zaken: • Tablespaces • Role • User Als we deze user willen aanpassen dan kunnen we dit com-
• Service
mando nog eens uitvoeren maar dan met een extra parameter
Hierbij een voorbeeld van een Oracle schema gebruiker met
--edit, In vi maken we dan onze aanpassing en Puppet voert
daarbij een tablespace en een role. Deze Oracle Puppet types
deze vervolgens weer uit.
hebben dezelfde functionaliteit en mogelijkheden als de standaard Puppet Types. Kortom hiermee zijn we in staat om in 15 minuten een database server op te leveren.
Natuurlijk zijn we met de standaard File en Exec Puppet types in staat om ook onze oude Oracle scripts af te starten, maar dat is niet echt ‘the Puppet way to go’. Daarbij zijn we hiermee niet volledig in staat om alle Oracle Database of WebLogic artifacts te wijzigen.
Oracle Puppet modules
Voor WebLogic en Fusion Middleware hebben we de beschik-
Nu we een beeld hebben wat Puppet allemaal kan doen, kun-
king over de Puppet modules ORAWLS, JDK7 en ORAUTILS.
nen we het nu hebben over de beschikbare Oracle Puppet mod-
JDK7 en ORAUTILS zijn ondersteunende Oracle modules. De
ules. Voor de Oracle database kennen we namelijk 2 modules:
JDK7 module installeert de Java runtime, maar biedt daarbij
ORADB en ORACLE. Met de ORADB kunnen we de volgende
ook de mogelijkheid om het tekort aan Entropy op te lossen
acties uitvoeren.
(WebLogic maakt voor zijn security heel veel gebruik van ran-
OGh Visie
31
Oracle Database en Middleware provisioning
dom numbers, anders kan namelijk het opstarten van de Ad-
• JRF / ADF Cluster
minServer ongeveer 30 minuten in beslag nemen ). ORAUTILS
• Resource Adapter configuratie
bevat scripts die men kan gebruiken bij een WebLogic server waardoor men via een script de nodemanager of een Admin-
Wat zijn de volgende stappen?
Server kan herstarten.
Hiermee zijn we uiteindelijk in staat om standaard Oracle build-
De ORAWLS module bevat de volgende installatie opties:
ing blocks te definiëren. Deze building blocks brengt duidelijk-
• WebLogic 10.3.6, 12.1.1, 12.1.2
heid, men weet waar uit het bestaat en zijn daarom gemakkelijker
• ADF 11g & 12.1.2
te patchen. Vanwege de standaardisatie hebben de beheerders tijd
• Oracle Service Bus 11g
om deze building blocks verder te optimaliseren. Plus dat we met
• Soa Suite 11g • WebCenter 11g Portal & Content • Patching opties • WebLogic BSU • FMW Opatch • Domein opties • Standaard • Standaard, met daarbij ADF • Oracle Service Bus • SOA Suite • OSB + SOA Suite
deze building blocks overhead kunnen verkleinen omdat para-
• OSB + SOA Suite + BPM
meter documenten van omgevingen hier geen nut meer hebben
• WebCenter portal
en men meteen kan beginnen aan de uitrol hiervan.
• WebCenter Portal + Content Vaak is bovenstaande nog niet genoeg en is er nog wat extra
• Oracle Database 11gR2 of 12c installatie
configuratie nodig.
o Met 1 of meerdere Database instances
o Database Types
De ORAWLS modules biedt ook ondersteuning voor de volgen-
• Multipurpose
de WebLogic configuratie:
• Data Warehousing
• Multi node, WebLogic domein over meerdere servers en
• OLTP
o Tablespaces
eventueel in een cluster opstelling
• NodeManager configuratie
o Roles
• StoreUserConfig voor het opslaan van WebLogic wachtwoorden
o Users
• Java Secure Socket Extension (JSSE)
• Oracle Database 11gR2 of 12c installatie in combinatie met
ASM (Grid)
Native WebLogic Puppet types voor:
• Optioneel met
• Machine, Server & Cluster
• GoldenGate
• Channels & Virtual hosts
• Repository Creation Utility (RCU)
• User & Group
• Workmanagers
• WebCenter
• Datasource
• SOA Suite • Alle schema’s
• Persistence • JMS, JMS Server, Module, Connection Factory, Queue,
Voor WebLogic kennen we eigenlijk 3 typen, die geoptimaliseerd
zijn voor de specifieke doelgroep namelijk:
Topic, SubDeployment, Quota & Foreign Server
• SAF, Store & Forward
• Developer, de bedoeling is om de ontwikkelaar zo goed
Ook voor Fusion Middleware bevat deze ORAWLS module de
mogelijk te ondersteunen met een eigen omgeving zodat hij
volgende mogelijkheden:
of zij meteen productief is.
• Aanpassen van de FMW Logging
o Bijvoorbeeld 1 image die eventueel ook beschikbaar op
• SOA Suite / OSB Clusters ( volgens de Enterprise
zijn eigen desktop m.b.v. Vagrant in combinatie met
Virtualbox of VMware workstation
Deployment Guide)
32 OGh Visie
Oracle Database en Middleware provisioning
• Verbeter hoog beschikbaar, deze heeft als doel dat deze
het resultaat voorspelbaar
omgeving zoveel mogelijk lijkt op productie en hiermee
en herhaalbaar. De uit-
willen vooral de omgeving, applicatie en deployment testen.
rol van de daadwerkelijke
o Bijvoorbeeld 1 image met daarop WebLogic Clusters die
omge-ving
bestaan uit 1 Managed Server
kan
gedaan
worden in enkele minuten
• Hoog Beschikbaar, Een Multi-node WebLogic omgeving die
en is niet meer dan een
druk-op-de-knop. Daarbij
bestaat uit WebLogic Clusters met meerdere Managed Servers
Met daarbij de volgende WebLogic opties
kan deze taak uiteindelijk
• Zwaardere certificaten
uitgevoerd worden door de
• Logging op een centrale plek
eind-gebruiker die de om-
• Domein gescheiden van de binaries
geving wil aanvragen. Pup-
• Volledig ingericht met
pet werkt op basis van een
o User & Group
gedefinieerde (gewenste)
o Machine, Server en Cluster
eindsituatie van een om-
o Channel en Virtual host
geving. Als deze omgeving
o Datasource
afwijkt van de gewenste
o Persistence
situatie dan is dat zichtbaar
op het dashboard en zal
o JMS ( server, module, quota, sub-deployment, queue /
topic, connection factory, foreign server )
o SAF ( Store and Forward )
Puppet deze automatisch aanpassen tot de gewen-
Voor Fusion Middleware geldt hetzelfde als voor WebLogic,
ste situatie. Hiermee is niet alleen het opzetten van de omgev-
maar dan in combinatie met de volgende FMW software
ing geautomatiseerd maar zorgt de tool er ook voor dat men in
• ADF 11g & 12.1.2
control blijft. En bij een wijziging hoeft men alleen de param-
• SOA Suite 11g optioneel met BAM en BPM
eters aan te passen en de tool voert vervolgens de mutaties uit. Dit is een compleet andere benadering dan het ‘blind scripten’ van omgevingen. Met Puppet weet je altijd exact of je omgeving voldoet aan de gedefinieerde situatie, men kan omgevingen vergelijken en het voeden van de CMDB met actuele informatie. Als eindresultaat een provisioning applicatie • Beperkte keuzes gebaseerd op de Oracle building blocks • Binnen een uur een gewenste en gecontroleerde omgeving
• OSB Suite 11g
• Secretaresse kan de uitrol doen!
• WebCenter Portal & Content 11g Met daarbij de mogelijkheid voor de volgende FMW opties • Omzetten naar een OSB,SOA Suite Cluster ( op basis van de
Enterprise Deployment Guide )
• JRF ( ADF ) Cluster • Aanpassen van de FMW logging • OPSS security store omzetten naar de database • Resource Adapters configuratie Hierbij een voorbeeld van een FMW productie omgeving en dat allemaal in 30 minuten!
Conclusie
Edwin Biemond is Application Architect bij AMIS en Robbrecht van
Provisioning van Oracle omgevingen is met het gebruik van
Amerongen is Business Innovation Manager bij AMIS. Dit artikel is
Puppet building blocks erg eenvoudig. De keuzes worden beperkt
een weerslag van de presentatie die Edwin Biemond heeft gehouden
door het hanteren van voor gedefinieerde instellingen. Daarbij is
tijdens de Oracle Database & Middleware Security Day.
OGh Visie
33
WebCenter SIG
Interesse voor WebCenter SIG blijft groeien Na bijna een half jaar was het afgelopen maand weer hoog tijd voor een bijeenkomst van de WebCenter SIG van de OGh. Het was alweer de derde bijeenkomst, en met veel genoegen zie ik de interesse voor de SIG alleen maar groeien.
Door Rob de Gouw
Peter Aarts heeft als laatste bijdrage aan de SIG verteld wat een elektronische handtekening is en hoe dit werkt in WebCenter Content. Belangrijkste aan het principe is dat de elektronische
Ondanks de gesignaleerde groei van de SIG en de interessante
handtekening opgeslagen wordt in de WebCenter Content re-
onderwerpen was er toch een klein zwart randje om de bijeen-
pository. Op het moment dat het document de repository ver-
komst. Na ruim anderhalf neemt de geestelijk vader van de SIG,
laat is het niet te achterhalen of het authentiek is of dat het
Peter Aarts, afscheid van de mooie rode wereld genaamd Oracle
aangepast is. De enige manier om dit te bepalen is het vergelij-
en daarmee van de WebCenter SIG. Peter is per 1 mei 2014
ken van het document met het exemplaar in de repository.
gaan werken bij I.R.I.S. een bedrijf dat zich bezig houdt met al-
John Lageman van ARX verteld over hun oplossing genaamd
lerhande activiteiten op het gebied van document management,
CoSign. Met CoSign is het mogelijk op basis van een certificaat
waarbij echter geen Oracle-technologie wordt gebruikt.
documenten digitaal te ondertekenen. Het grote verschil met
Even voorstellen
de elektronische handtekening is het feit dat de digitale handtekening onderdeel is van het document. Op het moment dat
Per direct heb ik de rol van Peter overgenomen. Wellicht is het
het document de repository verlaat kun je dus nog steeds zien of
daarom handig om mezelf dan ook meteen even voor te stellen
het authentiek is of dat het is aangepast.
voor degenen die mij nog niet kennen. Mijn naam is Rob de
Beide oplossingen hebben hun eigen toepassingsgebied. Op het
Gouw en na een periode van ruim 14 jaar bij Oracle Consult-
moment dat je een handtekening wilt voor een intern proces
ing Nederland ben ik in 2010 bij Quobell gaan werken. Ik heb
volstaat het om de elektronische handtekening te zetten. Gaan
me bij Quobell voornamelijk bezig gehouden met interne ken-
documenten de organisatie verlaten is een digitale handteken-
nisopbouw van WebCenter en heb diverse klanten ondersteund
ing nodig. De beide oplossingen kunnen elkaar prima aanvullen
bij WebCenter Portal implementaties. Ook verzorg ik met enige
in het proces.
regelmaat trainingen voor Oracle University en het Oracle Partner Network op het gebied van WebCenter Portal. Momenteel
Er is nog een organisatorische wijziging in de SIG. Rob Schoot-
ben ik ingezet bij de SVB om daar het WebCenter team te onder-
man, Oracle pre-sales consultant en voormalig liaison voor de
steunen bij het verder uitbouwen van het Intranet en het im-
SIG, heeft Oracle verlaten. Rene de Boer, sales manager Web-
plementeren van svb.nl en mijnsvb.nl op basis van WebCenter
Center bij Oracle, neemt de rol van Rob Schootman over en
Portal en WebCenter Content.
heeft meteen een goede indruk gemaakt met een uitgebreide
Interessante sessies Terug naar de SIG bijeenkomst, die een aantal zeer interessante
presentatie over de WebCenter stack met de nieuwste features en wat er binnenkort aan zit te komen. Voor de details verwijs ik graag naar de presentaties op de OGh site.
sessies bevatte. Allereerst vertelde Dave Webster (ondersteund door Randy Skinner) van Oracle wat er wel en niet kan met
Vanuit mijn nieuwe positie als SIG leider wens ik Peter Aarts
Oracle Documaker. Het was een sessie om een goede indruk
en Rob Schootman heel veel succes bij hun nieuwe werkgever
te krijgen van Oracle Documaker. De heren waren uitgenodigd
en iedereen alvast een hele fijne zomervakantie. Ik zie een ieder
door Accenture, waarvoor dank!
graag bij de volgende bijeenkomst in oktober!
Pieter Vercammen heeft uitgelegd hoe je de WebLogic server zo
Rob de Gouw
kunt configureren dat je met lokale gebruikers van WebCenter
WebCenter SIG leider
Content kunt inloggen. Op deze manier is het heel gemakkelijk
[email protected]
om even snel een (aantal) gebruikers om mee te testen aan te kunnen maken.
34 OGh Visie
All
About orAcle orAcle support & beheer orAcle projecten on-site & remote diensten: Apex toolkit heAlth check licentie scAn Architectuur slA-beheer mAAtwerk ontwikkeling business intelligence (bi)
meet the doc
All About orAcle
[email protected]
Hybrid Columnar Compression
Think Exa! – Hybrid Columnar Compression Hybrid Columnar compression is een techniek om de grootte van table data te verkleinen door middel van compressietechnieken. Oorspronkelijk was dit alleen beschikbaar voor het Exadata platform, later zijn echter ook twee Oracle storage appliances toegevoegd als beschikbaar platform (Pillar en ZFS Storage appliance; echter zonder Exadata-specifieke ‘offloading’).
Door Frits Hoogland en Martin Bach
met ervaring op het gebied van het gebruik van compressie zal opmerken dat dit identiek is met het gebruik van reguliere compressie in de database.
Hybrid Columnar Compression (HCC) is niet de eerste com-
Dit lijkt verwarrend. Om de gebruiker van de compressie de mo-
pressie techniek die geïntroduceerd is voor data in de Oracle
gelijkheid te geven om te bepalen wat de actuele status is van de
database. Reeds beschikbaar zijn table compression (basic com-
compressie, is er een procedure beschikbaar om de werkelijke
pression en OLTP compression) en index compression. De
compressie te bepalen: DBMS_COMPRESSION.GET_COM-
manier waarop deze vorm van compressie werkt is echter afwij-
PRESSION_TYPE. Met deze procedure kan het type compressie
kend aan de naam ‘compression’: de waarden voor de te com-
bepaald worden per rij in de tabel:
primeren velden worden tijdens de compressie fase opgeslagen
select decode(
in een afzonderlijke ‘symbol table’ (referentie tabel), waarna de
DBMS_COMPRESSION.GET_COMPRESSION_TYPE
te comprimeren rij van de tabel of index wordt opgebouwd door
‘HCC_BASE’, rowid),
middel van pointers naar de waarden in de symbol table in het
1,
‘No Compression’,
block. De oplettende lezer zal reeds opgemerkt hebben dat dit
2,
‘Basic/OLTP Compression’,
dus in feite deduplicatie is, en geen compressie.
4,
‘HCC Query High’,
8,
‘HCC Query Low’,
(
user,
Om het gebruik van HCC te illustreren hebben de auteurs ge-
16, ‘HCC Archive High’,
bruik gemaakt van een gegenereerde tabel. Indien iemand dit
32, ‘HCC Archive Low’,
wenst, kunnen zij de code voor het genereren van de tabel be-
64, ‘Compressed row’,
schikbaar stellen zodat onderstaande scenario’s ook zelf nage-
‘Unknown Compression Level’) compression_type
speeld kunnen worden. De tests zijn uitgevoerd op een Exadata
from hcc_base where rownum <2;
X3 half rack, met Oracle versie 11.2.0.3.21. De table heet ‘HCC_BASE’, en is een normale heap table met
COMPRESSION_TYPE
3’000’000 rows en een grootte van 1.19G. HCC compressie is
-------------------------
zichtbaar in het veld COMPRESS_FOR in (dba|user|all)_ta-
No Compression
bles. Zonder HCC compressie is dit veld leeg (null). Om een tabel HCC compressed te maken kan het volgende
Bovenstaande query laat zien dat de eerste rij van onze HCC_
commando gebruikt worden:
BASE tabel inderdaad niet gecomprimeerd is.
alter table hcc_base compress for query high;
Voor basic compression en voor HCC compression geldt dat
Een controle van de data dictionary laat zien dat deze tabel nu
data geladen moet worden via de Oracle database’s direct load
inderdaad HCC compressed is:
path (kcbl*). Direct path load paths zijn onder andere:
select table_name, compress_for from user_tables where table_
• insert /*+ append */ …
name = ‘HCC_BASE’;
• create table as select … (also known as ‘CTAS’)
TABLE_NAME
COMPRESS_FOR
• Parallel DML
------------------------------ ------------
• SQL*Loader direct path loads
HCC_BASE
• alter table move …
QUERY HIGH
Echter, als we de grootte controleren (USER_SEGMENTS.
• Online table redefinition
BYTES), blijkt de grootte onveranderd ten opzichte van de creatie
Om dus nu onze HCC_BASE tabel werkelijk HCC compressed
(1.19G). De data is dus nu nog niet gecomprimeerd. De data
te maken, kunnen we ‘alter table hcc_base move’ gebruiken,
dictionary laat de geconfigureerde compression modus zien,
omdat de data dictionary al gezet is op HCC compressie (‘QUE-
maar geeft niet noodzakelijkerwijs de actuele status! Een lezer
RY HIGH’). Na de ‘alter table move’ blijkt de grootte van onze
36 OGh Visie
Hybrid Columnar Compression
HCC_BASE table 0.64G te zijn, dat is een reductie van 66% (!) Het aanpassen van de data dictionary en het uitvoeren van een
64, ‘Compressed row’, ‘Unknown Compression Level’) compres-
direct path load via ‘alter table move’ kan in een keer gebeuren:
sion_type
‘alter table hcc_base move compress for query high’.
from hcc_base where rownum <2;
De grootte van de tabel verraad natuurlijk al dat de HCC compressie nu is uitgevoerd, echter als we voor de zekerheid met
COMPRESSION_TYPE
de DBMS_COMPRESSION.GET_COMPRESSION_TYPE via de
-------------------------
eerder genoemde query nu de compressie weer bepalen van de
Compressed row
eerste rij (‘where rownum < 2’), dan zien we dat deze compressie type 4 geeft, ‘HCC Query High’.
Dit laat zien dat in ieder geval de eerste rij nu compressie type 64 heeft: ‘Compressed row’. Dit was voor ons een verrassing,
De actuele mate van compressie die een dataset krijgt, hangt
omdat dit scenario tot en met Oracle versie 11.2.0.2 op Exadata
sterk af van de data en het type data in de tabel. Wij hebben
een compressie type 2 zou opleveren.
gebruik gemaakt van onder andere een drietal character (var-
Indien van Oracle versie tot en met 11.2.0.2 gebruik zou zijn
char2) columns waarbij de inhoud van de columns via DBMS_
gemaakt, dan zou een geüpdatete rij in een extra gealloceerd
RANDOM was gegenereerd. Dit betekent dat er nooit identieke
block worden opgeslagen, die OLTP compressed zou zijn. Dit
waarden in de columns komen. Met HCC worden niet botweg
zou met de procedure DBMS_COMPRESSION.GET_COM-
de velden achter elkaar neergezet (‘columnar’) en dit gecompri-
PRESSION_TYPE zichtbaar zijn als type 2. Naar de geüpdatete
meerd, het HCC mechanisme past verschillende technieken van
rij wordt in de HCC CU in de header verwezen via een pointer.
column- en data-ordering technieken toe om de compressie zo
Dat betekend dat een smartscan op de HCC compressed tabel
optimaal mogelijk te maken, waarna er daadwerkelijk compres-
na het ontvangen van de resultset van de CU single block reads
sie wordt toegepast. De compressie technieken (onder andere
(zichtbaar via het wait event ‘cell single block physical read’)
zlib en bzip2) en de Compression Unit (‘CU’) grootte (van 32K
zou moeten uitvoeren om de OLTP compressed blocks afzonder-
tot 256K) verschillen per HCC compression type: compress for
lijk op te halen. Ook wordt de (sysstat/sesstat) statistiek ‘table
query low, compress for query high, compress for archive low en
fetch continued row’ verhoogt voor iedere rij die gelezen wordt
compress for archive high.
uit het OLTP compressed block.
DML op HCC compressed tabellen
Verschillen
Wat nu als je besluit om een HCC compressed tabel te updaten?
Echter met de Oracle database versie 11.2.0.3.21 zijn er ver-
Om te laten zien wat er gebeurd, updaten wij de nu HCC com-
schillen merkbaar. Er worden bij een update nog steeds extra
pressed HCC_BASE tabel:
blokken gealloceerd, die ervoor zorgen dat de HCC compressed
update hcc_base set id = id + 1000000;
tabellen groter worden, aanmerkelijk groter zelfs. De geüpda-
commit;
tete rijen zijn nu echter van het compressie type 64. Wat ook
Een eerste controle is te kijken naar de grootte van de geüpda-
opmerkelijk is, is dat tijdens mijn tests er geen extra IO’s plaats-
tete tabel. Na de update is de grootte 1.69G geworden. Voor de
vinden buiten de smartscan, dus geen afzonderlijke IO’s en bi-
volledigheid: de tabel was zonder compressie 1.19G, gecompri-
jbehorende ‘cell single block physical read’. Dit ziet er dus uit als
meerd met HCC Query High compressie 0.64G, en nu na de
een verbetering ten opzichte van eerdere versies. Helaas is deze
update 1.69G, wat groter is dan de ongecomprimeerde grootte.
wijziging volgens ons ongedocumenteerd, wat betekend dat er
Laten we de controle van het compressie type via DBMS_COM-
geen extra informatie via zowel My Oracle Support als Oracle
PRESSION.GET_COMPRESSION_TYPE nog een keer uitvoeren:
whitepaper beschikbaar is.
select decode(
Het is hopelijk duidelijk dat een update (wijziging) van een
DBMS_COMPRESSION.GET_COMPRESSION_TYPE ‘HCC_BASE’, rowid),
(
user,
HCC gecomprimeerde tabel een slecht idee is, omdat het leidt tot inefficiënte leesacties. Het is echter prima mogelijk om een
1, ‘No Compression’,
geüpdatete HCC tabel opnieuw te comprimeren via ‘alter table
2, ‘Basic/OLTP Compression’,
move …’ naar het gewenste compressie type.
4, ‘HCC Query High’,
HCC compressie wordt altijd uitgevoerd op de ‘compute layer’
8, ‘HCC Query Low’,
(de database server). Compressie is een CPU-intensief proces.
16, ‘HCC Archive High’,
Indien HCC compressie onderdeel is van een batch procedure,
32, ‘HCC Archive Low’,
moet met het CPU-gebruik van HCC compressie rekening
OGh Visie
37
Hybrid Columnar Compression
worden gehouden, temeer als dit wordt gebruikt samen met
bruik kan tot problemen leiden met verwachte ruimtebesparing,
parallel query.
query performance en CPU gebruik.
Bij het lezen van een HCC compressed table via een smartscan
Gebruik HCC in combinatie met de Oracle partitioning optie;
wordt de decompressie gedaan door storage laag (storage servers).
partities kunnen afzonderlijk worden gecomprimeerd met HCC,
Alleen de rijen (row projection) en columns (column projec-
zodat een partitie pas kan worden gecomprimeerd op het mo-
tion) worden gedecomprimeerd die nodig zijn.
ment dat er geen modificatie meer aan de data wordt verwacht.
Een storage server kan echter zelfstandig beslissen in plaats van
HCC kan alleen worden toegepast op tabellen.
de smartscan naar ‘block mode’ te gaan. Een reden voor een storage server om een smartscan te termineren is excessieve
Over de auteurs
load. Block mode betekent dat de storage server simpelweg de
Frits Hoogland is een IT professional die gespecialiseerd is in Oracle
Oracle database blokken gaat leveren aan de database, in plaats
database performance en internals. Frits is Oracle Ace Director en
van een resultaat te genereren uit een groep van blokken. In
werkt bij Enkitec Europe. ([email protected]).
dat geval vindt er geen decompressie meer plaats op de storage
Martin Bach is Principal Consultant at Enkitec Europe(martin.
server, en ontvangt de compute layer de HCC gecomprimeerde
[email protected]), met Exadata als belangrijkste aandachtsgebied.
blokken, en moet de database server deze dus decomprimeren.
Enkitec heeft wereldwijd meer dan 200 Exadata implementaties gedaan in voornamelijk de Verenigde Staten, maar ook in Europa.
Conclusie
Dankzij de beide auteurs van dit artikel is Enkitec nu ook verte-
HCC is een krachtige manier om ruimte te besparen en po-
genwoordigd in Europa. In dit artikel is het gebruik van ‘Hybrid
tentieel queries te versnellen op het Exadata platform. De im-
Columnar Compression’, dat een van de onderwerpen was van hun
plementatie van HCC betekend echter dat het gebruik hiervan
presentatie ‘Think Exa! tijdens de Oracle Database & Middleware
zorgvuldig gepland en ontworpen moet worden. Verkeerd ge-
dag van de OGh, nader uitgewerkt.
Linked Data en Oracle Graph erabiliteitsprobleem. Doordat gebruikt
Anything about Any Topic). Denken vol-
wordt gemaakt van hetzelfde uitwis-
gens het Linked Data principe past bij de
selingsprotocol (HTTP) en hetzelfde op-
begrippen open, netwerk, globaal, zonder
Op 15 april werd door de OGh SIM-
slagformaat (RDF, Resource Description
grenzen. Hoewel onze cultuur al meer
commissie de eerste themabijeen-
Framework) wordt het mogelijk om ge-
dan enkele decennia hierdoor wordt
komst gehouden die betrekking had
gevens, die voorheen in gesloten database
beïnvloed lopen ICT implementaties op
op Oracle Graph. Graph is het onder-
structuren zaten en mogelijk een ander
dit moment nog achter. Linked Data
deel van Oracle Database dat opslag
formaat hadden, met elkaar te verbin-
technologie serieus nemen is breken met
voor Linked Data mogelijk maakt.
den. Het wordt bijvoorbeeld mogelijk om
een aantal bestaande IT principes.
Door Lieke Verhelst
met een gestandaardiseerde query interEr waren 35 mensen aanwezig die ge-
face (SPARQL endpoint) gegevens uit
Vervolg
boeid luisterden naar een drietal lezingen
decentrale bronnen te queryen. Dit is de
Wat zijn de gevolgen van het gebruik
over dit voor velen nog onbekende onder-
fysieke interoperabiliteit.
van de Linked Open Data concepten?
werp. Richard Nagelmaeker van Ordina
Heeft u praktijkervaringen met Oracle
hield een algemene inleiding. Daarna
Open datamodel
vertelde hij hoe verschillende partijen
Linked Data is ook een oplossing voor de
ment Special Interest Group, waar op dit
de basisregistraties als Linked Data wil-
semantische interoperabiliteit. Hiermee
moment Oracle Graph onder valt, wil
len gaan publiceren. Marijke Salters van
wordt bedoeld dat de betekenis van een
na deze eerste thema-avond bij belang-
Buro Forum Standaardisatie liet zien hoe
gegeven bij de ene bron, hetzelfde is als
stelling graag een vervolg organiseren.
de standaarden van Linked Data gaan
bij de andere bron. De realisatie van dit
Ideeën en opmerkingen zijn zeer welkom.
passen binnen de “pas toe of leg uit” lijst.
idee vindt plaats door het bouwen van
Hiervoor kunt u contact opnemen met
Graph? De Spatial Information Manage-
het semantisch web. Dit is een open da-
de OGh SIM-leden Lieke Verhelst lieke@
De Linked Data technologie belooft een
tamodel waar iedereen aan kan bijdragen
linkeddatafactory.nl of Mark Terlien
oplossing te bieden voor het interop-
vanuit de eigen context (Anyone can say
[email protected].
38 OGh Visie
Friends of Oracle and Java
Beheer op afstand: Van toezicht naar toekomst AMIS organiseert beheer op afstand radicaal anders. Nieuwe configuraties, lastige situaties, beveiligingsvragen of migratieplannen? Kom maar op! Vanzelfsprekend zorgen we ervoor dat uw Oracle-configuratie blijft draaien. Maar, we adviseren u ook, brengen kaders aan en komen met frisse ideeën. Van toezicht naar toekomst, dat is de AMIS-aanpak. Volledige Oracle platform Mensen die u kennen AMIS kwaliteit
AMIS Support T +31(0) 30 601 60 99
Binnen kantoortijden
T 0900 DBASUPPORT
Buiten kantoortijden
T +31(0) 30 601 60 00
Algemeen nummer AMIS
T +31(0) 30 601 60 90
Bij escalatie
E [email protected]
www.amis.nl/beheeropafstand
Client focused. Results driven Oracle IT-Services
www.ciber.com