Oplage 15.000 | 3e jaargang | nummer 3 | 2008
Abonneer nu gratis www.weloveit.nl/abonneren
POWERED BY 5HART
www.weloveit.nl
gin a4
or ld?
Ga ji Op Or j mee en ac na zie W le ar: pa
Magazine voor en door Oracle & Java gebruikers en ontwikkelaars
inhoud
Column Toon Koppelaars: Soa in de database
5 Checkit Integratie van Web 2.0 in de Search Strategy
Nieuws - KPN rondt implementatie AIA succesvol af - Partnership Swets en Anubex
28-31 Oracle Siebel CRM en QAS-software
- Xebia opent kantoor in India
optimaliseren intern call center RVS
- Antares wint DHL IT Award
18-21
7-9 Info Support Organisaties verliezen te veel tijd en geld met softwareontwikkelling
10-13 In the spotlight Informatie analyse
37
Inter Acces Oracle database 11g: adoptie of adaptie?
14-17
VOORWOORD Made in Holland Holland, The Netherlands, The Dutchies: klompen, tulpen, kaas, fietsen, poldermodel, dijken, waterbeheersing, baggeren, voetbal, kassen, logistiek, de Nederlandse banken en de windmolens. De windmolen was 200 jaar de motor van de VOC. Deze innovatie stond aan de wieg van ’s werelds eerste multinational “De VOC”. De VOC had in de hoogtij dagen 1.500 schepen en heeft ongeveer 4.800 keer De Kaap gepasseerd.
Ordina - Apex
In deze uitgave kunt u lezen dat een innovatie van Nederlandse bodem als JHeadstart zeker binnen een multinational als Oracle kan gedijen. JHeadstart bestaat inmiddels 6 jaar. Steven Davelaar legt u uit dat Oracle JHeadstart veel meer is dan enkel een applicatie generator! Jasper Scholten van Inter Access bespreekt de vraag in hoeverre Oracle database 11g echt door de markt is omarmd. Benutten bedrijven alle mogelijkheden - gaat het hierbij om adoptie of adaptatie?
Interview Dimitri Gielis: Programmeren in Jip en Janneke taal
De hoofdvestiging van de VOC in Azië bevond zich in Batavia op het eiland Java. In Batavia werkte de belangrijkste man van de VOC, de Gouverneur-generaal. In het begin van de 21ste eeuw is dat ‘web 2.0’. Op het Internet wordt tegenwoordig veel handel gedreven. CheckIT legt uit dat web 2.0 veel mogelijkheden voor u biedt, waaronder voor uw Search strategie.
33-36
Toon Koppelaars legt uit dat u de aanwezige technologie en competenties (pl/sql skills) gewoon kan blijven inzetten en tegelijk ook de beloofde vruchten, met technisch oogmerk, van een SOA kan plukken. Database-centric opgezette applicaties werken namelijk prima in het SOA tijdperk! Experian/QAS legt uit waarom je een goed functionerend IT-dienstenpakket bij een noodzakelijke upgrade in zijn geheel aan de kant zou zetten. Een CRM case uitgevoerd bij de RVS. Aan het eind van de 18e eeuw kwam er een einde aan de VOC. De Engelsen namen de compagnie over, de Nederlandse staat haar schulden. De kosten van de VOC stegen en de opbrengsten daalden. Info Support heeft in de loop der jaren in de praktijk ondervonden dat organisaties nodeloos veel geld en tijd uitgeven aan softwareontwikkeling. Info Support legt uit dat door te werken met een softwareontwikkelstraat, u gecontroleerd en gestructureerd werkt aan software.
Oracle JHeadstart Veel meer dan een applicatie generator!
22-27
Verder in deze uitgave: programmeren hoeft niet lastig te zijn. Application Express, kortweg APEX, van Oracle levert namelijk het bewijs. Met slechts geringe kennis kan een willekeurige Business Manager al haar eisen en wensen rondom informatieverzameling in een handomdraai verwezenlijken. Zelf welteverstaan. Een interview met APEX goeroe Dimitri Gielis vertelt u meer over deze Jip en Janneke taal. Ook dit is trouwens van Nederlandse bodem, de belevenissen van Jip en zijn buurmeisje. Nederland stond en staat nog steeds op de wereldkaart. Laten we in het vervolg de term “We Make IT in Holland” hanteren. Dat sluit aan bij waar we naar toe willen. De wereldzeeën bevaren, handelen en (door)ontwikkelen! Veel lees plezier, Tom van Luijk
[email protected] PS: voor een -gratis- abonnement surf naar www.weloveit.nl/abonneren.
Steven Davelaar - Oracle (foto: Marco Hofsté)
Ga jij mee?
Schrijf je nu in op jaikgamee.nl en maak kans op de laatste tickets!
Ga jij mee? Wij vinden het belangrijk te investeren in de ontwikkeling van ons bedrijf en onze medewerkers. Om die reden nemen wij meerdere keren per jaar deel aan grote evenementen op ons vakgebied, zowel in het binnen- als buitenland. Een goed voorbeeld is ons jaarlijks bezoek aan Oracle OpenWorld. Heb jij zin in een uitdagende functie bij een professioneel ICT bedrijf met aansprekende klanten en informele werksfeer? Staat zelfontplooiing bij jou hoog in het vaandel? Kom bij ons werken! Ga naar www.jaikgamee.nl voor meer informatie. Ook als je niet bij ons komt werken, kun je alsnog mee naar Oracle OpenWorld. Onder alle aanmeldingen verloten wij 1 deelname aan Oracle OpenWorld (hotel en ticket). Ga naar www.jaikgamee.nl voor deelname en voorwaarden.
Duwboot 6-8 | 3991 CD Houten | T +31 (0)30 600 19 00 | F +31 (0)30 600 19 01 | www.truston.com
A R T I K E L GCAOML IUNMGN
TOON KOPPELAARS
SOA in de database De afgelopen tijd ben ik een aantal keer geconfronteerd met bedrijven die door externe adviseurs en/of hogere regionen in dezelfde organisatie verteld is dat ze meer “SOA-achtig” moesten gaan werken. Nou ben ik een database man, dus kom ik bij bedrijven langs die database applicaties ontwikkelen. Zo ook bij deze bedrijven waar al jaren lang (soms zelfs decennia), naar volle tevredenheid, met Oracle op een database-centric manier applicaties ontwikkeld worden. Applicaties die goed te onderhouden zijn, middels goed schatbare planningen, geen performanceissues kennen en naar volle tevredenheid intern of bij hun klanten draaien. Maar ja, helaas niet “SOA compliant” zijn. Ik ben geen SOA expert. Wat ik van een SOA begrijp is dat je tegenwoordig, op een bepaald nivo, in je applicatie zinvolle services moet ontsluiten opdat ze eenvoudig door andere applicaties, wellicht vanaf buiten je bedrijf, aanroepbaar zijn. De hedendaagse technologie hiervoor is SOAP. U kunt zo’n service via een webservice call benaderen. Eén en ander natuurlijk in een nette gelaagde architectuur binnen je applicaties. Immers als je tegenwoordig niet gelaagd bent, hoor je er niet bij. Dit is allemaal mooi en aardig en ik zie dat dit in situaties zinvol kan zijn. Wat ik echter niet zie, is dat al deze nieuwe inzichten ertoe zouden moeten leiden dat we de database weer als een domme bitten-bak gaan beschouwen. "Wat ik zie gebeuren is dat het introduceren van een SOA bij een databasecentric opgezet applicatielandschap, niet zelden wordt aangegrepen om alle logica uit de database te halen." Natuurlijk gepaard gaand met nogal wat skepsis, of zelfs aversie, bij bovengenoemde bedrijven. Wist u trouwens dat SOAP volledig gesupport wordt in het Oracle DBMS? Zowel inkomend (SOAP server) als uitgaand (SOAP callouts)? Google’t u maar even op respectievelijk ‘Oracle native web services’ en ‘utl_dbws’. Ik ben een database-centric minded persoon en, zoals sommigen van U weten, een vrij extreme: als een regel applicatie-code, een regel code in het DBMS had kunnen zijn, dan moet die dat ook zijn. Maar let wel, ook bij databasecentric opgezette applicaties hebben we een gelaagde architectuur nodig. Zonder deze komt de onderhoudbaarheid en flexibiliteit al snel in het gedrang. In mijn visie zijn in het DBMS vier lagen te onderscheiden (zie ook illustratie). 1. Het database design met al haar data integriteit constraints De tabellen inclusief alle code die je voor het onderhouden van data-integriteit constraints schrijft.
2. De data-services laag In deze laag vinden we vaak service views of functions bovenop de tabellen die voorkomen dat we in de volgende laag duplicatie van code krijgen. 3. De business-logic laag Hier vinden we alle code die ten behoeve van de erboven liggende interface de applicatie queries samenstelt en uitvoert, danwel de applicatie transacties samenstelt en uitvoert. In deze laag kunnen we ook op eenvoudige wijze middels utl_dbws SOAP callouts doen naar andere applicatie zuilen. 4. De business services laag Dit betreft doorgaans database-objecten zoals views procedures en/of functions die dedicated ten behoeve van erbovenop liggende user-interfaces gemaakt zijn. En vanaf Oracle11G kunnen we hier ook een webserver functionaliteit bouwen zodat andere applicaties SOAP calls kunnen doen naar services van deze applicatie. Met deze gelaagdheid vinden we dus zowel binnen de applicatie een service concept terug, als erbuiten. NB: de interne services in de applicatie hoeven natuurlijk niet met SOAP calls geïmplementeerd te worden. Dat kunnen gewoon PL/SQL (remote) procedure calls zijn. Mocht op den duur zo’n service toch ook van buitenaf aanroepbaar moeten zijn, dan kan die procedure met minimale effort via de native webserver ontsloten worden. Ook in het huidige SOA tijdperk kunnen database-centric opgezette applicaties prima gedijen. U kunt aanwezige technologie en competenties (pl/sql skills) gewoon blijven inzetten en tegelijk ook de beloofde vruchten van een SOA gaan plukken.
Ir. Toon Koppelaars, Managing partner RuleGen BV
9 5
%$$*&'+$ %*,'"!$$($'$%'+'( $$ $) *()'()""$%#) +$%$--''+'$%$)$&'!) !')'))%&() !$$( !' ) ' %%! %#) ) $( %$- (&" *&' %&"$$ ""$ "') ,) ) +'$'($$*,''"+'( )(&') +") %+$$!*$ &'(%%$" ! "%&"$$"!()')$%$''!$$,'%&&!!$$ *'(*('%$ $!' (*&&%')+$%$-')("&(!" '%#$*$+%%'$')($)!(&'!
" #'$)*&'$+$ ()$!$$(""$ ) %%!""+%"" '"%&"$()' )$
"! #
$% "
NIEUWS
ANUBEX
Cross-platform migratie partnership Swets en Anubex Het Nederlandse bedrijf Swets kondigt een partnership aan met Anubex.
ORACLE
AIA for Communications KPN rondt implementatie succesvol af Marktintroductie nieuwe producten en diensten 10 tot 20 procent sneller KPN heeft de implementatie van Oracle Application Integration Architecture (AIA) for Communications succesvol afgerond. Dit zorgt voor de koppeling tussen Siebel CRM 8.0 en Oracle Communications Billing and Revenue Management. Daarnaast is het mogelijk bedrijfsprocessen in te richten die beschikbaar zijn over alle applicaties heen. De implementatie is onderdeel van KPN’s inspanningen om zijn IT-systemen te vereenvoudigen en aan te passen om zo klanten beter van dienst te kunnen zijn. De implementatie van Oracle AIA for Communications zorgt voor een snellere introductie van nieuwe producten en diensten door synchronisatie van productdetails tussen CRM en Billing. De inspanningen voor marktintroductie is zelfs afgenomen met 10 tot 20 procent. Zo werd de introductie van consumenten glasvezeldiensten in zes maanden afgerond. Daarnaast is de datakwaliteit van klant- en ordergegevens verbeterd door automatische synchronisatie tussen factu-rering- en klantinformatiesystemen. Dit heeft tevens geleid tot verhoogde klanttevredenheid doordat medewerkers van het call center nu beschikken over accurate en consistente gegevens.
Daarbij zal Anubex de cross-platform migratie uitvoeren van de IT- bedrijfstoepassingen van Swets. Dit project omvat de conversie, migratie en modernisering van de back end en op IDMS-technologie gebaseerde applicaties. Swets is als tijdschriftenagent meer dan 100 jaar actief in de informatiesector. Omdat het bedrijf vooroploopt met de nieuwste technologieën kan het steeds met creatieve oplossingen aan de behoeften van de klanten tegemoetkomen. "Ons elektronisch platform SwetsWise heeft de laatste jaren een ware revolutie ontketend op het vlak van de organisatie en het beheer van tijdschriftabonnementen." zegt Johan van Campen, CIO van Swets. "Met Anubex realiseren we de laatste stap in de modernisering. We migreren al onze applicaties naar een moderne ITinfrastructuur, waarop nu al SwetsWise draait. Zodra dit achter de rug is, zullen we beschikken over de meest flexibele en soepele omgeving om onze ambities op het vlak van groei verder te zetten en zelfs nog meer dynamische en uitgebreide toepassingen te ontwikkelen. Zo kunnen we onze positie als pionier en leider in abonnementsdiensten nog meer versterken." Anubex werkt samen met het IT-team van Swets om de migratie te voltooien, en zal ook het testen en "het live gaan" van de applicaties begeleiden. Het hele project zal tegen de zomer van 2009 afgerond zijn en uitgevoerd worden volgens de migratiemethode van Anubex: SOAR (snapshot-oriented migration process), die sinds 1993 steeds opnieuw verfijnd wordt. Om de risico's, werkonderbrekingen en code freeze periods volledig uit te schakelen, zullen de toepassingen herhaaldelijk gemigreerd en getest worden tijdens het hele project om daarna in één keer live te gaan.
“Door de inzet van Oracle Application Integration Architecture for Communications zijn de belangrijkste bedrijfsapplicaties van KPN geïntegreerd, waardoor we nu beschikken over efficiëntere bedrijfsprocessen voor klantgericht factureren”, zegt Frank Veldhuizen, Program Manager bij KPN. “Door de keuze voor standaard integraties in plaats van maatwerk, heb-ben we veel geld en tijd bespaard.”
Met de softwaretools van Anubex, zal het bedrijf Swets zowel een groot aantal codelijnen in batch en interactieve progamma's en scripts alsook heel wat productiegegevens migreren. De hele applicatie zal overgedragen worden naar een moderne, SOA-gerichte architectuur, bestaande uit een combinatie van COBOL en Java, draaiende op Linux. De gegevens van het bedrijf, die nu opgeslagen zijn in een relationeel netwerkmodel zal Anubex migreren naar een volledige relationele database, DB2 UDB. Karaktergebaseerde schermen zullen naar rijke Java interfaces verhuizen waar ze na de migratie zullen onderhouden worden in Eclipse.
Bron: WhizPR
Bron: NewsEngine PR
In de toekomst breidt KPN de nieuwe architectuur uit met 24x7 webgebaseerde self-service oplossingen voor klanten, klant en account mastering en een centrale productcatalogus.
Vo o r d a g e l i j k s n i e u w s s u r f n a a r : w w w. we l o v e i t . n l . A l l e o n t w i k k e l i n g e n o p e e n r i j !
7
UW ICT-PROJECT GEGARANDEERD OP TIJD OPGELEVERD! SOMMIGEN BELOVEN HET. WIJ GARANDEREN HET! De Caesar Groep is een ICT-dienstverlener die oplossingen biedt met rendement. Wij nemen daarbij de doelstellingen van de klant als uitgangspunt. In de vorm van TimeValue-projecten realiseren wij gegarandeerd op tijd opgeleverde ICToplossingen met korte doorlooptijden en aantoonbare waarde voor onze klanten. Indien wij toch te laat opleveren, leggen wij onszelf een aanzienlijke boete op. We betalen onze klant dan tot 50% terug! De technologie die wij gebruiken is onder andere gebaseerd op Oracle, Java, Progress en Microsoft. Wat is de waarde van elk van uw ICT-projecten? Hoe kunt u ervoor zorgen dat uw ICT-project op tijd wordt opgeleverd? En waarom durft Caesar die opleverdatum keihard te garanderen? Graag beantwoorden wij deze vragen in onze workshop TimeValue. Voor meer informatie en aanmelding kijk op www.timevalue.nl
GRAAG NODIGEN WIJ U UIT VOOR EEN INSPIRERENDE TIMEVALUE WORKSHOP Caesar Groep - Zonnebaan 9 - 3542 EA Utrecht - tel. 030 - 240 42 00 - www.caesar.nl -
[email protected]
Het bedrijf dat met u wil werken kan u niet vinden. Met WhatWhere kunnen professionele Oracle & Java gebruikers en/of ontwikkelaars elkaar moeiteloos vinden. Geef u vandaag nog op: www.whatwhere.nl
Whatwhere.nl
NIEUWS
9
DHL IT AWARD
Antares wint IT-award internationale award DHL kent prijs toe aan voor onderscheidende rol in een Epson project voor DHL in Milaan ICT dienstverlener Antares heeft onlangs de internationale DHL IT Award voor Project Management gewonnen. DHL kent de prijs jaarlijks toe aan een van de IT projecten in haar wereldwijde netwerk. Namens Antares kreeg consultant Henk Jan van Wijk, dit jaar de Award voor haar onderscheidende rol in een Epson project voor DHL in Milaan. In het serverpark in Milaan voerde Antares wijzigingen in DVAS en DPMA door en richtte het een nieuwe Oracle-omgeving in.
Profict Java
Summercamp
29 augustus www.javasummercamp.nl
Motivatie van de jury De jury gaf de volgende motivatie voor de keuze voor Antares: “The team completed a flawless upgrade to Prologs 4.2 for our customer Epson which was immediately followed by an uninterrupted move of warehouse activities from two separate sites into a new central site in Tilburg. The customer recognized the project team by awarding them a supplier recognition award.” Bron: Antares
XEBIA
In India heeft Xebia 26 software ontwikkelaars in dienst. De verwachting is dat dit aantal groeit naar 45 in het eerste kwartaal van 2009. In het nieuwe kantoor is een werkomgeving gecreëerd die de Agile ontwikkelmethode van Xebia stimuleert. Dit wordt onder andere bewerkstelligd door de Agile team rooms en de faciliteiten voor videoconferencing,
“Gurgaon is een belangrijke groeistad in Noord India en bevindt zich op korte afstand van het vliegveld van New Delhi”, aldus Anurag Shrivastava, managing director van Xebia India. “Met deze locatie bieden wij onze internationale klanten prima bereikbaarheid en toegang tot een zeer grote poel met talent. Door in teams te werken met zowel Nederlandse als Indiase software ontwikkelaars kunnen wij onze klanten via de gedistribueerde Agile methode een schaalbaar model bieden waarmee bedrijfskritieke applicaties tegen een betere kwaliteit, lagere prijs en met minder risico ontwikkeld kunnen worden.”
n?
Xebia opende op 30 mei haar nieuwe kantoor in Gurgaon, India. Hier ontwikkelt Xebia software voor haar klanten door middel van de gedistribueerde Agile ontwikkelmethode. Het gebruik van deze methode zorgt voor een hogere productiviteit en een snellere oplevering van werkende software. Het nieuwe kantoor werd officieel geopend door Bob Hiensch, de Nederlandse ambassadeur in India.
Bron: Xebia
Vo o r d a g e l i j k s n i e u w s s u r f n a a r : w w w. we l o v e i t . n l . A l l e o n t w i k k e l i n g e n o p e e n r i j !
bo nn ere n
Opening kantoor Gurgaon
waardoor face-to-face communicatie met collega’s in andere landen mogelijk is.
Gr at is Ab ww k w.w ij on elo k ne ve it.n op l/a : re
Nieuw kantoor in India
10
WE LOVE IT
Ju n i 20 08
INFO SUPPORT
Organisaties verliezen te veel tijd en geld met
softwareontwikkeling Softwareontwikkeling is een complex proces. Er zijn veel zijwegen en alternatieve routes mogelijk om tot een nieuw stuk software te komen. Tijdens het proces dienen steeds opnieuw keuzes gemaakt te worden, bijvoorbeeld over aanpak, functionaliteit, technologie en architectuur. Hoe vaak komt het niet voor dat softwareontwikkelprojecten ondoorgrondelijk zijn geworden? Dat niemand meer precies weet wat de status is van het project en niemand de kwaliteit ervan kan garanderen? Organisaties verliezen geld en tijd doordat ze niet de juiste ervaring en/of kennis in huis hebben. Nog moeilijker is het om in te schatten hoeveel tijd en geld er voorzien moet worden voor de ontwikkeling van een stuk software. Hoe krijg je als organisaties grip op het softwareontwikkelproces?
Info Support heeft in de loop der jaren in de praktijk ondervonden dat organisaties nodeloos veel geld en tijd uitgeven aan softwareontwikkeling. Ook kunnen organisaties nauwelijks inschatten hoeveel tijd en geld ze ervoor moeten voorzien. Met die vaststelling zijn we naar onze klanten gestapt. Welke problemen ondervonden zij tijdens de ontwikkeling van software? De volgende antwoorden kwamen steeds terug: 1. Organisaties willen beter kunnen voorspellen hoelang een ontwikkelproject duurt en aan de hand daarvan ook de kosten ervan inschatten. 2. Iedereen binnen de organisatie, van de ontwikkelaar tot het management en de eindgebruiker, moet permanent de projectstatus tijdens het ontwikkelproces kunnen zien.
3. Organisaties wensen een kwalitatief beter eindproduct. Als de de toepassing klaar is, moet ze 100% werken. Dat klinkt logischer dan het vaak in de praktijk blijkt. Ook willen klanten sneller ontwikkelen, hun tekort aan kennis bijwerken en volgens een uniforme werkwijze ontwikkelen. Software ontwikkelen is niet drie ontwikkelaars samen in een hok stoppen en dan maar hopen dat er na drie maanden een gunstig project uit komt. Om tegemoet te komen aan al die verwachtingen heeft Info Support zowat vijf jaar geleden de softwareontwikkelstraat Endeavour op de markt gezet. Al onze ervaring en best practices voor de ontwikkeling van administratieve toepassingen zitten hierin gebundeld.
Bijvoorbeeld: s (OE ZET IK MIJN ONTWIKKELOMGEVING OP s (OE RICHT IK EEN TESTOMGEVING IN s (OE PAK IK BEVEILIGING IN EEN WEBAPPLICATIE HET BESTE AAN s (OE GA IK OM MET MULTI USER PROBLEMEN Kortom, Endeavour is een geheel van processen en hulpmiddelen die je nodig hebt om software te ontwikkelen en te onderhouden. De ontwikkelstraat beschrijft het hele proces van softwareontwikkeling en is voor een groot stuk technologieonafhankelijk. Pas in de bouwfase kiest de klant om zijn toepassing in Java of .Net te ontwikkelen. Zo past Endeavour zich aan de klant aan, niet omgekeerd. Hoe hebben we nu ingespeeld op bovengenoemde verwachtingen van onze klanten?
SOFTWAREONTWIKKELING
Om niets aan het toeval over te laten, gebeurt een expertschatting door verschillende medewerkers, van wie we de resultaten naast elkaar leggen. Eventuele verschillen worden besproken en geëvalueerd. Met die twee methodes kunnen we vooraf al een eerste raming maken van de te investeren tijd en het budget.
Ontwikkeltijd en -kosten voorspellen Bij de opstart van een ontwikkelproject bekijken we met de klant de complexiteit van de toepassing die we zullen ontwikkelen. Dat kan op verschillende manieren. Er is de functiepuntanalyse om de functionele omvang en de complexiteit van een informatiesysteem te meten. Aan de hand hiervan kunnen we een waarheidsgetrouw budget opmaken. Daarnaast werken wij vaak met een expertschatting. Bekwame senior consultants en docenten van ons eigen opleidingscentrum doen een schatting en baseren zich hiervoor onder andere op soortgelijke projecten die ze in het verleden afrondden.
Maar we gaan nog een stap verder. Via onze financiële modellen kunnen we ook de winst berekenen van wie met Endeavour werkt. Zo gaan we na hoeveel tijd men normaal gezien nodig heeft om van conceptnaar test- en productiefase te gaan. Met Endeavour kunnen we de productiviteit significant verhogen. Door het aantal functiepunten en het aantal beschikbare mensen in te geven in ons financieel model, rekenen we snel uit hoeveel tijd
de klant met Endeavour kan besparen op jaarbasis. Univé is een van onze klanten op wie we dit financieel model toepassen. De berekening van de winst die zij realiseren door te ontwikkelen via Endeavour, komt altijd uit.
Iedereen betrekken bij het ontwikkelproces In plaats van te focussen op het eindproduct, helpt Endeavour de projectleden bij het hele ontwikkelproces om tot een geslaagde toepassing te komen. Een concept plannen, ontwerpen, bouwen, testen, implementeren: het zit er allemaal in vervat en Endeavour loodst de gebruiker stapsgewijs doorheen alle ontwikkelfases. Daartoe hebben we de “Digital Coach” ontwikkelt, die alle betrokkenen van bij het begin tot het eind begeleidt bij het ontwikkelproces. De informatie die de Digital Coach geeft, is zeer divers: van projectstrategie tot checklist en van literatuur tot softwaremodules. De Digital Coach houdt rekening met verschillende rollen: een architect krijgt andere informatie van het platform dan een ontwerper, projectleider of ontwikkelaar. Als je bijvoorbeeld ontwikkelt in Java heb je de keuze tussen verschillende producten, wat het er natuurlijk niet altijd eenvoudiger op maakt. Welke application server kies ik? Welk webframework en welke database? Hoe configureer ik mijn IDE of ontwikkelomgeving? Endeavour begeleidt de programmeurs in hun keuze, zodat de organisatie geen kostbare tijd hoeft te spenderen aan een vergelijkend onderzoek. Minstens even belangrijk is dat iedereen betrokken wordt bij het hele proces: de ontwikkelaar, uiteraard, maar ook het Management en de Eindgebruiker die met de nieuwe toepassing zal werken. Om de samenwerking te bevorderen, biedt Endeavour een projectportal waar elke betrokkene toegang toe heeft en waar men de status van het project permanent kan opvolgen. Je hoeft geen IT-specialist >
11
Ordina zoekt: ORACLE DEVELOPER @ HBO/WO werk- en denkniveau; @ Minimaal vier jaar ervaring als Oracle software engineer; @ Kennis van en ervaring met CDM, Ruleframe, Headstart en RUP; @ Kennis van UML en/of XML; @ Kennis van Jdeveloper, Java en BPEL is een pré.
TECHNISCH ORACLE EBS CONSULTANT @ HBO/WO denk- en werkniveau; @ Minimaal 3 jaar werkervaring; @ Ervaring met projectmatige aanpak; @ Kennis van SQL, PL/SQL, Forms; @ Kennis van Jdeveloper, Oracle Workflow Builder, XML Publisher, OBI-EE is een pré.
Ordina beschikt over de grootste Oracle-club in Nederland die in 2007 is benoemd tot Oracle Partner of the Year en tot Industry Partner of the Year 2008. Met ruim 450 specialisten werken wij samen aan complexe ICT-vraagstukken. Ons product is niet alleen een oplossing, een werkend systeem, maar een verandering in een organisatie. Vakmanschap en kwaliteit leveren staan daarbij voorop.
Solliciteren: Voor meer informatie en om te solliciteren ga je naar de vacatures op www.ordina.nl/oracle.
SOFTWAREONTWIKKELING
Info Support Vervolg te zijn om de rapporten te interpreteren: eenvoudige grafieken geven een helder globaal overzicht van de stand van zaken. Zo vermijd je een stressvolle en arbeidsintensieve eindfase die kenmerkend is voor de meeste ontwikkelprojecten. De projectportal biedt dagelijkse rapportage over de status van het project. Je kan er onder andere zien hoeveel issues er openstaan, of de code die de ontwikkelaar de dag voordien heeft ingecheckt werkt, hoeveel en welke toepassingen er al ontwikkeld zijn, enzovoort. Het rapport laat toe om verder door te klikken op elk specifiek onderdeel. Daar kan je op detailniveau zien hoeveel unittesten gelukt of mislukt zijn, hoeveel open work items er zijn, hoeveel remaining work items en ga zo maar door. Softwareontwikkeling is een continu leerproces. Als je drie weken nodig gehad hebt voor één functie, kan je ook terugkijken en nagaan hoe dat komt, door de historische gegevens te raadplegen. Dat levert nuttige informatie op voor de toekomst.
Optimale kwaliteit Het is belangrijk om op basis van objectieve parameters te kunnen bepalen wanneer een softwareontwikkelingtraject goed verloopt. Meten is immers weten en door te weten, leer je bij. Alleen zo kan je garanderen dat de kwaliteit van de ontwikkelde toepassing optimaal is. Maar waarin zit die kwaliteit nu? Als een ontwikkelaar aan code heeft gewerkt, checkt hij dat ’s avonds in en elke nacht of op geprogrammeerde tijdstippen wordt de hele broncode gebuild en getest. Als de build niet compileert, komt het project in het rood in het rapport. Zo ziet iedereen onmiddellijk dat er iets niet klopt, kan men opzoeken waar het wringt en tijdig ingrijpen. Je ontdekt niet pas na drie weken dat er iets fout is, zodat je ook niet helemaal van vooraf aan moet beginnen. De duidelijke rapportering mist haar effect niet: hoe vroeger in het proces een fout gevonden wordt, hoe minder duur het is om die op te lossen. Ook voor de ontwikkelaars maakt het een verschil. Niemand wil er
Klanten geven aan grote waarde te hechten aan een drietal zaken: inzicht in kosten en duur van het ontwikkelproject, inzage in het gehele ontwikkelproces en een feilloos werkend eindproduct.
de schuldige van zijn dat een project in het rood staat. Ontwikkelaars zullen hun code dus pas inchecken als ze er zeker van zijn dat het werkt. Dat levert vanzelf kwalitatieve eindproducten op. En unittesten, tests voor een klein stukje software zoals één functie in een bepaalde toepassing, worden regelmatig herhaald. Immers, als er bepaalde aspecten veranderen in de boven- of onderliggende technologie, moet men er zeker van zijn of alles wat daarmee samenhangt wel nog naar behoren werkt. Deze gestructureerde aanpak verhoogt naast de kwaliteit ook de productiviteit. Zo stelt een van de richtlijnen dat je eerst je unittest moet schrijven en je pas dan de eigenlijke code implementeert. Hierdoor denk je eerst na over de functie en welke resultaten je verwacht terug te krijgen. Zo win je kwaliteit en tijd.
It’s alive! Meer dan in welke sector ook, zijn er in de ICT-wereld permanente evoluties aan de gang. We volgen de markttrends dan ook op de voet en passen onze producten voortdurend aan. Zodra een nieuw product op de markt komt, kijken we hoe dat past binnen Endeavour. Onze strategie voor wat Java betreft, bestaat eruit dat we kijken wat er allemaal op de markt aanwezig is. Daar halen we de beste
dingen uit om die dan weer verder uit te breiden. Daartoe werken we ook samen met Nederlandse Java-groep, waarvan we zelf actief lid zijn. Het kan gaan om een nieuwe ontwikkeltool, een nieuw webframework, een richtlijn hoe je het best JSF gebruikt, of de laatste ervaringen met EJB3. Op regelmatige tijdstippen bundelen we alle updates in een nieuwe versie van Endeavour. Bij softwareontwikkeling richt men zich te vaak alleen op het eindproduct. Minstens even belangrijk is het proces om tot dit eindproduct te komen en er overal grip op te blijven houden. Met een softwareontwikkelstraat werk je gecontroleerd en gestructureerd aan software. Je kan de status van het eindproduct op elk moment controleren en opvolgen en eventueel bijsturen. Dit beperkt zich niet tot de eerste oplevering, maar gedurende de gehele levenscyclus van een applicatie, dus ook tijdens het beheer en onderhoud. Hierdoor kunnen wij harde uitspraken doen over de kwaliteit en de projectduur. En zo houden organisaties kosten en tijd onder controle en hebben ze grip op softwareontwikkeling. Jan Buelens, consultant bij Info Support België www.infosupport.com
13
14
WE LOVE IT
Ju n i 20 08
De nieuwe database werd in de aanloop naar de lancering vaak omschreven als ‘puur goud’
INTER ACCESS
Oracle database 11g: adoptie of adaptatie? Door Jasper Scholten
Oracle lanceerde de Oracle database 11g in het najaar van 2007. Deze zomer staat versie 2 van deze oplossing al weer op de rol. De nieuwe database werd in de aanloop naar de lancering vaak omschreven als ‘puur goud’. Dat was niet ten onrechte want het aantal zeer waardevolle features en verbeteringen was aanzienlijk.
O R A C L E D ATA B A S E 1 1 G
Kern was ongetwijfeld het feit dat opnieuw tal van standaardfuncties verder geautomatiseerd waren. Dat biedt de DBA de mogelijkheid om zich meer bezig te houden met ‘het echte’ werk in plaats van het in de lucht houden van de database. Vraag blijft in hoeverre Oracle database 11g echt door de markt is omarmd. Daarnaast lijkt het erop dat de bedrijven die zijn overgestapt, nog niet alle mogelijheden benutten – gaat het hiebij om adoptie of adaptatie?
productie-load. Daarbij maakt de DBA een capture van de productie-database en speelt deze af tegen dezelfde of een andere database. Uiteraard zijn de mogelijkheden aanwezig om alleen de acties van bijvoorbeeld een specifieke gebruiker, schema of applicatie ‘af te spelen’. In combinatie met save points en flashback-mogelijkheden is het mogelijk meerdere keren dezelfde load tegen dezelfde database aan te houden. Deze feature is vooral praktisch voor load testing van verschillende scenario’s tegen identieke databases. Database replay is typisch een feature waar grote behoefte aan is onder klanten. Het grote voordeel ervan ligt in enorme tijdbesparingen bij testtrajecten, die nu veel effciënter kunnen plaatsvinden.
Daarbij kan de DBA beschikken over mooie grafische weergaven. Pivot en unpivot. Deze functie maakt het definiëren van tabellen een stuk eenvoudiger. Was het voorheen nodig om te werken met decode en/of case statements, nu is er de pivot operator. Die zorgt er onder meer voor dat het relatief eenvoudig is een pivot table te maken, zonder de noodzaak van het aanpassen van het datamodel.
Bij het uitbrengen van 11g mikte Ordered execution van triggers. Oracle vooral op features die gebruikers In de vorige versie van de Oraclemisten in eerdere versies of die in andere database was het niet mogelijk om de RDBMS-en als ‘prominent positief ’ wervolgorde van triggers te beïnvloeden. den beschouwd. Ondanks de vele verDat leidde in sommige gevallen wel beteringen, waarover zo meteen meer, eens tot problemen. Een lapmiddel was is de animo om dan het opnemen over te stappen van alle acties tot nu toe niet in een trigger. "Er zijn meer dan voldoende redenen om over te stappen, juist erg groot. PakketDat had weer omdat 11g verschillende nieuwe features biedt waarvan sommige leveranciers zijn als nadeel dat zorgen voor een sterke verbetering van prestaties of eff ectiviteit" nog bezig om de het niet voldeed nieuwe features aan de principes in hun pakketten van good design, te verwerken en waarbij je de zaken te kijken naar de zo overzichtelijk impact van 11g. De rest van de markt is Automatic Health Monitor. mogelijk wilt houden. Oracle heeft dit nog huiverig om naar een eerste release nu opgelost met ordered execution Deze feature is een typisch voorbeeld van een nieuwe versie over te stappen van triggers. Daarbij kan de DBA zelf van hoe Oracle verschillende stanen wacht rustig op release 2. Ook zijn er aangeven in welke volgorde de trigdaard checks en monitoringfuncties nog genoeg partijen in de markt die gers uitgevoerd moeten worden. weer meer heeft geautomatiseerd. de nieuwe features nog niet kennen of Daarnaast zijn ook de advisors aan vooralsnog geen reden zien om over Invisible maken van indexen. de DBA uitgebreid en verbeterd. te stappen. Met deze functie is het makkelijker geDaardoor kunnen DBA’s sneller dan voorheen inspelen op problemen. worden om te switchen tussen OLTP, Toch zijn er meer dan voldoende batchverwerking en rapportage. OLTP redenen om wel over te stappen, juist is in de regel overdag nodig, terwijl SQL Performance Analyzer. omdat 11g verschillende nieuwe features batchverwerking en rapporteren vaak Ook dit is een heel belangrijke nieuwe biedt waarvan sommige zorgen voor ’s nachts plaatsvinden. Door met een mogelijkheid. Bij vorige versies was een sterke verbetering van prestaties of statement een index zichtbaar of onhet weliswaar ook mogelijk om de effectiviteit. Belangrijke nieuwe mogezichtbaar te maken, afhankelijk van performance te meten, maar dan wel lijkheden zijn onder meer: de activiteit, is de systeembelasting op een beperktere manier. Het is nu minder en is deze beter af te stemmogelijk om de impact van bepaalde Database replay. men. Ook is het nu makkelijker om wijzigingen op een specifiek statement te Met deze functie is het mogelijk om de invloed te bepalen van het wel of bepalen en database- of sessie-tuning op testen uit te voeren met een echte niet aanwezig zijn van indexen. een bepaald statement uit te voeren. >
15
16
WE LOVE IT
Ju n i 20 08
Oracle database 11g Vervolg
De animo om over te stappen op 11g is tot nu toe niet erg groot. Pakketleveranciers zijn nog bezig om de nieuwe features in hun pakketten te verwerken en te kijken naar de impact van 11g.
O R A C L E D ATA B A S E 1 1 G
Vernieuwde RMAN. Zelfs voor een doorgewinterde DBA leverde het werken met RMAN veel frustratie op vanwege de vaak cryptische messages en lastige syntax. DBA's met een achtergrond in traditionele omgevingen kunnen vaak
deze manier profiteren ze niet of te weinig van de nieuwe features. Een recente praktijkcase in de banken verzekeringssector liet echter zien dat een bedrijf aanzienlijk op kosten en tijd kan besparen met 11g. De invoering
"Database replay droeg bij aan het beter testen van nieuwe applicatie-releases van een in-house gebouwd systeem waardoor rollback van changes bijna geheel tot het verleden behoort."
lezen en schrijven met RMAN. Voor mensen met een meer traditionele achtergrond is het al snel een moeilijk verhaal om goed met RMAN overweg te kunnen. Oracle heeft veel moeite gedaan om dit in 11g eens goed aan te pakken. Ook biedt RMAN nu suggesties voor het oplossen van eventuele problemen en zelfs geautomatiseerde oplossingen voor veel voorkomende problemen. Een andere mooie feature is het maken van een back-up in parallel van een datafile. Dit zijn een paar goede voorbeelden van nieuwe features die 11g een interessant product maken. Er zijn nog tal van andere te noemen, zoals result cache, nieuwe composite partitioning, virtual columns, pending statistics, etc. die echte meerwaarde leveren. Er is dan ook, zoals al eerder gezegd, voldoende reden om over te stappen. De organisaties die dat ook daadwerkelijk gedaan hebben, kozen hierbij vooral voor adaptatie in plaats van adoptie. Dat wil zeggen, dat ze 11g vaak één-op-één hebben overgezet en niet eerst hebben gekeken naar de extra mogelijkheden en de uitgebreide set van tools. Dat is jammer, want op
van Automatic Health Monitoring zorgt voor minder handmatige checks en efficiëntere monitoring. Daardoor hoeft deze klant niet langer een separaat monitoringsysteem te onderhouden. Database replay draagt bij aan het beter testen van nieuwe applicatie-releases van een in-house gebouwd systeem waardoor rollback van changes bijna geheel tot het verleden behoort. De nieuwe compressiemethodiek zorgt ervoor dat de trainingsomgevingen
Table-Space) aan te wenden voor de uitwisseling van een specifieke partitie droeg bij aan het vereenvoudigen van de gegevensoverdracht tussen verschillende systemen. Dankzij een effectiever inzet van tools was verdere kostenreductie mogelijk en zorgde de implementatie ook voor een betere beheersbaarheid van changes en veel meer flexibiliteit. Het is dus tijd voor adoptie in plaats van adaptatie. Het is daarbij zaak goed te kijken naar de nieuwe mogelijkheden van 11g voor de eigen bedrijfsvoering. Dat zijn er inderdaad veel. Deze uitgebreide mogelijkheden zijn lang niet altijd goed meer bij te houden voor iedereen. Maar kijkend naar deze versie en vooruitlopend op release 2 zijn er zoveel concrete voordelen uit te halen dat een grondige oriëntatie in ieder geval op zijn plaats is. Uiteraard moeten we daarbij ook oog hebben voor zaken die nog volledig soepel verlopen. Wij zijn dat bij verschillende proof of concepts al tegengekomen.
"De nieuwe partitioningmogelijkheden in combinatie met de mogelijkheid tot het cachen van result sets leidden tot een veel betere responsetijd en groter time-window om batchverwerkingen uit te voeren door de verkorte reactietijd"
sneller opgebouwd kunnen worden, aangezien Oracle niet meer alles hoeft te decompressen om recovery uit te kunnen voeren. De nieuwe partitioningmogelijkheden in combinatie met de mogelijkheid tot het cachen van result sets leidden tot een veel betere responsetijd en groter time-window om batchverwerkingen uit te voeren door de verkorte reactietijd. Ook de nieuwe mogelijkheid om TTS-mogelijkheden (Transportable
Is dat onverwacht? Niet echt, dit is een natuurlijk proces dat je ziet bij elke nieuwe versie. Tenslotte zien we toch ook vaak genoeg dat een objectgeoriënteerde taal procedureel gebruikt wordt.
Jasper Scholten is architect technical infrastructure bij Inter Access en is bereikbaar via:
[email protected].
17
18
WE LOVE IT
Ju n i 20 08
Het aantal klanten dat een beroep doet op de kennis van de call centermedewerkers is in de loop van de tijd flink toegenomen. De CRM-software en onderliggende infrastructuur waren hier niet meer op afgestemd.
QAS
Oracle Siebel CRM en QAS-software optimaliseren intern call center RVS
PRAKTIJKCASE CRM
De 200 medewerkers van het RVScall center helpen klanten met het beantwoorden van vragen over hun financiële producten. Voor het opstellen van een Persoonlijk Financieel Advies maken zij voor de klant een afspraak met een RVS adviseur. Voor het opslaan en opvragen van alle relevante informatie over cliënten gebruiken de call center agents de CRM-software van Siebel. De 950 persoonlijke adviseurs van RVS kunnen op hun beurt de door de klantenservice opgeslagen gegevens raadplegen als zij informatie nodig hebben voor afspraken met klanten.
Performance Het aantal klanten dat een beroep doet op de kennis van de call centermedewerkers is in de loop van de tijd flink toegenomen. De CRM-software en onderliggende infrastructuur waren hier niet meer op afgestemd. Valk: “De bestaande versie van het CRMpakket kon het serviceniveau dat RVS voor ogen heeft niet bieden. Om de performance van de IT-omgeving - zoals de snelheid van schermwisselingen en snelle inlogprocedures ook op langere termijn te kunnen garanderen, besloten we onze ITinfrastructuur te vernieuwen.”
Waarom zou je een goed functionerend IT-dienstenpakket bij een noodzakelijke upgrade in zijn geheel aan de kant zetten? Onder dit motto begon financieel dienstverlener RVS aan de upgrade van de CRM-software van zijn interne call center. “Nadat we de software op het bestaande CRM-platform onder de loep hadden genomen, werd al vrij snel duidelijk dat we onmogelijk hetzelfde hoge niveau van de klantenservice konden houden zonder de inzet van Oracle Siebel CRM en de contact data software van QAS”, zegt Erik Valk, Projectmanager RVS/B&SS bij RVS.
RVS was niet geheel vrij in de inrichting van deze IT-omgeving. De financieel dienstverlener is onderdeel van het ING-concern en heeft daardoor te maken met standaardisatie op infrastructuur en softwarepakketten. In deze standaardselectie zijn bijvoorbeeld Oracle Database, Siebel en de software van QAS opgenomen.
Aanpassingen op drie niveaus De veranderingen in de IT-architectuur van het RVS-call center vonden uiteindelijk op drie verschillende niveaus plaats. Als eerste zijn er vernieuwingen gedaan in de software - zoals een upgrade van Siebel en QAS - die noodzakelijk zijn voor de dagelijkse klant-
contacten in het call center en de continue uitwisseling van informatie op de verschillende systemen. Ten tweede is RVS overgeschakeld naar een ander database management systeem. Voorheen werkte RVS met een DB2-database, deze is tijdens het project vervangen door een Oracledatabase om standaardisatie binnen ING te bewerkstelligen. Ten derde is de onderliggende hardware volledig vernieuwd. Hiermee wordt een belangrijke voorbereidende stap gezet voor verdere integratie van de software die door de Front-office van RVS wordt gebruikt. Tata Consultancy Services was verantwoordelijk voor het verloop van de migratie. “Als partner van ING hebben zij al eerder migraties binnen het concern uitgevoerd waardoor zij bekend zijn met RVS”, verduidelijkt Valk. De migratie van Siebel 6.2 naar versie 7.8 is in twee stappen verlopen. De technische migratie kon namelijk niet in één keer gebeuren doordat de verouderde software dat niet toestond en de standaard migratiescripts van Siebel zodoende niet gebruikt konden worden. Daarom heeft eerst een migratie van versie 6.2 naar 7.7 plaatsgevonden voordat de uiteindelijke versie geïmplementeerd kon worden.
Beheer contactgegevens Voor een call center is het niet alleen belangrijk om over een snelle ITinfrastructuur te beschikken. Het is minstens zo belangrijk om een upto-date adressenbestand te hebben. Hier kwam QAS, een dochtermaatschappij van Experian®, om de hoek kijken. Na een evaluatie van de bestaande software die overgezet was naar het nieuwe CRM-platform bleek al snel dat het geen optie was om QAS buiten beschouwing te laten. “We hebben zelf de tijd noch de >
19
" $$ $(&'(%%$" !"%&"$()' ))%)/')51'%'##' 0+()%%#) $!"'+%%')2*$/')51'%'##'0+2/013#$ $%$ '+'$#)-+"+'&'%'##')" %!$!*$ $#"$+%%')%&"$( )' ).+%%'!$$(($#" !$)$% )%&"$()' ),%')("%)$#)$!"((!""3#$)'$$-%) %&)#" +%%''$ 3#$$)$!$() '+%%'$ %&"$ (")( (%,(%" -%$'%%$-%$)$$$#" ! '$"$&'!) !'+'$$!$$$ &'%'##')"'%%'+$$$$$+$*)$
$$'0+ %*%&)" ('+$((' $')$
&&
"! #
$% "
PRAKTIJKCASE CRM
QAS - RVS Vervolg
kennis om bijvoorbeeld de adressen van onze klanten goed te checken en up-to-date te houden. De beslissing om wederom voor QAS te kiezen was dan ook snel genomen”, aldus Valk. QAS werd al vroeg bij het implementatieproces van het CRM-pakket betrokken. De uiteindelijke integratie binnen het nieuwe platform verliep vlot doordat de software een gecertificeerde standaardintegratie heeft met Siebel. Daarnaast kreeg RVS ondersteuning van een consultant van QAS die regelmatig op locatie bij RVS te vinden was. “De aanwezigheid van deze consultant was voor ons erg prettig”, vertelt Valk. “Zij heeft ons goede adviezen gegeven over welke opties we het beste konden gebruiken. Dat heeft ons tijd bespaard bij de integratie.”
Standaardisering Na de integratie van de software van QAS met het nieuwe CRM-systeem bleken de gebruikers snel met de oplossing overweg te kunnen. Met slechts enkele toetsaanslagen kunnen zij in korte tijd het juiste adres van de klant vinden. Hierbij speelde uiteraard ook mee dat de medewerkers van RVS -
22-27
door het gebruik van QAS in de oude CRM-oplossing - gewend waren aan de uniforme wijze waarop adresgegevens ingevoerd en opgevraagd worden. Een gestandaardiseerde werkwijze is voor RVS belangrijk voor een uniform klantbeeld bij alle klantcontacten. Dit uniforme klantbeeld draagt op zijn beurt weer bij aan de toekomstige doelstellingen van het bedrijf. Eén van de speerpunten van RVS is Persoonlijk Financieel Advies door de RVS-adviseur. Het is hierbij noodzakelijk dat de adviseurs de juiste informatie krijgen vanuit het call center. “Dat kan alleen wanneer iedereen deze gegevens op dezelfde manier invoert en doorgeeft. Met QAS waarborgen we de kwaliteit van de adresgegevens van onze klanten. Zodra we iets doen met adressen zit daar direct een standaardisatieslag achter met de software van QAS.”
Overbodige kostenposten voorkomen Deze standaardisering is noodzakelijk om contactgegevens uniform, volledig en correct in te kunnen voeren. Dit voorkomt dat er, soms pijnlijke, fouten gemaakt worden. Jaarlijks worden er bijvoorbeeld in Nederland 2.8 miljoen poststukken verstuurd aan overleden personen. Daarnaast ontvangt één op de vijf Nederlanders nog regelmatig post op hun adres van vorige bewoners. Deze en andere
28-32
verkeerde adresseringen maken dat van de 1.2 miljard gepersonaliseerde brieven die het bedrijfsleven jaarlijks verstuurt, er 50 miljoen retour komen. Naast pijnlijke situaties zorgen dit soort fouten voor veel extra kosten. Door regelmatige updates van de adressenbestanden is RVS verzekerd van de meest recente gegevens. QAS baseert zijn adresinformatie wereldwijd namelijk op gegevens van de belangrijkste posterijen, in Nederland is dat TNT. “Het gebrek aan contact data management of de onduidelijkheid over het beheer ervan, komen de kwaliteit van de contactgegevens niet ten goede”, stelt Jamie Lesser, Marketing Manager bij QAS. “Bedrijven zijn gebaat bij een zo snel en compleet mogelijk bestand van volledige en correcte adresgegevens.” Valk onderstreept dit: “Zonder dat wij er zelf veel extra tijd en geld in hoeven steken blijven onze gegevens up-to-date. Daar nemen ze ons dus een heleboel werk mee uit handen.” De afdeling Claims van RVS werkt momenteel nog met de oude Siebel versie. Maar zoals wel vaker doet goed voorbeeld volgen en hebben ook zij besloten over te stappen naar Siebel 7.8, inclusief de software van QAS. Of zoals Valk het stelt: “Als een oplossing goed functioneert, zien wij geen reden om over te stappen op een alternatief.”
33-36
Oracle JHeadstart
Checkit
Ordina ICT - APEX
Veel meer dan een applicatie generator!
Integratie van Web 2.0 in de Search Strategie.
Interview Dimitri Gielis: Programmeren in Jip en Janneke taal.
21
22
WE LOVE IT
Juni 2008
ORACLE
Dat een innovatie van Nederlandse bodem binnen Oracle kan gedijen blijkt wel uit Oracle JHeadstart. JHeadstart bestaat inmiddels meer dan 6 jaar. In deze periode heeft het product een grote ontwikkeling doorgemaakt, zowel inhoudelijk als op het gebied van het aantal wereldwijde klanten dat er gebruik van maakt.
Oracle JHeadstart Veel meer dan een applicatie generator! Binnenkort komt versie 10.1.3.3 op de markt, met wederom een aantal krachtige nieuwe functionaliteiten. Binnen de J2EE wereld maakt JHeadstart steeds meer naam, toch merken we in contacten met klanten en partners dat de kennis rondom JHeadstart wel eens te wensen overlaat. In dit artikel geven we nog eens een korte uitleg van wat JHeadstart is en wat de voordelen zijn en gaan we in op enkele hardnekkige misverstanden die bestaan over de toepasbaarheid van JHeadstart.
Wat is JHeadstart? JHeadstart is een extensie op en in JDeveloper die boven op Oracle’s Application Development Framework (ADF) werkt. ADF is een J2EE ontwikkel raamwerk waarmee op een visuele en declaratieve manier J2EE applicaties en services kunnen worden gebouwd die in een service georiënteerde architectuur kunnen worden opgenomen. JHeadstart automatiseert een aantal ontwikkeltaken in ADF waardoor een productiviteit bereikt kan worden die minimaal gelijk is
aan wat ontwikkelaars van 4GL gereedschappen gewend zijn. JHeadstart bevat de JHeadstart Application Generator (JAG) die je in staat stelt om complexe schermen te genereren in plaats van ze met de hand een voor een te bouwen.
Voor mensen die bekend zijn met Oracle Designer: JHeadstart genereert ADF applicaties zoals de Designer Forms Generator Forms applicaties genereert, maar dan aanzienlijk krachtiger en flexibeler! Figuur 1: JHeadstart Ontwikkelproces
J H E A D S TA R T
Figuur 2: JHeadstart Application Definition Editor
is intuïtief en heeft veel weg van het ontwikkelen met Oracle Designer en Oracle Forms. Groot voordeel is dat diepgaande Java kennis niet nodig is om snel productief te zijn, dit maakt een overstap van een 4GL omgeving naar een op Java gebaseerde omgeving gemakkelijker. Stap 3 bestaat uit een iteratief proces van genereren, aanpassen van de metadata, aanpassen van de generator templates en opnieuw genereren totdat het gewenste eindresultaat is bereikt. Het gebruik van de generator zorgt ervoor dat layout stijlen van de pagina’s consistent blijven, iets wat bij het ontwikkelen van pagina’s middels drag en drop door verschillende ontwikkelaars nog wel eens een probleem vormt.
Wat voor functionaliteit levert JHeadstart?
Figuur 1 laat het globale ontwikkelproces met JHeadstart zien. In de eerste stap worden de ADF Business Components (ADF BC) gecreëerd met de standaard wizards in JDeveloper. ADF BC is de laag waarin onder andere de interactie met de database wordt geregeld en bedrijfsregels kunnen worden toegevoegd. In stap 2 wordt een “default” Application Definition file aangemaakt, op basis van de data collecties die in ADF Business Components zijn gedefinieerd. De Application Definition file bevat de metadata waarin wordt vastgelegd hoe de te genereren schermen er uit moeten zien. JHeadstart biedt een mooie visuele editor bevat om deze Application Definition file te onderhouden. Voor een willekeurige data collectie kan worden aangegeven hoe de data op een of meer pagina’s getoond moet worden (bijvoorbeeld
een summary en detail view, de zogenaamde “table-form” layout stijl), en welke operaties in welke pagina zijn toegestaan (insert, update, delete, advanced search, quick search). Per item binnen de data collectie kan worden aangegeven hoe en op welke pagina het moet worden getoond. Ook “unbound items” kunnen worden gedefinieerd om, in Forms termen, “control block” functionaliteit te realiseren. De manier van werken met deze editor
JHeadstart levert een breed scala aan functionaliteiten. De generator automatiseert de implementatie van simpele tot hele complexe user interface patronen. Simpele CRUD (Create, Retieve, Update, Delete) schermen, maar ook complexe multi-page wizard schermen. Table en form layouts, maar ook table overflow styles, stacked item groups, tree layouts, shuttles en grafieken. Tekst en datum invoer velden, maar ook file upload en download, images en geavanceerde list of values (met validatie a la Oracle Forms). > >
Figuur 3: JHeadstart-gegenereerd scherm met o.a. tree en stacked overflow right
23
De one-stop-shop voor ICT opleidingen
ww.tenplus.nl: ADOBE: Photoshop, Illustrator, InDesign www.tenplus.nl: BUSINESS INTELLIGENCE: Data Warehousing, Crysta
ports, Oracle Discoverer, Business Object, SQL Server 2005, www.tenplus.nl: COMPTIA, IBM: Lotus Notes and Domino, WebSphere
ww.tenplus.nl: JAVA: Java Programming Language, JEE, Oracle & Java Overview, www.tenplus.nl: ITIL: ITIL Foundation, ITIL
actitioner, www.tenplus.nl: LINUX/UNIX: Oracle Application Server, Oracle Database Beheer www.tenplus.nl: MICROSOFT
P.NET/XML.NET, BizTalk, Business Skills Series, Exchange Server, OPLEIDINGSTRAJECTEN, Helpdesk, Internet, MS Access
S CRM 3.0, MS Excel, MS Office 2007, MS Outlook, MS Powerpoint, MS Project, MS Windows, MS Word, Scripting, SharePoint
ww.tenplus.nl: MICROSOFT: SMS/MOM/ISA, SQL Server, VBA (Ms Office), Visual Basic.NET, Visual C#.NET, Visual Studio 2005
ndows 2000, Windows Server, Windows Vista, Windows XP, XML, www.tenplus.nl: AUTODESK: AutoCAD, Bouwkunde, Civiele
chniek, www.tenplus.nl: ORACLE: Oracle SQL, Oracle Application Express (HTML DB), Oracle Application Server, Oracle Database
heer, Oracle Designer Oracle Developer, Oracle & Java Overview, Oracle PL/SQL, Oracle Spatial, , Service Oriented Architecture
OA), www.tenplus.nl: INTERNET SECURITY: TCP/IP, Informatiebeveiliging, IPSec, www.tenplus.nl: OVERIGE OPLEIDINGEN
www.tenplus.nl
! en g in id le p o 0 0 .6 1 n Nu al meer da
J H E A D S TA R T
JHeadstart Vervolg
Daarnaast biedt JHeadstart uitgebreide ondersteuning voor meertaligheid en voor fijnmazige role-based of permission-based security op basis van JAAS (Java Authentication and Authorization Services) en/of met gebruik maken van “eigen” applicatie tabellen die de beveiligingsinformatie bevatten. Al deze functionaliteiten kunnen binnen enkele minuten worden gegenereerd door de JHeadstart Application Generator. Toch wordt geen enkele regel Java code gegenereerd, alleen maar XML. Het geheim hiervan zit in de JHeadstart runtime library. De JHead-start runtime library is eigenlijk één grote verzameling van “best practice” technieken voor het werken met ADF. De meeste technieken zoals beschreven op populaire ADF blogs zitten standaard al in JHeadstart. De runtime library bevat onder andere een uitgebreide set van generieke user interface com-ponenten, die door de JHeadstart Application Generator aan elkaar worden geknoopt en geconfigureerd in JSF configuratie bestanden (JSF managed beans). Deze architectuur leidt ertoe dat standaard JHeadstart functionaliteit heel gemakkelijk aangepast of uitgebreid kan worden, door eigen subclasses van de JHeadstart runtime classes te maken en de generator te configureren deze subclasses te gebruiken.
100% Generatie?! De hoeveelheid functionaliteit die JHeadstart levert is indrukwekkend, maar misschien wel de mooiste feature is de volledige aanpasbaarheid van de generator output. Alles wat JHeadstart genereert wordt bepaald door de Velocity generator templates waarin “tokens” staan die vervangen worden door dynamische content op basis van de Application Definition metadata. Voor elk standaard JHeadstart template kan de ontwikkelaar een eigen “custom
template” in de plaats laten komen. Dit geeft totale controle over wat er precies wordt gegenereerd en betekent ook dat er geen grenzen zijn aan wat je kunt genereren. Althans, alles wat je met de hand kan bouwen, kun je ook genereren door het gebruik van deze custom templates. Inderdaad, 100% generatie is dus heel goed mogelijk, ook voor zeer complexe applicaties met een afwijkende look and feel. Alle JHeadstart projecten die door Oracle Consulting worden uitgevoerd bewijzen dat 100% generatie mogelijk is, en ook veel van onze klanten en partners krijgen dit voor elkaar, terwijl 100% generatie vaak helemaal niet het uitgangspunt was. In de praktijk blijkt het werken met custom templates zo simpel en krachtig dat 100% generatie vrij makkelijk gehaald wordt. Nu is dat zeker geen doel op zich, het is ook heel goed mogelijk om gegenereerde pagina’s met de hand af te bouwen in JDeveloper en dan een vlaggetje te zetten dat de pagina niet meer opnieuw wordt gegenereerd. Dan gaan echter belangrijke lange termijn voordelen deels verloren en wordt agile ontwikkelen lastiger, zoals in de twee volgende paragrafen wordt besproken.
Lange termijn voordelen Een veel gehoorde klacht van klanten is dat in de J2EE wereld de ontwikkelingen zo snel gaan dat een systeem dat net klaar is, alweer verouderd is wat betreft de technologie. Daar zit zeker een kern van waarheid in. In de 6 jaar dat JHeadstart nu bestaat, zijn drie technologieën voor de controller-laag gebruikt (MVC Framework, Struts en nu JSF) en eveneens drie technologieën voor de view laag (UIX, Struts JSP’s, en nu ADF Faces). Zonder gebruik van JHeadstart is een overgang naar een nieuwe technologie meestal een tijdrovende aangelegenheid, al probeert Oracle hierbij te helpen met bijvoorbeeld het leveren UIX naar ADF Faces upgrade scripts. Als JHeadstart is gebruikt voor het ontwikkelen van de applicatie, dan zijn dergelijke technologie migraties aanzienlijk sneller, eenvoudiger en dus goedkoper. Doordat het uiterlijk en gedrag van de applicatie technologie onaf-
hankelijk is vastgelegd in de Application Definition file, kunnen klanten een Struts/UIX applicatie vrij eenvoudig migreren door opnieuw te genereren met JHeadstart release 10.1.3. En hoewel de JSF standaard voor meer rust gaat zorgen in de J2EE wereld, gaan de ontwikkelingen binnen JSF gewoon door. Oracle komt straks met een nieuwe release 11 van ADF Faces (preview releases hiervan zijn al beschikbaar), waarin echt rijke user interface componenten zitten, waarmee de user interface mogelijkheden van bijvoorbeeld Oracle Forms zelfs overtroffen worden (bv. de kolom volgorde in een tabel wijzigen met drag en drop). Met JHeadstart 10.1.3.x gegenereerde applicaties kunnen straks direct profiteren van deze nieuwe user interface elementen door het opnieuw genereren van de applicatie met JHeadstart release 11. Alleen de eigen gemaakte “custom” templates dienen handmatig te worden aangepast voor de nieuwe release. Met andere woorden: nu starten met JHeadstart 10.1.3.3 is de beste manier om je voor te bereiden op de lang verwachte komst van JDeveloper release 11.
Agile ontwikkelen Agile, iteratief, incrementeel, timeboxing, rapid application development, extreme programming, hoe we het ook noemen, het stelt allemaal hoge eisen aan de ontwikkelomgeving. De tijden dat een analyse fase resulteerde in 2 meter papier en de gebruikers vervolgens (meestal blind) hun handtekening zetten om vervolgens een maand of 6 te moeten wachten op iets (niet goed) werkends, liggen grotendeels achter ons. Maar voor een moderne aanpak van systeemontwikkeling zijn wel gereedschappen nodig waarmee snel prototypes gemaakt kunnen worden die kunnen evolueren naar een werkend systeem. Wijzigende systeemeisen zijn nu regel in plaats van uitzondering (“embrace change”), dus de aanpasbaarheid en flexibiliteit van een systeem zijn belangrijker dan ooit. Zonder te overdrijven kunnen we stellen dat Oracle ver vooroploopt in de J2EE wereld met het ondersteunen van deze manier van ontwikkelen met de combinatie JDeveloper, ADF en JHeadstart. En ook bij meer >
25
L66GDBODJJDEC>:JL =:IL>:AJ>IK>C9:C4
8DB7>C::GJL@:CC>H B:I9::ME:GI>H:K6CEAJHE6GIC:G 7ZcijXdchjaiVci!d[YdXZci[gZZaVcXZgd[^ckVhiZY^ZchibZiegV`i^_`ZgkVg^c\ZcodZ`ijZZceaVi[dgbdb jl`Zcc^hZcZgkVg^c\iZYZaZc!d[WZhX]^`ijdkZgjlZ^\ZcXjghjhbViZg^VVaYVijl^aikZgbVg`iZc!YVc^h EajhEVgicZgdeodZ`cVVgJ EajhEVgicZg^hZZc^ccdkVi^Z[deaZ^Y^c\h^chi^ijjiZcW^ZYi]^\]"ZcY>IXjghjhhZcVVcbZiVahheZZgejciZc B^Xgdhd[iHZgkZg!HFAHZgkZgZcYdiC:I# 9Zjc^Z`ZEajhEVgicZg[dgbjaZW^ZYijYZbd\Za^_`]Z^Yjl`Zcc^hcVVgYZ bVg`iidZiZegdedh^i^dcZgZc#9ZXdbW^cVi^ZkVccoZZmeZgi^hZkVcYZbVg`i Zcl`Zcc^hkVcYZbViZg^ZdcYZghiZjcYYddgZ^\ZcXjghjhbViZg^VVahiVVc \VgVcikddgZZc^_oZghiZg`egdYjXiiZ\ZcoZZg^ciZgZhhVciZkZg\dZY^c\Zc# =Zg`Zcijo^X]^c]ZiWdkZchiVVcYegdÒZa4 CZZbYVcXdciVXidebZidchde_d\e6fbkifWhjd[h$db d[`^_`demmm$fbkifWhjd[h$dbZc^c[dgbZZgcVVgdcoZ)m'*[dgbjaZ#
lll#eajheVgicZg#ca
J H E A D S TA R T
JHeadstart Vervolg traditionele klanten waar nog erg “waterval” wordt gewerkt, hebben we ervaren dat het hele systeem regelmatig opnieuw gegenereerd wordt als gevolg van (toch nog) wijzigende requirements.
Overgang van Designer/Forms naar ADF Oracle publiceert heel veel materiaal op OTN om de concepten achter J2EE en ADF uit te leggen aan Forms/4GL ontwikkelaars en zodoende deze groep te verleiden de overgang naar ADF te maken. Het JHeadstart team binnen Oracle Consulting heeft de ADFJHeadstart workshop ontwikkeld waar veel mensen uit deze groep op afkomen. We hebben deze workshop al vaak gegeven en het is iedere keer weer leerzaam om te zien hoe groot de stap voor deze mensen naar ADF toch nog is. Als ze dan na 3 dagen ploeteren eindelijk met JHeadstart mogen beginnen, slaat de scepsis razendsnel om in ongebreideld enthousiasme. JHeadstart generereert in een mum van tijd wat ze daarvoor met bloed, zweet en tranen zelf probeerden te bouwen. Toch zijn die eerste 3 dagen van de workshop erg belangrijk: een goed begrip van hoe ADF werkt, is essentieel om de kracht van JHeadstart ten volle te benutten. Vergelijk het met het genereren van Oracle Forms vanuit Designer, ook daar geldt: hoe beter de kennis van Oracle Forms en PL/SQL, hoe meer er door middel van custom templates en libraries uit de Forms Generator gehaald kan worden. Oracle adviseert om Forms applicaties stap voor stap te integreren in een SOA-omgeving in plaats van ze in het geheel over te bouwen in ADF. De laatste tijd zien we dat veel klanten bij deze stapsgewijze integratie ook delen van de originele Forms applicatie willen overbouwen in ADF. De vraag naar hulpmiddelen die deze Forms (deels) geautomatiseerd kunnen migreren naar ADF is sterk toegenomen. Dit is de reden van de belangrijkste nieuwe feature in de aankomende JHeadstart
10.1.3.3 release: de JHeadstart Forms Migrator (JFM). Met de JFM kunnen rechtstreeks Oracle Forms .fmb files (al dan niet gegenereerd met Oracle Designer) worden ingelezen en die worden dan gemigreerd naar ADF. De JFM creëert de ADF Business Components en de JHeadstart metadata (Application Definition) op basis van de Forms definities. Vervolgens kan de JAG worden gedraaid om de web applicatie te genereren. De PL/SQL code in de Forms wordt als documentatie toegevoegd aan de Application Definition zodat snel een overzicht kan worden verkregen van de custom logica die handmatig moet worden gegenereerd. Planning is dat toekomstige versies van JHeadstart verdere ondersteuning zullen gaan bieden voor de migratie van PL/SQL logica, bijvoorbeeld door het verplaatsen van de code naar de database, of door het parsen naar Java en verplaatsen naar de juiste ADF BC methode of JSF managed bean.
JHeadstart in een SOA wereld JHeadstart gebruikt ADF Business Components; een framework dat bij uitstek geschikt is voor communicatie met tabellen in een relationele database. Een hardnekkig misverstand is dat JHeadstart hierdoor ongeschikt zou zijn om binnen een SOA architectuur te gebruiken.
Services. Naast groepen en domeinen gebaseerd op ADF BC View Objecten kunnen deze ook op web services gebaseerd worden. Daarnaast staat integratie met de Human Workflow component van BPEL op de planning. Met JHeadstart kunnen specifieke takenlijsten “op maat” gegenereerd kunnen worden in de look en feel van de betreffende applicatie.
Samenvatting Met JHeadstart kunnen uitermate krachtige best-practice web applicaties gebouwd worden die moeiteloos in een SOA omgeving integreren. De belangrijkste voordelen van JHeadstart op een rijtje: s Verhoogt de developer productiviteit. s 6ERGEMAKKELIJKT DE OVERSTAP VAN ', naar een op Java gebaseerde omgeving. s /NDERSTEUNT EEN MODERNE MANIER VAN ontwikkelen. s 'ENERATIE ZORGT VOOR EEN CONSISTENTE applicatie. s !PPLICATIES ONTWIKKELD MET *(EADSTART zijn makkelijk te onderhouden, snel aan te passen en upgrades naar nieuwe versies of zelfs nieuwe technologieën is met JHeadstart snel en eenvoudig. s $E *(EADSTART &ORMS