www.weloveit.nl
2e jaargang | nummer 6 | 2007 | Oplage 15.000
Magazine voor en door Oracle & Java gebruikers en ontwikkelaars
POWERED BY 5HART
11g 6 ORACLE DATABASE
gina ## zie zie pa pagina 4
ICT SOLUTIONS Hibernate in combinatie met Oracle RAC voor bedrijfskritische toepassingen
inhoud 40
Dit is een voorpr
oefje uit
van Eckart Win
tzen.
Een download van
Nieuws
Eckart's Notes
Ne
Caesar, Julius Het managmentmodel dat 2000 jaar stand hield
Van naa
32
30
www.extent.nl
Bo
In the spotlight
- Database 11g - Sun presenteert - Ugrade management - AIAprogramma - Oracle introduceert
Toe ver mid
44 Kadenza
Technologie voor snellere innovatie
Enterprise intelligence
Colofon
Column Maarten Schneider Hoe groen ben jij als ontwikkelaar ?
46
12
37
6-9
11
Oracle Database 11g
JTeam B.V. Het Spring Framework in de praktijk bij Ilse Media
19
NS
VOORWOORD
met che gen
Hoe was het op Oracle OpenWorld & Javapolis? Voor degenen die mij de afgelopen maanden hebben gevraagd of ik Oracle OpenWorld of Javapolis ga bezoeken wil ik nogmaals de formule van We Love IT uiteenzetten. Ik zou graag San Francisco willen zien, door Oracle of Sun Microsystems in het zonnetje gezet worden of een biertje drinken in het altijd gezellige Antwerpen. Maar dat heeft geen zin, want We Love IT wordt voor en door Oracle & Java professionals gemaakt. Op die manier is het een kader voor uw verhaal, visie of implementatie. U weet namelijk wat er in de Oracle & Java markt speelt. Van u, als ‘diehard’ Oracle en/of Java professional, zie ik dus graag uw verslag van OpenWorld of JavaPolis tegemoet. We Love IT is uw medium!
Netmanage Van business naar e-business
In deze uitgave wordt de lancering van de Oracle Database 11g extra belicht. Oracle geeft u inzicht in de nieuwe mogelijkheden en voordelen van de Oracle Database 11g. Sandor Nieuwenhuijs, Senior Manager Sales Consulting bij Oracle en Peter Vos, Business Development Manager bij Oracle strepen voor u de meest essentiële zaken in het artikel aan.
32
Wat heeft We Love IT tot nu toe bereikt? De redactionele formule van We Love IT wordt goed opgepakt. De ‘voor en door’ constructie heeft er voor gezorgd dat in 2007 zo’n honderd Oracle & Java auteurs zich verbonden hebben aan We Love IT. Het aantal abonnees groeit aanzienlijk en een totale oplage van ruim 100.000 stuks in 2007. Deze oplage handhaven we in 2008. We Love IT blijft u prikkelen. Zo zet Eckart Wintzen in deze uitgave zijn recent uitgegeven boek ‘Eckart’s Notes’ in het zonnetje. Wat is er nu mooier dan een aantal krachtige uitspraken van Neerlands grootste ICT entrepeneur!
Bonavoda/IT-EYE Toepassen van de SOA verworvenheden met bestaande middelen
24
1g
We Love IT wordt diverser. In elke uitgave zal een specifiek onderwerp belicht worden in de vorm van een coverstory. De vaste onderwerpen per uitgave waarop u altijd (zonder redactionele deadline) artikelen kan insturen zijn: de Oracle Database, Java/J2EE, Oracle Middleware –en Applications, specifieke Oracle & Java branche oplossingen en Business Intelligence.
In deze uitgave verzorgen JTeam in samenwerking met Ilse media, BonaVoda in samenwerking met IT-Eye & CAK/BZ, Netmanage, Kadenza en ICT automatisering zeer interessante artikelen die u wellicht op andere gedachten zetten of inzicht te geven hoe zaken anders kunnen. Wilt u de auteurs spreken? Neem gerust contact op. Ik verbind u met alle plezier door.
oor atie
Veel leesplezier en een zeer goed 2008 toegewenst!
12 Column Toon Koppelaars Apex the Quiet Revolution
5
We Love IT Tom van Luijk 026 – 35 29 336
[email protected]
10, 11 & 12 MAART 2008 n H Hotel Den Haag HET ONAFHANKELIJKE EVENEMENT GERICHT OP DE ORACLE DATABASE 5% X E TR A G KO R TI N R VO O UG OGh / OB LE D E N
SPREKERS Harold Gerritsen Julian Dyke Mark Rittman Lucas Jellema Mogens Nørgaard Anjo Kolk Christian Antognini Carel-Jan Engel Daniel Fink
Onderwerpen Oracle server tuning, Query optimization en SQL tuning, Advanced application development, Oracle data guard, Datawarehousing met Oracle 11g, Oracle RAC en meer. Onderwerpen speciaal voor de Oracle ontwikkelaar of Oracle DBA. http://www.reddatabase-symposium.com voor een compleet programmaoverzicht en alle details.
Wat is RedDatabase Symposium? RedDatabase Symposium duurt drie dagen met elke dag een keuze uit drie diepgaande, dagvullende masterclasses. Alle sprekers zijn internationale experts op hun gebied en zeer ervaren sprekers. Ze vormen de crème de la crème van de Oracle community.
Prijzen 1 dag is
799, 2 dagen
1339 en 3 dagen
1819 (ex. BTW)
Kortingen tot 35% 10% Vroegboekkorting, 15% Groepskorting 5% OGh/OBUG Leden, 5% RedStone Members Word gratis RedStone Member via de website. Dit geeft u recht op 5% extra korting op alle evenementen van RedStone Innovations. RedDatabase Symposium wordt georganiseerd door:
HTTP://WWW.REDDATABASE-SYMPOSIUM.COM
A R T I K E L CGOALMUI M NN G
TOON KOPPELAARS
Apex
The Quiet Revolution De eerste keer dat ik me bewust werd van HTMLDB was op het ODTUG congres van 2004. HTML-DB was de wat suffige naam van wat nu Application Express (Apex) genoemd wordt. Een zekere Tony Jedlinski gaf een enthousiaste presentatie waarin hij HTML-DB aanprees als het verborgen juweeltje in de toolset van Oracle om web applicaties mee te ontwikkelen. Twee dingen vielen mij toen op. A) Tony had één van de grotere zalen toebedeeld gekregen, en die zaal zat echt bomvol. En B), Ken Jacobs stond gedurende de gehele presentatie achterin de zaal mee te luisteren en het publiek te observeren. Voor degenen onder U die deze laatste naam niets zegt, de heer Jacobs stond aan het roer van de ontwikkeling van Oracle7 (de breakthrough-version van Oracle wat mij betreft), en heeft sindsdien binnen Oracle een richtinggevende rol in alles wat met de database server te maken heeft. Zijn bijnaam is “Dr. DBA”. De interesse die HTML-DB toen, in 2004, al in de states trok, is iets wat niemand bij Oracle had voorzien, denk ik. Anno 2004 was HTML-DB in ons land ‘not-done’. De vraag was onder andere of dit niet het zoveelste produkt was waar Oracle elk moment de stekker uit zou gaan trekken: iets wat we al vaker hebben meegemaakt. Ondertussen kunnen we wel stellen dat dit niet gaat gebeuren. Apex is nu standaard aanwezig in de database. En bij Oracle11G is de integratie zelfs zo ver gegaan dat een webserver (Apache) niet meer nodig is om Apex te runnen: de http-requests kunnen via de SQLNet protocol server rechtstreeks de database in. De bulk van in de jaren negentig met PL/SQL en Forms groot geworden systeem ontwikkelaars heeft nu eindelijk weer iets wat ‘lekker aanvoelt’. Java en J2EE werd altijd als veel te complex en omslachtig betiteld door deze groep van ontwikkelaars. Waar deze groep voorheen iets had waarmee ze in PL/SQL efficient client-server applicaties konden bouwen, hebben ze nu eindelijk een tool waarmee ze, wederom in PL/ SQL, heel vlot web applicaties kunnen bouwen. Er is een stille revolutie gaande rondom Apex. Stil, omdat Oracle zelf nauwelijks reclame maakt.
Apex: het verborgen juweeltje in de toolset van Oracle om web applicaties mee te ontwikkelen.
Apex genereert immers geen dollars: het is een product wat U gratis bij de (dure) database krijgt. De revolutie is ondertussen ook op het Europese continent aanbeland. Een leuke graadmeter is altijd de activiteit op de diverse technology forums op OTN. Op de eerste twee plaatsen staan daar al sinds jaar en dag het database forum met de DBA gerelateerde posts, en het SQL en PL/SQL forum met de database developer gerelateerde posts. Met stip op de derde plaats staat nu al geruime tijd het Apex forum. Op enige afstand volgen dan op plaatsen vier en vijf de JDeveloper en Forms forums. Kijkt U zelf maar even op "http://www.oracle.com/technology/forums/index.html" Ook wij bij Centraal Boekhuis zijn rond de milleniumwisseling met moeite op de J2EE bandwagon gesprongen. Welliswaar op een low-risk manier. Deze houdt in dat we geen regel code buiten het DBMS schrijven, als het een regel PL/SQL in het DBMS had kunnen zijn. J2EE is voor ons slechts user-interface technologie. Eén van de benefits die we hiermee bereikt hebben (er zijn er te veel om hier op te noemen) is dat onze softwareplas hoog immuum is voor de steeds maar weer veranderende user interface technologieën die ingezet worden om applicaties op de database te maken. Door alle business logic in de stabiele en robuuste database te duwen zijn we enorm ‘agile’ (om dat woord hier maar eens te gebruiken) als het aankomt op adoptie van nieuwe user interface technologieën. Enkele maanden geleden hebben wij besloten om met de Java ontwikkelstraat te stoppen. En de vervanger? U mag het raden, de stille revolutionair. Bent U ook altijd gecharmeerd geweest van een dikke database, met alle business logic? Dan is de Apex revolutie er eentje die U niet wilt missen.
Toon Koppelaars (Database evangelist)
5 9
javaA4:Opmaak 1
10-10-2007
10:18
Pagina 1
JAVA
specialist
EE J2
|
a| Jav
IBM
eb XML | W | s s o e | JB r e h Sp Web
Services
De Java specialisten van HintTech hebben vele
De pragmatische aanpak van de Java specialis-
jaren ervaring met complexe ICT projecten bij
ten garandeert dat uw cruciale Java projecten
middelgrote en multinationals in binnen- en
succesvol worden afgerond.
buitenland. HintTech’s Java ontwikkelaars, systeem architecten en technische project managers zijn in staat om op elk gewenst moment in te stappen.
Meer informatie op www.hinttech.com
HINTTECH
NIEUWS
EMC EN ORACLE/NIEUWS
Database 11g
Samenwerking EMC en Oracle EMC integreert Oracle Database 11g in zijn ´Information Infrastructure for Oracle´ programma en vereenvoudigt daarmee implementatie en kostenbeheersing voor gebruikers van de nieuwste Oracle software. Dit stelt ze in staat business solutions eerder te gebruiken, en hun informatiemanagement te verbeteren. De aankondiging omvat ondermeer geïntegreerde en gedocumenteerde configuraties voor Oracle databaseomgevingen en de validatie van EMC technologie met Oracle Database 11g. Dit laatste maakt de configuratie en het beheer van EMC NAS in Oracle gid computingomgevingen sneller en eenvoudiger. “EMC en Oracle hebben beiden als doel om onze klanten te helpen hun kosten te beheersen en het meeste uit hun informatie-infrastructuur te halen,” licht Mike O’Neil, EMC Vice President Technology Alliances toe. “We hebben zwaar geïnvesteerd en werken hecht samen om onze producten te integreren en klanten zo de hoogste gebruiksvriendelijkheid en effectiviteit te kunnen bieden. Gecombineerd met onze gezamenlijke service en support zijn we perfect in staat klanten te helpen met de implementatie van Oracle Database 11g.” Bron: Porter Novelli
SUN/NIEUWS
Sun presenteert
open source virtualisatieplatform voor datacenters Jonathan Schwartz heeft tijdens Oracle OpenWorld Sun xVM gepresenteerd, het eerste gratis open source virtualisatieen beheerplatform voor datacenters. De eerste twee xVM-producten die op de markt komen, zijn Sun xVM Ops Center en Sun xVM Server. Tevens introduceert Sun www.openxvm.org, een open source gemeenschap voor ontwikkelaars die samen bouwen aan datacenter virtualisatie- en beheertechnologieën. De Sun xVM Ops Center is een beheerconsole waarmee gebruikers zowel de gevirtualiseerde als de fysieke componenten van hun IT-omgeving kunnen beheren. Sun xVM Server is een virtualisatie server, gebaseerd op codes uit de Xen open source gemeenschap. Het is een hypervisor waarmee het mogelijk wordt meerdere besturingssystemen te gebruiken op één machine. Hierdoor kunnen klanten optimaal gebruik maken van technologieën als voorspellende- en zelfhelpende
software en is het mogelijk om het filesysteem ZFS te gebruiken op andere dan het Solaris besturingssysteem, zoals Windows en Linux. “De markt erkent dat gratis en open source software heeft geleid tot besparingen, efficiëntie en concurrentie. Virtualisatie biedt dezelfde mogelijkheden, maar deze ontwikkeling is niet zonder risico”, zegt Schwartz. “Klanten geven aan dat ze niet afhankelijk willen zijn van een enkele leverancier in het hart van hun datacenter. Dat is de reden waarom Sun bijna twee miljard dollar per jaar besteed aan R&D voor het xVM-programma. Hierdoor wordt het mogelijk meerdere softwareplatformen als Java, Open Solaris, Linux en Windows te gebruiken op hardware van onder andere HP, Dell, IBM en Sun. Sun xVM gaat verder dan alleen serverconsolidatie. Het omvat de virtualisatie van alle datacenteronderdelen, van het netwerk en storage tot de applicatie- en hardware voorraad, waardoor het risico van leveranciersafhankelijk wordt uitgeschakeld.” Bron: WhizPR
ORACLE/NIEUWS
Nieuwe functionaliteit
voor softwareconfiguratie en upgrade management
Oracle heeft zijn aanbod voor softwareconfiguratie en upgrade management verbeterd en uitgebreid. Daarnaast ontving de organisatie tijdens Oracle OpenWorld een award van de Amerikaanse Service and Support Professionals Association (SSPA) voor zijn supportactiviteiten. Oracle introduceert een nieuwe versie van zijn Software Configuration Manager-platform. Het systeem verzamelt en integreert automatisch gedetailleerde en dynamische informatie met betrekking tot de systeemconfiguratie. Oracle kan zo proactief en gepersonaliseerd support leveren. Oracle Software Configuration Manager vormt de basis voor een nieuwe generatie support tools, mogelijkheden en diensten en is gebaseerd op Oracle Enterprise Manager-software. Het supportaanbod is verder uitgebreid met Oracle Advanced Customer Services Upgrade Management Service, ontworpen om het upgraderisico voor klanten te minimaliseren en de waarde van hun software-investering te verhogen. De services voorzien in een compleet portfolio van eenvoudige, snelle en kosteneffectieve management tools en diensten waarmee Oracle-klanten moeiteloos van hun huidige omgeving kunnen overschakelen naar de voor hen meest geschikte omgeving en versies. Gebaseerd op het Oracle Services Framework, wordt versie 3 van ITIL ondersteund door Oracle Advanced Customer Services Upgrade Management Service en >
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 ke l i n g e n o p e e n r i j !
7
8
WE LOVE IT
De ce m b e r 2007
komt het tegemoet aan de individuele behoeftes van elke klant. Ongeacht of deze zelf de upgrade verzorgt, een derde partij ervoor inschakelt, of gebruikmaakt van Oracle Consulting Services. De Oracle Advanced Customer Services Upgrade Management Service kent drie stappen: de Upgrade Pre-Planning Analyse, Upgrade Management en de Post Upgrade Evaluation. Hierdoor kunnen klanten stap voor stap naar een nieuwe situatie overschakelen, gecontroleerd en zonder risico. Oracle Support onderscheiden Oracle is tijdens Oracle OpenWorld onderscheiden voor zijn supportactiviteiten. Oracle Support kreeg de ‘Services Industry Leadership’-award toegekend door de Amerikaanse Service and Support Professionals Association (SSPA). Oracle is het eerste bedrijf dat een dergelijke onderscheiding in ontvangst mag nemen en krijgt de award voor de vooruitstrevende rol op het gebied van klantenondersteuning en het vastleggen en definiëren van standaarden op het gebied van ‘service excellence’. Oracle kent een lange supporttraditie, gericht op een voortdurende innovatie op het gebied van dienstverlening. Het was één van de eerste bedrijven die elektronische, online ondersteuning bood en ondersteunt klanten wereldwijd in 27 talen en in elke tijdzone, met 16.000 ontwikkelaars en 7500 supportprofessionals. Bron: WhizPR
ORACLE/NIEUWS
AIA-programma
breidt voor partners verder uit. Oracle heeft op de eerste dag van Oracle Open World verschillende Application Integration Architecture (AIA)initiatieven aangekondigd. Hiermee kunnen organisaties sneller Oracle-applicaties, maatwerkapplicaties en oplossingen van derden integreren. Daarnaast is het AIA-programma voor partners verder uitgebreid. Oracle Application Integration Architecture Foundation Pack is een open, op standaarden gebaseerd platform voor de integratie van bedrijfsprocessen van zowel Oracle-applicaties als maatwerkoplossingen en applicaties van derde partijen. Het is een component van de Oracle Application Integration Architecture. De Foundation Pack geeft klanten en partners tools waarmee ze zelfgekozen bedrijfsprocessen kunnen implementeren, over alle applicaties heen. Meer dan 30 procent van de SAP-gebruikers gebruikt Oracle-applicaties voor het beheer van hun bedrijfskritische processen. Het Oracle Application Integration Architecture for SAP-initiatief is speciaal voor organisaties die gebruik maken van zowel Oracle- als SAP-oplossingen. Het biedt een op
Op het juiste moment beschikken over de juiste expertise! LinkiT heeft business intelligence specialisten op de volgende gebieden: > Datawarehousing > Reporting en analysing > Auditing > Pakketselecties
> Architectuurontwerp > Projectleiding > Advisering > OLAP modellering
> Documentatie en beheer > Balanced Scorecarding > Management cockpits > CPM
Wilt u meer weten? Kijk dan op www.linkit.nl of bel vrijblijvend met één van onze medewerkers via (030) 265 0 265.
NIEUWS
standaarden gebaseerde methode waarmee bedrijfsbrede applicaties gekoppeld kunnen worden. Oracle biedt een aantal voorgedefinieerde oplossingen om de integratie te bevorderen van de Oracle CRM, transportmanagement en product lifecycle management-applicaties met SAP’s legacy ERP-applicaties. Oracle introduceert drie Process Integration Packs voor de communicatie-industrie gebaseerd op Oracle Siebel Customer Relationship Management, Oracle Communications Billing and Revenue Management en Oracle Financials-applicaties. De drie oplossingen – Order-to-Bill Integration Pack for Communications, Agent-Assisted Billing Care Integration Pack for Communications en Revenue Accounting Integration Pack for Communications – zijn ontwikkeld om dienstverleners te helpen bij het stroomlijnen van het complete orderafhandelingsproces. Daarnaast bevorderen de packs het verhogen van de call center-productiviteit en het verbeteren van de kwaliteit van financiële data.
ZEBRA/NIEUWS
Directe communicatie
tussen thermische printers en Oracle XML Publisher
Zebra Technologies heeft de functionaliteiten van de Zebra op ZPL-gebaseerde thermische printers uitgebreid. De thermische printers kunnen nu rechtstreeks communiceren met Oracle® XML Publisher. De op ZPL-gebaseerde printers van Zebra kunnen XML-output van iedere Oracle-applicatie ontvangen en verwerken. Het printproces verloopt hierdoor sneller, de klant bespaart kostbare tijd en geld en processen verlopen efficiënter.
Oracle Siebel CRM Integration Pack for Oracle Trade Promotion Management is een voorgedefineerde integratie van Oracle’s Siebel CRM en de Oracle E-Business Suite. Leveranciers van consumentenartikelen kunnen zo de efficiëntie binnen de gehele organisatie verbeteren. Daarnaast neemt de effectiviteit van promotionele activiteiten toe door de synchronisatie van klant-, product- en financiële informatie afkomstig uit verschillende Oracle-applicaties. Siebel CRM Integration Pack for Oracle Trade Promotion Management bevat standaardprocessen voor het beheer van het gehele promotionele proces. Oracle heeft zijn Application Integration Architecture for Partners-initiatief uitgebreid. Partners die lid zijn van het Oracle PartnerNetwork (OPN) hebben hiermee de beschikking over tools en software waarmee ze oplossingen kunnen ontwikkelen die integreren met Oracle-applicaties en crossapplicatie bedrijfsprocessen. Bron: WhizPR
te doorlopen of vertragingen. Deze directe koppeling bespaart tijd doordat het niet langer noodzakelijk is om Oracle XML Publisher en de thermische printers te integreren via verschillende systemen. Het verbetert de efficiëntie van het proces om thermische labels te printen en zorgt voor kostenbesparing en verbeterde printsnelheid. “Oracle XML Publisher is de strategische rapportagesuite voor alle Oracle applicaties”, voegt Tingley toe. “De eerste uitdaging was om deze oplossing te integreren met Oracle Depot Repair. Dankzij de goede relatie tussen Zebra en Oracle hebben wij het label-printproces eenvoudiger gemaakt voor klanten.” Bron: LEWIS – Global Public Relations
“Voorheen konden thermische printers alleen communiceren met Oracle XML Publisher via open source drivers. Dit vertraagt het verwerken van de printopdracht en is nadelig voor de productiviteit”, zegt Jeff Tingley, global alliances director van Zebra Technologies. “Klanten kunnen nu maximaal profiteren van Oracle’s Publisher-oplossingen.” Oracle XML Publisher, onderdeel van de Oracle E-business Suite, is een op template-gebaseerde publishing-oplossing die gebruikers de mogelijkheid biedt om de lay-out van een rapport te bewerken met behulp van de bekende desktopinstrumenten of door gebruik te maken van reeds bestaande templates. Oracle XML Publisher stelt gebruikers in staat om de bestandsformaat van het rapport te kiezen en deze rechtstreeks te versturen naar een e-mailadres, printer, fax of WebDAV-server, ongeacht welk applicatie gebruikt wordt. De integratie van Oracle XML Publisher en Zebra printers maakt het voor klanten mogelijk om te printen vanuit alle Oracle applicatieproducten, zonder extra stappen
www.tenplus.nl
9
A R T I K E LC OGLAUMMI N G
MAARTEN SCHNEIDER
Hoe Groen
ben jij als Ontwikkelaar ? Vroeger was een groentje de term voor diegene die net kwam kijken. Studenten dienen ontgroend te worden, terwijl de rest van de bevolking juist groen bewust gemaakt moet worden. Een groene ontwikkelaar is iemand die rekening houdt met de omgeving waarin hij/zij werkt. Ofwel optimaal rekening houdt met de eindgebruiker die zijn/haar eindresultaat, de applicatie, uiteindelijk dient te gebruiken. Een optimale communicatie met die eindgebruiker is daarvoor noodzakelijk. En dan hebben we het nog niet eens over het benutten van die communicatie voor het komen tot een reëel verwachtingspatroon. Als we naar de 50% falende applicatie ontwikkelprojecten kijken dan zien we vaak dat de ontwikkelaar niet eens zijn/haar eindgebruiker heeft ontmoet, laat staan goed kent. Bij sommige bedrijven worden nog steeds applicaties gebouwd door ontwikkelaars die in een ander gebouw werken dan hun eindgebruikers. Niet te denken aan ontwikkelaars in een ander land. Hoe zou het bedieningsgemak van een auto of scheerapparaat er uit zien als die ontwikkeld worden door ontwerpers die niet zelf auto rijden of zich nooit zelf scheren? Je zou als applicatie ontwikkelaar moeten eisen dat je, voordat je een project begint, eerst een maand of meer in de huid van de eindgebruiker mag kruipen, zijn/haar werk mag doen. Zodat je precies weet wat die persoon dag in dag uit doet en verwacht van jouw werk. Als we ontwikkelaars ook verplichten om na oplevering minstens een maand met zijn/haar eigen applicaties te werken op de eindgebruikerafdeling dan ben ik er van overtuigd dat het bedieningsgemak met sprongen om hoog zal gaan. Alleen al het idee dat je 40 uur per week met je eigen applicatie moet werken zal er voor zorgen dat je het meer alert bent op elk bedieningsgemak detail, wat opeens geen detail meer is. Zo zou ook die eindgebruiker zich meer moeten
Een groene ontwikkelaar is iemand die rekening houdt met de omgeving waarin hij/zij werkt. Ofwel optimaal rekening houdt met de eindgebruiker die zijn/haar eindresultaat, de applicatie, uiteindelijk dient te gebruiken.
verdiepen in het vak IT en applicatie ontwikkeling in het bijzonder. Een maand kennis maken met de mogelijkheden en onmogelijkheden van de applicatieontwikkelaar zal zich ook dubbel en dwars terugbetalen. Waarom niet elke vrijdagmiddag IT update middag voor eindgebruikers. Als je een architect en/of aannemer in de hand neemt om je droomhuis te laten bouwen dan ga je je behoorlijk verdiepen in allerlei wensen die je gerealiseerd wilt hebben. Je gaat zelfs nadenken hoe je die wensen het beste kunt verwoorden naar de architect en welke prioriteit je aan elke wens geeft. Je vind het ook heel normaal om je te verdiepen in bijvoorbeeld de eigenschappen van bepaalde materialen, duurzaamheid, onderhoudbaarheid etc. Waarom vinden we dat niet nodig voor het ontwikkelen van een applicatie waar we jaren mee moeten werken en waarvan het bedieningsgemak dagelijks een grote stempel drukt op onze arbeidsvreugde? Als we ontwikkelaars een applicatie laten ontwikkelen in Java dan zijn ze zo bezig om die applicatie aan de praat te krijgen dat zij snel de eindgebruiker vergeten. De eindgebruiker vragen mee te denken in een Java ontwikkelomgeving is net zo iets als iemand te vragen om met een boom te praten. Het kan wel, maar verwacht niet dat de boom zijn gedrag veranderd. Er zijn ontwikkelomgevingen op de markt die voor ontwikkelaars alle technische details onder de motorkap houden, zodat zij zich meer kunnen concentreren op de wensen van hun eindgebruikers. De eindgebruiker kan meedoen met RAD projecten. De applicatie omgeving wordt gegenereerd uit een op hoog niveau vastgelegde specificatie. Dit is een grote stap voorwaarts richting een Groene Ontwikkelaar. Maarten Schneider
[email protected]
11 9
12
W E LOVE IT
De ce m b e r 2007
Oracle DATABASE 11g
Technologie voor snellere Innovatie De afgelopen 30 jaar is informatie-technologie volwassen geworden en is de wereldwijde economie vrijwel geheel afhankelijk geworden van het vermogen om informatie op elektronische wijze vast te leggen, te analyseren en te delen.
Bedrijven blijven hun informatieinfrastructuur uitbreiden om hiermee te voorzien in de groeiende behoefte om sneller over informatie te kunnen beschikken. Deze groeiende behoefte gecombineerd met de onvolwassenheid van technologie en processen, heeft geleid tot een hoge mate van complexiteit en inefficiëntie van de informatietechnologie (IT)-infrastructuur bij vrijwel alle bedrijven. Deze complexiteit belemmert bedrijven om zich snel aan nieuwe omstandigheden aan te passen, en dat terwijl ze op dit moment afhankelijker zijn van hun IT-infrastructuur dan ooit tevoren. Oracle Database 11g biedt innovatieve technologie die het zakelijk aanpassingsvermogen sterk verbetert Traditioneel resulteren veranderende bedrijfsbehoeften in hoge kosten. Ze kunnen nu een beroep doen op Oracle Database 11g voor innovatie die op gecontroleerde en kostenefficiënte
wijze een transformatie van hun ITomgevingen mogelijk maakt. Oracle Database 11g biedt een oplossing voor het centrale probleem dat IT-organisaties zo log maakt: het vermogen om in het volste vertrouwen wijzigingen te implementeren. Oracle Database 11g stelt bedrijven in staat om hun informatie infrastructuur te vereenvoudigen door hen de mogelijkheid te bieden om hun bedrijfsgegevens te consolideren. Door alle beheertaken te automatiseren, maakt Oracle Database 11g daarnaast waardevolle technische bronnen vrij voor taken met een hogere toegevoegde waarde, zoals het plannen en implementeren van nieuwe bedrijfsprocessen. Oracle Database 11g brengt een verandering teweeg in de eisen die toekomstgerichte bedrijven aan hun
databaseplatform zullen stellen. Dankzij Oracle Database 11g en enterprise grid computing, kunnen bedrijven nu innoveren.
Het grid doen groeien Grid computing, het aan elkaar koppelen van computers om ze samen te laten werken, is een technologie waarmee een einde gemaakt kan worden aan de hoge kosten die gepaard gaan met het implementeren en draaiende houden van zakelijke IT-infrastructuren. Enterprise grids die gebruik maken van Oracle Database 11g en goedkope servers en opslagfaciliteiten, bieden organisaties de mogelijkheid om hun infrastructuur te vereenvoudigen en zich sneller aan te passen aan nieuwe ontwikkelingen. In plaats van silo’s met kostbare servers te beheren, kunnen bedrijven overstappen op de enterprise grids van Oracle. Deze grids bieden
O R A C L E D ATA B A S E 1 1 G
De zakelijke grids van Oracle bestaan uit Oracle Fusion Middleware, waarmee toepassingen kunnen worden opgeschaald, Oracle Real Application Clusters (Oracle RAC), dat schaalbaarheid en een hoog beschikbaarheidsniveau biedt, en Automatic Storage Management (ASM), dat het beheer van de onderGrid computing, het aan elkaar koppelen van computers om ze samen te laten werken, is een technologie waarmee een einde gemaakt kan worden aan de hoge kosten die gepaard gaan met het implementeren en draaiende houden van zakelijke ITinfrastructuren.
liggende opslaginfrastructuur vereenvoudigt en automatiseert. Enterprise Manager Grid Control vereenvoudigt het beheer van zowel zakelijke grids als volledige bedrijfsprocessen, en garandeert daarmee snelle, veilige en betrouwbare informatievoorziening.
een efficiënt beheer van ongestructureerde gegevens mogelijk maken.
een infrastructuur met een unieke combinatie van hoge performance, beschikbaarheid en flexibiliteit tegen de laagst mogelijke kosten. Duizenden klanten overal ter wereld, van klein tot groot, en binnen elke branche, profiteren dagelijks van de goede performance, betrouwbaarheid en schaalbaarheid van de enterprise grid van Oracle. Oracle wil deze voordelen voor meer bedrijven beschikbaar te maken. Zo kan Oracle Database 11g de grootst mogelijke transactie- en gegevensvolumes aan, is het beheer van databases en grids verder vereenvoudigd en geautomatiseerd en worden de risico’s en kosten van een migratie naar een enterprise grid geminimaliseerd.
diepgaande analyses los te laten op gestructureerde informatie. Bedrijfsgegevens in alle soorten en maten moeten daarnaast worden geconsolideerd tot een centrale repository. Meer dan 80% van alle bedrijfsinformatie bestaat uit ongestructureerde gegevens, zoals losse spreadsheets en zakelijke documenten. Om de informatie-infrastructuur te vereenvoudigen en de beheerkosten voorbedrijfsgegevens aanzienlijk te verlagen, introduceert Oracle Database 11g een reeks van verbeteringen die
Naast het consolideren van informatie dienen ondernemingen hun bedrijfsprocessen verder te automatiseren. Oracle Database 11g biedt verbeteringen op het gebied van bedrijfsanalyse en data mining. Hiermee is het mogelijk enorme volumes van verzamelde gegevens om te zetten in bruikbare informatie die gebruikers in staat stelt om de concurrentie voor te blijven. Kort gezegd biedt Oracle Database 11g een centraal platform voor het consolideren van bedrijfsgegevens. Het biedt een centrale repository voor het beheren, beveiligen en het maken van back-ups van bedrijfsgegevens, en biedt gebruikers op verschillende manieren toegang tot deze informatie.
Inzicht in informatie Voor een goed inzicht in bedrijfsgegevens is het niet genoeg om >>
13
14
W E LOVE IT
De ce m b e r 2007
Oracle Database 11g Vervolg
Ondersteuning voor ongestructureerde gegevens Bedrijven zien zich voor de taak gesteld om allerlei soorten ongestructureerde gegevens te beheren. Verschillende ondernemingen zijn momenteel bezig om informatie zoals XML-, geospatiële en multimediagegevens te integreren om een beter inzicht te verwerven in hun bedrijfsvoering en processen. Oracle Database 11g voegt daar ondersteuning aan toe voor branchespecifieke gegevens typen, zoals DICOM voor de medische sector, RFID voor voorraadbeheerlogistiek, en driedimensionale ruimtelijke informatie voor de ingenieurssector en verschillende andere branches. Door het consolideren van alle mogelijke soorten gegevens stelt Oracle Database 11g bedrijven in staat om uiterst grote verzamelingen van zowel ongestructureerde als traditioneel gestructureerde gegevens te creëren, zodat het mogelijk wordt om daadwerkelijk een geïntegreerd informatieplatform te ontwikkelen.
Geïntegreerde zakelijke analysefunctionaliteit De behoefte aan beter inzicht in de bedrijfsinformatie, niet alleen vanuit historisch perspectief, maar ook wat betreft de huidige en toekomstige bedrijfsstatus, vraagt om een nieuwe en steeds dynamischer informatieinfrastructuur. Oracle heeft er daarom voor gekozen deze OLAP-, data mining- en statische functionaliteit diep binnen de database in te bedden. Deze integratie vermindert de noodzaak om gegevens naar afzonderlijke analytische engines te verplaatsen. Hierdoor wordt de complexiteit van het informatiesysteem gereduceerd en blijven bedrijfsgegevens beter beschermd. Daarnaast wordt organisaties de mogelijkheid geboden om hun operationele gegevens in real time te analyseren.
De meest interessante verbetering op het gebied van zakelijke analyse binnen Oracle Database 11g heeft betrekking op materialized views die rond kubussen zijn georganiseerd. Bedrijfsanalisten houden zich doorgaans bezig met het bevragen van meerdere dimensies. Met behulp van multidimensionale query’s kunnen analisten antwoorden vinden voor vragen met betrekking tot meetbare aspecten (zoals de omzet) binnen een reeks van dimensies (zoals een product, regio of datum). Een voorbeeld van een dergelijke query zou kunnen zijn: “Toon me de 5 belangrijkste omzetregio’s voor de verkoop van melk gedurende de maanden januari en februari van vorig jaar”.
zaken zoals compliance, fusies en de groeiende behoefte aan bedrijfsanalyse. Dit groeiende aantal gegevens levert ITorganisaties verschillende problemen op. Zo zorgt de vraag naar goede consistente query performance en beschikbaarheid, dat het beheer van een informatieinfrastructuur een stuk complexer is en wat bovendien leidt tot hogere kosten. De hogere informatievolumes vertalen zich automatisch in hogere vereisten op het gebied van opslagvoorzieningen, wat op zijn beurt weer leidt tot hogere kosten voor het beheer van de informatie-infrastructuur. Oracle Database 11g komt met een verbeterd compressiealgoritme dat de complete
"Information Lifecycle Management en de verbeterde compressietechnieken leveren een flinke kostenbesparing van de opslagkosten op. Met de enorme groei van de hoeveelheid informatie kunnen de kosten toch in de hand gehouden worden" Peter Vos, Business Development Manager bij Oracle
Met de rond kubussen georganiseerde materialized views van 11g kan een OLAP-kubus binnen de database worden gebruikt als materialized view achter een sterschema. Dit betekent dat alle bestaande data-basetoepassingen en -tools die multi-dimensional querying bieden (zoals Oracle EBS, Oracle BI EE, Cognos, Business Objects) nu op transparante wijze kunnen profiteren van de het gebruik van hoogwaardige OLAPkubussen. Met Oracle Database 11g is het nu mogelijk om een integrale informatie-infrastructuur te bouwen op basis van een centraal model voor de beschikbaarheid, beveiliging en het beheer van bedrijfsgegevens waarmee de kosten van het draaiend houden van die infrastructuur kunnen worden gereduceerd.
Managen van informatiegroei Doordat de wereldwijde economie steeds afhankelijker wordt van informatie is de vraag naar bedrijfsinformatie ook enorm toegenomen. Dit resulteert in een toename van de hoeveelheid gegevens die moeten worden beheerd. Deze groei wordt verder versterkt door
prestatie van het compressieproces verbetert. Het is in staat om dit compressieniveau in stand te houden voor alle typen workloads, inclusief die voor online transaction processing (OLTP). Dankzij de geavanceerde tabelcompressie van Oracle kunnen bedrijven in de regel volstaan met drie keer minder opslagcapaciteit dan nodig is voor ongecomprimeerde gegevens. En wat minstens zo belangrijk is: de verbeterde perfomance die door de efficiëntere fysieke invoer/uitvoer wordt geboden, leidt tot een forse verbetering van de prestatie van het applicatie-queries.
Information Lifecycle Management Information Lifecycle Management (ILM) is een methodiek die zorgt voor aanzienlijke kostenbesparingen met betrekking tot de opslagvoorzieningen die nodig zijn om een Oracle-database te ondersteunen, en tegelijkertijd de kwaliteit van de informatievoorziening waarborgt. De traditionele aanpak was om alle databasegegevens onder te brengen binnen één opslaglaag met hoge performance. In het geval van
O R A C L E D ATA B A S E 1 1 G
Traditioneel worden er twee verschillende methoden gebruikt voor multidimensionale queries. Er zijn SQL-query´s voor sterschema´s binnen relationele databases, en er zijn OLAP-query´s voor kubussen binnen OLAP-servers zoals Oracle Database 11g en Hyperion Essbase. Het voordeel van de SQL-methode is dat er grote aantallen ontwikkelaars en tools voorhanden zijn die weten hoe ze branchestandaard SQL moeten genereren en gebruiken. Het voordeel van OLAP is dat een SQLontwikkelaar waarschijnlijk honderden materialized views zou moeten creëren om het prestatieniveau van één OLAPkubus te benaderen. Oracle Database 11g komt met baanbrekende technologie die deze twee technologieën samenbrengt om het beste uit beide werelden te bieden.
ILM worden databasegegevens echter binnen verschillende opslaglagen ondergebracht. Naarmate gegevens verouderen en minder vaak worden opgevraagd, worden ze opgeslagen op een lager niveau met goedkopere opslagvoorzieningen. Op basis van deze methodiek kunnen opslagkosten van een miljoen dollar worden gereduceerd tot een niveau van slechts 175.000 dollar. En door Oracle Advanced Compression te implementeren, kunnen bedrijven deze kosten nog eens met tweederde reduceren, waardoor de kosten in dit geval onder de 60.000 dollar zouden komen te liggen. Dit betekent een totale kostenbesparing van 94%, terwijl de kwaliteit van de informatievoorziening blijft behouden.
De hoogste kwaliteit tegen de laagste kosten Naar schatting houdt minimaal 80% van de total cost of ownership (TCO) verband met beheeractiviteiten die ten doel hebben om de informatie-infrastructuur draaiende te houden. De enterprise grid-visie van Oracle heeft altijd in het teken gestaan van het realiseren van
aanzienlijke kostenbesparingen wat betreft dit bedrijfskritische aspect. Het vermogen van grid-infrastructuren om zich aan te passen aan de actuele behoeften en een einde te maken aan het gebuik van kostbare en onderbenutte hardware, stelt bedrijven in staat om zonder extra kosten informatievoorziening van een hoogwaardig niveau te bieden.
Performance Oracle Database 11g biedt tal van doorbraken op het gebied van prestatieverbetering. - N ieuwe server-side en client-side caching-functionaliteit zorgt voor minimaal 25% performanceverbetering van veelvuldig gebruikte statements - N ieuwe native compilers voor PL/ SQL en Java maken drastische prestatieverbeteringen mogelijk. In het geval van PL/SQL is een twee keer hogere performance mogelijk, terwijl in het geval van Java zelfs 11 keer sneller. - Voor bepaalde typen workloads is de performance van Oracle Real
Application Clusters (Oracle RAC) ten opzichte van de vorige versie met 70% verbeterd. - Oracle Automatic Database Diagnostic Monitor (ADDM) biedt verbeterde automatische diagnose van performanceproblemen binnen Oracle RAComgevingen.
Beveiliging en compliance Meer dan een decennium lang is Oracle de grootste innovator op het gebied van informatiebeveiliging. Naast verbeteringen van de beveiligingsfunctionaliteit binnen de belangrijkste versies van zijn databases biedt Oracle belangrijke nieuwe beveiligingsfunctionaliteit in de vorm van de volgende geïntegreerde producten en opties: - Oracle Secure Backup biedt de mogelijkheid om gegevens uit de Oracledatabase en het Oracle-bestandssysteem in een versleuteld en gecomprimeerd formaat op te slaan op tape. - Oracle Database Vault komt tegemoet aan veel voorkomende behoeften op het gebied van compliance en reduceert het risico van opzettelijke of onbedoelde interne bedreigingen door >
15
O
‘Wij helpen u graag verder met ons aanbod ICT-opleidingen’ Wendel Janssen
TenPlus Intermediair in ICT-Opleidingen www.tenplus.nl
O R A C L E D ATA B A S E 1 1 G
Oracle Database 11g Vervolg
een scheiding van taken af te dwingen en toegangscontrole op basis van verschillende factoren te bieden. - Oracle Audit Vault automatiseert de verzameling van databasebeveiligings- en audit trails. Dit levert een centrale data warehouse van auditgegevens op, die het mogelijk maakt om toezicht te houden op de naleving van het interne beveilingsbeleid. - Oracle Database 11g zorgt voor een verbetering van de brancheleidende transparante gegevensencryptie van Oracle in de vorm van een nieuwe functie die het mogelijk maakt om gegevens op tablespace-niveau te versleutelen. Dit vermindert de werklast van informatiebeheerders, zodat er geen bedrijfsgevoelige gegevens onbeveiligd op schijf achterblijven.
Het vermogen om verandering te beheren. Verandering vormt misschien wel het grootste obstakel voor het bereiken van zakelijke flexibiliteit. Om deze reden biedt Oracle Database 11g verschillende nieuwe functies die tegemoetkomen aan de behoefte van bedrijven om verandering mogelijk te maken zonder daarvoor de operationele stabiliteit op het spel te hoeven zetten. Het vermogen om wijzigingen van de infrastructuur (zoals het vervangen van hardware, het opwaarderen van software en het installeren van patches) vooraf te testen vormt de hoeksteen van wijzigingsbeheer. De zekerheid die wordt geboden door de mogelijkheid om het effect van wijzigingen te testen voordat deze op een productieomgeving worden losgelaten, is van onschatbare waarde. Veel bedrijven maken gebruik van simulatiesoftware om het effect van wijzigingen te testen. Toch blijven veel problemen onopgemerkt, omdat de bestaande tools simpelweg niet in staat zijn om rigoureuze stresstests uit te voeren op basis van workloads op productieniveau.
Oracle Database 11g introduceert Real Application Testing, dat twee primaire functies biedt. De eerste functie is Database Replay. Deze functie legt de werkelijke workload binnen de productiedatabase vast, inclusief het exacte tijdstip, het gelijktijdig optreden en de eigenschappen van transacties. Deze transacties kunnen opnieuw worden afgespeeld binnen een testomgeving nadat men de beoogde wijzigingen heeft doorgevoerd. Database Replay is in staat om elk verschil te analyseren en te rapporteren, inclusief prestatieverbeteringen of –terugval, gegevensdiscrepanties en uiteraard fouten. In tegenstelling tot traditionele testsoftware maakt Real Application Testing een einde aan de noodzaak om gesimuleerde workloads of simulatiescripts te ontwikkelen. Dit zorgt voor een reductie van de testinspanning en biedt een veel grotere mate van zekerheid. De tweede primaire functie van Real Application Testing is SQL Performance Analyzer. Deze functie legt de workload van de productie-SQL-database vast, inclusief de planning- en uitvoeringsstatistieken, en biedt de mogelijkheid om deze workload opnieuw af te spellen binnen de gewijzigde testomgeving.
Conclusie De afgelopen 30 jaar is Oracle verantwoordelijk geweest voor vrijwel elke belangrijke vernieuwing op het gebied van database- en informatiebeheer. De innovatieve oplossingen zijn niet
voudigen, dat wil zeggen het consolideren en rationaliseren van de informatie-infrastructuur, levert niet automatisch een flexibeler infrastructuur op. Het informatieplatform dient voldoende functionaliteit te bieden om de innovatiecurve van de organisatie voor te blijven, ook wanneer deze curve een versnelling inzet. Bij de ontwikkeling van oplossingen wordt altijd gezocht naar manieren om de grootste problemen van organisaties op het gebied van eigendomskosten aante pakken en op te lossen. Daarbij zorgen we ervoor dat de informatieinfrastructuur stabiel blijft, maar wel wordt aangepast aan verbeterde technologieën, economische veranderingen en om het even welke factor die op de bedrijfsvoering van invloed is. De innovatieve oplossingen van Oracle hebben gezorgd voor een fundamentele kostenreductie voor zakelijke hardware-infrastructuren door zelfs op de meest voordelige servers dynamische schaalbaarheid te bieden, de volledige capaciteit van alle activa te gebruiken en daar nog eens nieuwe en unieke mogelijkheden aan toe te voegen. Op deze manier zorgen we voor een voortdurende verandering van wat bedrijven van hun databasesoftware verwachten. De innovatieve functies van Oracle Database 11g op het gebied van informatieconsolidatie, prestatie, schaalbaarheid, informatievoorziening en
“Real Application Testing maakt het voor onze klanten stukken eenvoudiger om te upgraden naar 11g. Een van de grootste pijnpunten bij zo'n upgrade is meestal de onzekerheid rondom sizing, performance e.d. van het nieuwe systeem. Door met Real Application Testing een soort opname te maken van een draaiend systeem (met bijvoorbeeld 10g) en deze real life af te spelen op een nieuwe, 11g configuratie, wordt de totale tijd voor upgrades geminimaliseerd” Sandor Nieuwenhuijs, Senior Manager Sales Consulting bij Oracle
louter bestemd voor grote ondernemingen, maar voor elke organisatie die zich opmaakt voor groei en transformatie. Eenvoud en flexibiliteit kunnen worden gepland. Het vereen-
niet te vergeten wijzigingsbeheer geven blijk van het niet aflatende streven van Oracle om de meest flexibel en voordelig mogelijke informatie-infrastructuur te bieden.
17
PRAKTIJKCASE: SPRING FRAMEWORK BIJ ILSE MEDIA
”Spring is een manifestatie van een bredere beweging”. Het Spring Framework is het meest succesvolle product in wat algemeen ‘agile JEE’ genoemd wordt.
V.l.n.r.: Jochem Prins, Nils Rooijmans, Dennis de Boer & Leonard Wolters.
J Te a m B. V.
Het Spring Framework in de praktijk bij Ilse Media Afgelopen zomer is het nieuwste boek van Bram Smeets uitgegeven, getiteld “Building Spring 2 Enterprise Applications” (Apress, 2007). Dit boek is opnieuw een bevestiging dat lightweight Java development een volwassen en geaccepteerde methodiek is geworden in de markt. Het boek richt zich vooral op professionele Java ontwikkelaars voor wie de wereld van Enterprise Java relatief nieuw is. >>
19
20
WE LOVE IT
Dece m b e r 2007
Het Spring Framework is in 2001 door Rod Johnson initieel gecreëerd ter vereenvoudiging van product ontwikkeling in de Londense bankwereld. Johnson, voorstander van agile software development, ergerde zich aan de complexiteit die traditionele J2EE ontwikkeling met zich mee bracht en de kosten die hiermee gepaard gaan. Dit kon en moest simpeler. Met de komst van het Spring Framework als Open Source applicatie platform kon het Enterprise Java Beans (EJB) model alsmede de JavaServlet API worden vervangen, waardoor de ontwikkeling van bedrijfskritische Java applicaties aanzienlijk eenvoudiger is geworden doordat men zich uitsluitend kan richten op het realiseren van de bedrijfslogica, en niet op de bijkomende, veelal repeterende, plumbing code. In de woorden van Johnson: ”Spring is een manifestatie van een bredere beweging”. Het Spring Framework is het meest succesvolle product in wat algemeen ‘agile JEE’ genoemd wordt.
Spring met een Hollands tintje 2001 was het jaar waarin Alef Arendsen, Nederlandse ICT ondernemer en software architect met wereldwijde reputatie, zocht naar een nieuwe uitdaging. Samen met een vriend richtte hij JTeam op, een software bedrijf dat gespecialiseerd is in het leveren van maatwerkoplossingen gebaseerd op JEE. Gezien het feit dat JTeam ook grote voorstander is van het Agile principe, duurde het niet lang totdat wij in aanraking kwamen met het Spring Framework. Nadat wij als eerste Nederlands bedrijf al enkele projecten hadden gerealiseerd met dit framework en de grote toegevoegde waarde hiervan zagen, besloten wij al snel dit product verder te omarmen door actief mee te werken aan doorontwikkeling. Ongeveer een half jaar later richtten wij samen met enkele andere internationale Java
guru’s, inclusief Rod Johnson, Interface21 op, het multinationale bedrijf dat commerciële support levert op het Spring Framework. Tegenwoordig wordt JTeam geleid door Algemeen Directeur Leonard Wolters en Technisch Directeur Bram Smeets. Met klanten als Het Concertgebouw, Tiscali, Zenggi, TU Delft, Westbury en i-Local is JTeam succesvol in diverse branches zoals ICT, Telecom, Cultuur en Onderwijs, maar JTeam heeft haar wortels vooral in Nieuwe Media. Een van JTeam’s klanten van het eerste uur is Ilse Media. Dit artikel beschrijft in detail hoe JTeam agile software ontwikkeling met het Spring Framework heeft toegepast bij een aantal projecten van Ilse Media.
Voorbereidingen tot groei bij Ilse Toen Nils Rooijmans in 2001 startte als Product Manager bij Ilse.nl (hij is inmiddels gepromoveerd tot Head of
Research), was hij al tot de volgende belangrijke conclusie gekomen: “succes in de online mediawereld wordt bepaald door snelle (re)actie tegen de
laagst mogelijke kosten. In de steeds veranderende wereld van online media, draait het bij Ilse’s bedrijfsplan om het spotten, overnemen en uitbreiden van opbrengst genererende online platforms. Door een scala aan sites aan te bieden die gericht zijn op specifieke gebruikers, (bijv. schoolbank.nl, nu.nl, autoweek.nl, newrulez.nl) creëert Ilse een kant-en-klaar ‘high traffic’ publiek dat zeer aantrekkelijk is voor specifieke adverteerders. Deze adverteerders betalen Ilse om hun campagnes te uit te zetten op de platforms”. Naast het creëren van verticale platforms heeft Ilse ook ingenieuze applicaties laten ontwikkelen voor de planning, uitvoering en facturering van verkoopcampagnes. Collega Jochem Prins, Technical Project Lead bij Ilse.nl springt hem bij: “Wij willen het Nederlandse web zo compleet mogelijk indexeren en verticale zoekdiensten aan de consument bieden. Dat daarbij een individuele zoekdienst niet winstgevend is maakt voor ons niet zoveel uit. Wij streven ernaar om de aggregatie van onze zoekdiensten echt als een complete service aan de Nederlandse consument aan te bieden.” Rooijmans: “Om een dergelijk pakket van merknamen te laten uitgroeien tot zijn volle potentie, werd het mij snel
PRAKTIJKCASE: SPRING FRAMEWORK BIJ ILSE MEDIA
duidelijk dat het gebaseerd moest op een technologie die zowel in snelheid als in lage kosten kon voorzien, terwijl het robuust genoeg moest zijn om het groeiende aantal transacties – waarvan ik zeker was dat Ilse deze op korte termijn zou genereren - aan te kunnen. Ilse, als innovatief bedrijf pur sang, wilde een implementatiepartner die een flexibele maar betrouwbare oplossing kon bouwen, en ons een innovatieve technologie kon leveren met lage onderhoudskosten”. Rooijmans: “Ilse deed wel een paar dingetjes met PHP en had een interne webserver opgezet maar dit was verre van toereikend voor wat er gedaan moest worden. Ik was al overtuigd van de voordelen van Open Source en JEE als de meest solide basis voor bedrijfkritische applicaties. De belangrijkste uitdaging was nu om een echt betrouwbare, professionele partij te vinden die tegelijkertijd flexibel kon zijn ten aanzien van Ilse’s behoeften en budget. Bij JTeam werd niet alleen de urgentie direct begrepen, maar ook het belang van een ontwerp dat ruimte laat voor groei en een praktische uitvoering in fasen.” Wolters herinnert zich de eerste afspraak met Ilse: ”Er was een berg aan vereisten, een enorme hoeveelheid databronnen en de dringende behoefte om alles snel te realiseren. Maar wat vooral opviel was het patroon dat bij veel sites van Ilse voorkwam. Elke SERP (Search Engine Results Page) is gebaseerd op hetzelfde principe, met dezelfde vereisten voor data-integratie en functionaliteit, maar met telkens een andere inhoud. Wat we dus moesten bouwen voor Ilse was een ‘template engine’, met gemeenschappelijke functionaliteit en naadloze integratie met de verschillende databronnen. Met deze engine moest het vervolgens mogelijk zijn om eenvoudig en binnen afzienbare tijd een geheel nieuwe zoekportaal te creëren en te configureren.”
JTeam’s flexibele aanpak snijdt hout JTeam heeft daarom voor Ilse een modulair platform ontwikkeld dat steeds opnieuw te gebruiken is, het zogenaamde ‘XML syndication
platform’. Voor JTeam, waarvan het kernteam al meer dan acht jaar actief is in de wereld van Enterprise Java software ontwikkeling, lag de oplossing ter realisatie van deze componenten voor de hand. Als voorstander van light weight Java gelooft JTeam sterk in het "keep it simple" principe. Maar net zo belangrijk hierbij is het om technologie in de juiste mate toe te passen. ‘Simplicity’, ‘light weight’ en ‘Open Source’ zijn dan ook concepten die JTeam graag toepast op verschillende niveaus. Dit uit zich in een verhoging van de productiviteit en een kostenbesparing. Tevens helpt onze pragmatische YAGNI benadering (You Ain’t Gonna Need It) ten aanzien van gebruikerseisen, door de klant te stimuleren om te kiezen voor
gebruik van JEE de ontwikkelaar in een foutief ontwikkelmodel. Een framework als Spring biedt de ontwikkelaar een abstractie die veel verder gaat dan JEE en biedt daarnaast nog een grote verzameling best practices en zeer veel integratie met bestaande enterprise oplossingen. Daarmee vult het Spring Framework de ontbrekende stukjes van de puzzel in, en biedt het dus de juiste mix van vrijheid en beperking tijdens software ontwikkeling.
De belangrijkste waarden van Spring op een rij: •G een exclusiviteit; applicaties die geschreven zijn met Spring kunnen ook zonder Spring gebruikt worden. Tenzij er gebruik wordt gemaakt van
"Succes in de online mediawereld wordt bepaald door snelle (re)actie tegen de laagst mogelijke kosten. In de steeds veranderende wereld van online media, draait het bij Ilse’s bedrijfsplan om het spotten, overnemen en uitbreiden van opbrengst genererende online platforms." Nils Rooijmans, Head of Research bij Ilse
functionaliteit die voor het bedrijf goed te verantwoorden is en het meeste bijdraagt aan het eindresultaat. Om de Ilse XML syndication engine te bouwen, die de basis vormt voor alle SERP toepassingen, heeft JTeam de volgende 100% Open Source technologieën gebruikt: • Frontend: JSP 1.x & 2.x, Velocity, Webframework (eigen framework) • Middleware: Spring 1.2, iBatis, J2EE 1.5, piccolo • Application Servers: Resin 3.x, MySQL 4.1.x, Apache 2.x, Linux, JRockit JVM
Spring biedt de juiste mix van vrijheid en beperking tijdens de ontwikkeling “Het gebruik van JEE out of the box is geen aanlokkelijke optie” aldus Johnson, een uitspraak waarmee JTeam architecten het grotendeels mee eens zijn. Ondanks het feit dat JEE een goede abstractie biedt op een aantal low-level infrastructuren en API’s, forceert het
bruikbare abstracties die door Spring aangeboden worden, zoals de JdbcTemplate, heeft de code geen afhankelijkheid op de Spring codebase. Naast het voorkomen van een afhankelijkheid op één framework of leverancier, zorgt deze loskoppeling ook voor een eenvoudige en risicoloze migratie. Ten slotte heeft Spring een goede reputatie op het gebied van achteren voorwaartse compatibiliteit, waardoor men zonder problemen kan up- of downgraden tussen versies. • Consistent programmeermodel; Spring promoot het gebruik van interfaces en POJO’s (Plain Old Java Object). Hierdoor vervalt in de meeste gevallen de noodzaak voor dure en relatief zware applicatie servers. Uiteraard kan er afhankelijk van de projecteigenschappen gekozen worden voor het gebruik van een applicatie server, maar het is niet langer een vereiste voor het
21
22
WE LOVE IT
Dece m b e r 2007
schrijven van enterprise applicaties. Ook de interne opbouw van de Spring code en API’s is consistent wat erin resulteert dat kennis en begrip van een onderdeel van het Spring Framework automatisch leidt tot een voorsprong bij het leren en begrijpen van een ander deel. • Minder infrastructurele code; denk hierbij aan deployment descriptors, iets waar het JEE programmeermodel juist veel nadruk op legt. Spring laat de ontwikkelaar zich focussen op het realiseren van bedrijfslogica, terwijl Spring zich ontfermt over de zogenaamde ‘plumbing code’. Dit is de code die eigenlijk geen toegevoegde waarde heeft, maar toch iedere keer geschreven dient te worden. •A Architecturale rchitecturale keuze; doordat Spring op verschillende lagen abstracties aanbrengt en het gebruik van interfaces promoot is het eenvoudiger om op een later tijdstip gedurende een project te switchen van implementatie. Dit geldt niet alleen voor eigen implementaties, maar ook voor bijvoorbeeld het gebruik van een JDBC implementatie naar implementatie met behulp van een Object Relational Mapping (ORM) oplossing. Zoals al gezegd is dus
Spring is in essentie een grote verzameling van modules die de eerder beschreven waarden in acht nemen en zich daarbij richten op het vereenvoudigen van minstens één deelaspect van software ontwikkeling. Er zijn momenteel vele boeken op de markt die een goed overzicht geven van de Spring modules die er zijn, waaronder de klassieker “Professional Java development with the Spring Framework” (Wrox, 2005), mede geschreven door Arendsen. Een module van het Spring Framework die speciale aandacht vergt is de Inversion of Control (IoC) container. IoC, ook wel Dependency Injection genoemd hoewel die term niet volledig de lading dekt, is verreweg de meest bekende feature van Spring. De IoC container regelt automatisch de afhankelijkheden van een stuk broncode. De ontwikkelaar definieert slechts de afhankelijkheden en de IoC container injecteert deze automatisch tijdens de levensduur van de applicatie. Hiermee vervalt de expliciete relatie tussen de broncode en haar omgeving, wat ertoe leidt dat de omgeving onafhankelijk gewijzigd kan worden wanneer dit nodig mocht blijken. Let wel, de Spring ‘container’ is niet te vergelijken met een EJB container in termen van zwaarte; de Spring container is een lichtgewicht container, die zelfs als onderdeel van een test
"Alle SERP’s, zoals ilsesearch en nusearch zijn een combinatie van het Spring MVC model, gekoppeld aan het webframework (XML-Syndication)" Dennis de Boer, Projectmanager bij JTeam
ook de keuze voor het wel of niet inzetten van een applicatie server uit te stellen tot een latere fase van het project, wanneer de eisen voor het platform wellicht beter bekend zijn. • Testbaarheid; door het gebruik van interfaces en POJO’s is het eenvoudig om code te testen. Afhankelijkheden van de te testen code kunnen eenvoudig vervangen worden door zogenaamde mock implementaties.
gedraaid kan worden. Andere belangrijke modules die onderdeel uitmaken van het Spring Framework zijn: • Aspect Oriented Programming (AOP) framework. Spring biedt een eigen AOP framework naast integratie met het defacto AspectJ. • Data access abstracties. Naast een zeer goede abstractie over JDBC biedt Spring integratie met de meest voorkomende ORM op-
lossingen zoals Hibernate, iBatis en verscheidene JPA implementaties aan. • Transactie management. Door het gebruik van Spring kan er eenvoudig en declaratief een volledig transactioneel systeem geconfigureerd worden, zonder dat daarvoor een applicatie server benodigd is. • Remoting. Daarnaast biedt Spring een eenvoudig te gebruiken module om remoting te implementeren als onderdeel van een systeem. Hierbij worden verschillende protocollen ondersteund met ieder hun eigen voor- en nadelen. Het wisselen tussen deze protocollen is slechts een kwestie van configuratie aanpassen, terwijl de applicatie code geen enkele wijziging vereist. • Spring MVC. Dit is een web framework dat gestoeld is op het principe van Model-View-Controller (MVC). Spring MVC is ontstaan als aanvulling en verbetering van de toenmalige defacto web framework, Struts genaamd. Dennis de Boer, projectmanager bij JTeam voor Ilse Media, legt uit welke Spring componenten het belangrijkst waren bij de totstandkoming van het Ilse Media framework: “Alle SERP’s, zoals ilsesearch en nusearch zijn een combinatie van het Spring MVC model, gekoppeld aan het webframework (XML-Syndication). De bezoekers van een SERP vuren zoekopdrachten af welke door het webframework en het XML syndicatie platform vervolgens worden afgehandeld. Het XML syndicatie platform is verantwoordelijk voor het ophalen en integreren van gegevens van verschillende externe data services (zoals De Telefoongids, iLocal, en de eigen zoekmachine van Ilse Media). Al deze verschillende data bronnen worden daarna door het platform geünificeerd, klaargemaakt en aangeboden aan de SERP in de vorm van XML, zodat deze de opgehaalde data kan gebruiken om aan de gebruiker te tonen. Tot op heden zijn er al zeven SERPs op deze manier gerealiseerd.”
PRAKTIJKCASE: SPRING FRAMEWORK BIJ ILSE MEDIA
Dependency Injection zorgt voor testgemak en productiviteit
Voordelen winnen het van een enkel nadeel
Zowel de SERP als het XML syndicatie platform zijn volledig met behulp van Spring ontwikkeld. Ongeveer tien content providers zijn momenteel ontsloten met behulp van de verschillende SERPs. Het voordeel dat Spring ons geeft is dat we deze content providers als een soort module in XML kunnen configureren. Het aansluiten van een nieuwe content provider is niets meer dan het configureren van deze provider in XML. Door Inversion of Control (dependency injection) kunnen we heel makkelijk switchen in implementatie van een content provider door alleen de XML configuratie aan te passen. Dit resulteert in een enorme productiviteits boost bij de ontwikkelaars. Het aansluiten van een hele nieuwe content provider kan daarom ook in veel minder tijd dan in een implementatie zonder Spring.
Zijn er dan wel nadelen van het lightweight Java platform zoals in gebruik bij Ilse? “Jawel”, zegt Prins. “Vooral de
De introductie van het Dependency Injection model zorgt voor meer ‘loosely coupled’ objecten wat de code makkelijker maakt om te testen, gezien het feit dat de objecten minder afhankelijkheden hebben. De mogelijkheid om de code beter en eenvoudiger te testen, komt de stabiliteit en correctheid van de code van de SERPs alleen maar ten goede. Door de eenvoudige configuratie in XML die Spring ons biedt is het voor ons eenvoudig om te switchen tussen verschillende implementaties. De SERPs maken nu allemaal gebruik van de Java Server Pages (JSP) technologie om de informatie te presenteren, maar Spring ondersteunt ook andere view technologieën zoals bv. Velocity en Freemarker. Slechts één regel XML zorgt voor een complete verandering in de gebruikte techniek om de presentatie aan de gebruiker te veranderen. Daarnaast biedt Spring ons een aantal handige abstractie classes die het werk voor ons makkelijker maken. Voornamelijk een connectie maken met de database wordt door het gebruik van de JdbcTemplate van Spring vele malen eenvoudiger, doordat onder andere foutafhandeling (exception handling) door Spring wordt afgehandeld.
is een dermate stabiele factor in de Ilse SERPs, dat deze verticale platforms al meer dan 5 jaar zonder problemen draaien. Rooijmans van Ilse Media onderstreept dit:
"Er was een berg aan vereisten, een enorme hoeveelheid databronnen en de dringende behoefte om alles snel te realiseren. Maar wat vooral opviel was het patroon dat bij veel sites van Ilse voorkwam." Leonard Wolters, Algemeen Directeur bij JTeam
kleine aanpassingen hebben een relatief lange doorlooptijd, omdat je bij elke verandering ook een nieuwe WAR file moet maken. Maar gezien de voordelen waaronder de robuustheid die de architectuur met zich mee brengt en de stabiliteit die wordt bereikt ondanks het kleine aantal servers, is dit niet zo’n probleem. Omdat JTeam er op staat dat er zorgvuldig wordt gewerkt volgens goede ontwikkelstraat principes, zie je relatief weinig bugs terug in een nieuwe versie. Dat compenseert weer voor de doorlooptijd van kleine aanpassingen”. “Ook loopt communicatie met JTeam heel soepel. Naast het feit dat het een prettige samenwerking is met de teamleden, gaat alle communicatie over de status van het project via JTeam’s issue management system Jira, waartoe wij ook toegang hebben. In Jira kun je een functionele wens vanaf ontwerp tot testfase volgen, en dat zorgt voor een enorm efficiënte communicatie, die anders een tijdrovende taak zou worden in zo’n jarenlang project.”
“De software architectuur biedt stabiliteit en functionaliteit, met als bijkomend voordeel dat nieuwe developers er ook snel mee aan de slag kunnen. Zodra Ilse besluit om een nieuw portal te beginnen, kan een van onze developers het compleet geconfigureerd hebben in slechts een paar uurtjes.” “Dit is het soort efficiency waaraan je kunt zien dat bepaalde technische beslissingen zichzelf echt terugbetalen” voegt Prins daar aan toe: “performance en schaalbaarheid van deze oplossingdaar zijn wij echt heel tevreden over. Als je ziet wat er allemaal op 3 servers draait, terwijl soortgelijke bedrijven tientallen, zo niet honderden servers in gebruik hebben, dan is deze technologie echt een goede keuze geweest, niet alleen in eerste instantie maar ook voor de komende jaren.” Zowel de Ilse case-study als data waarop JTeam’s gratis, maandelijks “tech. talk” sessies plaatsvinden zijn te vinden op www.jteam.nl
De cijfers spreken voor zich zelf
Leeslijst:
Deze implementatie heeft zich over de afgelopen jaren bewezen. Gemiddeld halen alle SERPs enkele miljoenen zoekopdrachten per dag. Ter verduidelijking, een zoekopdracht is niet hetzelfde als een pageview, maar is de gehele afhandeling van een zoekopdracht tot het presenteren van alle relaterende informatie. De combinatie van Enterprise Java en Spring zorgt voor een uitstekende performance op dit gebied en zorgt ervoor dat we slechts 3 servers nodig hebben om al deze opdrachten voor alle SERPs te verwerken. Spring
Building Spring 2 Enterprise Applications by Interface 21, by Seth Ladd and Bram Smeets Better, Faster, lighter Java, by Tate &Gehtland Expert one-on-one J2EE Development without EJB by Johnson and Hoeller Professional Java Development with the Spring Framework by Johnson, Hoeller, Arendsen, Risberg and Samplaneau. Open Source for the Enterprise by Woods and Guliani
23
24
W E LOVE IT
De ce m b e r 2007
BONAVODA/IT-EYE
SOA is hot! Het aantal evenementen, nieuwsberichten, cursussen en bedrijven dat oplossingen hierover aanbiedt lijkt wel met de maand te groeien. En het lijkt niet de zoveelste hype te zijn. “SOA is here to stay” lazen we al in een vorig nummer van dit magazine. Maar wat moet je er mee als traditionele Oracle ontwikkelaar of als IT manager van een afdeling met een aantal klassieke Oracle applicaties in beheer? Mis je de boot als je niet snel de nieuwe SOA verworvenheden en technieken gaat toepassen? Misschien is dat in sommige gevallen zo, maar aan de andere kant wil je ook niet overhaast meedoen met deze nieuwe trend met alle risico’s van dien. Dit artikel beschrijft een middenweg hierin, namelijk het toepassen van de SOA verworvenheden met bestaande middelen.
Toepassen van de SOA verworvenheden met bestaande middelen In december 2005 kreeg de ITafdeling van het CAK-BZ te horen dat er binnen een jaar tijd een volledig nieuwe applicatie ontwikkeld moest worden om een extra wettelijke taak te ondersteunen. De overheid had besloten dat de administratie en facturatie van het AWBZ onderdeel ZmV (Zorg met Verblijf) gecentraliseerd moest worden. Concreet betekende dit dat het CAK-BZ per 01 april 2007 in mandaat verantwoordelijk werd voor de correcte afhandeling van de eigen bijdrage die iedere Nederlander moet betalen voor een verblijf in een AWBZ-instelling (een verpleegtehuis, psychiatrische instelling, etc.). De uitvoering van een overheidstaak is vaak aan verandering onderhevig, dus flexibiliteit was zeker een ontwerpeis voor de nieuwe applicatie. Tevens moest in de architectuur rekening gehouden worden met het feit dat er gemakkelijk
nieuwe modules af of bij zouden moeten kunnen. Allemaal argumenten om te kiezen voor een SOA aanpak waarbij ‘services’ worden ontwikkeld die geen onderlinge afhankelijkheid hebben en daardoor voor optimale flexibiliteit zorgen. Na onderzoek werd echter besloten om de applicatie te bouwen met de bestaande ontwikkelstraat: Designer/Developer 10g en een Oracle Database 9i. Dit werd gedaan om de volgende redenen : •D e tools die horen bij een SOA aanpak zijn redelijk nieuw en zorgen daarmee voor een extra risico qua bugs, onvolkomenheden, etc. •H et ontwikkelteam zou in zeer korte tijd moeten worden omgeschoold naar de nieuwe technologie en denkwijze. Je wilt graag leren als IT-afdeling, maar niet door de beginnersfouten die je hebt gemaakt bij de bouw van een
cruciale applicatie. •D e deadline was spijkerhard. Risico’s waren er al genoeg, dus je probeert alles te vermijden wat het slagen in gevaar kan brengen. Dan maar de applicatie bouwen op de traditionele manier: een groot geheel met gedecomponeerde functies die onderling naar elkaar verwijzen en direct door middel van code zijn geïntegreerd? Nee, het bleek namelijk mogelijk om ook in een bestaande omgeving met bewezen technologie een aantal ontwerpprincipes toe te passen uit het SOA gedachtegoed. Om deze doelstellingen te bereiken zijn binnen dit project twee van die principes toegepast : 1. H et ontwikkelen in gegevensdomeinen 2. H et toepassen van een message broker c.q. message bus. Hieronder eerst een uitleg van de
PRAKTIJKCASE: SERVICE ORIENTED ARCHITECTURE
Het CAK-BZ is de afkorting van Centraal Administratie Kantoor Bijzondere Zorgkosten (CAK-BZ). Het CAK-BZ heeft een taak in de administratie en registratie van de eigen bijdrage AWBZ, en in de financiering van AWBZ- instellingen. Daarnaast heeft het CAK-BZ sinds 1 januari 2007 een rol binnen de eigen bijdrageregeling Wet maatschappelijke ondersteuning. Het CAK-BZ is gevestigd in Den Haag. De organisatie is in 1968 begonnen met vijf medewerkers en is inmiddels uitgegroeid tot een professionele organisatie met bijna 350 medewerkers.
In december 2005 kreeg de IT-afdeling van het CAK-BZ te horen dat er binnen een jaar tijd een volledig nieuwe applicatie ontwikkeld moest worden om een extra wettelijke taak te ondersteunen.
theorie van deze principes en daarna wordt de architectuur geschetst zoals het CAK-BZ deze met behulp van de traditionele middelen heeft toegepast.
Ontwikkelen in gegevensdomeinen Een applicatie is volgens het 3-lagen model onder te verdelen in een datalaag, een logicalaag en een presentatielaag (Zie ook Figuur 1). Bij de ‘klassieke’ manier van ontwikkelen wordt een functiehiërarchie gemaakt waarbij
Figuur 1: Klassiek model
modules door de hele applicatie heen elkaar aanroepen. Module A die een berekening voor een klant doet, maakt gebruik van de gedeeltes van de datalaag die aan over relatiegegevens en inkomensgegevens en roept zelf nog weer een tweetal andere functies in de logicalaag aan. Module A wordt op zijn beurt weer aangeroepen door een scherm waarin met name klantinformatie staat. Wanneer een wijziging plaatsvindt in de manier waarop relaties worden opgeslagen, zal dit ook zijn impact hebben op module A en wellicht ook op de 3 objecten waar module A een relatie mee heeft. In een applicatie zijn altijd gebieden aan te wijzen die een grote onderlinge samenhang hebben en die vanuit de business gezien ook echt bij elkaar horen. In dit voorbeeld zijn dat de gebieden: relaties, zorggegevens en inkomensgegevens. Wanneer we deze gebieden qua logica van elkaar gaan
De uitvoering van de taken doet het CAK-BZ o.a. door ondersteuning van een eigen ICT-afdeling die al meer dan 10 jaar ervaring heeft met Oracle-ontwikkeling. Voor meer informatie over CAK-BZ, neem dan contact op met Rens van Rijn (070-3380955) of kijk op: www.cak-bz.nl.
scheiden zal het aantal onderlinge afhankelijkheden tussen alle objecten drastisch verminderen. En dat is goed nieuws voor ons onderhoud en de gewenste flexibiliteit voor komende veranderingen! Maar hoe is het nu nog mogelijk dat module A zijn benodigde informatie over de zorg en de klantinformatie krijgt ? Dit gebeurt door de introductie van een zogenaamde ESB (Enterprise Service Bus), een aparte communicatielaag, zie ook afbeelding 2. Alles wat module A nodig heeft aan informatie over relaties en zorg wordt eerst gevraagd aan de ESB, die deze informatie ophaalt in het betreffende gegevensdomein. Op die manier wordt voorkomen dat de structuur van de datalaag en de logicalaag van de relaties overal gebruikt wordt in de andere delen van het systeem. Als we een wijziging krijgen binnen relaties, dan zal dat minder >>
25
PRAKTIJKCASE: SERVICE ORIENTED ARCHITECTURE
impact hebben binnen het gedeelte inkomens omdat dat minder ‘weet’ over hoe de structuur is van relaties. Even de voordelen van deze aanpak op een rijtje : • Het ontstaan van minder onderlinge afhankelijkheden. (zie het voorafgaande) • Het wordt gemakkelijker om te werken in ontwikkelteams die parallel van elkaar een gegevensdomein realiseren. • De ontwikkelde code blijft waar het hoort. Code over relaties blijft in het gegevensdomein relaties, waardoor het geheel overzichtelijker is. • Het maakt het gemakkelijker om een ontwikkelde deelapplicatie in te ruilen voor een standaardpakket of een andere applicatie, mocht dat nodig zijn. •Doordat de gegevensdomeinen redelijk autonoom zijn is het mogelijk om de informatie zo te scheiden of te versleutelen dat het niet via een zoekvraag mogelijk is om te bepalen welk inkomen een relatie heeft.
Figuur 2: Gescheiden gegevensdomeinen, informatie en communicatie verloopt via de ESB.
Message broker Om de onderlinge afhankelijkheden tussen de domeinen te minimaliseren kan de ESB ook als message broker worden ingezet. Zodra ergens in de applicatie een bepaalde gebeurtenis heeft plaatsgevonden (bijvoorbeeld het aanmaken van een nieuwe relatie), wordt hiervan een bericht aangemaakt. Alle onderdelen binnen de applicatie die hier belang bij hebben, kunnen dit bericht oppakken en er hun eigen verwerking op afstemmen. Deze message broker moet gebeurtenissen binnen een domein opvangen en doorgeven aan andere domeinen die belang bij deze gebeurtenis hebben waarbij de volgende eisen van belang zijn: - De message broker moet zorgen voor een zo beperkt mogelijke afhankelijkheid tussen de autonome domeinen, zowel functioneel als technisch. - De verzender van een bericht hoeft niets te weten van de ontvanger en omgekeerd. - Het moet eenvoudig zijn nieuwe afnemers van een gebeurtenis toe te voegen. - Het moet eenvoudig zijn nieuwe gebeurtenissen toe te voegen. De voordelen van deze aanpak zijn : • De afhankelijkheid tussen modules wordt nog verder gereduceerd (de verzender en ontvanger ‘weten’ niets van elkaar). • Een proces hoeft alleen te verwerken wat er aan berichten klaarstaat en hoeft geen zware query meer uit te voeren om veranderingen op te merken. • De berichten (gebeurtenissen) geven inzicht in hoe het bedrijfsproces loopt en waar eventueel stagnaties zijn.
Toepassing bij het CAK-BZ Een nadeel van deze aanpak is dat het realiseren van modules ingewikkelder is geworden. Het scherm met klantinformatie in het voorbeeld zal niet rechtstreeks inkomens- en zorggegevens kunnen laten zien, maar moet al deze aanvragen uitzetten via de ESB. Tevens moet een ESB worden opgezet en onderhouden.
Binnen CAK-BZ is met behulp van de bestaande ontwikkelstraat een architectuur neergezet waarmee zoveel mogelijk de hiervoor genoemde voordelen behaald moeten worden. Deze architectuur is gebaseerd op de volgende tools: • Oracle Database • Oracle Designer / Developer
•O racle Designer Headstart met CDM RuleFrame Figuur 3 geeft een schematische weergave van de architectuur. Voor de eenvoud is slechts een deel van de domeinen in dit figuur opgenomen.
Figuur 3: Architectuur CAK-BZ De front-end is ontwikkeld met Developer Forms en Headstart. Hierbij is het standaard concept van het business rule framework CDM RuleFrame toegepast. Kortweg betekent dit dat er zo min mogelijk logica opgenomen is in de schermen. De communicatie naar de database verloopt via een zogenaamde View API. Een dergelijke view stelt gegevens beschikbaar aan een scherm, mutaties in gegevens worden ook via deze view doorgegeven aan de database. Via het business rule framework worden de business rules gevalideerd voordat de gegevens daadwerkelijk worden opgeslagen. Voor de services is binnen het CAKBZ onderscheid gemaakt in de volgende type services: • Realtime service Dit type service moet direct worden uitgevoerd op het moment dat deze wordt aangevraagd • Batch service Een batch service wordt periodiek uitgevoerd, bijvoorbeeld elke ochtend om 6.00 uur. Alle aanvragen voor deze service worden dan als batch proces uitgevoerd. Een realtime service is geschikt voor zowel het opvragen van gegevens uit een ander domein als het in gang zetten van een actie in een ander domein. >
27
28
WE LOVE IT
Dece m b e r 2007
SOA
Vervolg
Bijvoorbeeld het ophalen van adresgegevens uit het relatie domein. Dit type service wordt geïmplementeerd via een package functie, een package procedure of een view. Het domein dat de service levert stelt het betreffende service object beschikbaar aan de overige domeinen. Een domein dat de service wil gebruiken kan deze vanuit de code aanroepen. Alles wat voor een ander gegevensdomein nodig is moet via deze services afgehandeld worden. Op deze manier is de onderlinge afhankelijkheid tussen gebieden precies aan te wijzen en in de hand te houden. Bij een batch service worden alle aanvragen voor de betreffende service verzameld. Periodiek worden deze aanvragen in een batch proces afgehandeld. Om batch services te ondersteunen is een message broker (berichtenmanager BMR) ontwikkeld die op generieke wijze voor de afhandeling van de services zorgt. Deze berichtenmanager is volledig met pl/sql ontwikkeld binnen een Oracle Database.
De berichtenmanager Om de eerder genoemde eisen aan een message broker te kunnen realiseren maakt de berichtenmanager gebruik van het publish en subscribe mechanisme.
Dit houdt in dat het domein waarbinnen een gebeurtenis plaatsvindt het bericht doorgeeft aan de berichtenmanager. Deze zorgt er vervolgens voor dat alle afnemers die geabonneerd zijn op de gebeurtenis een bericht krijgen. Het domein waarbinnen een gebeurtenis plaatsvindt, geeft een signaal, inclusief relevante gegevens, aan de berichtenmanager dat de betreffende gebeurtenis heeft plaatsgevonden. De berichtenmanager zorgt er vervolgens voor dat voor elke applicatie die zich geabonneerd heeft op de gebeurtenis (afnemers) een bericht wordt klaargezet. Dit bericht wordt vervolgens opgehaald door de afnemer. Wanneer het bericht correct door de afnemer is ontvangen geeft deze dit door aan de berichtenmanager er wordt de status van het bericht op afgehandeld gezet. De ontwikkelde berichtenmanager bestaat uit de volgende onderdelen: • Event library Binnen de event library worden alle gebeurtenissen (events) die zich binnen de verschillende domeinen voor kunnen doen geregistreerd. • De abonnementen administratie Hierin worden alle afnemers van berichten geadministreerd. Concreet zijn dit de procedures uit de domeinen die het bericht verwerken. Hierbij worden ook de gegevens (parameters) gedefinieerd die door de afnemer worden verwacht om het bericht te kunnen verwerken. • Event-handler Dit onderdeel betreft het eerder
Figuur 4: Schematisch overzicht van de afhandeling van een gebeurtenis
beschreven proces van het ontvangen van een event en het klaar zetten van berichten voor de afnemers Het globale gegevensmodel voor de berichtmanager ziet er als volgt uit:
Figuur 5: Gegevensmodel Alle events die zich voor kunnen doen worden vastgelegd als Event. De procedures van de afnemende domeinen zijn vastgelegd als Domein service. Met behulp van Abonnement wordt vastgelegd welke Domein service geïnteresseerd is in welk Event. Op het moment dat een event zich voordoet ontstaat een Event bericht met alle relevante informatie over het event. Op basis van de Abonnementen worden vervolgens Domein service berichten aangemaakt. Deze berichten kunnen vervolgens worden opgepakt door de afnemende Domein service. Voor het aanbieden van een event door de aanbieder en voor het ophalen van de berichten door de afnemer worden door de berichtenmanager standaard API’s beschikbaar gesteld. Hierdoor kunnen nieuwe events en/ of domein services eenvoudig worden toegevoegd zonder dat code van de berichtenmanager aangepast hoeft te worden. Het enige wat een aanbieder hoeft te doen is een aanroep van de API in de code op te nemen en de juiste gegevens hiermee door te geven. Hetzelfde geld voor de afnemer die in de code de aanroep naar de API voor het ophalen van de berichten hoeft op te nemen. Het aanbieden van events gebeurt ook op een standaard wijze. Binnen CDM RuleFrame worden onder andere zogenaamde change-eventrules onderkend. Dit type business rule wordt gebruikt om de aanroep naar de
PRAKTIJKCASE: SERVICE ORIENTED ARCHITECTURE
standaard API van de berichtenmanager in op te nemen. Op deze manier is het relatief eenvoudig te herleiden waar events ontstaan. Iets wat op dit moment nog niet wordt toegepast, maar waar de berichtenmanager zeker mogelijkheden voor biedt, is BAM (Business Activity Monitoring). Alle gegevens met betrekking tot de opgetreden events worden vastgelegd in de database. Het moet dus relatief eenvoudig zijn hierop rapportages of signaleringen te definiëren, om op die manier het primaire bedrijfsproces te monitoren.
SOA of niet? Als je de theorie over SOA er op naslaat kun je met het toepassen van autonome domeinen en het gebruik van een berichtenmanager niet spreken over een echte SOA-architectuur. Een aantal belangrijke doelstellingen die men met een SOA-architectuur probeert te behalen is echter wel gerealiseerd, zoals ontkoppeling, flexibiliteit en focus op het bedrijfsproces.
op de gebeurtenissen is er een duidelijkere focus gekomen op het proces. Door gebeurtenissen en reacties elkaar te laten opvolgen ontstaat het proces. Wat er feitelijk met het toepassen van de berichtenmanager is neergezet is een Event Driven Architectuur (EDA) Er zijn natuurlijk genoeg beperkingen te bedenken bij de wijze waarop de berichtenmanager hier is geïmplementeerd. • Er wordt geen gebruik gemaakt van echte services via de standaard SOAP messages, maar via een pl/sql API worden berichten uitgewisseld. Feitelijk betekent dit dat je alleen applicaties die ontwikkeld zijn op een Oracle database met elkaar kunt laten communiceren. • Doordat geen gebruik gemaakt wordt van SOAP messages is het ook niet eenvoudig ketenintegratie te realiseren.
Evaluatie De berichtenmanager zorgt voor een ontkoppeling van de verschillende domeinen. Door deze ontkoppeling moet het relatief eenvoudig zijn nieuwe onderdelen toe te voegen of onderdelen te vervangen. Bijvoorbeeld een extra domein “zorg” (waarvan de structuur en data dusdanig afwijken dat dit een apart domein rechtvaardigt). Hierbij kan voor de gegevens van deze nieuwe groep klanten gebruik worden
Nu, na 6 maanden van gebruik van beide principes bij het CAK-BZ is natuurlijk de vraag hoe het in de praktijk bevalt. Paul Struijlaart (systeemontwikkelaar bij het CAKBZ) : “De meningen zijn verdeeld over de berichtenmanager. Sommige ontwikkelaars vinden het complex, maar ik ben er zelf wel goed over te spreken. Het is een mooi concept en een verwerkende batch hoeft alleen de gegevens op te
Figuur 6: Een aaneenschakeling van events is een bedrijfsproces gemaakt van de domeinen “Relatie” en “Inkomens”. Door het gebruik van gebeurtenissen en het reageren van andere domeinen
pakken die horen bij de klaarstaande berichten. Qua performance is dat ook positief. Tevens is het een voordeel dat het goed
te monitoren valt of er bij een bericht een fout optreedt. Als dat het geval is dan kan het bericht na de noodzakelijke acties opnieuw worden aangeboden ter verwerking. Wat nog valt te verbeteren is dat er volgordebewaking wordt geïntroduceerd : een bepaald bericht mag pas verwerkt worden nadat andere (afhankelijke) berichten correct zijn verwerkt. Het ontwikkelen in gegevensdomeinen vind ik een ander verhaal. We hebben vrij veel problemen gehad om de domeinen goed op elkaar te laten aansluiten. Je merkt toch snel dat er niet goed wordt afgestemd als je in aparte domeinen werkt. Een grote wijziging hebben we tot nu toe niet gehad, dus er valt nog niet te concluderen dat die minder impact zou hebben dan wanneer het domeinprincipe niet wordt toegepast.”
Conclusie Het is duidelijk dat ook het toepassen van SOA principes met een bestaande ontwikkelstraat nog een hele uitdaging is. Dat neemt niet weg dat het een goede manier is om te wennen aan het nieuwe SOA-gedachtengoed met beheersing van de risico’s door het in een vertrouwde IT-omgeving te introduceren. John Copier(links) en Peter Ribbers (rechts).
John Copier is werkzaam als consultant bij IT-eye. Peter Ribbers was werkzaam bij het CAK-BZ en is oprichter van het bedrijf BonAvoda. Bent u benieuwd wat deze concepten voor uw bedrijf kunnen betekenen of heeft u interesse in de aanschaf van de beschreven berichtenmanager (BMR), kijk dan op www.bonavoda.nl. Ook voor een bestaande omgeving kan BMR interessant zijn, maar daarover vertellen we u graag meer.
29
30
W E LOVE IT
van E
ckart W
De ce m b e r 2007
intze
n.
Tien jaar na dato geeft Eckart het geheim prijs van de succesformule waarmee hij zijn automatiseringsbedrijf BSO van eenmansbedrijf tot multinational met 10.000 medewerkers liet groeien. De ondernemer Eckart Wintzen vertelt in 'Eckart's Notes' vol humor en zelfspot over de succesformule, waarmee hij zijn BSO/Origin liet groeien van onverwacht eenmansbedrijf tot ongekende multinational. Een grappig boek, met diepgang. Het staat vol met ideeën en ‘gouden tips' en is geschreven voor iedereen die met management te maken heeft: ondernemers, managers, studenten en docenten, hun thuisfront en natuurlijk ook iedereen die gemanaged wordt.
Een voorproefje uit Eckart's Notes van Eckart Wintzen
Een
down
load
van w
rekruten zo ver te krijgen dat zij niet ww.e Toen ik na 5 jaar lorren en studentikoos drankmisbruik mijn xtent alleen binnen 6 weken op het .nkazerneterrein l eng precies in de pas kandidaatsexamen wiskunde nog steeds nietgingen opmarcheren. zak had, vond We leerden ook om Hare met een verbluffende nauwkeurigheid 6 kanonnen op hetzelfde Majesteit het welletjes. Ze stuurde mij het inmet die tijdtegelijk zeer gevreesde punt, meestal een reeds veel eerder aan flarden geschoten terreinwagen, te groene kaartje met deAchteraf oproep om mee te helpen haar land te vuren. is het superinteressant Het Militaire Systeem is een om te zien hoe het militaire systeem organisatiemodel gebaseerddat op dwang kans zag om zo’n verdedigen. Na een geheel uit250 totaal de onwillige hand gelopen feest tot ver voorbij zonsopgang duurde, werd ik door een vriendin, wier naam mij inmiddels is ontschoten, met een ernstige kegel nog net op tijd
Toen ik na 5 jaar lorren en studentikoos drankmisbruik mijn kandidaatsexamen wiskunde nog steeds niet op zak had, vond Hare Majesteit het welletjes. Ze stuurde mij het in die tijd zeer gevreesde groene kaartje met de oproep om mee te helpen haar land te verdedigen. Na een geheel uit de hand gelopen feest dat tot ver voorbij zonsopgang duurde, werd ik door een vriendin, wier naam mij inmiddels is
ontschoten, met een ernstige kegel nog net op tijd afgezet bij de poort van Artillerie Legerplaats Ossendrecht. Hier zou ik leren hoe wij met de uit de Tweede Wereldoorlog stammende ‘25 ponder’ de communisten de stuipen op het lijf zouden jagen.
mijn are sde te ver am tijd
en angst. Als niet om 06.05 uur jouw - met behulp van een liniaal gevouwen ‘wolletje’ precies midden op je bed ligt, dan ‘zwaait er wat’, bijvoorbeeld dat je het weekend niet terug mag naar je lorrende vrienden en vriendinnen. En dat gaat allemaal ook nog eens ‘onder de bezielende leiding’ van (on) behoorlijk grof gebekte onderofficieren met een IQ van nauwelijks boven de honderd. Een systeem waar niemand ooit een seconde geacht wordt te begrijpen waarom er iets gebeurt zolang hij maar doet wat er gezegd wordt. “Wachtmeester, waarom moet je bij tegenwind het vizier twee klikjes naar beneden stellen terwijl je juist zou verwachten dat de loop omhoog moet?” “Omdat het zo in het handboek soldaat staat, Wintzen! Zijn er verder nog vragen?” Voilà, het eeuwenoude model om grote aantallen mensen grote en complexe taken te laten uitvoeren: de taken worden opgesplitst in overzichtelijke deeltaken, waaraan ieder zijn bijdrage levert. Vaak met duidelijk voorgeschreven handelingen waarvan de diepere zin niet duidelijk is aan de uitvoeder. Om dezelfde reden heeft het geen zin aan de installateur van je telefoon een vraag te stellen in de trant van “Als ik hier nou ook nog dit toestel aan hang, gaat dan boven nog steeds de bel over?” “Daar ga ik niet over”, is dan het geijkte antwoord. De man is opgeleid om het geel-groen gestreepte draadje op connector 16 te solderen. Maar hoe en waarom de schakeling dan werkt, is hem ook niet duidelijk. Het antwoord op dat soort vragen is één of twee echelons hoger te verkrijgen.
solderen. Maar hoe en waarom de schakeling dan werkt, is hem ook niet duidelijk. Het antwoord op dat soort vragen is één of twee echelons hoger te verkrijgen. Geen wonder dat bijV O ditOsoort R P Rorganisaties O E F J E het U I Twerk E Cvaak K Asaai R T is' S N O T E S : C A E S A R , J U L I U S en de dag lang duurt. Alleen door strikte procedures (zie aldaar) kan de taak punt voor punt worden afgewerkt en de output per medewerker worden gecontroleerd. Hoe groter het bedrijf, hoe heftiger het toezichtmechanisme is. In het leger gaat dat zelfs zo eindigen. 'Zwaar arrest', heet dat dan. Toen ik na mijn diensttijd bij Philips ver dat je, als je notoir sommige regels ontduikt, in de ‘bedrijfseigen’ Ik heb er menig uurtje doorgebracht . gevangenis kunt eindigen. 'Zwaar arrest', heet dat dan. Ik heb erging werken, werd mij snel duidelijk hoezeer de modellen van het leger menig uurtje doorgebracht . OK, bij bij het grote grote bedrijf bedrijf zijn de maatregels niet zoen dat van het bedrijfsleven op elkaar OK, hetgemiddelde gemiddelde heftig, maar de angst voor, bijvoorbeeld, ‘geen promotie’ is toch zijn de maatregels niet zo heftig, maar de lijken. Al na enkele weken werd ik een fenomeen dat bijna iedereen die voor een bureaucratie werkt angstwel voor, bijvoorbeeld, ‘geen promotie’ door mijn Philips-baas op het matje eens aan den lijve heeft ondervonden. is toch een fenomeen bijna iedereen Daarom liggen angst omdat boven het maaiveld uit te steken of actiesgeroepen. Met de prikklokoverzichten om ‘ineen het gevlei te komen’ bij de baas inwel dergelijke die voor bureaucratie werkt eensorganisaties meervoor zich wees hij mij ernstig op het voor de hand dan de behoefte om werkelijk eens iets extra’s voor de aan den lijve heeft ondervonden. Daarfeit dat ik chronisch 5 tot 10 minuten klant te doen. Of om de vijand (of concurrent) te verslaan. om liggen angst om boven het maaiveld Je hoort mij niet zeggen dat dit systeem niet werkt, dat blijktte laat kwam. Toen ik mij verweerde uit tebijvoorbeeld steken ofwel acties ‘in succes het gevlei uit hetom verdere van BSO/Origin nadat hetmet de opmerkingen dat ik ook
te komen’ bij de baas in dergelijke organisaties meer voor de hand dan de behoefte om werkelijk eens iets extra’s voor de klant te doen. Of om de vijand (of concurrent) te verslaan.
3
Je hoort mij niet zeggen dat dit systeem niet werkt, dat blijkt bijvoorbeeld wel uit het verdere succes van BSO/ Origin nadat het celdelingprincipe door de nieuwe eigenaar, Philips, was afgeschaft.door Waar dit boek overPhilips, gaat,was afgeschaft. celdelingprincipe de nieuwe eigenaar, is de vraag hoe leuk is hoe omleuk in het Waar dit boek over gaat, is dehet vraag het is om in het Caesariaanse model temodel werken en hoe effectief Caesariaanse te werken endat model is in vergelijking met de celdelingfilosofie. hoe effectief dat model is in vergelijking met de celdelingfilosofie. Over Julius Caesar (100 – 44v. Chr): Caesar staat in de geschiedenis te boek als een geniaal veldheer. Het is bekend hoe hij in korte tijd met zijn perfect georgeniseerde leger met vele gespecialiceerde afdelingen grote gebieden zoals Gallië kon veroveren. Het was wel frappant dat het hem niet lukte om kleine fanatieke volkstammen, zoals De Menapiërs in het latere Vlaanderen in zijn rijk te lijven. Deze stammen gingen geen veldslagen aan, maar voerden guerilla vanuit hun bossen, vennen en moerassen, een samenraapsel van plaatselijke groepen die als boerengemeenschappen ver van elkaar leefden, en zelden gezamelijk georganiseerd optraden. Het was voor Caesar met zijn grote leger dan ook praktisch onmogelijk ommeer hen te bevechten. Lees hierover in ‘Asterix als Gladiator’, en ‘Asterix in België’ uit de serie
Geen wonder dat bij dit soort organisaties het werk vaak saai is en de dag lang duurt. Alleen door strikte Asterix en Obelix van Uderzo en Goscinny. procedures (zie aldaar) kan de taak Uit de documentatie van het historisch openluchtpunt voor punt worden afgewerkt en museum Eindhoven. de output per medewerker worden gecontroleerd. Hoe groter het bedrijf, celdelingprincipe door de nieuwe eigenaar, Philips, was afgeschaft. hoe heftiger het toezichtmechanisme Waar dit boek over is. gaat, is de vraag hoe leuk het is om in het In het leger gaat dat zelfs zo ver dat je,te werken en Leeshoe meer hierover ‘Asterix als Gladiator’, en Caesariaanse model effectief datinmodel is in vergelijking met de celdelingfilosofie. als je notoir sommige regels ontduikt, ‘Asterix in België’ uit de serie Asterix en Obelix in de ‘bedrijfseigen’ gevangenis kunt van Uderzo en Goscinny.
4
meestal één à twee uur later wegging en dat ik het gevraagde rapport ruimschoots op tijd had opgeleverd, kreeg ik te horen dat dat niet van belang was voor dit gesprek... “Huh?” Ik kon kiezen of kabelen: op tijd komen of oprotten. Een interessant leermoment waaruit duidelijk werd dat de conformiteit aan de regels belangrijker was dan de output. Maar ook deze zelfde baas had zich aan regels te houden: toen hij mij anderhalf jaar later promoveerde van vakgroep 4 naar 4.2 en ik hem vroeg waarom ik niet naar vakgroep 5 gepromoveerd werd, was het antwoord: “Ja, dat zou ik graag doen maar ik mag je helaas niet meer dan één keer per 2 jaar een vakgroep omhoog brengen. Het kan wel, maar dan moet je ontslag nemen en dan weer bij mij solliciteren voor de baan die je nu hebt, dan kan ik je in vakgroep 5 zetten. Je begrijpt dat ik alleen het eerste deel van zijn advies heb opgevolgd.
Fotograaf: Sjaak Ramakers Boek bestellen? Ga naar: www. extent.nl of www.managementboek.nl. ISBN: 978-90-5637-967-4
31
32
W E LOVE IT
De ce m b e r 2007
Uit een onderzoek van Forrester research uit 2005 blijkt dat meer dan 80 procent van de wereldbevolking over een mobiel netwerk beschikt. Dit betekent dat meer dan 5 miljard mensen zich bevinden in de buurt van een netwerk voor mobiele telefonie. En een kwart van de wereldbevolking (ongeveer 1,5 miljard) mensen maken gebruik van mobiele diensten.
NETMANAGE
Van business naar
e-business Door: Christophe Vercruysse, Director Nordics & Benelux bij NetManage
De komst van internettechnologie heeft het voor organisaties mogelijk gemaakt om de toegang tot bedrijfsapplicaties uit te breiden buiten de grenzen van de traditionele netwerken. Veel applicaties die slechts voor ‘intern’ gebruik waren bestemd zijn nu geïntegreerd in het ondernemingsbrede intranet. De internethype heeft zich verder doorgezet en informatie is daarbij steeds meer verschoven van de back-office naar de plaats waar transacties plaatsvinden, direct bij sales, bij onderhoudsmedewerkers en bij klanten. Tegenwoordig reiken internetverbindingen naar iedere desktop, laptop of PDF en kunnen bedrijfsapplicaties overal ter wereld geraadpleegd worden. Maar is het allemaal wel zo eenvoudig?
SERVICE ORIENTED ARCHITECTURE VOOR MOBILE
Mobile computing De groeiende verkoop van laptops en notebooks in de afgelopen jaren zijn het resultaat van een groeiende vraag naar informatie die mee kan reizen. Deze apparaten zijn essentiële tools geworden binnen organisaties om het mobiele werken mogelijk te maken. Alle medewerkers hebben nu toegang tot elektronische data en daarmee is een nieuwe standaard voor business ontwikkeld. De markt voor kleine handheld computers, zoals PDA’s en smart phones, is de afgelopen jaren sterk toegenomen. En het ziet er naar uit dat mobiele technologie in de toekomst steeds belangrijker gaat worden. Onderzoek wijst uit dat de laptop nog steeds het meeste gebruikte mobiele apparaat is. Maar er is een enorme toename in kleine handheld apparaten, zoals de Blackberry. Veel organisaties staan momenteel voor een uitdaging, namelijk deze PDA’s om te zetten naar bruikbare productie- en communicatiemiddelen. En het feit dat mobiele technologie zich iedere zes maanden vernieuwt, maakt de uitdaging alleen maar groter. Tegenwoordig zijn de meeste mobiele apparaten voorzien van meer dan één draadloze manier voor datacommunicatie, zoals bluetooth, wifi of GPRS. De mobiele infrastructuur maakt het mogelijk om altijd en overal e-mail te ontvangen, te lezen en te beantwoorden. Maar de kansen van ondernemingen gaan verder dan mobiele e-mail. Zij kunnen vertegenwoordigers, onderhoudsmedewerkers en klanten nu ook altijd en overal toegang geven tot bedrijfskritische informatie.
dan 5 miljard mensen zich bevinden in de buurt van een netwerk voor mobiele telefonie. En een kwart van de wereldbevolking (onge-veer 1,5 miljard) mensen maken gebruik van mobiele diensten. 78 Procent van die gebruikers hadden verbinding via een GSM netwerk. IDC schatte dat in 2005 meer dan 55 miljoen mobiele toestellen werden verkocht. Dat is een toename van 165 procent ten opzicht van 2004. Tevens schatte IDC dat er tientallen miljoenen mobiele telefoons zijn waarop J2ME-applicaties kunnen draaien en waarmee het mogelijk is om met de onderneming te communiceren via http en het internet. Mooie cijfers allemaal, maar mobiele internet pioneers sommen een aantal belangrijke lessen op: 1. Het mobiele internet is niet geschikt voor alle applicaties die we op het internet vinden. Het is van belang om die applicaties te kiezen die passen in het schermpje van de mobiele telefoon en de snelheid van hedendaagse mobiele apparatuur. 2. Mobiele internettechnologie ontwikkelt zich razendsnel. De ontwikkeling van handsets, netwerk-snelheid, standaarden en protocollen staat niet stil. De hedendaagse apparaten hebben grotere schermen en de snellere netwerken maken het mogelijk dat meer soorten applicaties en diensten mobiel worden.
3. Mobiele netwerktechnologie is niet specifiek Noord-Amerikaans of Europees, of specifiek GSMgebonden. Mobiele applicaties maskeren alle locale verschillen en maken het mogelijk om mobiele applicaties wereldwijd in te zetten op iedere willekeurige handset en draadloos netwerk. Veel organisaties zijn inmiddels gestart met het inzetten van mobiele applicaties bij kleine projecten en een groot aantal organisaties zitten in een testfase. Voor de meeste organisaties behoren betere productiviteit van de werknemers en real-time toegang tot bedrijfsinformatie tot de voordelen van mobiele technologie. Hoe meer informatie werknemers hebben, hoe beter zij beslissingen kunnen nemen.
Een illusie Echter het is een illusie om te denken dat de toegang tot bedrijfsapplicaties via mobiele apparatuur tegenwoordig gewoonte is. In werkelijkheid is dat nog niet het geval en het zal ook nog wel even duren voordat het zover is. Een belangrijke reden hiervoor is dat bedrijfskritische informatie en de meest centrale bedrijfslogica zich bevindt op bestaande host systemen binnen de organisatie. Dergelijke oude legacy systemen zullen voorlopig blijven bestaan in grote organisaties en daar de basis (blijven) vormen van successen. Concreet betekent dit dat de toegang tot deze
Het mobiele internet – realiteit of hype De afgelopen jaren hebben de media een enorme hype gecreëerd rondom het onderwerp ‘mobiel internet’. In 2000 werd verwacht dat in 2004 het aantal mobiele telefoons met internetfuncties vele malen groter zou zijn dan het aantal telefoons zonder deze mogelijkheden. Die mijlpaal werd al veel eerder bereikt. Uit een onderzoek van Forrester research uit 2005 blijkt dat meer dan 80 procent van de wereldbevolking over een mobiel netwerk beschikt. Dit betekent dat meer >
33
Va
Oracle Database 11g Online upgrades and patching Advanced partitioning and compression Record and replay real workloads Delegate jobs to a standby database Query a database as it was a week ago
The Innovation Continues
oracle.com/database or call +353 1 8031099
Copyright © 2007, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
SERVICE ORIENTED ARCHITECTURE VOOR MOBILE
Van business naar E-Business Vervolg
bedrijfsinformatie via mobiele applicaties moeizaam is. Om deze reden gaat het creëren van mobiele applicaties niet alleen om applicatieontwikkeling, maar vooral ook om integratie. Integratie tussen legacy systemen en mobiele apparatuur. Mobiele integratie heeft dezelfde principes en beginselen als ieder ander integratieproject binnen een organisatie. Het leidend beginsel van integratie is tegenwoordig service-oriented architecturen (SOA), XML en webservices. SOA maakt het mogelijk om het besturingssysteem van de apparatuur los te koppelen voor de integratie van mobiele diensten met bedrijfsapplicaties. Het toepassen van XML en webservices werkt daaraan mee. Er bestaat inmiddels overeenstemming over het gebruik van middleware. Het is duidelijk dat off-theshelf geïntegreerde applicatie-adaptors, gecombineerd met de capaciteit om transacties binnen meerdere back-end bedrijfsapplicaties te definiëren en coördineren, het recept is om bedrijfsprocessen en –applicaties naar mobiele apparatuur te brengen.
Stappen De weg naar de beschikbaarheid van bedrijfsapplicaties op mobiele apparatuur heeft een aantal stappen ondergaan:
1. WAP: Een mobiele telefoon met een WAP-browser werd voorheen altijd beschouwd als internettelefoon. Echter bestaande websites van tegenwoordig kunnen niet gemakkelijk vertaald worden naar de menustructuur van een WAP-browser. 2. Van WAP naar Web: De nieuwste mobiele apparaten bieden meer functionaliteiten dan de simpele mobiele telefoon met microbrowser. Echter deze mobiele browses bieden nog steeds niet de volledige functionaliteit van een desktop webbrowser en is dus nog beperkt. 3. Van Web naar mobiele applicatie: Nu mobiele apparaten steeds krachtiger worden en programmeerbare besturingssystemen ondersteunen, kunnen nieuwe applicaties worden ontwikkeld en toegevoegd. De programmeerbaarheid biedt nieuwe mogelijkheden voor gebruik binnen de organisatie en integratie met bedrijfsapplicaties. 4. Van mobiele web naar webservices: De nieuwste technologie voor mobiele economie is webservices op basis van SOA. Het principe van SOA is niet nieuw. Bestaande client-server systemen, zoals DCE, CORBA en DCOM, hebben al enige tijd gedistribueerde applicaties geleverd. Het verschil met SOA is dat de intercommunicatietechnologie gebaseerd is op standaarden. En die standaarden worden openbaar via webservices, wat als voordeel heeft dat leveranciers van informatie volledig onafhankelijk van de gebruikers kunnen ontwikkelen.
In een zakelijke omgeving is de leverancier van informatie de bestaande (legacy) applicaties. Om deze applicaties op een gestandaardiseerde manier informatie te laten leveren, moet een integratielaag tussen de bestaande ‘oude’ applicatie en de ‘nieuwe’ mobiele internet applicaties worden ontwikkeld. De gebruiker van informatie in de mobiele economie is het mobiele apparaat. Webservices is de lingua franca van zowel SOA en de mobiele onderneming. Het is tevens de gemeenschappelijke noemer van host systemen, JAVA en .Net. Hoe meer bedrijfsapplicaties web-enabled zijn en de bedrijfsprocessen benaderbaar zijn als webservices, hoe meer deze waardevolle bedrijfsmiddelen ingezet kunnen worden om kwalitatieve mobiele oplossingen te leveren. Bedrijven beschikken met de komst van mobiele technologie over een manier om de concurrentie voor te zijn. Mobiele technologie kan cruciale bedrijfsinformatie leveren aan werknemers, partner en klanten ongeacht de locatie waar zij zich bevinden. Om dit mogelijk te maken zijn webservices van belang. Het is nu de tijd om een leverancier te zoeken die de juiste omgeving kan bieden voor het ontwikkelen van applicaties die gebruik maken van bestaande bedrijfsapplicaties en databases. Alleen hiermee kunnen bedrijven toegevoegde waarde halen uit mobiele applicaties.
35
36
WE LOVE IT
Dece m b e r 2007
De informatie en inzichten die we tot onze beschikking hebben worden niet alleen gebruikt om terug te kijken, maar juist ook om vooruit te kijken. Hierbij is het interessant om te begrijpen hoe we het succes van de onderneming in de toekomst kunnen beïnvloeden.
KADENZA
Enterprise intelligence de toekomst van gëintegreerde bedrijfsbrede informatievoorziening Door: Alexander van Helm Informatievoorziening binnen bedrijven is van essentieel belang voor een optimale bedrijfsvoering, zowel op het gebied van dataopslag als op het gebied van management, marketing en sales.Veel organisaties gebruiken data warehouses en Business Intelligence-systemen als technologie om deze primaire bedrijfsprocessen te ondersteunen. Traditionele BI-systemen zien het data warehouse als back-end oplossing en de Business Intelligencelaag als front-end oplossing. De focus ligt hierbij vooral op het rapporteren en bekijken van statische gegevens.
Beide technologieën kunnen echter een veel bredere rol spelen. Data warehouses en Business Intelligence hebben inmiddels een grotere betekenis verworven binnen het Enterprise Intelligencelandschap dan enkel het tonen van informatie. Door met diepgaande kennis van bedrijfsprocessen de informatievoorziening aan het fundament te verbeteren, zijn ondernemingen in staat om te meten, te controleren en te sturen. De kwaliteit van een organisatie is namelijk in grote mate afhankelijk van het inzicht in haar bedrijfsprocessen en informatie. Dit is Enterprise Intelligence.
Waar Business Intelligence erop gericht is om, op basis van historische informatie middels rapporten en analysemogelijkheden, inzicht te krijgen in de prestaties van een bedrijf, gaat Enterprise Intelligence een stap verder en dieper. De informatie en inzichten die we tot onze beschikking hebben worden niet alleen gebruikt om terug te kijken, maar juist ook om vooruit te kijken. Hierbij is het interessant om te begrijpen hoe we het succes van de onderneming in de toekomst kunnen beïnvloeden. Enterprise Intelligence houdt zich dan ook bezig met bedrijfsprocessen op drie niveaus in de organisatie. • Op het niveau van bestuurders
37
ENTERPRISE INTELLIGENCE
over forecasts, procesanalyses en budgetteringen (planning & control) • Op het niveau van (operationeel) managers over sturing en rapportages (Business Intelligence) • Op het niveau van IT-managers over applicaties en dataintegratie (data warehousing) De nieuwe BI-systemen integreren bedrijfsinformatie vanuit het data warehouse volledig met de primaire bedrijfsprocessen en verschuiven daardoor richting Enterprise Intelligence. De BI-laag maakt interactie met de bedrijfssystemen mogelijk via innovatieve dashboard-concepten. Concreet betekent dit dat gebruikers zelf ‘achter het stuur’ zitten en gegevens direct op de database kunnen aanpassen om te bekijken welke resultaten dat oplevert in termen van verkoopdoelstellingen, rapportages en ‘what-if ’ scenario’s. Wanneer deze systemen geïntegreerd worden ingezet bij bedrijfsbrede processen en informatieverwerking spreken we van Enterprise Intelligence. De innovatieve waarde van deze benadering van Business Intelligence, de interactie met het data warehouse, wordt aangetoond door middel van enkele praktijkvoorbeelden. Allereerst belichten we de praktijk van één van de grootste direct marketingorganisaties in Nederland. Hier draagt het geïntegreerde BI-systeem in belangrijke mate bij aan het maken van real-time marketingselecties, wat aanzienlijke besparingen in termen van tijd en kosten oplevert. Door de koppeling van BI met de kernprocessen van het bedrijf spreken we hier ook van Enterprise Intelligence. Daarna richten we ons op een marktleider in de leasebranche. Binnen deze organisatie speelt het BIsysteem, als essentieel onderdeel van het verkoopproces, een belangrijke rol bij het opstellen van concurrerende offertes en het bepalen van de winstgevendheid daarvan en is in die hoedanigheid ook als EI-oplossing ingezet.
marketingorganisaties in Nederland verstuurt jaarlijks meer dan 50 miljoen geadresseerde mailpacks. De marketingselecties werden uitbesteed aan een derde partij, waarbij voor iedere selectie maatwerkscripts gemaakt werden. Dit outsourcetraject leverde veel vertraging op en belemmerde de organisatie om op actuele gebeurtenissen in te springen. De organisatie wilde zelf meer controle en snelheid uitoefenen op de marketingselecties, door interactie op de database-gegevens mogelijk te maken via een nieuw systeem. De nieuwe oplossing moest de marketing intelligence-afdeling bovendien optimaal kunnen faciliteren in het evalueren, analyseren en interpreteren van data. Naast het bouwen van een nieuw BI-systeem werd het bestaande data warehouse geoptimaliseerd. De belangrijkste redenen daarvoor waren versnelling van de verwerking van data, betere en snellere analyses en kostenbesparingen. De gecombineerde oplossing van BI en data warehouse resulteerde in het Marketing Decision Support System (MDSS). Het MDSS is een zelfgebouwd systeem op basis een Oracle database, met standaard componenten als Set Analyzer van Business Objects voor uitgebreide rapportagemogelijkheden en Oracle Warehouse Builder voor het optimaliseren van de
informatievoorziening en data handling.
Stromen (zie figuur Het Marketing Decision Support System) 1. Periodieke vulling uit de administratie. 2. Periodieke vulling uit externe bestanden. 3. Vasthouden van historie. 4. Klaarzetten voor gebruik. 5. Maken van marketingselecties. 6. Verspreiden van standaard rapportages. 7. Maken van adhoc rapportages. 8. Verrijken voor bestand output. 9. Aanvragen van services. 10. Teruglezen van aangevraagde services. 11. Aanmaken printbestanden. 12. Aanmaken belbestanden. 13. Vasthouden verstuurde mailings.
Marketingselectie in eigen beheer Het MDSS wordt niet alleen gebruikt voor informatievoorziening in de traditionele zin van het woord, zoals het verspreiden van standaard rapportages, maar wordt ook benut voor het aanmaken van ad-hoc rapportages en het maken van marketingselecties en -analyses. Marketingafdelingen willen data altijd sneller en beter kunnen analyseren en interpreteren, waarbij up-to-date informatie cruciaal is voor doelgerichte marketingacties. Het
Razendsnelle marketingselecties met nieuwe BI-systemen Eén van de grootste direct
Het Marketing Decision Support System (MDSS) van de direct marketingorganisatie >
38
WE LOVE IT
Dece m b e r 2007
ENTERPRISE INTELLIGENCE Vervolg
nieuwe systeem stelt gebruikers in staat zelf on-line te ‘spelen’ met de parameters en selectiecriteria om verschillende scenario’s uit te werken en te analyseren. Zo wordt het selecteren van marketingdoelgroepen een proces dat door medewerkers van de organisatie zelf uitgevoerd en beheerd kan worden en daardoor sneller en kosteneffectiever is. Een systeem dat geïntegreerd is met de kernprocessen van de organisatie en ook voor planning en forecasting taken gebruikt wordt. Daarmee wordt het systeem een Enterprise Intelligence oplossing, meer dan een BI-oplossing. Het Marketing Decision Support System wordt gevoed vanuit verschillende interne aanleverende systemen en uitgebreid met aangekochte bestanden, zoals het Nationaal Consumenten Bestand van Cendris. Om de laadtijd te optimaliseren, worden alleen wijzigingen verwerkt. Voor het online uitvoeren van selecties, is een zeer snelle reponsetijd bij het navigeren door de informatie in de database een vereiste. Een absolute uitdaging, gezien de omvang en complexiteit van de adresgegevens. In dit geval spreken we over 17 miljoen adressen in combinatie met in totaal 850 miljoen gebeurtenissen. Met het MDSS kiezen de medewerkers telkens weer nieuwe segmentatiepaden om doelgroepen te selecteren en te analyseren en daarmee snelle forecasts en planningen te kunnen maken.
door groepen in of uit te sluiten. Met Set Analyzer worden de personen in de database gesegmenteerd naar doelgroepen. Deze doelgroepen worden voor het maken van marketingselecties weer verrijkt met de over hen bekende gegevens (stap 8). Als laatste stap worden er doelgroepbestanden aangemaakt (stap 11). Tijdens het verrijkingsproces is er interactie nodig met de basisadministratie. Zo wordt er onder meer prospectinformatie vastgelegd (stap 9 en 10). De basisadministratie wordt hiermee gevoed vanuit het MDSS. Binnen het MDSS zijn de nieuwe en de klassieke informatievraag gecombineerd. De gegevens waarop de marketingafdeling traditioneel gezien haar selecties baseert, zijn vaak afgeleiden over koopgedrag en geografische en demografische kenmerken. Dezelfde afgeleiden
schil op het data warehouse ervoor dat gebruikers makkelijk toegang hebben tot die gegevens en daarmee kunnen interacteren ten behoeve van Marketing Intelligence en Business Intelligence. Deze oplossing maakt de gedachte achter een Enterprise Intelligence-landschap waar.
Interactieve dashboards maken winstgevendheid van offertes inzichtelijk Een van de grootste wereldwijde leasebedrijven koos voor het verbeteren van het bestaande informatiesysteem dat direct verbonden is met het verkoopproces. De organisatie onderkent het belang van het aanbieden van het juiste contract, dat scherp geprijsd en toch winstgevend moet zijn. Hiervoor gebruikt de organisatie een rekenmodel. Dit zogenoemde Profitability Model (PM) voorspelt op basis van 650 parameters de winstgevendheid van
Nieuwe en klassieke informatievraag combineren Na het laden van de gegevens kunnen de medewerkers met het selectieproces starten. Voor het selectieproces wordt gebruik gemaakt van Set Analyzer, een relatief onbekend product van Business Objects. Hiermee kunnen medewerkers on-line door informatie navigeren om zo een gegevensverzameling te bepalen. Bovendien kunnen gegevensverzamelingen onderling ook weer gecombineerd worden
Het Profitability Model van een marktleider in de leasebranche en kenmerken zijn echter ook nodig voor trendanalyses en managementinformatie. Dit pleit voor een gecombineerde en geïntegreerde oplossing. Enerzijds integreert het data warehouse de diverse intern aanwezige informatiebronnen tot één geheel en levert daarmee uniforme rapportages. Anderzijds zorgt de BI-
contracten. Het model wordt ingezet bij de onderhandelingen met zowel bestaande klanten als prospects.
Business Intelligence in plaats van Excel De sales-medewerkers van de leasemaatschappij zijn verplicht om de verwachte winstgevendheid van
ENTERPRISE INTELLIGENCE
een offerte te berekenen voor deze geplaatst wordt. Daartoe gebruiken zij het Profitability Model. Zoals zoveel rekenmodellen werd dit model destijds ontwikkeld in Excel. Het leasebedrijf was op zoek naar een attractievere en gebruikersvriendelijke profitability-oplossing en wilde een nieuw systeem in een zeer kort tijdsbestek in gebruik kunnen nemen. In plaats van werken met uitgebreide en moeilijk te doorgronden Excel-sheets, zocht het bedrijf naar een dashboardoplossing, waarmee de medewerkers zelf de parameters on-line kunnen instellen om de winstgevendheid van de offertes te kunnen inschatten en beoordelen. Bovendien moest het nieuwe rekenmodel direct vanuit het data warehouse gevoed worden in plaats van handmatig, zoals bij het bestaande systeem het geval was. Het systeem werd verder nog aangevuld met standaardwaarden per land. En uiteraard moest er ook gerapporteerd kunnen worden over de berekende modellen, de zogenaamde scenario’s.
Stromen (zie profitability model) 1. Periodieke vulling uit de administratie. 2. Standaardrapporten DWH gegevens. 3. Standaardrapporten land parameters. 4. LiveOffice koppeling. 5. Interactief scenario’s samenstellen. 6. Scenario’s opslaan en laden. Het hart van dit nieuwe Profitability Model is een implementatie van
Business Objects Crystal XCelsius. XCelsius is vorig jaar opgenomen in het productportfolio van Business Objects. Het biedt de mogelijkheid om Excel te presenteren als dashboard. De voeding van XCelsius komt uit twee bronsystemen met behulp van Business Objects-rapporten (zie stap 2 en 3 in de illustratie). Doordat de voeding via rapporten loopt, kan men bij een kleine definitiewijziging volstaan met het aanpassen van de rapporten. De BO-rapporten worden ingelezen in XCelsius met LiveOffice (stap 4). Bij het wijzigen van een enkele parameter worden de relevante rapporten ververst en wordt het hele model weer doorgerekend. De accountmanager heeft direct inzicht in de invloed die de door hem voorgestelde wijziging heeft op de winstgevendheid van de offerte (stap 5). Als de accountmanager een offerte opstelt ten behoeve van een prospect of bestaande klant stelt hij de verwachte waarde voor een contract in. Hij krijgt dan direct de verwachte winstgevendheid te zien. Zo kan de accountmanager spelen met de contractwaarden om tot een goed voorstel te komen, een zogenaamd scenario. Als de accountmanager tevreden is over het door hem samengestelde scenario, of de prospect of klant akkoord gaat, heeft hij de mogelijkheid het scenario op te slaan (stap 6). De inhoud van het rekenmodel wordt dan als XML opgeslagen en deze XML is weer benaderbaar in Business Objects. Zo wordt het dashboard daadwerkelijk
als offerte-tool gebruikt en worden er ook forecasts mee gemaakt.. De organisatie wilde de gegevens en bedrijfsapplicaties wereldwijd kunnen delen en rapporteren. Daarnaast hecht het leasebedrijf er veel belang aan om de data goed te presenteren met behulp van rapportages en het dashboard. Zo worden gebruikers gestimuleerd om niet alleen de informatie te raadplegen en te actualiseren, maar ook gezamenlijk te bouwen aan de marktpositie.
Het nieuwe BI-systeem, Enterprise Intelligence Zoals gezegd zijn data warehouses vanuit de traditionele benadering vaak het eindpunt. Het enkel tonen en bekijken van de statische gegevens is daarbij het uitgangspunt. Deze gegevens worden gebruikt om te rapporteren over de prestaties van het bedrijf en op basis daarvan businessbeslissingen te nemen. Gegevensuitwisseling vindt alleen maar plaats naar het data warehouse toe, als éénrichtingsverkeer. Met Enterprise Intelligence verlaten we dit traditionele beeld. Met de eerder geschetste voorbeelden wordt aangetoond dat de combinatie van data warehouses en Business Intelligence als bron gaat dienen voor operationele systemen en primaire bedrijfsprocessen. Deze combinatie wordt een belangrijk centrum in het Enterprise Intelligencelandschap. Diepgaande kennis van bedrijfsprocessen helpen de organisatie om de informatievoorziening aan het fundament te verbeteren. Daarmee zijn ondernemingen in staat om te meten, te controleren en te sturen. De kwaliteit van een organisatie is namelijk in grote mate afhankelijk van het inzicht in haar bedrijfsprocessen en informatie. De verwachting is dat in de toekomst meer en meer processen via BI-systemen zullen verlopen. De combinatie van het moderne BI-systeem en data warehouses wordt een essentieel onderdeel van het volledige Enterprise Intelligence-landschap. Alle bedrijfsprocessen, waarbij historische en/of afgeleide gegevens een rol spelen, zullen via deze nieuwe intelligence-systemen verwerkt worden. Met andere woorden Business Intelligence wordt Enterprise Intelligence.
39
40
W E LOVE IT
De ce m b e r 2007
Uiteindelijk is het doel om in onze objectgeoriënteerde omgeving hele objectstructuren transparant te kunnen persisteren en op ieder gewenst moment weer op te vragen.
ICT SOLUTIONS
ICT Solutions gebruikt Hibernate in combinatie met Oracle RAC voor bedrijfskritische toepassingen Ian Hoogeboom is senior technisch ontwerper bij ICT Solutions en vertelt over zijn ervaring met Hibernate in combinatie met Java EE, Oracle RDBMS en Oracle RAC. Hij staat stil bij de voor- en nadelen van ORM frameworks zoals Hibernate en geeft enkele tips om achteraf problemen te voorkomen.
H I B E R N AT E
- J AVA E E - O R AC L E R D B M S - O R AC L E R AC
genoemd. Deze probleemstelling was de aanleiding voor de ontwikkeling van ORM tools en in ieder ORM framework staat het oplossen dit paradigma centraal. (zie voorbeeld objectmodel) In het verleden is vaak geprobeerd om dit probleem binnen projecten op te lossen. Ook ICT heeft al in de beginjaren van Java EE een framework gebouwd dat dit probleem tackelt. Dit framework is gebruikt voor tal van projecten, maar heeft behoorlijke concurrentie gekregen van open-source oplossingen zoals Spring en Hibernate.
Het nut van ORM Het is mogelijk om los van het objectmodel een apart relationeel model te maken en via ODBC, JDBC of een database API losse objectattributen op te slaan. Maar uiteindelijk is het doel om in onze objectgeoriënteerde omgeving hele objectstructuren transparant te kunnen persisteren en op ieder gewenst moment weer op te vragen. Met behulp van een ORM framework zoals Hibernate kan eenvoudig het objectmodel vertaald worden naar een overeenkomstig relationeel model. De objecten kunnen hierdoor direct worden opslagen en opgevraagd zonder dat hier ook maar iets voor de databasetoegang gecodeerd hoeft te worden.
Relationeel versus objectgeoriënteerd In een objectgeoriënteerde omgeving worden relaties gelegd tussen objecten met behulp van associaties. Dit is anders dan bij relationele modellering die bij databases wordt gehanteerd. Hierbij worden de relaties tussen tabellen gelegd door middel van primary- en foreignkeys. De twee methodieken verschillen zodanig van elkaar dat ze niet één op één op elkaar kunnen worden afgebeeld. Dit komt simpelweg doordat de wijze van objectbenadering anders is. In een objectmodel bewandel je objecten direct via hun relaties, in tegenstelling tot een relationeel model waarbij je tabellen moet joinen voor hetzelfde resultaat. Dit verschil tussen het objectmodel en het relationele model wordt het object relationele paradigma
De voor- en nadelen De bekende gezegde “elk voordeel heeft een nadeel”, gaat ook hier op. Een aantal voor- en nadelen op rij: Voordelen • Snellere integratie van database-
toegang door het uit handen nemen van vaak lastige persistentieimplementatie; • Overdraagbaarheid van de applicatie door de goede databaseonafhankelijkheid van ORM frameworks. Nadelen • Totaal andere werkwijze. Ontwikkelaars krijgen veel meer te maken met ‘object lifecycles’ dan met het ophalen en opslaan van gegevens. Dit vergt vaak een grote aanpassing voor ontwikkelaars die de meer traditionele manieren van persistentie gewend zijn; • Afscherming van de database voor de ontwikkelaar. Er is kennis van het onderliggende ORM framework nodig om inzichtelijk te krijgen wat er zicht afspeelt tussen de applicatie en de database. Bij (performance) problemen kan het dan erg lastig zijn te achterhalen wat er mis gaat.
Hibernate Hibernate is het meest gebruikte ORM framework in de Java omgeving. Het biedt volledig transparante persistentie voor zogenaamde Plain Old Java Objects (POJO’s). Het fungeert vaak als vervanging voor Entity Beans, maar kan ook los gebruikt worden in een standalone Java applicatie. Het wordt vaak gezien als de lichtgewicht variant voor de ‘zware’ en soms lastige EJB Entity Beans. Dit laatste dreef Gavin King, hoofdontwikkelaar van Hibernate, om een vervangende technologie voor EJB Entity
Voorbeeld objectmodel
>
41
H I B E R N AT E
Beans te ontwikkelen. Dit werd zo’n succes dat hij later een grote bijdrage heeft mogen leveren aan de ontwikkeling van de EJB 3.0 specificatie. Veel functionaliteiten van Hibernate zijn terug te vinden in de Java Persistence API.
Hibernate architectuur Hibernate is zowel te gebruiken in Java EE als standalone omgevingen. Hierdoor bestrijkt het een zeer groot gebied van de Java ontwikkelwereld en is het terug te vinden in steeds meer en meer ontwikkeltrajecten. Door de grote (open-source) achterban is er bovendien veel informatie beschikbaar en is uitgebreide ondersteuning voorhanden in tools zoals Eclipse. Het is mogelijk om zowel de eigen Hibernate query taal (HQL) als standaard SQL en JDBC door elkaar te gebruiken, waardoor men niet gedwongen wordt om zich alleen maar de Hibernate-regels te hoeven houden. Hierdoor is Hibernate een zeer flexibele ORM oplossing. Optimalisatie Bij optimalisatie van objectpersistentie zal onder andere een compromis gevonden moeten worden tussen het ophalen van zo min mogelijk data en het voorkomen dat hierdoor vaak de database benaderd moet worden. Bij het ophalen van zo min mogelijk data per keer, is de kans groot dat men veel vaker de database moet benaderen dan eigenlijk de bedoeling is (het N+1 probleem). Het ophalen van een complete objectboom is daarentegen
- J AVA E E - O R AC L E R D B M S - O R AC L E R AC
soms teveel van het goede. Het probleem hierbij is dat de werking vaak niet of nauwelijks transparant is voor de ontwikkelaar. De code werkt, maar kan bij een hoge belasting van de applicatie en database of bij grote hoeveelheden data uiteindelijk problemen gaan geven. Doordat het gebruik van een ORM framework op het eerste gezicht het leven van de ontwikkelaar makkelijker maakt, is het noodzaak dat de onderliggende techniek niet uit het oog verloren wordt. Zoals bij de meeste frameworks kan met een te geringe kennis van de onderliggende techniek, meer schade worden aangericht dan dat het framework oplevert. Kennis van het ORM framework, SQL en het relationele model blijft essentieel. Een kleine groep specialisten kijkt bij voorkeur mee in de ontwerp- en implementatiefase. Voor optimalisatie of het oplossen van database-specifieke problemen is het soms onontkoombaar om in te grijpen met database-vendor afhankelijke middelen. Het kan hierbij gaan om bijvoorbeeld tijdelijk andere isolationlevels of select-options. Hibernate staat dit bijvoorbeeld toe, maar dan is met hard-gecodeerde database-opties de overdraagbaarheid van de applicatie naar andere de RDBMS-en verloren gegaan.
Tips & Tricks Kennis van SQL en het bekendheid met codegeneratie van het framework, alsmede hoe dit naar database toe gecommuniceerd wordt, is belangrijk om problemen te voorkomen die later zonder diepgaande kennis lastig zijn op te lossen. Zorg daarom voor een specialist die tijdens het hele ontwikkeltraject betrokken is. Laat de betrok-
Ian Hoogeboom ken specialist monitoren of het ORM framework juist wordt toegepast en wat de impact is op DB-niveau. Zo komen eventuele problemen niet als een verrassing achteraf. Het is achteraf namelijk lastiger en duurder om problemen in het object- of relationele model op te lossen. De twee modellen zijn in een ORM oplossing namelijk sterk aan elkaar gekoppeld.
ORM i.c.m. Clustering en High Availability ORM en de huidige trend van schaalbare, geclusterde en high availability oplossingen, zoals Oracle RAC en IBM HACMP, gaan prima samen. Het vormt in ieder geval geen belemmering tijdens de ontwikkeling. Men moet meer rekening houden met de clusteroplossingen tijdens de ontwerpfase dan in de ontwikkelfase. Vaak zijn het ook de database-drivers of applicatie-servers die zich bezig moeten houden met de configuratie hiervan. Deze leveren uiteindelijke toegang tot de database, al dan niet met behulp van connection pooling.
Praktijkvoorbeelden Binnen diverse projecten die ICT Solutions heeft uitgevoerd is Hibernate succesvol geïntegreerd met Java EE, Spring en Oracle RAC. De flexibiliteit van Hibernate heeft ons hierbij in staat gesteld om specifieke oplossingen, waaronder tabel-partitionering en synchronisatie door locking, buiten Hibernate om te implementeren. Daarnaast is binnen een onderzoeksproject dat intern is uitgevoerd in zeer korte tijd een bijna volwaardig product gerealiseerd. Wat begon als demo, is mede door gebruik te maken van Hibernate (en Spring) als fundering, doorontwikkeld tot een volwaardige oplossing.
43
44
W E LOVE IT
De ce m b e r 2007
5HART-IT is als softwarehouse sinds 1984 gespecialiseerd op het gebied van Oracle, Java & Business Intelligence software. Kernactiviteit is het opleiden tot Oracle & Java expert, maar wij zijn ook actief op het gebied van detachering van Oracle & Java specialisten. Onze opleidingen zijn speciaal ontwikkeld voor en door automatiseerders. Vijfhart is marktleider op het gebied van persoonlijk (1:1) begeleide Oracle opleidingen en heeft een wijdverbreide klantenkring variërend van MKB, Multinationals, Overheidsinstellingen, et cetera. Wij verzorgen zowel persoonlijk (1:1) begeleide als klassikale opleidingen. Wij zijn gevestigd in Arnhem/ Velp, Nieuwegein, Turnhout (B) en Zwolle.
RedStone Innovations organiseert wereldwijd IT-evenementen. Bekende evenementen zijn DB2 Symposium en RedDatabase Symposium. Deze laatste is een uniek, onafhankelijk evenement volledig gericht op Oracle database professionals, waaronder DBA’s, ontwikkelaars en technische ontwerpers. Internationale topsprekers verzorgen hier diepgaande, praktische masterclasses. In de korte tijd dat het bedrijf bestaat, hebben al duizenden deelnemers RedStone evenementen bezocht. De evenementen worden altijd zeer hoog geëvalueerd. RedStone werkt voornamelijk met onafhankelijke sprekers en de sessies zijn gericht op de praktijk.Het bedrijf is opgericht door Rick van der Lans en Klaas Brant, beiden onafhankelijk adviseur, internationaal spreker en auteur. Kijk voor meer informatie op www.redstone-innovations.com en www.reddatabase-symposium.com.
5HART-IT Arnhemsestraatweg 33 - 6881 ND Velp www.vijfhart.nl T: 088 - 54 27 848
CIBER is een internationale ICT-dienstverlener die zich specialiseert in het bouwen, integreren en beheren van kritische bedrijfsoplossingen en -systemen. De oplossingen van CIBER worden zowel in maatwerk- als in pakketvorm geleverd. CIBER kijkt terug op ruim dertig jaar ervaring met klanten in zowel de overheid als het bedrijfsleven. Met 9000 medewerkers over de hele wereld genereert CIBER een omzet van ongeveer 1 miljard dollar. In Nederland is CIBER inmiddels meer dan 10 jaar actief met ongeveer 350 medewerkers vanuit de vestigingen Eindhoven, Nieuwegein en Den Bosch. CIBER Nederland richt zich op de branches (high-tech) industrie, utilities, overheid, telecom, media, financiële en zakelijke dienstverlening.
CIBER Nederland Meerkollaan 15 - 5613 BS Eindhoven T: 040 - 232 90 90 - F: 040 - 232 90 91 E:
[email protected] www.ciber.nl
RedStone Innovations BV Karperdaal 60 - 2553 PJ Den Haag T: 070-3978466 – F: 070-4040976 E:
[email protected]
Provide Consultancy BV is een softwarehuis dat al vanaf 1990 uitdagingen vindt in dienstverlening aan organisaties zowel in het bedrijfsleven als bij de overheid. Voor zowel realisatie als beheer van maatwerk-applicaties bent u bij Provide aan het goede adres. Met ruim 100 kwalitatief hoogstaande softwareontwikkelaars in vaste dienst is Provide uw deskundige partner in de ontwikkeling van maatwerk software. Provide onderhoudt langdurige klantrelaties die zijn gebaseerd op wederzijds vertrouwen. De meeste opdrachtgevers zijn te vinden in de financiële sector. Het bankwezen, betalingsverkeer, effecten, hypotheekverstrekkers, pensioenen en verzekeraars. Maar ook logistieke dienstverleners, overheid en semi-overheid en het midden- en kleinbedrijf maken in toenemende mate gebruik van de diensten van Provide. Provide Consultancy B.V. De Dompelaar 1-D - 3454 XZ De Meern T: 030 – 666 96 00 - F: 030 – 666 96 11 E:
[email protected] www.provide.nl
IN THE SPOTLIGHT
HintTech is specialist op het gebied van softwareontwikkeling (.Net™, Java™ platform, Tridion), content management, projectmanagement en informatiebeveiliging. Het bedrijf is opgericht in 1997 en werkt met innovatieve en bewezen technologieën en methodieken. Hiermee realiseert HintTech kwalitatieve maatwerkoplossingen voor haar klanten. Voor Tridion, Microsoft, Sun J2EE™ en IBM WebSphere is HintTech zowel adviserend alsook uitvoerend partner. HintTech kan onder andere Shell, Nuon, Postbank copyright Markus Angermeier from Aperto AG Berlin, Germany en KLM tot haar klanten rekenen. Kijk voor meer informatie op www.hinttech.nl.
HintTech Rotterdamseweg 183c - 2629 HD Delft T: 015-268 25 73 - F: 015-268 25 67 www.hinttech.nl
Qualogy, 10 jaar geleden opgericht door enkele oud Oracle medewerkers, is sinds jaar en dag een betrouwbare partner van Oracle Nederland. Qualogy kenmerkt zich door het volgende: • Gespecialiseerd in Oracle en Java • 100 medewerkers • Minimaal 5 jaar relevante ervaring • Informeel, betrouwbaar, betrokken • Consultants met kennis van Oracle Databases, e-Business Suite, Application Server, Oracle Tools, Webmethods, Siebel, Java. • Top ICT Werkgever 2007
Qualogy Consultancy BV De Bruyn Kopsstraat 9 - 2288 EC Rijswijk (ZH) T: 070 319 5000 - F: 070 307 0111 E:
[email protected] www.qualogy.com
TenPlus Opleidingen is intermediair in ICT opleidingen. Wij zorgen dat vraag en aanbod op het gebied van ICT opleidingen elkaar vinden. TenPlus is een jonge, enthousiaste onderneming en presenteert zich op een informatieve en logische manier. TenPlus heeft haar ervaring en kennis in de ICT markt door samenwerkingsverbanden met kwaliteitsopleiders. Onze pluspunten zijn o.a.: • Breed aanbod van opleidingen bij elkaar • Gemak van eenvoudig zoeken en dus tijd besparen • Gunstig boeken: scherpe prijzen daar mogelijk met korting • Zorg voor kwaliteitsopleidingen door de samenwerking met gerenommeerde opleidingsinstituten • Onafhankelijk aanbod en advies TenPlus Opleidingen Iepenhoeve 39 -3438 MR Nieuwegein T: 030 6085 831 E:
[email protected] W: www.tenplus.nl
Unacle is specialist op het gebied van Unix en Oracle. Wij bieden detachering en consultancy, maar ook praktische diensten als remote beheer, installatie en configuratie en 7 x 24 uur stand-by dienstverlening. Unacle is van ‘jonge hond’ uitgegroeid tot professionele, marktbepalende organisatie mét behoud van passie en teamgeest. Onze specialisten ondersteunen u met raad en daad, voor korte óf langere tijd. Zij zijn de basis van ons succes en worden dan ook zorgvuldig geselecteerd. Om ook in de toekomst uw behoefte aan specialisten in te kunnen vullen, hebben wij een eigen trainingsprogramma. Hiermee is de instroom van nieuwe Unix- en Oracle-specialisten gewaarborgd. Kijk voor meer informatie op www.unacle.nl, www.unixtalent.nl of www.oracletalent.nl. Unacle B.V. Symfonielaan 26 - 3438 EV Nieuwegein T: 030 602 06 60 - F: 030 602 06 69 E:
[email protected]
45
W E LOVE IT
De ce m b e r 2007
VOLGEND NUMMER SPECIFIEKE ORACLE & JAVA BRANCHE OPLOSSINGEN
Colofon
46
We Love IT: Hét magazine voor en door Oracle & Java gebruikers –en ontwikkelaars Oplage 15.000 exemplaren Redactie Oracle, Toon Koppelaars, Unisys, Maarten Schneider, RuleGen, Eckart Wintzen, JTeam, Ilse Media, BonAvoda, IT-eye, Netmanage, Kadenza en ICT automatisering. Contact We Love IT Tom van Luijk Arnhemsestraatweg 33 6881 ND Velp 026 – 35 29 336 www.weloveit.nl
[email protected] Vormgeving & PrePress V/D Velden Mediaproducties b.v. Brinkeweg 33 7108 AJ Winterswijk 0543 - 476 476
[email protected] Drukkerij Senefelder Misset Mercuriusstraat 35 7000 AB Doetinchem www.senefelder.nl
Uw artikel in We Love IT?
Abonneren?
We Love IT ontvangt graag uw Oracle artikelen. Bijvoorbeeld op het gebied van Oracle Applications, Oracle Databases, Enterprise management, Fusion Middleware, Java/ J2EE, Business Intelligence
We Love IT is het magazine van en voor Oracle & Java-J2EE gebruikers en ontwikkelaars. Niet het blad maar de markt bepaalt de inhoud en iedereen wordt in de gelegenheid gesteld zijn of haar mening te geven. Wanneer u vanaf nu niets meer wilt missen kunt u zich nu ook gratis abonneren op We Love IT. Ga naar: www.weloveit.nl./abonneren
Voorbeelden zijn: Column, Evenement verslag, Implementatie project, Interview, Innoverende cases, Klantcase, Onderzoeksresultaten, Uw visie Voor meer informatie over We Love IT ga naar: www.weloveit.nl.
Adverteren? We Love IT bereikt (minimaal 15.000) Oracle, Java/J2EE en Business Intelligence specialisten -gericht en zonder wasteop basis van Controled Circulation in Nederland. Ga naar: www.weloveit.nl.
Adverteerders Index 5HART-IT HintTech LinkIT Oracle Provide Consultancy Qualogy Redstone Innovations TenPlus Tim Foundation Meant2B
Voor een GRATIS Abonnement surf naar WWW.WELOVEIT.NL of bel +31 (0) 26 - 352 93 36
v.