11.07.2015 Views

VISIE - Oracle Gebruikersclub Holland

VISIE - Oracle Gebruikersclub Holland

VISIE - Oracle Gebruikersclub Holland

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Voorwoord<strong>VISIE</strong>ColofonRedactieHans Gerritse (hoofdredacteur)Learco Brizzi (Itium BV)Frits Hoogland (VX Company)Michiel Jonkers (USG People)Milan Uitentuis(Atlis Informatiesystemen)E secretariaat@ogh.nlRedactieadres/ secretariaatOGh/ advertentie-exploitatie<strong>Oracle</strong> <strong>Gebruikersclub</strong> <strong>Holland</strong>Postbus 7013700 AS ZeistT + 3130 69 97 065F + 3130 69 62 378E secretariaat@ogh.nlRealisatieDrukkerij Donath B.V., ZeistE info@donath.nlOrganisatie/!OGh Secretariaat/advertentie-exploitatieGuusje van der WeijdenBMO b.v, ZeistT +313069097070F +31 30 6962378E bmo.org@planet.nlGebruikersbijeenkomsten/ congressenOnderwerpen/ Werving sprekersTheo KosterConclusion Communiation, UtrechtE tkoster@conclusion.nlBestuur OGhRobin Buitenhuis (voorzitter)Ciber Nederland BVE r.buitenhuis@ogh.nlIse Douwes (penningmeester)Quobell bvE i.douwes@ogh.nlMilan Uitentuis (secretaris)Atlis InformatiesystemenE m.uitentuis@ogh.nlLearco BrizziItium B.V.E l.brizzi@ogh.nlErik HogervorstAxis Into ICTE e.hogervorst@ogh.nlJaime Conejo VerheijdenAMIS ServicesE j.conejo.verheijden@ogh.nlOplage 6.000OGh Visie is een uitgave van<strong>Oracle</strong> <strong>Gebruikersclub</strong> <strong>Holland</strong>en wordt verzonden aan al haar ledenen <strong>Oracle</strong> geïnteresseerden.U kunt zich aanmelden voor een gratisabonnement via de website www.ogh.nlGeachte lezer,De Algemene Ledenvergadering vondplaats op 17 mei. Het verslag daarvanis voor OGh-contactpersonen te lezenop de OGh site. Voor de tweede keer inons bestaan was het mogelijk om langselektronische weg te stemmen en hieris dan ook weer gebruik van gemaakt.Het aantal elektronische stemmen wasbeperkt, maar al wel hoger dan het jaardaarvoor. Voor de komende ALV nodigik u van harte uit om van uw (elektronische)stemrecht gebruik te maken.In 2012 gaan we de artikelen uit deOGh-Visie ook apart publiceren op onzewebsite. We hopen op deze manier detoegankelijkheid te verhogen. Daarnaastwordt het mogelijk om vaker artikelente publiceren los van de papieren uitgave.Uiteraard kunnen onze leden hierInhoudVoorwoord2011 ligt achter ons. De OGh organiseerde de gebruikelijkethemabijeenkomsten en drie minicongressen:de APEX-dag, de gecombineerde SOA/BPMen DBA-dag en de Spatial-dag. Ook brachten we deOGh-Visie uit. De APEX dag brak met 250 bezoekersalle records. We hopen dan ook dat we dat dit jaarkunnen evenaren of zelfs overtreffen.ook een steentje aan bijdragen. De OGhwebsite had in 2011 15.792 hits van7.945 unieke bezoekers (bron: Googleanalytics) dus aan lezers geen gebrek.We verwachten dat we met de vernieuwdewebsite het komend jaar nog beduidendmeer bezoekers zullen trekken.Voor wie het nog niet gedaan heeft: Sluitje aan bij de OGh-group op LinkedIn.De OGh is er voor de leden. Dus heeftu ideeën, suggesties, wensen of vragen?Laat het ons weten! Als u uw stem laathoren, zullen wij luisteren.Tot ziens bij een van de Ogh bijeenkomsten.Robin BuitenhuisVoorzitter OGhVoorwoord 3OGh DBA en SOA/BPM-dag -End-to-end manageability met <strong>Oracle</strong> Enterprise Manager 12c 4<strong>Oracle</strong> Open World en APEX – Column Learco Brizzi 9Design Time at Run Time -maximale agility met <strong>Oracle</strong> Fusion Middleware 10Versiebeheer via <strong>Oracle</strong> XML-DB 14Registratie e-mailadres OGh visie-lezers 19OGh/<strong>Oracle</strong> Spatial-dag -<strong>Oracle</strong> Spatial 2012 – Synergie op de kaart 20Database performance tuning 24APEX migratie van 3.2 naar 4.1 bij Centraal Boekhuis 26OGh APEX-dag 26 maart 2012 – Figi ZeistHet grootste ‘APEX-exclusive event’ ter wereld 32© 2012 OGh


OGh DBA en SOA/BPM-dagOGh DBA en SOA/BPM-dag in teken van ManageabilityEnd-to-end manageability met<strong>Oracle</strong> Enterprise Manager 12cAgility is het streven van steeds meer organisaties. Voor dit begrip bestaat eigenlijkniet echt een Nederlands equivalent. Agility omvat het vermogen van een organisatieom - gedreven door gewijzigde business requirements - snel aanpassingen door tevoeren in de uitvoering van bedrijfsprocessen, met minimale risico’s en kosten.In de wereld van <strong>Oracle</strong> gaat het uiteraard om wijzigingen in software die door deorganisatie wordt ingezet.De jaarlijkse OGh DBA-dag, ditmaal uitgebreid met SOA enBPM, stond in het teken van Manageability. Gezien de verheugendeopkomst en de hoge waardering van de deelnemers voorhet interessante programma en de sprekers kan - net als de voorgaandeOGh Special Interest Group dagen - ook deze gecombineerdeDBA en SOA/BPM-dag als bijzonder succesvol in deOGh-annalen worden bijgeschreven.een service zijn we tevens in staat een applicatie inclusief de completestack waarbinnen deze functioneert (denk aan <strong>Oracle</strong> VM,<strong>Oracle</strong> WebLogic Server etc.) op te slaan als een Golden Image inde Software Library en deze eveneens als een service aan gebruikersaan te bieden.De OGh DBA en SOA/BPM-dag, die op november 2011 in FigiZeist plaatsvond, trok ruim xxx deelnemers. Het afwisselendeprogramma vermeldde naast de plenaire openingssessie, tal vanparallelsessies over uiteenlopende onderwerpen, met afsluitendeen keynote presentatie van Simone Campana van de Europeseorganisatie voor kernonderzoek CERN. Een uitgebreid verslag vaneen geslaagde dag, met dank aan de deelnemers die als verslaggevereen bijdrage hebben geleverd.End-to-end manageabilitymet OEM 12cDe openingskeynote werd verzorgd door Jean Pierre van Tiggelen,Senior Sales Director EMEA Systems & Application Managementbij <strong>Oracle</strong>, die in zijn presentatie inging op de mogelijkheden dieEnterprise Manager 12c biedt in het inrichten van een end-toendmanagementomgeving. Rob Zoeteweij, zelfstandig Senior<strong>Oracle</strong> Consultant en <strong>Oracle</strong> ACE, doet verslag van deze presentatie.Enterprise Manager 12c Cloud Control is, naast een aantal andereproducten en diensten van <strong>Oracle</strong> zoals ‘<strong>Oracle</strong> Public Cloud’, deconcretisering van <strong>Oracle</strong>’s visie op Cloud Computing. In zijnpresentatie ging Jean Pierre in op de ondersteuning van de completelifecycle oftewel ‘Complete Cloud Lifecycle Management’.Waarbij assets als servers en databases onderdeel kunnen gaanuitmaken van zogeheten ‘Services’ die aan gebruikers wordenaangeboden. Naast het aanbieden van servers en databases alsComplete Cloud Lifecycle ManagementBelangrijk aspect hierbij is de mogelijkheid gebruikers door te belastenop basis van de resources die er binnen een bepaalde tijdzijn gebruikt. Dit wordt ook wel het ‘cafetariamodel’ genoemd,we rekenen namelijk datgene af wat we gebruikt hebben en nietmeer dan dat. Dit alles ondersteund door een ‘Self Service Portal’,waarbij de gebruiker als het ware het cafetaria binnentreedt enzijn bestelling plaatst. Het behoeft geen verder betoog om dat ditvoor bedrijven tot enorme efficiencywinst kan leiden.Naast deze specifieke ‘Cloud’ faciliteiten, ondersteunt EnterpriseManager 12c volledig de geïntegreerde <strong>Oracle</strong> Cloud stack:• Fusion Applications Management• Middleware Management• Database Management• Engineered Systems Management (Exadata, Exalogic)Als derde pijler in zijn presentatie refereerde Jean Pierre aan4 OGh Visie


OGh DBA en SOA/BPM-dagDe diploïde menselijk genoom bevat ongeveer 6 miljard basen(letters, namelijk G, A, T of C), waarvan de correcte volgordezorgt voor een gezonde ontwikkeling en levensloop van een persoon.Natuurlijke variatie tussen personen gebeurt door veranderingenin deze basen, terwijl veranderingen die schadelijk zijnin de genen tot gevolg hebben dat kanker of een erfelijke ziekteontstaat. Door statistische analyse blijkt dat een dekkingsgraadvan 10 (10 maal ‘herlezen’) genoeg is om 90% van beide allelen(beide zijden van de DNA helix) van het menselijk genoom beschikbaarte krijgen voor analyse. Dat betekent 6 miljard maal 10is 60 miljard base paren die moeten worden ‘gesequenced’.‘Business Driven Application Management’. Het is natuurlijkfantastisch dat we door de gehele stack gedetailleerde informatiekunnen opvragen m.b.t. het functioneren van de diverse componenten,maar uiteindelijk is aan het eind van de dag het enigewat van belang is voor de eindgebruiker: ‘Hoeveel orders hebbenwe vandaag kunnen verwerken?’. We willen dus in staat zijn omprestatie van een systeem te bekijken door de ogen van de eindgebruiker.Hiermee zijn we eveneens in staat om de verwachtingvan de eindgebruiker m.b.t. het functioneren van systemenvast te leggen in een ‘Service Level Agreement’ en zijn we in staatom te rapporteren in hoeverre we aan deze verwachting hebbenvoldaan.In dit kader valt te denken aan opties als:• Real User Experience Insight• Business Transaction Management• Business Service ManagementTel hierbij op het feit dat Enterprise Manager 12c een complete‘Code Rebuild’ heeft gehad, waaraan meer dan drie jaar is gewerkten waarin meer dan 500 Enhancement Requests zijn verwerkt enhet product een compleet nieuwe en sterk verbeterde user interfaceheeft gekregen.Al met al is het eens te meer duidelijk dat organisaties die te makenhebben met een complexe (<strong>Oracle</strong>) ICT-infrastructuur, niet meerom Enterprise Manager heen kunnen.‘Human Genetic VariationInvestigation and <strong>Oracle</strong> Exadata’Het eerste gedeelte van deze presentatie werd verzorgd door AndrewStubbs van de afdeling bio-informatica van het ErasmusMedisch Centrum, die uitleg gaf over human genetic variation enhet onderzoek op dit gebied dat bij Erasmus MC wordt verricht.Genoom sequencing is succesvol gebleken om de veroorzakendegene van verschillende ziekten op te sporen, waar de traditionelegenetische studies dat niet konden vinden. De kosten van ‘wholegenome sequencing’ (het lezen van het complete genoom vaneen persoon) bedragen nu 4.000 tot 5.000 dollar. Dat maakt hetonderzoeken van individuele personen door middel van ‘wholegenome sequencing’ effectief en aantrekkelijk.Dit betekent echter dat er onderzoek nodig is om onderscheidte kunnen maken tussen natuurlijk voorkomende veranderingenen de schadelijke veranderingen in deze 6 miljard base paren.De afdeling bio-informatica van het Erasmus Medisch Centrumheeft de ‘whole genome sequencing’ resultaten van meerdan 200 patiënten met genetische mutaties, kanker en zonderbekende ziekten, verzameld, uiteraard met goedkeuring vandeze patiënten. Deze gegevens zijn anoniem opgeslagen en georganiseerdin een variatiedatabase (http://www.huvariome.erasmusmc.nl).Deze database bevat een referentie voor de Beneluxpopulatie, die gebruikt kan worden om genetische veranderingenvast te stellen door middel van het verwijderen van frequent eninfrequent voorkomende variaties, zodat onderzoekers zich goedkunnen richten op genen die potentieel ziekten of afwijkingenkunnen veroorzaken.Database processingHet tweede gedeelte van de presentatie werd verzorgd door FritsHoogland van VX Company, die inging op de database processingaspecten van het onderzoek. Beide presentaties leken op zich zelfte staan, maar hadden een nauwe verwevenheid: het onderzoekdat door Andrew Stubbs werd toegelicht, is uitgevoerd door middelvan een <strong>Oracle</strong> database op Exadata. De onderzoekconfiguratiebestaat uit een half rack Exadata Database Machine (7 storageservers, 4 database servers, <strong>Oracle</strong> RAC database). Getoond werdhoe hiermee met de performance van een eenvoudige ‘selectcount(*) from table’ kan worden gespeeld: van 695 secondenzonder enige features in 9 stappen tot 1 seconde met flash, ExadataHybrid Columnar compressie, Exadata smartscans en parallelquery.OGh Visie5


OGh DBA en SOA/BPM-dagGrid Computing en het gebruik van databases bij CERNDe slot keynote van de OGh DBA en SOA/BPM-dag werd verzorgddoor Simone Campana van het IT Department van CERN,de Europese organisatie voor kernonderzoek in Geneve. In eenboeiend betoog ging Campana in op de omvangrijke grid computinginfrastructuur die is opgezet om de kolossale hoeveelheiddata (meer dan 16 PB) per jaar te verwerken, waarbij met namehet gebruik van (<strong>Oracle</strong>) databases bij CERN nader werd belicht.BotsingCERN is ‘werelds grootste centrum voor deeltjesfysica, dat vooralbekend is door de LHC (Large Hydron Collider) deeltjesversneller.In de LHC worden door een tunnel van 27 kilometer supergeleidendemagneten, honderd meter onder de Zwitserse en Fransegrond, atoomdeeltjes met vrijwel de lichtsnelheid met elkaar inbotsing gebracht.Voor de verwerking van onderzoeksgegevens van de LHC, die naeen wat haperende aanloop ruim twee jaar geleden in gebruik isgenomen, heeft CERN een wereldwijde database infrastructuurvoor de LHC Computing Grid opgezet. Deze Worldwide LHCComputing Grid (WLCG) omvat meer dan 100.000 processors,verspreid over ruim 200 datacenters in meer dan 33 landen envoorziet in een wereldwijde ‘collaborative computing’ omgeving,die een community van meer dan 8.000 wetenschappers bedient.In totaal heeft CERN rond de 300 databases volcontinu operationeel.Meer dan 100 Petabyte aan data (circa een miljard files) isop dit moment opgeslagen en wordt benaderd en verwerkt.Simone Campana gaf in zijn presentatie een overzichtvan de computing frameworks van de LHCexperimenten, met het accent op dataorganisatieen –administratie, die zwaar leunen op relationeledatabases. De hiërarchische structuur vande WLCG is onderverdeeld in drie tiers. De LHCdata worden in Tier-0 (CERN) geregistreerd envia dedicated 10 Gbit/s glasvezelverbindingen gedistribueerdnaar Tier-1, die bestaat uit 11 wetenschappelijkerekencentra wereldwijd, waaronderSARA/NIKHEF in Amsterdam. In de Tier-1 centravinden de permanente storage, reprocessingen analyse plaats. Van daaruit gaan de data naarcirca 130 kleinere centra (Tier-2) voor simulatieen eindgebruikersanalyse.in de loop der jaren vele malen re-processed, dit gebeurt in de gridbuiten de Tier-0, meestal in de Tier-1 sites (waar de RAW datawordt opgeslagen), met een overloop naar T-2 sites.In de verwerking van de data van de LHC-experimenten spelenrelationele databases een cruciale rol, met name bij de dataadministratie(online data acquisitie, datamanagement catalogs- DDM), productie en analyse services en monitoring services.Ook hier zijn de aantallen weer indrukwekkend: de CERNdatabase services – met een gebruikersgemeenschap van vele duizendengebruikers – omvat circa 100 <strong>Oracle</strong> RAC database clusters(2-6 nodes) en op dit moment ruim 3.000 disk spindles diemeer dan 3 PB aan schijfruimte (NAS en SAN) bieden. Bij CERNzijn voor de experimenten 14 productiedatabases in gebruik, ingrootte variërend van 1 tot 12 TB en met een verwachte groeitussen de 1 en 10 TB per jaar. Een andere belangrijke database isde logging database van de LHC deeltjesversneller van nu 50 TB,met een verwachte groei tot 30 TB per jaar. Daarnaast zijn er nogtal van andere databases met een omvang van 1-2 TB.Samenvattend concludeerde Campana dat de computing grid infrastructuurvoorziet in een infrastructuur van productiekwaliteitvoor de administratie, placement, processing en analyse van data.CERN is hiermee in staat de fysieke potentie van de LHC deeltjesversnellerten volle te benutten. <strong>Oracle</strong> databases vervullen hierineen sleutelrol als functionele elementen, maar, zo benadrukteCampana: “They are not a religion”.Relationele databasesIn het Atlas experiment, dat Camapana als representatiefvoorbeeld van de LHC experimentennam, zijn de Tiers georganiseerd in clouds, waarintelkens een Tier-1 center en meerdere Tier-2 rekencentrazijn opgenomen. De RAW data wordenEen deel van de 27 kilometer lange cirkelvormige tunnel van supergeleidende magnetenvan de Large Hydron Collider (LHC) deeltjesversneller, honderd meter onder de grondin Zwitserland en Frankrijk.8 OGh Visie


Design Time at Run TimeDesign Time at Run time –maximale agility met <strong>Oracle</strong> Fusion MiddlewareAgility is het streven van steeds meer organisaties. Voor dit begrip bestaat eigenlijkniet echt een Nederlands equivalent. Agility omvat het vermogen van een organisatieom - gedreven door gewijzigde business requirements - snel aanpassingen door tevoeren in de uitvoering van bedrijfsprocessen, met minimale risico’s en kosten.In de wereld van <strong>Oracle</strong> gaat het uiteraard om wijzigingen in software die door deorganisatie wordt ingezet.Door Lucas JellemaSnelle aanpassingen in de software die door een organisatie oprun time wordt gebruikt voor de uitvoering van de bedrijfsprocessenvormen een grote uitdaging. Onderstaande figuur geeft eenbeeld van deze uitdaging. De organisatie is hier gekenschetst intwee dimensies - die van IT tegenover Business en die van DesignTime tegenover Run Time. De ontwikkeling van software vindtvan oudsher plaats in het kwadrant IT/Design Time. De snellewijzigingen die agility een organisatie zou moeten opleveren zijnbenodigd in het recht daartegenover gelegen kwadrant Business/Run Time.Slechts weinig organisaties hebben software engineering zodanigingericht dat in heel korte iteraties nieuwe inzichten en requirementsvanuit de business worden overgebracht naar de IT-afdelingom daar te worden ontwikkeld tot gewijzigde software dieook heel snel in productie worden uitgerold. Vertraging en telefoonspel-achtigevervorming van wat precies en snel gevraagdwerd treedt dikwijls op gedurende de route van eindgebruiker ofapplicatiebeheerder via business eigenaar, functioneel ontwerper,programmeur, tester en uiteindelijk beheerder. De figuurhieronder schetst hoe in veel organisaties het traject loopt vanrequirement tot realisatie. Dit is zelden een traject dat agile kanworden doorlopen.In deze figuur zit ook een voorbeeld verstopt voor aanpassingen inde run time systemen die wél snel kunnen worden doorgevoerd.De content editor is dikwijls in staat om in de run time omgevingof in een staging-omgeving dicht tegen productie aan, opeen WYSIWYG wijze aanpassingen door te voeren in de tekstelementenen documenten die aan de eindgebruikers getoondworden vanuit de content repository. Er bestaat dus een snelle wegover weinig schijven naar aanpassingen in het productiesysteem.<strong>Oracle</strong> Fusion Middleware (FMW) is uitgerust met een mechanismedat ‘design time at run time’ wordt genoemd. Het doelvan dit mechanisme is om applicaties die ‘live’ zijn - die zichdus al in productie bevinden - te kunnen aanpassen, via runtime WYSIWYG-editors. De aanpassingen van het gedrag en hetuiterlijk van applicaties die op deze wijze worden doorgevoerd,worden vastgelegd in een meta-data repository (MDS). Tijdenshet uitvoeren van FMW applicaties - ADF, WebCenter, SOA Suitecomposites, BPM processen - wordt de MDS geraadpleegd om dehuidige juiste source voor de applicatie te bepalen. Dankzij ditmechanisme kan een FMW component op agile wijze worden10 OGh Visie


Design Time at Run TimeProcesstappen kunnen omzeild worden of extra stappen en flowskunnen worden toegevoegd. NB: de beslissingen in het procesworden idealiter gemaakt op basis van Business Rules die met de• SOA Composer gewijzigd kunnen worden.• (nieuw) Data Composer - met de Data Composer kunnenADF Business Componenten worden aangepast en uitgebreid(nieuwe of gewijzigde attributen, UI hints, validatieregels, ViewCriteria) of zelfs worden toegevoegd (nieuwe Entity Objecten enView Objecten op basis van tabellen en views). De nieuwe ViewObjectenkunnen in de Page Composer worden gebruikt omformulieren, tabellen en grafieken toe te voegen in bestaande ofzelfs in op run time gecreëerde pagina’s.• (nieuw) Report Composer - de Report Composer ondersteuntde definitie van (eenvoudige) read-only overzichten op basis vanADF Business Componenten. De rapportages kunnen binnen deweb applicatie worden getoond en worden gedownload als PDFen naar Excel.Er wordt gespeculeerd dat <strong>Oracle</strong> met een nieuw artikel op deprijslijst komt - een bundeling van de Page, Data en Report Composers.Op dit moment is de Page Composer alleen beschikbaarals onderdeel van WebCenter Portal - en daarmee buiten bereikvan veel organisaties die ADF applicaties ontwikkelen en heelgoed gebruik zouden kunnen maken van de run time manipulatievan hun applicaties.Customization en PersonalizationWijzigingen in applicaties zijn vaak niet bedoeld voor alle gebruikersof onder alle omstandigheden. Misschien is de huidigefunctionaliteit van de applicatie perfect - alleen niet voor die eneafdeling of collega’s met die specifieke rol of die bijzondere locatie.Design Time at Run Time maakt het niet alleen mogelijk om applicaties‘on the fly’ aan te passen, maar ook om die aanpassingenslechts door te voeren voor een specifieke situatie. Customizationis de term die <strong>Oracle</strong> hanteert voor variaties in de applicatie.Tijdens de ontwikkeling van de applicatie worden customizationlayers gedefinieerd - de dimensies waarlangs variatie mogelijk is.Voorbeelden van customization layers zijn onder meer afdeling,rol, regio maar bijvoorbeeld ook tijdstip en uiteindelijk zelfs gebruiker.Bij het doorvoeren van aanpassingen in de applicatie via designtime at run time moet worden aangegeven voor welke situatie inwelke customization layer de wijziging van toepassing is.Wanneer een gebruiker de applicatie benadert wordt bepaald waardeze zich bevindt in elke customization layer. Op basis daarvanworden in MDS de relevante delta’s gecombineerd tot de sourcezoals die van toepassing is. De gebruiker ziet de applicatie zoalsdeze er gegeven de customizations die horen bij de huidige contextuit zou moeten zien. NB: customization is niet alleen beschikbaartijdens design time at run time, maar ook gewoon tijdens designtime. Als tijdens de ontwikkeling van applicatie componenten albekend is dat voor verschillende gebruikersgroepen of voor anderedimensies verschillen in de applicatie gewenst zijn kunnendeze als customizations ontwikkeld en uitgerold worden.Het is mogelijk om gebruikers van ADF applicaties in staat te stellenom (eenvoudige) instellingen in de applicatie als persoonlijkevoorkeuren te laten vastleggen. Dit personalization mechanismeheet ADF Change Persistence en omvat ondermeer zaken als dekolommen - hun breedte en positie - in een tabel, de organisatievan het dashboard en het standaard openen of sluiten van detailblokken.Dit mechanisme kan zonder enige ontwikkelinspanningworden benut.ProcesDesign Time at Run Time wordt onder meer toegepast om SaaSapplicaties(aangeboden vanuit ‘de cloud’) aan te passen tijdensimplementatie voor een bepaalde organisatie of gebruikersgroep.De standaard SaaS applicatie kan dankzij customization die metDT@RT wordt geconfigureerd toch enigszins op maat worden afgesteld.Hierbij gaat het grotendeels om eenmalige aanpassingen.Inzet van DT@RT om continue agility en controle voor ‘debusiness’ te bieden vergt de inrichting van een zorgvuldig proceswaarin wijzigingen worden geformuleerd, aangebracht,goedgekeurd en gepubliceerd - net als met content management.De skills die benodigd zijn om met de verschillende Composersde gevraagde functionele wijzigingen door te voeren zijn ook niettriviaal. Het lijkt raadzaam voor de persoon die de rol van ‘liveapplication editor’ op zich neemt om korte lijnen te houden metontwikkelaars voor technische begeleiding. Die korte lijnen zijnook waardevol om de terugkoppeling van de run time wijzigingennaar de ontwikkelteams te faciliteren.Een belangrijke rol is ook weggelegd voor beheerders: ze krijgente maken met de MDS repository met meta-data die, naast degebruikelijke sources, bepalend is voor het gedrag en het uiterlijkvan de applicatie. Deze data moet verwerkt worden als een nieuweversie van de applicatie wordt uitgerold. Daarnaast moeten oprun time doorgevoerde wijzigingen vanuit de MDS repositoryworden geëxporteerd en gedistribueerd naar andere omgevingen.12 OGh Visie


Design Time at Run Timemaken het mogelijk om een substantieel deel van wat de applicatiecomponentendoen en hoe ze eruit zien, aan te passen in zeerkorte iteraties uitgevoerd binnen de run time omgeving. Hiermeekan de meest extreme vorm van agility worden bereikt, waarbijbusiness requirements vrijwel direct kunnen worden gerealiseerd.Succesvolle introductie van DT@RT, inclusief customization enpersonalization, vereisen dat tijdens de ontwikkeling van applicatiecomponentengedrag en uiterlijk waar nodig expliciet configureerbaarworden gemaakt. Bovendien is een goed proces voor runtime editing en publicatie benodigd.ConclusieDe design time at run time faciliteiten van Fusion MiddlewareLucas Jellema is <strong>Oracle</strong> ACE Director for Fusion Middleware en iswerkzaam als Chief Technology Officer bij AMIS Services. Dit artikelis een weerslag van de presentatie die hij heeft gehouden tijdens deafgelopen OGh DBA en SOA/BPM dag in FIGI Zeist.AdvertentieDoyoustillwonder?www.ciber.nl“De ervaring leert inmiddelsdat de mensen van CIBERwaarmaken wat ze beloven.”GGZ Oost Brabant“De mensen van CIBER hebben zich zeer fl exibel opgestelden daarbij denken ze in oplossingen en niet inproblemen. Steeds werd een nieuwe situatie onderde loep genomen en keken de consultants vooruit.”Ministerie van VROM“CIBER is heel goed in hetrealiseren van dingen. Ze makenwaar wat ze beloven.”EnecoKijk voor meer informatie over CIBER op www.ciber.nl of bel 040-2329090Naamloos-1 1 03-01-12 10:18OGh Visie13


Versiebeheer via <strong>Oracle</strong> XML-DBVersiebeheer via <strong>Oracle</strong> XML-DB<strong>Oracle</strong> XML-DB is de ‘no cost’ optie in een <strong>Oracle</strong> database die specifiek gericht isop XML. Al vanaf de eerste officieel ondersteunde <strong>Oracle</strong> XML-DB 9.2.0.3.0 versieheeft deze XML-functionaliteit in de database zich niet begrensd op alleen hetcreëren en de opslag van XML. <strong>Oracle</strong> heeft proberen te voldoen aan alle gesteldeeisen van een moderne XML-database. Zowel ‘native’ als ‘non-native’ opslagstructurenworden ondersteund in de laatste versies van de <strong>Oracle</strong> database.Door Marco GralikeDeze veelheid aan XML(Type) datatype opslagstructuren is toepasbaarin verschillende XML business cases. Daarbij ondersteunenze de meest nieuwe standaarden op het gebied van SQL/XML, XInclude, XLink, XPath, XSLT en XQuery. Zo is er vanaf hetbegin ook een XDB Repository voor opslag en de bijbehorendeuitgebreide XML-ondersteunende interfacemethodieken. Datakan direct in de database worden bewerkt of uitgevraagd via Web-DAV, FTP of HTTP(S).De beveiliging van deze interfaces is geïmplementeerd, via AccessControl Lists (ACL’s), door gebruik te maken van het VirtualPrivate Database (VPD)mechanisme dat al aanwezig was in dedatabase. Hier is geen extra licentie voor nodig, omdat dit doorde database zelf wordt gebruikt in het tot stand brengen van debenodigde interface, file of folderbeveiliging in de XML_DB omgeving.Vele functies of <strong>Oracle</strong> softwarepakketten maken in een<strong>Oracle</strong> 11 database gebruik van deze XML-DB functies, bijvoorbeeld<strong>Oracle</strong> Database Vault, waarvoor wel een extra licentieverplichtinggeldt.InzetbaarheidDeze interactie met andere software pakketten en PL/SQL ondersteuningheeft er voor gezorgd dat <strong>Oracle</strong> XML-DB vanaf <strong>Oracle</strong>11 een core onderdeel is van de hedendaagse <strong>Oracle</strong> database.Al deze extra functionaliteit maakt de XML-DB omgeving uitermategeschikt om bijvoorbeeld oudere proprietary relationeleomgevingen te ontsluiten door, bijvoorbeeld, gebruik te makenvan de Native Database Web Service (NDWS) functionaliteit.Deze biedt een oplossing door de database om te toveren tot eenSOA end point en hiermee volwaardig te integreren in een SOA/web- of andere hedendaagse architectuur. Hiervoor hoeft dusgeen nieuwe database omgeving opgezet te worden. Vanwege degrote hoeveelheden XML-data die tegenwoordig in een IT-omgevingvoorkomt is een XML-DB-omgeving ook uitermate interessantom meer met al die XML-data te doen.De XML-DB-functionaliteit kan worden ingezet als een ETLomgevingom van XML-data naar relationeel of van relationeledata naar XML te converteren. Steeds vaker worden er OLAPachtigeXML-DB omgevingen opgezet om zo meer te kunnen doenmet al deze data in XML. Door gebruik te maken van de in XML-DB aanwezige dictionary structuren zoals de XDB Repositoryen Binary XML opslag, is het mogelijk om honderden Gigabyteaan XML-data efficiënt te doorzoeken of relationeel beschikbaar temaken. De grootste huidige XML-DB implementatie in Amerikaomvat meer dan 10 Terabyte aan XML-data opgeslagen in eenenkele XMLType gepartitioneerde kolom. De XML-DB XBRLExtention in <strong>Oracle</strong> versie 11.2.0.2 biedt ondersteuning aan grotehoeveelheden eXtensible Business Reporting Language (XBRL)data, die gebruikt kan worden voor financiële rapportage en verantwoordingaan officiële instanties.14 OGh Visie


Versiebeheer via <strong>Oracle</strong> XML-DBDe XML-DB RepositoryEen belangrijk onderdeel van de XML-DB functionaliteit is deXDB Repository. Dit is de basis voor onder andere de volgendeimplementaties en ondersteuning:• Performance optimalisatie van XML-opslag en -generatie• XML Schema opslag en performance-optimalisatie• XML Schema Evolutie, ondersteuning bij wijzigingen inhet XML Schema• Configuratie en beveiliging van interfaces zoals WebDAV,HTTP(s), FTP, SOAP toegang• Configuratie en beveiliging van de zogenaamde ‘servlets’ zoalsde PL/SQL gateway waarvan APEX gebruikmaakt en bijvoorbeeldde al genoemde Native Database Web Service• Beveiliging via ACL’s van database, XML en XDB Repository(file/folder)structuren• XDB Repository Events, een ‘trigger’ mechanisme dat ingezetkan worden op veranderingen in de XDB Repository• Versiebeheer-implementatie.De benodigde (meta)data om al deze functionaliteit te ondersteunenis opgeslagen in tabellen van de database user XDB. Sommigevan deze tabellen zijn standaard relationele tabellen, anderezijn specifiek voor XML-opslag die zich conformeren aan XMLSchema’s. Dat wil zeggen dat de XML-data die in deze ‘XMLTypeTables’ is opgeslagen voldoet aan de structuren gedefinieerd ineen bijbehorend XML Schema.De belangrijkste XDB Repository tabel is de XDB$RESOURCEtabel waarin – bijna - alle data en metadata van XML-DB structuren,ook normale files die niet een XML-karakter hebben,wordt opgeslagen. De inhoud van deze XDB$RESOURCE XML-Type tabel moet voldoen aan de structuren zoals gedefinieerd inhet bijbehorende xdbresource.xsd XML Schema. Dit XML Schemadwingt af dat tijdens het opslaan in deze tabel van data, bijvoorbeeldeen normale file zoals een plaatje in JPG, PNG etc.,formaat, of XML file, automatisch extra data hieraan wordt toegevoegdin de XDB$RESOURCE tabel.De XMLType XDB$RESOURCE tabel is ook direct toegankelijkvia twee views met de namen:• PATH_VIEW - Bevat een rij voor elk mogelijk pad naareen resource• RESOURCE_VIEW - Bevat een rij voor elke resourceDit toevoegen van metadata wordt automatisch door de <strong>Oracle</strong>XML-DB omgeving gedaan of kan door een gebruiker wordengedefinieerd door de standaard functionaliteit hiervan uit te breiden.Een voorbeeld is de uitbreiding met EXIF functionaliteit dieextra metadata-opslag verzorgt bij foto’s, van fotocamera model,gebruikte belichting- en sluiterinformatie. Standaard slaat <strong>Oracle</strong>de volgende metadata op:• De naam van het object• De naam van de maker van het object• Creatie en modificatie datum van het object• Mime type van het object• Characterset van het object• Access Control List referentie informatiebehorende bij het object• Het eventueel aanwezige versienummer van het object• De grootte van het object.De inhoud van een file wordt in een securefile LOB kolomopgeslagen, die deel uitmaakt van de XDB$RESOURCE tabeluitgezonderd de ‘hiërarchisch’, XDB Repository afhankelijke, objecten.Het is mogelijk om, op basis van een XML Schema, eeneigen ‘XDB$RESOURCE’-achtige opslag tabel te maken. De inhoudvan deze objecten wordt dan opgeslagen in deze eigen gedefinieerdetabel maar de metadata zoals, creatiedatum etc. diebetrekking heeft op de inhoud van die tabel, wordt opgeslagen inde standaard XDB$RESOURCE tabel.Vanuit de database is het mogelijk om alle structuren in de XDBRepository te manipuleren. Dit betekent dat er via PL/SQL codefiles op en neer kunnen worden gestuurd, deze worden gefilterdof gemanipuleerd op inhoud, naar behoefte worden aangemaaktof de inhoud van deze objecten wordt gevuld met de data uit tabellen.Een van de weinige beperkingen ten aanzien van de XDBobjecten, of ook wel ‘resources’ genoemd naar analogie van deIETF WebDAV standaard, is dat deze in de XDB Repository eenmaximale grootte kunnen hebben van 4 Gigabytes.Deze hiërarchische resources worden automatisch beveiligd meteen default Access Control List file met de naam bootstrap_acl.xml. (zie code op de volgende pagina)Deze bootstrap_acl.xml file wordt door zichzelf beveiligd, dat wilzeggen via het Virtual Private Database beveiligingsmechanismewaarop de XML-DB ACL methodiek is geïmplementeerd. Doorje eigen specifieke ACL files te definiëren en te koppelen aan file,folder, structuren kan men de default beveiliging nog striktermaken. In het begin kan het dan ook bevreemdend zijn dat eenuser met DBA-rol rechten geen toegang kan hebben tot resourcesin de XDB Repository omgeving omdat deze zo zwaar beveiligdzijn. Ook kan het voorkomen dat men wel leesrechten heeft viaWebDAV maar hetzelfde object niet benaderd mag worden viaPL/SQL (via de database).Zoals verwacht mag worden in een XML-omgeving, is de inhoudvan een ACL in XML-formaat waarvan de structuur moet voldoenaan een XML Schema. In deze op de WebDAV gebaseerdebeveiligingsstructuur word de ‘resource’ (object, file, folder) gekoppeldaan rechten en hun eigenaar, de zogenaamde ‘principal’.Een principal kan een van de volgende waarden hebben:• Een database user of rol• Een user of groep die gedefinieerd is in een <strong>Oracle</strong> LDAP server• Een principal gedefinieerd als ‘trusted application’OGh Visie15


Versiebeheer via <strong>Oracle</strong> XML-DBSQL> select xdburitype(‘/sys/acls/bootstrap_acl.xml’).getCLOB()from dual;dav:ownertrueXDBADMINtruePUBLICtrueHet ‘Trusted Application’ mechanisme kan gebruikt worden voorsituaties waarin men applicatiefunctionaliteit en beveiliging wilkoppelen aan een van de eerste twee, dus bijvoorbeeld een databaseuser of rol. Hierbij wordt dan het label, de eigenaar, van dedatabase user of rol, vervangen door een beter beschrijvend label,bijvoorbeeld een e-mailadres van de persoon die daadwerkelijk deresource creëert of aanpast. Een ander voordeel van het toepassenvan ‘Trusted Application’ beveiliging is dat deze beter aansluitbij specifiekere beveiligingtoepassingen zoals <strong>Oracle</strong> APEX, LDAP,NTLM of Windows Active Directory.De XDB Protocol ServerDe Protocol Server functionaliteit is geïmplementeerd door het<strong>Oracle</strong> XMLDB Development team, als onderdeel van <strong>Oracle</strong>XML DB, vanaf <strong>Oracle</strong> database versie 9.2. Het haakt in op de<strong>Oracle</strong> Shared Server, de vroeger geheten Multi Threaded Server,SQL*Net architectuur. Deze in <strong>Oracle</strong> 7 geïntroduceerdeSQL*Net ondersteunende architectuur was ontwikkeld om honderdenconnecties tegelijkertijd af te kunnen handelen en hetdestijds dure geheugengebruik binnen de perken te houden.De Protocol Server maakt het mogelijk om database-objecten viaFTP, HTTP(s) en WebDAV te manipuleren en regelt de toegang.Een van de vele XML-standaarden die <strong>Oracle</strong> heeft geïmplementeerdom een volwaardige XML-database-omgeving te kunnenneerzetten.Het gedrag van de Protocol Server functionaliteit kan wordengeregeld via de XML configuratiefile xdbconfig.xml. Deze configuratiefileis te bewerken via WebDAV of via update statementsvanuit de database. Deze statements worden tegenwoordig vereenvoudigddoor database PL/SQL packages, wat het beheer nogverder vergemakkelijkt.De Protocol Server kan worden geconfigureerd zoals je zou verwachtenbij een webserver. Onder andere is in de xdbconfig.xmlfile de ondersteuning van MIME types beschreven, het gedragdat invloed heeft op locking, timeouts van data verkeer via HTTPof WebDAV, ondersteuning van de verschillende encoding enkarakter sets en de aansturing van extra applicatie functionaliteit,die <strong>Oracle</strong> ‘servlets’ worden genoemd. Deze applicatie ‘servlets’kunnen gebaseerd zijn op, eventueel eigen PL/SQL, Java of C(embedded in de <strong>Oracle</strong> kernel) code.In de database heb je de XDBADMIN database rol nodig om dezeXDB Protocol Server functionaliteit te mogen configureren, datwil zeggen, de xdbconfig.xml file te mogen aanpassen. Het aanof uit zetten van deze ‘web server’ functionaliteit is vrij simpelte regelen via een PL/SQL package in de database met de naamDBMS_XDB.Het zetten van een poort hoger dan de waarde nul (0) zal er voorzorgen dat de HTTP/WebDAV functionaliteit zich automatische16 OGh Visie


Versiebeheer via <strong>Oracle</strong> XML-DB# Request current HTTP/WebDAV or FTP settingsSQL> select dbms_xdb.getHTTPPort() fromdual;SQL> select dbms_xdb.getFTPPort() fromdual;# Enable HTTP/WebDAV or FTP for a specificportSQL> select dbms_xdb.setHTTPPort(8080)from dual;SQL> select dbms_xdb.setFTPPort(2100)from dual;# Disable HTTP/WebDAV or FTP functionalitySQL> select dbms_xdb.setHTTPPort(0) fromdual;SQL> select dbms_xdb.setFTPPort(0) fromdual;# Set amount of shared_servers and registerthe changesSQL> alter system set shared_servers = 5scope=both;SQL> alter system register;registreert tegen de <strong>Oracle</strong> (Protocol) Listener zodat er vanaf datmoment http-verkeer kan plaats vinden. Via een aanroep vanDBMS_XDB.GETHTTPPORT package kan worden gecontroleerdop welke poort de Protocol Server is geactiveerd.Veel applicaties hebben tegenwoordig standaard functionaliteitom WebDAV (of FTP) te ondersteunen, zoals Windows Exploreren alle Microsoft Office producten. Deze kunnen via directe toegangobjecten in de XDB Repository via de XDB Protocol Serverfunctionaliteit files maken of manipuleren.informatie, via deze structuren en methodieken, snel een lichtgewichtversiebeheersysteem te implementeren, hier een voorbeeld.Het opzetten van een versiebeheersysteem op basis van degenoemde XML-DB functionaliteit werkt conceptueel als volgt:Het locken, unlocken, maak de resource ‘versioned’, check de resourcein en uit, zijn gebaseerd op twee standaard PL/SQL packagesmet de naam DBMS_XDB en DBMS_XDB_VERSION.Als men FTP of WebDAV gebruikt om de files te maken en/of vaninhoud wilt veranderen, dan moet men de XDB Protocol eerstaanzetten via de beschreven methodiek, dat wil zeggen via:• DBMS_XDB.setHTTPPort( {portnummer niet gelijk aan 0} )• DBMS_XDB.setFTPPort( {portnummer niet gelijk aan 0} )Zoals aangegeven in het stroom diagram kun je nu een resourceversiebeheer toegankelijk te maken via:1. Creëer via PL/SQL of via FTP, WebDAV toegang een nieuwefile (‘resource’)2. Gebruik DBMS_XDB.lockResource om de file te beveiligentegen onverwacht overschrijven3. Gebruik DBMS_XDB_VERSION.makeVersioned om de filebeschikbaar te maken voor versiebeheer4. Gebruik DBMS_XDB_VERSION.checkOut om de file inhet versiebeheer ‘uit te checken’5. Verander de inhoud van de file via FTP, WebDAV of PL/SQL6. Gebruik DBMS_XDB_VERSION.checkIn om de file weerin het versiebeheer ‘in te checken’7. Gebruik DBMS_XDB.unlockResource om de file weervoor iedereen toegankelijk te makenVia de <strong>Oracle</strong> SQL*Plus client-applicatie kan dit bewerkstelligdworden via alleen SQL of PL/SQL code, dat wil zeggen, ook hetmaken van een file met inhoud of het creëren van folders in deXDB Repository.Versie beheer in de databaseOm te demonstreren hoe eenvoudig het is om op voorgaandeZoals hierboven in de code getoond kan via DBMS_XDB. Create-Resource direct via PL/SQL-toegang een resource aangemaaktworden met als waarden het pad voor de resource en de inhoudvoor de resource (‘This is the original Content’). Via een updatevia de RESOURCE_VIEW wordt de inhoud van de file directaangepast (‘This is the new Content’).OGh Visie17


Versiebeheer via <strong>Oracle</strong> XML-DBOm de verschillen te tonen van de aangemaakte versies vande file ‘testcase.txt’ wordt er in het volgende voorbeeld gebruikgemaakt worden van een helper ‘pipelined table’ functie. Dezefunctie voegt de versies van de file ‘testcase.txt’ in de XMLTypetabel XDB$RESOURCE, op basis van het ingevoerde pad, samenmet data uit een tweede select op dezelfde XDB$RESOURCE tabel.Hierbij wordt gebruik gemaakt van de RESOURCE_VIEWview ingang op de XDB$RESOURCE tabel.APEX code was nog niet volledig uitgekristalliseerd maar zougratis beschikbaar worden gesteld aan het grote publiek op hetmoment dat deze (APEX) code goed genoeg geacht zou worden.Helaas overleed Carl tragisch twee weken na deze presentatie ineen verkeersongeval.Door gebruik te maken van deze helper functie ‘getVersionHistory’kan op basis van een standaard XMLTABLE functie via XPath,het resultaat omgezet worden naar een standaard relationeeloverzicht.Ter nagedachtenis aan Carl is, met instemming van Mark Drake,deze oude code beschikbaar gekomen om door de <strong>Oracle</strong> Communityte worden gebruikt en verbeterd. Dit project is nu als prealfacode beschikbaar onder de naam XACE (XFILES APEX CommunityEdition) via http://xace.sourceforge.com in de hoop datmensen hieraan kunnen bijdragen, ervan leren en beter inzichtkrijgen hoe APEX of de XML-DB functionaliteit werkt.Om de in dit artikel uitgelegde techniek beter te begrijpen en/of in een APEX omgeving in actie te zien, kan men op http://xace.sourceforge.com deze code, de XACE applicatie, gratis downloaden.XFILES -The APEX Community Edition<strong>Oracle</strong> XML-DB kent een, op AJAX code gebaseerde, demo applicatiemet de naam ‘XFILES’, hierin worden XML-DB functionaliteitzoals onder andere Native Database Web Services, opXML-DB gebaseerde GEO locatie functionaliteit en versie en ACLbeveiliging gedemonstreerd en uitgelegd. Tijdens <strong>Oracle</strong> OpenWorld 2008 was er een presentatie van de Senior Product Managervoor <strong>Oracle</strong> XML-DB, Mark Drake, en een APEX PrincipalDeveloper, Carl Backstrom, die demonstreerde hoe krachtig degecombineerde, ‘no cost options’ in de database met de naamAPEX en XML-DB konden zijn. De toen gebruikte XML-DB enMeer informatie is te vinden op de blogsite van Roel Hartman,Lead Technical Architect bij Logica en <strong>Oracle</strong> ACE Director(APEX) of op de blogsite van Marco Gralike.Over de auteurMarco Gralike, werkzaam bij AMIS Services in Nieuwegein, is eenPrincipal <strong>Oracle</strong> Databasebeheerder met ervaring op het gebied vande <strong>Oracle</strong> database en performance sinds 1993. Vanaf 2003 heefthij zich gespecialiseerd op <strong>Oracle</strong> XML-DB functionaliteit. Hij is lidvan het OakTable netwerk, <strong>Oracle</strong> ACE Director t.b.v. XML-DB enCustomer Advisory Board Member voor XML-DB functionaliteit inde volgende <strong>Oracle</strong> databaseversie.18 OGh Visie


<strong>Oracle</strong> Spatial 2012Jaarlijkse OGh/<strong>Oracle</strong> Spatial-dag bij <strong>Oracle</strong> Nederland in Utrecht<strong>Oracle</strong> Spatial 2012 - Synergie op de kaartDe OGh en <strong>Oracle</strong> Nederland kunnen dit jaar terugkijken naar een succesvolleSpatial dag met een keur aan onderwerpen. Voor veel van de in totaal 74 deelnemerswas deze dag de eerste kennismaking met de nieuwe <strong>Oracle</strong> locatie in Utrecht langsde A2 in ‘De Wall’.Door OGh SIM CommissieAnders dan gebruikelijk had de Spatial Information ManagementSIG ervoor gekozen in de ochtend parallel sessie te houden en hetplenaire deel in de middag. Doordat de deelnemers direct na deeerste sessie in pauze de ervaringen over de parallelsessies gingenuitwisselen werkte dit principe goed ondanks een wat chaotischestart. Om een beeld te krijgen van de dag volgt hier een verslagvan de verschillende sessies. De hand-outs van de presentatieszijn te vinden op de OGh website.OchtendsessiesParallel track 1 :Datakwaliteit en PDOKWaarom Amsterdam niet zondertopologie kanJeroen de Vries, Dienst Persoons- en Geo-Informatie,Gemeente AmsterdamIn deze enigszins technisch georiënteerde sessie betoogde Jeroende Vries van de gemeente Amsterdam dat het gebruik van topologiebelangrijke voordelen heeft bij de opbouw van basisbestandenin de hoofdstad. In de praktijk zijn er niet zo veel gebruikers van<strong>Oracle</strong> Spatial waar topologie wordt toegepast, verreweg de meestebeperken zich tot het gebruik van ‘simpele’ geometrie.Voor degenen die niet helemaal in deze materie zitten begon Jeroenmet een uitleg over de principes van topologie. In essentie komt heter op neer dat naast de (geometrische) vorm van objecten ook eenaantal relaties, bijvoorbeeld tussen aangrenzende objecten, explicietwordt vastgelegd. Dit leidt tot voordelen bij de kwaliteitsbewakingvan de data, bij het afleiden van andere produkten en ook op hetgebied van efficiency en performance. Hiermee is niet gezegd dattopologie alles oplost: interpretatiefouten kunnen nog steeds optreden,net als temporele fouten. Ook bij attribuut validatie helpttopologie niet echt, en geometrie kan nog steeds simpelweg verkeerdzijn, hoewel topologisch gezien correct.kleinschalige topografie. Uit deze dataset worden vervolgens andereprodukten afgeleid, zoals TOP10NL, de stadskaart en andere,speciale produkten. Aan de hand van concrete voorbeeldenliet Jeroen zien waar topologie een toegevoegde waarde heeft. Hetblijkt bijvoorbeeld eenvoudig te controleren op overlap en gaten inde opgebouwde dataset. Bij het genereren van kartografie, onderandere stippellijnen voor overkluizing en overbouw, levert de topologiede benodigde (grafische) elementen. Een andere toepassingvan topologie is de extractie van TOP10NL hoogteniveaus,die in Amsterdam afwijkt van de ‘lokaal’ gebruikte niveaus.Wat betreft software tools gebruikt men in Amsterdam Geo-Media Professional (Intergraph) voor het ‘tekenwerk’, RadiusTopology (1Spatial) voor de opbouw van topologie en <strong>Oracle</strong>Spatial voor de opslag van de gegevens. Voor allerlei conversieswordt FME (Safe Software) gebruikt. In de tijd dat men begonmet topologie waren er nauwelijks produktierijpe alternatievenvoorhanden, wat mede heeft geleid tot de beschreven omgeving,die overigens nog steeds goed voldoet. Het bleek wel een forseinvestering te zijn in kennis en het opbouwen van ervaring, maaralles afwegende heeft men geen spijt van de gemaakte keuzes.Naar aanleiding van de vragen en discussie na afloop van de presentatiekon Jeroen nog melden dan men in Amsterdam bezig isna te denken hoe de kleinschalige datasets automatisch af te leidenzijn uit grootschalige datasets (op dit moment kenmerken dediverse schalen zich nog door gescheiden produktie processen).Toegevoegde waardeIn Amsterdam wordt topologie toegepast bij de opbouw van de20 OGh Visie


<strong>Oracle</strong> Spatial 2012Publieke Dienstverlening op de Kaart (PDOK),een robuuste voorziening gebouwd onder architectuurDoor Pieter Meijer, RWS (en Programmamanager PDOKVraag en Verbinding)De partijen in het PDOK consortium zijn het Ministerie van Infrastructuuren Milieu, Kadaster, Rijkswaterstaat, het Ministerievan Economische Zaken, Landbouw en Innovatie, en Geonovum.Met elkaar hebben deze als hoofddoelstelling voor PDOK ‘hetbetrouwbaar en toekomstvast beschikbaar stellen van landsdekkendegeo-informatie’. Pieter Meijer legde uit dat het verkrijgenvan geo-informatie op dit moment nog best lastig is, en dat PDOKbeoogt hierin een significante sprong voorwaarts te betekenen.Het onderwerp Open Data was in de <strong>Oracle</strong> Spatial dag opgenomenvanwege de actualiteit van het onderwerp. Vanuit de nationaleoverheid is een sturende beweging gaande die lagere overhedenen overheidsorganisaties aanspoort om data vrij ter beschikkingte stellen omdat dit over het algemeen innovatie bevordert. FrankVerschoor van Agentschap NL gaf hierover tekst en uitleg. Debasis voor dit beleid is gelegd in de Digitale Agenda. De uitvoeringis vormgegeven door het openen van een portaal waar overhedenhun data in kunnen publiceren: www.data.overheid.nl.De baten van PDOK zijn onder andere:- betere dienstverlening- compliance met INSPIRE- kostenreductie- hogere efficiency en kwaliteitsverbetering doornauwere samenwerking- bevorderen van samenwerking met het bedrijfsleven doorbetere toegankelijkheid van geo-informatie.Sinds de start van PDOK in 2007 zijn steeds meer concrete resultatenin de boeken bij te schrijven. Op dit moment zijn meerdan 100 (overheids)organisaties aangesloten bij PDOK. Het NationaalGeoregister bevat meer dan 3500 verwijzingen naar datasets,waarvan er nu 20 ‘live’ beschikbaar zijn. De ontsluiting vangeo-basisregistraties is goed op gang aan het komen en een eersteaanzet tot robuust datamanagement is gemaakt. PDOK bestaatuit een ‘motor’ (data en metadata) met daarop ‘open’ (gestandaardiseerde)services. Uiteindelijk komt de geo-informatie alswebservices beschikbaar voor de aangesloten organisaties.Pieter Meijer gaf aan dat het ‘werken onder architectuur’ bij hetPDOK programma vooral een hulpmiddel is. Het is een maniervan werken die ertoe moet leiden dat men grip houdt op hetproces. De gekozen architectuur moet een rol spelen in de totalelevenscyclus, vanaf de planning, via de ontwikkeling tot en metde implementatie en het beheer van het PDOK programma. Hetnu geformuleerde ‘Project Start Architectuur’ geeft de spelregelsvoor de realisatie en het beheer van PDOK.Parallel track 2 : Open Data enSemantiekOpen Data en SemantiekDoor Frank Verschoor, AgentschapNL, Lieke Verhelst,Universiteit Wageningen en Mark Vloermans, Age of PeersOpen mindOpen Data vraagt om een open mind, zegt Frank. “We wetennog niet hoe sommige dingen gaan uitpakken, bijvoorbeeld hetbewaken van de kwaliteit van de datasets, of het samenwerkentussen donoren en afnemers. We weten nog niet wat het combinerenvan datasets aan nieuwe inzichten gaat opleveren en ofdit altijd even positief uitpakt. Wat we wel weten is hoe het werktin andere landen (Engeland, de VS). Hiervan kunnen we leren. “Hoe de toekomst van het internet er uitziet als Open Data eensucces wordt schetste Lieke Verhelst van de Wageningen Universiteit.Open Data kan in verschillende formaten wordenaangeboden. Het is al goed als het vrij (zonder licentie) wordtaangeboden. Het wordt steeds beter, bruikbaarder als het doormachines kan worden verwerkt. Uiteindelijk zullen we, volgensde grondlegger van het WWW Tim Berners-Lee, een data-webgaan bouwen. Dit is een web van gelinkte gegevens, vergelijkbaarmet gelinkte documenten. Zo maak je samenhang in data operationeelen effectief.Marc Vloermans van Age of Peers zette het publiek weer met debenen op de grond. Open Data, mooi hoor, maar hoe weet je watde waarde ervan is? En hoe borg je kwaliteit? Wat is de rol van deoverheid bij bestanden met een nationaal belang zoals Top10NL(dit bestand wordt vanaf 1 januari 2012 vrijgegeven als OpenData). Hoe stuur je succes? Marc pleitte voor een samenwerkingin een PPS-structuur (Publiek Private Samenwerking), concessiesen verschillende soorten Open Data met verschillende kwaliteitsniveaus.OGh Visie21


<strong>Oracle</strong> Spatial 2012Plenaire sessies<strong>Oracle</strong> Spatial update and strategyDoor Siva Ravada, Director Spatial Development, <strong>Oracle</strong>Na de lunch, waarbij de discussies soms zo interessant waren datmen vergat te eten, startte het plenaire deel van het programma,waarvoor de twee zalen uit de ochtend zijn omgetoverd tot eengrote zaal. In dit plenaire wordt het spits afgebeten door Siva Ravada,want wie kan ons nu beter op de hoogte brengen van delaatste ontwikkelingen dan hij. Naast de nodige verbeteringenop de gebieden 3D en OBIEE, zagen de deelnemers een glimpvan hoe Spatial performt op een Exadata machine. En hoewel hetmet machines tot 128 cores wel een beetje valt in de categorie‘gooi er vooral veel hardware tegenaan’, zijn de resultaten ronduitindrukwekkend. Door gegevens te partitioneren op basis van deruimtelijke positie, kan de Exadata databasemachine een bijnalineaire performancewinst halen bij parallelle uitvoering van eenquery. Een voorbeeldje van de winst bij uitvoeren van een spatialquery op 36 miljoen rijen: standaardmachine 50 seconden, Exadata(64 cores) 1,28 seconden. De kosten zijn aanzienlijk, maarals performance belangrijk is, dan is het goed om te weten datdeze optie er is.Implementatie van een nationale 3D standaardDoor Jantien Stoter, TU Delft, Geonovum èn KadasterIn de tweede sessie nam Jantien Stoter ons mee in de 3D-wereldvan de pilot die (mede) door Geonovum is uitgevoerd. Door meteen flink aantal partners te bekijken welke extra mogelijkheden3D biedt ten opzichte van 2D en dat ook daadwerkelijk in depraktijk te brengen hebben alle partijen een flinke stap vooruitgezet. De eerste fase van de pilot richtte zich met name op inwinningvan data, te gebruiken standaarden en specifieke use-cases,en is inmiddels afgerond. Momenteel loopt de tweede fase vande pilot, waarbij de nadruk ligt op nog concretere zaken als tools,technieken en een starterskit. Voor informatie over de resultatenvan fase 1 en voor het aanmelden voor fase 2 kunnen belangstellendenterecht op de website van Geonovum.Beyond route navigationDoor Ed Snijders, TomTomHet programma werd besloten met Ed Snijders die de deelnemersbegeleidde op de wegen naar de toekomst. Ed liet zien hoe Tom-Tom werkt aan verbetering van de producten, waarbij de kaartenen navigatie natuurlijk het meest in het oog springen. De modernenavigatiesystemen wijzen gebruikers niet alleen de snelste route,maar verzamelen ondertussen ook gegevens over het wegennetwerken verkeersdruktes. En hoewel het traditionele inwinning(nog) niet heeft vervangen, levert het wel een duidelijkebijdrage aan de kwaliteit van de kaarten. En daar komt natuurlijknog bij dat meer informatie over verkeersdruktes betekent datgebruikers sneller een alternatieve route krijgen geboden en dusgewoon eerder op hun bestemming zijn. Misschien dat daaromwel het programma iets eerder afgelopen was dan gepland.Tot slot was er natuurlijk nog een gezellige borrel waar volop gediscussieerdwerd over alles wat die dag gepresenteerd is. Maar ermoet gezegd worden dat open data toch wel erg vaak genoemdwerd. Hopelijk waait de hype niet over, want het heeft zeker potentie.Al met al een zeer geslaagde dag. Het wordt een uitdagingom in 2012 de Spatial Dag van dit jaar te overtreffen.Auteurs van OGh SIM Commissie: Lieke Verhelst, Universiteit Wageningen,Bram Schiltmans, Rijkswaterstaat, Theo Tijssen, TU Delft,Han Wammes, <strong>Oracle</strong> en Milan Uitentuis, ATLIS.De toekomst als<strong>Oracle</strong> professionalOp dinsdag 14 februari organiseert AMIS een informatieavondover de toekomst van de <strong>Oracle</strong> professional.Lucas Jellema, <strong>Oracle</strong> Ace Director en CTO van AMISgeeft je inzicht in de ontwikkelingen van de technologieen wat de gevolgen hiervan voor jou als <strong>Oracle</strong> professionalzijn. Deelname is gratis.Meer info en registratie:www.amis.nl en kijk bij ‘evenementen’.22 OGh Visie


Database performance tuningDatabase performance tuningNiets is zo uitvoerig beschreven en met zoveel mystiek omgeven als performancetuning. En om eerlijk te zijn: er zijn veel componenten/lagen die invloed hebbenop performance, waardoor het goed mogelijk is ‘overdonderd’ te raken doordetails.Door Frits HooglandWat is performance?Het is goed eerst eens stil te staan bij de definitie. Performance isin de meeste gevallen waarschijnlijk niet de beste omschrijving.‘Response time’ is een meer accurate omschrijving. Terwijl met‘performance’ het geheel van applicatie, database, servers, et ceterawordt aangeduid, neigt ‘response time’ naar ‘iets’ te wijzen.Dat is exact het tweede punt om naar te kijken:Welke Performance?De eerste stap is hier weer te spreken over ‘response time’. Devolgende stap: welke response time? Laten we bij deze vraag eenseen vereenvoudigde, schematische tekening bekijken van eentypische webapplicatie:request. Dit is dus ‘end-user performance’.r1a is de zogenaamde ‘time of flight’, de tijd die het kost om debrowser request naar de applicatieserver te transporteren. Dit zalin veel gevallen (vooral voor applicaties in een lokaal netwerk)verwaarloosbaar zijn. Een request over het internet kan potentieeleen langere ‘time of flight’ hebben. Het is belangrijk stil testaan bij het bestaan van deze component in de response time,die significante proporties kan aannemen als er intensief over hetnetwerk gecommuniceerd wordt voor de uitvoering van een request.r2 is de response time van de applicatieserver. Dit is de tijd diede applicatieserver nodig heeft om een request te ontvangen, teverwerken, uit te voeren en het antwoord terug te sturen. Dit isdus applicatieserver performance’.r3 en r5 zijn database acties veroorzaakt door aanroepen van deapplicatieserver. Voor de database geldt hetzelfde als voor de applicatieserver:r3 en r5 zijn beide de tijd die nodig is om de requestte ontvangen, te verwerken, uit te voeren en het antwoord terugte sturen. Dit is dus ‘database performance’.r4 is de response time van een IO request die wordt geserveerddoor een fysieke disk in de database server, of een SAN of NAS.Laten we nu terug komen bij de vraag ‘welke performance’: eengebruikers-performance klacht gaat over r1. Welke tijd ga je alsperformance tuner gebruiken voor het oplossen van het performanceprobleem?Figuur 1Figuur 1 laat een request zien van een client naar een applicatieserverdie maar 1 ‘roundtrip’ (1 antwoord op 1 vraag) doet. Invrijwel alle situaties is dit niet het geval.-> De response times van de lagen (alle ‘rn’) in dit voorbeeldzijn volkomen willekeurig en niet representatief. Voor het toepassenvan deze technieken moeten deze gemeten worden voor diespecifieke situatie!r1 is de tijd die de end-user ervaart. Als er klachten komen overperformance, is deze gebaseerd op de tijd in r1, van een specifiekeWat is goede performance?De volgende stap in het oplossen van een probleem is het overeenkomenvan een meetpunt voor de response time, en een doeltijd. Dit betekent dat een performance probleem reproduceerbaarmoet zijn. Je kan niet iets meten als het er niet is, of er niet meeris. Het is belangrijk op te merken dat ik zeer weinig tegenkom dateen doel tijd voor de response tijd wordt gesteld en overeengekomen.‘Het moet performen’ is meestal het doel.Hoe te tunenEffectief tunen begint met definiëren van een reproduceerbaarresponse time probleem. Dit kan zijn een bepaald scherm of bepaaldehandeling in een webapplicatie, maar ook bijvoorbeeldeen script die een batch uitvoert.De volgende stap is een zo goed mogelijk meetpunt definieren.Voor een webapplicatie kan je hiervoor gebruik maken van tools24 OGh Visie


Migratie APEX 3.2. naar 4.1Centraal Boekhuis migreert 16 applicaties naar nieuwe omgevingAPEX migratie van 3.2 naar 4.1Sinds 2006 maakt Centraal Boekhuis structureel gebruik van APEX.Eerst werd nog schoorvoetend gekeken of APEX wel geschikt was voor kritische bedrijfsapplicaties,nu is dat absoluut geen vraag meer. Bij Centraal Boekhuis draaien opdit moment 16 APEX-applicaties voor intern en extern gebruik. Hieronder zijn ookzeer bedrijfskritische toepassingen zoals het online raadpleeg- en bestelsysteem voorBoekhandel en Uitgever, CB Online, met een gemiddelde van zo’n 300.000 hits perdag. De meeste van deze applicaties zijn ontwikkeld met APEX versie 3.0 of 3.2.Dit artikel gaat over de migratie van deze 16 applicaties naar APEX versie 4.1Door Chris Amelink e.a.Huidige situatieBij Centraal Boekhuis zijn 16 APEX applicaties op vier verschillendeinstances in gebruik. Deze applicaties zijn ontwikkeld metAPEX versie 3.0 en 3.2.De CB Online applicaties zijn de zwaarste applicaties en hebbengemiddeld 300.000 hits per dag. De browser die de klanten hetmeest gebruiken is met stip Explorer met Windows als OS.Dikke databaseCentraal Boekhuis hanteert zo veel mogelijk het concept vande ‘dikke database’. In dit concept wordt ‘alle’ applicatiefunctionaliteitin de database gerealiseerd en slechts de user interface(zo dun mogelijk) door middel van een technologie daarbuiten.Applicaties die volgens dit concept worden gebouwd zijn relatiefeenvoudig naar een andere user interface-technologie te migreren,hetgeen wij proefondervindelijk hebben vastgesteld tijdensde migratie van de CB online systemen van een J2ee-omgevingnaar APEX in 2009: de front-end is vervangen, maar de back-endIntern (alleen binnen Centraal Boekhuis toegankelijk):BRS Bevindingen Registratie Systeem 5 schermenQP Kwaliteits Portaal SO-KS8 schermenDBS Dienstverlening Beheer Systeem 27 schermenCBH CentralBookHouse Systeem11 schermenOPL Oplever Systeem3 schermenCBS Content Beheer Systeem3 schermenBBS Bibliografisch Beheer Systeem15 schermenEBH EBookhouse Systeem13 schermenDe verdeling van het gebruik van de browsersExtern (toegankelijk via internet):AFN CBOnline BoekhandelEIG CBOnline UitgeverCIV CBOnline CIVVMM CBOnline VMMVMMA CBOnline VMM AfnemerTIS Titel Informatie SysteemINL ISBN.nlISBN Openbaar ISBN register47 schermen72 schermen25 schermen103 schermen18 schermen29 schermen11 schermen3 schermenDe verdeling van het gebruik van OSPL/SQL procedures zijn gebleven. Voor het tonen van gegevens inde user interface (Figuur 1) wordt gebruik gemaakt van:• procedures om selectiecriteria etc. op een paginaspecifiekecontext te plaatsen;• views met een ‘policy function’ of views die gebaseerd zijn opeen ‘pipelined table function’, die op basis van de informatieop die context het resultaat teruggeven.26 OGh Visie


Migratie APEX 3.2. naar 4.1Voor het manipuleren van gegevens vanuit de user interface(Figuur 2) wordt gebruik gemaakt van bovenstaande views waarbijdoor middel van IO-triggers de afhandeling in de databaseplaatsvindt.• je kunt gefaseerd migreren per gebruiker èn applicatie;• een fallback scenario is eenvoudig omdat de oude versie noggewoon beschikbaar is.Deze aanpak is echter niet mogelijk omdat je niet twee APEXversiesin één Database-instance actief kunt hebben. Dit komtdoordat bepaalde objecten in het SYS-schema met public synonymswerken.Figuur 1: Tonen van gegevensFiguur 2: Manipuleren van gegevensWaarom migreren?Afgezien van het feit dat je om bij te blijven zo af en toe mee moetmet de nieuwe releases, zijn ook nieuwe functionaliteiten een redenom naar APEX 4 te willen migreren. Voor Centraal Boekhuiszijn dat vooral de nieuwe features zoals Dynamic Actions,jQuery-mogelijkheden en Plug-ins.Projectaanpak en RisicomanagementOver het algemeen worden bij Centraal Boekhuis grote projectenof migraties zoveel mogelijk gefaseerd in productie genomen omhet risico zo klein mogelijk te houden. Er wordt dan een klankbordgroepgeformeerd van klanten die hieraan willen meewerken.Deze klanten zullen op de nieuwe omgeving gaan werken. Erwordt dan een constructie gemaakt om gemakkelijk te kunnenswitchen tussen de oude omgeving en de nieuwe omgeving.Om de risico’s op verstoringen zo klein mogelijk te houden, willenwe dus het liefst per applicatie per gebruiker migreren. Daarvoormoeten dan in één Database-instance twee installaties vanAPEX komen: één voor 3.x en één voor 4.1. Dan zouden we pergebruiker kunnen aangeven met welke versie er wordt gewerkt.De voordelen hiervan zijn evident:Big BangEen alternatief scenario zou zijn om een nieuwe instance te makenvoor APEX 4.1 en deze naast de 3.x versie te draaien. Dan kunje met behulp van synonyms over een Databaselink connectennaar de applicatie objecten. Hiervoor is niet gekozen uit kostenoverweging.Dit moet dan worden geregeld voor alle instances opde development-, test- en productieomgeving. Onze inschattingwas dat de kosten die hiermee gemoeid zijn niet opwegen tegende risico’s van de migratie.Voor het APEX migratieproject heeft Centraal Boekhuis dus gekozenom met een “Big Bang” in productie te gaan.Er is dus per Database-instance gemigreerd, voor meerdere applicatiestegelijk. De 16 applicaties zijn verdeeld over vier Databaseinstances. Er is bewust gekozen voor een specifieke volgorde omde kans op verstoringen bij klanten zoveel mogelijk te voorkomen.Eerst zijn de interne applicaties gemigreerd, pas daarna de applicatiesvoor de Boekhandels en Uitgevers.RollbackOmdat er altijd risico’s zijn, willen we weten of we terug kunnen.Het is niet acceptabel dat onze externe systemen niet beschikbaarzijn. Het primaire proces van de klanten komt dan in gevaar endat is onbespreekbaar; het is eigenlijk ondenkbaar dat CB Onlineniet beschikbaar is. Er wordt daarom per instance een uitgebreidrollback-draaiboek opgesteld om eventuele grote verstoringen opproductie te kunnen tackelen. Deze rollback-draaiboeken zijnook daadwerkelijk geoefend op een speciale testomgeving.Externe ondersteuningHoewel Centraal Boekhuis zelf voldoende expertise in huis heeftom deze APEX-migratie uit te voeren hebben we toch hulp gezochtbij de leverancier O2U. Zij hebben in 2009 het grootste deel vande migratie van J2EE naar APEX uitgevoerd. Zij kennen dus onzeomgeving en hebben al ervaring met (de migratie naar) APEX 4.O2U heeft aangegeven waar je bij een migratie op moet letten enheeft tevens een opleiding verzorgd voor de APEX-ontwikkelaars.Zij waren dus nauw bij de voorbereiding en de opleiding betrokkenen stonden voor ons paraat bij de daadwerkelijke migraties.ScrumteamVoor de uitvoering van dit project was er een ‘scrumteam’ beschikbaarvoor de periode van drie weken (één sprint). Alle ap-OGh Visie27


Migratie APEX 3.2. naar 4.1plicaties werden in een periode van drie weken gemigreerd.In de weken 38, 39 en 40 is het scrumteam aan de slag gegaanmet de APEX migratie. De nazorg liep tot in week 41 en 42 door.Om de risico’s te spreiden, zijn de vier productie instances gefaseerdnaar productie gegaan. Om te beginnen de interne systemen,zodat we daar de eerste ervaringen mee konden opdoen.In week 38 op zaterdag de PRD-instance (DBS, CBH, OPL, BRS,QP). De week erna op woensdag de CBP-instance (CBS) en opdonderdag de TVP-instance (TIS, BBS, INL). Als laatste werd inweek 41 de voor de klanten zeer belangrijke CB Online omgevinggemigreerd.TestenEr moesten in totaal 16 applicaties met 393 schermen wordengetest. Centraal Boekhuis beschikt over een testteam met zes testerswaarvan er één deze migratie voor zijn rekening nam. Omdeze migratie in korte tijd te testen, hebben we gebruik gemaaktvan een testtool genaamd Selenium. Selenium is er in verschillendeversies, maar doordat het ons eerste gebruik was zijn wegestart met Selenium IDE. Dit is een Firefox plug-in waarmee jewebpagina’s geautomatiseerd kunt testen. Dit kun je doen doorfunctionele acties op te nemen met behulp van de ‘record andplayback’ functionaliteit en door zelf testgevallen te scripten inde tool.Samen met een aantal gebruikers hebben we de werking van deschermen omgezet in seleniumscripts. Deze seleniumscripts hebbenwe elke keer vóór en ná een oplevering gedraaid. Om niet alleenFirefox te testen, hebben we ook nog een aantal functioneletesten gedaan in andere browserversies, zoals het meest gebruikteInternet Explorer 7, FireFox 6, Safari 5 en Chrome 14 en nieuwereversies hiervan. Deze testen hebben we handmatig gedaan.Er zijn echter maar weinig bevindingen geweest die browserspecifiekwaren.Door de risico-inventarisatie wisten we welke veel voorkomendetechnische bevindingen we konden verwachten. Op het gebiedvan de lay-out hadden we echter geen benul van de mogelijkebevindingen. Hiervoor hebben we gebruik gemaakt van descreenshot functionaliteit die in Selenium zit. Door tijdens hetdoorlopen van het scherm op verschillende momenten screenshotste laten maken, zijn alle lay-out bevindingen eruit gehaald.Naast de lay-out hebben we op deze manier ook de sorteringen enfiltermogelijkheden bekeken. Door bijvoorbeeld zowel oplopendals aflopend te sorteren en daar elke keer een screenshot van temaken. Zo konden we per oplevering zien of sortering en filtersnog exact hetzelfde waren als voor de migratie. Hieruit bleek dater anders om werd gegaan met null values waardoor de sorteringvaak niet werkte zoals gewenst. Bij filters werd zichtbaar dat decharacterset niet goed stond. Na de migratie bleek ook dat detemplates die we gebruiken voor de verschillende applicaties voorbevindingen zorgden. Er ontbraken bijvoorbeeld lijnen, spatiesen velden op verschillende pagina’s die gebruik maakten van dezelfdetemplates. Uiteindelijk zijn er 3200 screenshots gemaakttijdens het testtraject en hebben we 96 bevindingen geregistreerd.Selenium is een standaard testtool geworden dat gebruikt wordtvoor het regressietesten van de diverse applicaties die CentraalBoekhuis beheert.BevindingenOnderverdeeld in de categorieën ‘visueel’ en ‘werking’ zijn ditde meest voorkomende bevindingen die tijdens het testen naarvoren zijn gekomen:1. Visueel:• ‘&nbsp;’ in LOV’s;• ‘highlight-row’ functionaliteit in rapporten;• rapporten die gebruik maken van ‘Named Column’templates werden niet meer correct getoond.Een oplossing werd meestal gevonden door handig gebruik temaken van jQuery.Figuur 3: Gebruik van Selenium2. Werking:• region source bij rapporten: SQL-statement mag niet wordenafgesloten met ‘;’• substitutie variabelen met ‘&xxxxx.’-notatie vervangen door‘:xxxxx’-notatie;• sortering: ‘sort nulls’ op ‘normal’ ;28 OGh Visie


Migratie APEX 3.2. naar 4.1• autenticatie-schema op basis van database-procedure werktniet meer: vervangen door autenticatie-schema waarbij in hetPL/SQL blok het oorspronkelijke inlogproces werd toegevoegd,maar nu omgebouwd naar een ‘function return boolean’;• zelfontwikkelde javascript functionaliteit werkte niet altijdmeer en is veelal browser-afhankelijk: herbouw met jQuerysyntax.Ondanks het uitgebreid testen zijn er in produktie toch tweegrote incidenten geweest:1. afbeeldingen werden niet getoond in de TIS applicatieOplossing: Session State Protection van het applicatie itemuitgezet2. bulk opvoeren betrokkenen (TIS) en het opvoeren vanbundels (EBH) werkte niet meerOplossing: APEX standaard proces (Multi Row Update)vervangen door CB standaard procesDaarnaast waren er vier kleinere algemene APEX-zaken die nietgoed stonden:1. een default value werd getoond in dropdown lists;2. werd getoond als &#x20AC;3. sortering met nulls last/first was omgedraaid;4. in een Text area-field werden de MSWord characters nietgoed omgezet.Conclusie• migreren naar versie 4.1 is goed te doen, maar moet helaaswel met een Big Bang;• wil je twee APEX-versies naast elkaar draaien voor eengefaseerde overgang? Installeer APEX dan in een eigeninstance en benader de applicatielogica (PLSQL) én data viaeen databaselink.• om veel schermen te kunnen testen, is geautomatiseerdtesten een must;• door het concept van de ‘dikke database’ is migreren relatiefgemakkelijk en veilig;• vermijd Java-script;• Dynamic Actions, jQuery en Plugins zijn zeer interessant;• APEX 4.1 is een stabiele omgeving;• met (onze keuze voor) APEX zijn we nog steeds dik tevreden!De auteurs Chris Amelink, Mark Rooijakkers, Henrico Zondag,Lotte van den Hoek en Jos Dols zijn werkzaam bij Centraal Boekhuis.OGh-jaarprogramma 2012De <strong>Oracle</strong> <strong>Gebruikersclub</strong> <strong>Holland</strong> organiseertjaarlijks diverse bijeenkomsten, waaronder SpecialInterest Group dagen (minicongressen), themabijeenkomstenen SIM-bijeenkomsten (Spatial InformationManagement.)Voor 2012 zijn de volgende bijeenkomsten gepland(data en onderwerpen onder voorbehoud):14 februari Themabijeenkomst15 februari Themabijeenkomst21 maart Themabijeenkomst26 maart OGh APEX-dag17 april Themabijeenkomst15 mei Themabijeenkomst20 juni SIM-bijeenkomst20 juni Themabijeenkomst10 juli Themabijeenkomst22 augustus Themabijeenkomst11 september Themabijeenkomst10 oktober OGh DBA en SOA/BPM-dag13 november OGh <strong>Oracle</strong> Spatial-dag11 december ThemabijeenkomstAdvertentieVitalizing your organisation with knowledgePeopleSoft-experts<strong>Oracle</strong>-expertswww.sennac.com T 00 31 (0)10 477 76 95OGh Visie29


A-PacksComplete dienstverlening rondom <strong>Oracle</strong> APEXVerhogen van de ontwikkelproductiviteitmet behulp vande APEX support kitToegang tot de ontwikkelomgevingvan TransferFixed price ontwikkelenvan uw APEX-applicatieA-Packscomplete dienstverleningrondom <strong>Oracle</strong> APEX24*7 remote beheervan uw APEX omgevingOpleiden van uw eigenmedewerkers in <strong>Oracle</strong> APEXMigreren van uw Designer-repositorynaar APEX met behulp van deAPEX Migration AssistantTransfer SolutionsStationsweg 19 | 4141 HB Leerdam | T 0345-616 888 | F 0345-616 300info@transfer-solutions.com | www.transfer-solutions.comWWW.TRANSFER-SOLUTIONS.COM


Zet je als databasespecialistgraag iets goeds neer?Een bouwwerk verwezenlijken vergt vakmanschap. Net als databasebeheer.Ben je een ervaren <strong>Oracle</strong>-databasebeheerder en zet je graagiets neer waar je trots op bent? Kom dan werken bij Axis into ICT.Wij helpen onze klanten hun oracle-infrastructuur te optimaliseren met advies,tijdelijke ondersteuning, coaching en begeleiding. Dat doen we op een heel eigenmanier: open, transparant en met het belang van de klant voorop.Samen zetten we onze kennis en ervaring in om het beste resultaat voor onzeklanten te bereiken. Daar zijn we heel succesvol in. En wat we verdienen, dat is voorons allemaal. Want je krijgt niet alleen salaris, maar deelt volop mee in de winst.Axis into ICTNieuwe Koekoekstraat 1013514 ED Utrecht030 - 2734 608@AxisintoICTict@axisinto.nlwww.axisintoict.nlA Common sense CompANyook iets voor jou?Stuur direct je sollicitatie met cv naarict@axisinto.nl of kijk voor meer informatie oponze website www.axisintoict.nl.Geen zin om te typen? Scan dan de QR-code!AXIS INTOICT


APEX-dag26 maart 2012 - Figi ZeistHet grootste ‘APEX-exclusive event’ ter wereld!Met gerenommeerde sprekers als Patrick Wolf, John Scott, Dimitri Gielis,Iloon Ellen-Wolff, Roel Hartman, Alex Nuijten en vele anderen.Onderwerpen (onder voorbehoud):APEX 4.2jQuery mobilePlug-insAPEX in de cloudError handlingEBS integratieMigreren vanForms naar APEXDaarnaast worden gedurende de dag diverse hands-on sessies gehoudenNaast technische presentaties zullen er ook casepresentaties van <strong>Oracle</strong>-klanten zijn, zodat udirect van henzelf kunt vernemen hoe APEX succesvol in de praktijk kan worden toegepast.Inlichtingen: OGh secretariaat, tel. 030-6997065Meer informatie en inschrijving op: www.ogh.nlDe OGh APEX-dag 2012 wordt mede mogelijk gemaakt doorDe OGh APEX-dag 2012 wordt mede mogelijk gemaakt door

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!