Selectie van database en andere componenten Ten behoeve van Startpakket Gegevensverstrekking (SpG)
Versie: 1.1 Datum: 12-04-2005 Hoofdauteur: Bart S.J. Knubben Stichting ICTU / Programma OSOSS Nieuwe Duinweg 24-26 Postbus 84011 2508 AA DEN HAAG E:
[email protected] I: http://www.ososs.nl
Auteursrechten voorbehouden. © Stichting ICTU / Programma OSOSS
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
Inhoudsopgave 1. Inleiding.................................................................................................... 4 2. Onderzoeksopzet....................................................................................... 4 2.1 Werkwijze......................................................................................................... 4 2.2 Methodiek......................................................................................................... 4
3. Leeswijzer................................................................................................. 5 4. Startpakket Gegevensverstrekking (SpG).................................................. 6 4.1 Beschrijving...................................................................................................... 6 4.2 Referentie architectuur..................................................................................... 6 4.3 Eisen................................................................................................................. 7
5. Vergelijking Open Source Databases.......................................................... 8 5.1 Inleiding............................................................................................................8 5.2 Overzicht...........................................................................................................9 5.3 Eerste selectie op basis van functionaliteit...................................................... 10 5.3.1 Vergelijking van functionaliteit...................................................................... 10 5.3.2 Conclusie met betrekking tot functionaliteit..................................................... 11 5.4 Vergelijking van geselecteerde databases op volwassenheid.......................... 12 5.4.1 Ingres....................................................................................................... 12 5.4.1.1 Inleiding............................................................................................. 12 5.4.1.2 Beoordeling......................................................................................... 13 5.4.1.3 Referenties.......................................................................................... 14 5.4.2 PostgreSQL................................................................................................ 15 5.4.2.1 Inleiding............................................................................................. 15 5.4.2.2 Beoordeling......................................................................................... 16 5.4.2.3 Referenties.......................................................................................... 17 5.4.3 Conclusie met betrekking tot volwassenheid.................................................... 18 5.5 Beheeraspecten...............................................................................................18 5.6 Conclusie.........................................................................................................19
6. Gesloten / proprietary databases............................................................. 20 6.1 Inleiding..........................................................................................................20 6.2 Overzicht.........................................................................................................20 6.2.1 Oracle Database Enterprise Edition................................................................ 20 6.2.2 IBM DB2.................................................................................................... 21 6.2.3 Microsoft SQL server.................................................................................... 21 6.3 Beheeraspecten...............................................................................................21 6.4 Conclusie.........................................................................................................21
7. Beoordeling volwassenheid overige componenten................................... 23 7.1 Inleiding..........................................................................................................23 7.2 Applicatieserver.............................................................................................. 23 7.2.1 Inleiding.................................................................................................... 23 7.2.2 Beoordeling................................................................................................ 23 7.2.3 Referenties................................................................................................. 24 7.3 Webserver.......................................................................................................25 7.3.1 Inleiding.................................................................................................... 25 7.3.2 Beoordeling................................................................................................ 25 7.3.3 Referenties................................................................................................. 25 7.4 Message Broker...............................................................................................27 7.4.1 Inleiding.................................................................................................... 27 7.4.2 Beoordeling................................................................................................ 27 7.4.3 Referenties................................................................................................. 27 7.5 Object/relational mapping.............................................................................. 28 7.5.1 Inleiding.................................................................................................... 28 7.5.2 Beoordeling................................................................................................ 28 pagina: 2 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
7.5.3 Referenties................................................................................................. 29 7.6 Workflow.........................................................................................................30 7.6.1 Inleiding.................................................................................................... 30 7.6.2 Beoordeling................................................................................................ 30 7.6.3 Referenties................................................................................................. 31 7.7 Maatwerk voor Dienstenlogica.........................................................................32 7.8 Conclusie.........................................................................................................32
8. Conclusie en aanbeveling......................................................................... 33 Literatuur.................................................................................................... 35 Review rapport door LogicaCMG................................................................... 36
pagina: 3 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
1. Inleiding
Dit onderzoek is op verzoek van het Project Startpakket GBA opgesteld door het Programma OSOSS. Het programma OSOSS ondersteunt in opdracht van de ministeries van BZK en EZ overheidsorganisaties bij de inzet van open standaarden en open source software. In dit onderzoek is nagegaan wat de inzetbaarheid is van de open source componenten die in de Definitie Studie voor Startpakket Gegevensverstrekking (SpG) zijn voorgesteld. Daarbij is niet alleen gekeken naar de vereiste functionaliteiten en prestaties van de open source software, maar tevens naar beheeraspecten. Wij hopen dat dit onderzoek samen met de Definitie Studie een solide basis vormt voor de selectie van de softwarecomponenten voor SpG. De aandacht voor open source software in het traject modernisernig GBA dient een aantal duidelijk omschreven doelen. Allereerst wil het Project Startpakket GBA invulling geven aan het beleid van het kabinet om naast gesloten software ook open source software te betrekken in selectietrajecten.1 Daarnaast biedt het licentiemodel waarmee open source software wordt verspreid een aantal mogelijkheden die in het kader van de opzet van het SpG zeer relevant zijn. Zo heeft de licentienemer onbeperkt toegang tot de broncode ofwel 'het recept' van de software en mag deze de software aanpassen, kopiëren en verder verspreiden. Open source software biedt daarmee door zijn licentiemodel: Leveranciersonafhankelijkheid; Volledige transparantie van de gegevensverwerking; Ruime mogelijkheden voor hergebruik; en Mogelijke kostenvoordelen, omdat er (per definitie) geen sprake is van licentiekosten.2 Deze karakteristieken van open source software zijn voor het Project Startpakket GBA belangrijke overwegingen om open source software te betrekken in het selectietraject.
2. Onderzoeksopzet 2.1 Werkwijze Voor dit onderzoek is gebruik gemaakt van externe publicaties, referenties en interne expertise binnen ICTU. De externe publicaties omvatten rapporten van toonaangevende onderzoeksbureaus, zoals Forrester, en vele andere documenten die grotendeels beschikbaar zijn via internet. De referenties zijn organisaties die zelf ervaring hebben met de desbetreffende software-component. Verschillende referenties en bijbehorende citaten zijn publiekelijk beschikbaar via internet. Andere referenties, met name die binnen de Nederlandse overheid, zijn in het kader van dit onderzoek telefonisch en/of schriftelijk benaderd en direct gevraagd naar hun ervaring met het desbetreffende open source software product. Om de kwaliteit en de objectiviteit te waarborgen is het document tussentijds tegengelezen door LogicaCMG. Met name de paragrafen over databases waren onderdeel van de review. Het review rapport is als bijlage bijgevoegd.
2.2 Methodiek De beoordelingsmehodiek is gebaseerd op de door Project Startpakket GBA opgestelde criteria3 en op bestaande modellen en concepten om softwareproducten te beoordelen.4 In de 1 2
3 4
Zie http://www.ososs.nl/article.jsp?article=4575. Een ander punt is dat open source componenten vaak 'lean and mean' zijn en geen overbodige ballast met zich mee dragen. Open source software is daarom vaak geschikt om als bouwsteen te gebruiken. Zie ook de opmerking (action no. 33) hierover in het review rapport van LogicaCMG. Zie o.a. memo d.d. 8 december 2004 van Project Startpakket GBA aan Programma OSOSS. Zie bijvoorbeeld de lijst van de Rabobank
pagina: 4 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
beoordeling is onderscheid gemaakt tussen de functionaliteit en de volwassenheid van een softwarecomponent. Daarbij wordt ook gekeken naar de beheer- en supportmogelijkheden, die voor SpG van zeer groot belang zijn. Omdat de relationele database wordt beschouwd als de kerncomponent van SpG, gaat in dit document de meeste aandacht uit naar dit onderdeel. Enkel de open source databases worden zowel op volwassenheid als diepgaand op functionaliteit beoordeeld, en met elkaar vergeleken. Het document bevat geen diepgaande analyse van de commerciële ofwel proprietary databases, maar wel een quick-scan van hun volwassenheid, functionaliteit en kosten. Voor de andere componenten, zoals de applicatieserver en de workflowengine, wordt geen vergelijking gemaakt. De verschillende open source producten, die door Project Startpakket GBA zijn geïdentificeerd om deze componenten in te vullen, worden wel op zichzelf beoordeeld op hun volwassenheid. Voor de beoordeling van de functionaliteit van de databases zijn de criteria die door Project Startpakket GBA zijn gedefinieerd als uitgangspunt genomen. Het Project Startpakket GBA heeft daartoe verschillende database-functionaliteiten gewaardeerd op hun relatieve belang. De beoordeling van volwassenheid wordt gedaan op basis van 16 criteria, die zijn onderverdeeld in 4 groepen, te weten Eigenschappen, Organisatie, Marktacceptatie en Exploitatie. Eigenschappen zien op de generieke kenmerken van het product. Met de criteria onder de groep Organisatie wordt de gemeenschap achter het product beoordeeld. Onder Marktacceptatie komt aan de orde in hoeverre het product bekend is en gebruikt wordt, terwijl bij Exploitatie aandacht wordt besteed aan wat het gebruik van het product betekent als het gaat om bijvoorbeeld beheer en kosten.
3. Leeswijzer
Het volgende hoofdstuk 4 gaat in op de architectuur van SpG en de bijbehorende eisen. Een en ander is overgenomen uit de Defintie Studie Startpakket die is opgesteld door het Project Startpakket GBA. In hoofdstuk 5 staan de open source databases centraal. Deze worden met elkaar vergeleken volgens de methodiek die in het vorige hoofdstuk is geschetst. Vervolgens komen in hoofdstuk 6 de gesloten (ook wel proprietary) databases kort en bondig aan de orde. In hoofdstuk 7 gaat de aandacht uit naar de andere componenten binnen de SpG architectuur. Door Project Startpakket GBA geïdentificeerde open source producten worden beoordeeld op volwassenheid. Tot slot wordt in hoofdstuk 8 een aanbeveling gedaan met betrekking tot de selectie van de componenten voor SpG, en wordt ingegaan op vervolgstappen die uit de aanbeveling voortvloeien. Aan het eind van het document zijn een overzicht van de meest belangrijke literatuur en het review rapport van LogicaCMG opgenomen.
(http://www.informatie.nl/artikelen/2004/06/driePilotsBijDeRabobankCase.html) en het Open Source Maturity Model van Cap Gemini (http://www.seriouslyopen.org).
pagina: 5 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
4. Startpakket Gegevensverstrekking (SpG) 4.1 Beschrijving Het Startpakket Gegevensverstrekking (SpG) is één centrale, rekencentrumachtige faciliteit die gevoed wordt vanuit de lokale GBA-systemen van gemeenten (SpA's5) en die afnemers van gegevens moet voorzien. Met de SpG worden alle persoonslijsten centraal opgeslagen en toegankelijk. De “persoonslijst”, kortweg PL, is de verzameling gegevens van een persoon. Op de persoonslijst leggen de gemeenten de administratieve levensloop van de betrokken persoon vast. Een persoonslijst bevat uiteraard de actuele gegevens over de persoon. Daarnaast bevat de persoonslijst historische gegevens. Alle relevante gegevens over de administratieve levensloop van een persoon staan op zijn persoonslijst bij elkaar.6
4.2 Referentie architectuur De onderstaande tekening is afkomstig uit de Defintie Studie Startpakket en representeert de referentie architectuur van SpG.
Afbeelding 1: Referentie architectuur Legenda Standaard componenten Specificaties Programmering
5 6
SpA staat voor Startpakket Actualisering. Zie http://www.bprbzk.nl/downloads/De_gegevensverzamelingen_van_de_GBA.PDF
pagina: 6 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
4.3 Eisen Aan SpG worden diverse eisen gesteld. Bij de inrichting van SpG vormen bijvoorbeeld, overeenkomstig het kabinetsbeleid, open standaarden het uitgangspunt. Tevens geldt dat de componenten, en met name de database als kerncomponent, niet platformafhankelijk mogen zijn. Daarnaast worden enkele eisen ten aanzien van de capaciteit, snelheid en continuïteit gesteld. Deze eisen laten zich vertalen in een aantal cruciale functionaliteiten waarover het systeem en met name de database moet beschikken. Een van deze functionaliteiten betreft replicatie. Replicatie kan op verschillende wijzen en niveaus worden gerealiseerd. Gedacht kan worden aan hardware-clustering op diskniveau en het inzetten van een identieke server als “hot standby” van de ander. Daarnaast kan worden gedacht aan softwarematige load-balancing, waarbij de inkomende database-transacties worden verdeeld over verschillende machines. Met name de clustering van raadplegingen (queries) door middel van “multiple slave replication” wordt door Project Startpakket GBA cruciaal geacht. Een aantal belangrijke parameters, die de eisen representeren, zijn opgenomen in de onderstaande tabellen. Parameter
Waarde
Capaciteit (GB)
745
Aantal transacties per jaar
90.000.000
Aantal berichten per jaar
180.000.000
Piekbelasting per uur
162.500
Piekbelasting per seconde
50
Dataverkeer per transactie (kB)
10
Performance [Tgem (sec), Tmax (sec)]
Mutaties (vanuit SpA)
2
4
Mutaties (vanuit afnemers)
3
6
Raadplegingen (vanuit SpA)
1
3
Raadplegingen (vanuit afnemers)
1
3
15
60
Propagatie wijzigingen (wijziging doorvoeren in schaduwkopie) Continuïteit
Beschikbaarheid tijdens kantooruren
99,9%
Beschikbaarheid buiten kantooruren
99,4%
Tabel 1: Eisen m.b.t. capaciteit, snelheid en continuïteit voor SpG De onderstaande tabel geeft inzicht in de verhouding tussen de verschillende transactietypen. Transactietype
Aantal per uur (piek)
Aantal mutaties vanuit SpA
12.500
Aantal mutaties vanuit afnemers
12.500
Raadplegingen vanuit SpA
62.500
Raadplegingen vanuit afnemers
50.000
Mutatieberichten naar afnemers
25.000
Totaal
162.500
Tabel 2: Maximaal aantal transacties per uur
pagina: 7 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5. Vergelijking Open Source Databases 5.1 Inleiding Databases worden, evenals besturingssystemen, steeds meer beschouwd als onderdeel van de basis infrastructuur. De database is meer en meer verworden tot een zogenaamde commodity, die op zichzelf slechts in beperkte mate onderscheidend is. Het onderscheid zit hem vaker in de de implementatie van de database. Zaken als configuratie, optimalisatie (tuning), keuze van het besturingssysteem en hardwarekeuze spelen hierbij een belangrijke rol. Het voorgaande speelt een belangrijke rol bij de selectie van de database en andere infrastructurele componenten, zoals het besturingssysteem. Een gevolg van de “commoditization” is dat op de databasemarkt een kleiner aantal commerciële aanbieders actief is dan enige jaren geleden. Verschillende bedrijven, zoals marktleider Oracle, betreden bijvoorbeeld andere markten om zich te kunnen onderscheiden. Andere bedrijven, zoals CA, IBM en SAP, verspreiden hun databaseproduct inmiddels onder een open source licentie. Naast deze zijn er ook verschillende databases, zoals PostgreSQL en MySQL, die al lange tijd onder een open source licentie worden geleverd. Open source databases winnen de laatste tijd sterk aan populariteit. Dit kan worden beschouwd als een tweede gevolg van de “commoditization” van database-software.7 Uit recent onderzoek onder database administrators blijkt dat 64% van Amerikaanse bedrijven gebruik maakt van één of meerdere open source databases. Het aandeel is sterk gegroeid ten opzichte van vorig jaar, toen het aandeel nog 58% bedroeg.8 Andere onderzoeksbureaus komen tot de conclusie dat open source databases een serieus alternatief vormen. Forrester stelt: “Open source databases should be part of your DBMS strategy “. AMR Research meldt het volgende: “Open source databases are ready for many enterprise uses today, so companies should begin evaluating them and determine a coexistence strategy with traditional databases.”9
7 8 9
Zie http://europa.eu.int/idabc/en/document/2034/469. Evans, 2004 (http://www.evansdata.com/n2/pr/releases/EDCDB05_01.shtml). Zie http://www.amrresearch.com/Content/view.asp?pmillid=16822.
pagina: 8 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5.2 Overzicht In dit hoofdstuk worden vier open source databases met elkaar vergeleken. De vier zijn relatief bekende relationele databases, die allemaal reeds binnen de Nederlandse overheid worden ingezet. In onderstaande tabel worden de kerngegevens van de vier databases kort gepresenteerd. Op de genoemde websites kan de desbetreffende software, broncode en documentatie worden gedownload.
Naam
Website
Organisatie
Laatste versie
Licentie
8.0.1
BSD
PostgreSQL
www.postgresql.org
PostgreSQL Global Development Group
MaxDB
www.mysql.com/maxdb
MySQL AB
7.5
GPL of proprietary
Ingres
www.ca.com/opensource
Computer Associates
R3
CA-TOSL
MySQL
www.mysql.com
MySQL AB
4.1
GPL of proprietary
Tabel 3: Overzicht open source databases
pagina: 9 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5.3 Eerste selectie op basis van functionaliteit 5.3.1 Vergelijking van functionaliteit In deze paragraaf wordt de functionaliteit van de betrokken open source databases onderling met elkaar vergeleken en langs de meetlat gelegd. De meetlat bestaat uit de weging die Project Startpakket GBA aan de verschillende functionaliteiten heeft gekoppeld. De schaal van de weging loopt van 1 tot 5 (1=onbelangrijk, 2= minder belangrijk, 3=wens, 4= sterke wens, 5=harde eis). Alleen functionaliteit met de waarde “5” vormt een knock-out criterium. Functionaliteit
Weging PostgreSQL MaxDB Ingres MySQL
Transacties ACID
4
√
√/X
√
√10
Row- and table-level locking
4
XA support
2
X
√
√
√
X
√
Deadlock detection
4
X
√
√/X12
√
√
Commit, rollback en Savepoint
5
√
√
√
√
Triggers
3
√
√
√
X13
Stored procedures
2
√
√/X
√
X13
User-defined functions
1
√
√
√
√
Views
5
√
√
√
X13
Indexes
4
√
√
√
√
Data partitioning (d.w.z. table spaces)
4
√
?
√
X
Bitmap indexes
3
X
X
X
X
Parallel query (multi-threading)
3
X
?
√
X
Unstructured BLOB
2
√
√
√
√
Terabyte-size table
5
√
√
√
√
Real-time data replication (multi-slave)
5
√14
√/X15
√
√
Online database backups
4
√
√
√
√
Hot standby databases
4
√
√
√
√/X
Cluster failover support (multi-master)
4
√14
√/X
√
X
Online table and index reorganization
3
√
√
√
√
Auditing
4
√
√
√
√
Roles
3
X
?
√
X
Fine-grained access control
3
√
?
√
√
Data-in-motion encryption (SSL)
2
√
X
√
√
Data on disk encryption
2
√/X17
?
√/X
√/X
√
11
Programmeerbaarheid
Data Warehousing
High Availability 16
Beveiliging
10 11 12
13 14
15 16 17
MySQL ondersteunt alleen transactie-management via InnoDB. Dit is niet de standaard instelling. PostgreSQL ondersteunt ook het geavanceerde MVCC (MultiVersion Concurrency Control). Geen probleemloze implementatie. Deadlock detection wordt ook niet expliciet genoemd als eigenschap op de website van MaxDB. Triggers, stored procdures en views komen ter beschikking in de aanstaande MySQL versie 5. Replicatie is geen standaard onderdeel van PostgreSQL. De PostgreSQL gemeenschap heeft gekozen voor een structuur waarbij externe modules cluster functionaliteit bieden. Er zijn diverse modules beschikbaar zoals, Slony-I (http://www.slony.info ), PGCluster (http://pgfoundry.org/projects/pgcluster) en PGPool (http://pgfoundry.org/projects/pgpool/). Ook kan C-JDBC (http://c-jdbc.objectweb.org) hiervoor worden gebruikt. Voor replicatie van PostgreSQL bestaan ook commerciële oplossingen zoals ERserver en Mammoth Replicator. Deze worden replicatiemogelijjkheden worden ook in de praktijk toegepast. Het bedrijf Afilias maakt bijvoorbeeld gebruik van Slony-I, terwijl Kennisnet momenteel bezig is met C-JDBC in combinatie met PostgreSQL. Zie http://www.geocities.com/mailsoftware42/db/. PostgreSQL ondersteunt Point-In-Time Recovery (PiTR). PostgreSQL kent geen eigen encryptie, maar ondersteunt wel encrypted file systems.
pagina: 10 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5.3.2 Conclusie met betrekking tot functionaliteit Uit de vergelijking komt naar voren dat twee open source databases, namelijk PostgreSQL en Ingres, voldoen aan de eisen die gesteld worden en geen cruciale functionaliteit missen. Beide databases leveren een ruim spectrum aan functionaliteit, waaronder een aantal enterprise features, zoals replicatie en savepoints, die noodzakelijk zijn voor SpG. Ingres beschikt over de meeste features. PostgreSQL doet daar nauwelijks voor onder. Omdat replicatie in PostgreSQL mogelijk is met behulp van aanvullende modules, zijn er diverse externe mogelijkheden voor replicatie, zoals Slony-I en C-JDBC,waarvan bekend is dat deze in productie-omgevingen worden ingezet. MaxDB valt af omdat enerzijds belangrijke functionaliteit, zoals replicatie mogelijkheden, ontbreekt en anderzijds, ondanks uitgebreid onderzoek, onduidelijkheden blijven bestaan met betrekking tot de geboden functionaliteit. MySQL voldoet niet omdat in de huidige versie een aantal basisfunctionaliteiten, zoals triggers en views, ontbreken. In de aanstaande versie 5 van MySQL zal deze functionaliteit wel zijn opgenomen. PostgreSQL en Ingres, de open source databases die qua functionaliteit voldoen, worden in de volgende paragraaf uitgebreid op volwassenheid beoordeeld.
pagina: 11 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5.4 Vergelijking van geselecteerde databases op volwassenheid 5.4.1 Ingres 5.4.1.1 Inleiding De wortels van Ingres liggen net als die van PostgreSQL bij een databaseproject in de jaren '80 aan de Universiteit van Berkeley. De beide producten zijn al heel snel ieder hun eigen weg gegaan, en zijn nu volstrekt zelfstandige losstaande producten. Ingres was tot voor kort een commercieel product van Computer Associates. Echter, in augustus 2004 heeft het bedrijf de software onder een eigen ontwikkelde open source licentie vrijgegeven. De vrijgave ging gepaard met een nieuwe release, genaamd r3. Door de actie van Computer Associates Afbeelding 2: Grafische interface voor Ingres nam de belangstelling voor het product sterk toe. Ingres stond tot voor kort bekend als een goed product dat slecht in de markt werd gezet, waardoor het marktaandeel beperkt bleef. Door de vrijgave van Ingres zou dit laatste wel eens kunnen gaan veranderen.
pagina: 12 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5.4.1.2 Beoordeling
Ingres
Score (1-5)
Toelichting
Eigenschappen Betrouwbaarheid en stabiliteit
5
Ingres is een zeer uitgebreide enterprise database, die zich heeft bewezen als zijnde zeer stabiel.
Prestaties
5
Ingres staat bekend om zijn goede prestaties. Met name bij zware toepassingen scoort Ingres goed.
Standaarden / koppelvlakken
5
Ingres ondersteunt ANSI SQL. Daarnaast kent Ingres interfaces voor XML, ODBC, JDBC en .NET. CA is een partnership met JBoss aangegaan om een complete uit open source software bestaande oplossing te creëren die in de vraag naar zeer snelle relationele dataopslag in samenhang met op J2EE gebaseerde applicatieservers kan voorzien. Het project integreert JBoss Application Server, en JBoss Hibernate object-relational query service met de Ingres Enterprise Relational Database.
Platformonafhankelijkheid
4
Ingres is beschikbaar voor Linux, Windows en Solaris. Ingres is niet beschikbaar voor het BSD platform.
Organisatievorm
2
De community rondom Ingres moet nog ontstaan, omdat het product pas sinds kort open source software is. Momenteel maakt met name CA dienst uit. Het project is ook volledig ondergebracht op de website van CA.
Activiteit
2
De activiteit op de mailinglist is laag. Er moet nog een community ontstaan.
Leeftijd
4
Ingres (http://opensource.ca.com/projects/ingres/) is sinds 1980 als commercieel product beschikbaar. Sinds 4 augustus 2004 is Ingres open source software.
Licentie
3
CA heeft een eigen open source licentie ontwikkeld, namelijk de CA Trusted Open Source License (CTOSL); Deze licentie is door CA opgesteld en lijkt op de redelijk bekende Common Public License (CPL). De licentie is goedgekeurd door OSI.
Marktaandeel
2
Ingres kent een klein maar siginificant marktaandeel in Nederland.
Documentatie en opleidingen
3
Uitgebreide handleidingen zijn beschikbaar op de website van CA. Op Amazon.com zijn er 5 boeken beschikbaar over Ingres. Er zijn nauwelijks opleidingen voor Ingres in Nederland.
Ondersteuning
4
Ingres wordt uiteraard ondersteund door CA en door zijn partners, zoals Elegant Group en AAC Cosmos.
Gebruikersgemeenschap
4
Nederlandse gebruikers zijn georganiseerd in de Ingres UserGroup Nederland. er zijn 5 mailinglists van het Ingres project. Tot nu toe is zijn er nog niet veel verkeer op de mailinglists.
Implementatie en beheer
3
De implementatie van Ingres vereist specialistische expertise. Het product wordt bijvoorbeeld nog niet standaard meegeleverd met de gangbare Linux distributies.
Gebruik
4
Er zijn goede grafische beheertools (zoals Visual Database Object Difference Analyzer ) voor Ingres. Momenteel zijn nog niet alle database management tools beschikbaar als open source.18
Leveranciersonafhankelijk heid
4
Doordat Ingres onder een open source licentie wordt geleverd, is de gebruiker juridisch gezien niet afhankelijk van een leverancier. Omdat Ingres sinds kort open source is en er daarom nog geen actieve community is ontstaan, is men voor ondersteuning en doorontwikkeling wel in hoge mate afhankelijk van CA.
Kosten
3
Aan Ingres zijn geen licentiekosten verbonden. Wel moet rekening worden gehouden met kosten voor implementatie en beheer.
Organisatie
Marktacceptatie
Exploitatie
Sub-Totaal
Totaal (max. 100)
57
7119
Tabel 4: Beoordeling volwassenheid Ingres
18 19
Zie http://ie.developerpipeline.com/60401394. De maximale waarde van het sub-totaal is 80. Om de totaalscore inzichtelijk te maken op een schaal van 1-100, is ervoor gekozen om de sub-totaal score te vermeningvuldigen met 10/8.
pagina: 13 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5.4.1.3 Referenties Ingres wordt gezien als een zeer volwaardige database die zeer rijk is aan enterprise features. Noel Yuhanna van Forrester Research zegt over Ingres het volgende: “Ingres is the most complete open source relational database. It has been around for more than two decades and is well known to have advanced enterprise-class features and reliability on par with many commercial DBMSs.” Een andere database-expert zegt dat Ingres nu uit zijn schulp kruipt. Hij zegt dit als volgt: “For the past decade, Ingres has languished in relative anonymity, even while being enhanced and updated by CA. Now that it's been released to the open source community, this free database is suddenly a lot more attractive to developers and database administrators. If you're shopping for a database, and have been looking at Oracle, DB2, SQL server and MySQL, you really should add Ingres r3 to your evaluation list—it might be just what you're looking for.”20 Uit de media-aandacht voor Ingres is af te leiden dat Ingres momenteel sterk in de belangstelling staat, maar ook het aantal downloads van de website van CA wijst hierop. “Computer Associates has more than doubled the number of users of its Ingres database by providing the open source community with the software. [...] Under its open source licence, CA said more than 15,000 copies of Ingres have been downloaded.”21 Toch zijn er ook negatieve geluiden. RIKZ, onderdeel van Rijkswaterstaat, heeft er afgelopen jaar bijvoorbeeld voor gekozen om Ingres te verruilen voor MySQL. Één van de belangrijke redenen hiervoor was dat de UNIX-versie van Ingres een fout bevatte die maar niet werd opgelost, aldus Frank Hopman van RIKZ. Hieronder volgt een overzicht van de verschillende referenties voor Ingres. Deze organisaties werken met de laatste commerciële release van Ingres (versie 2.6), en (nog) niet met de onlangs geïntroduceerde open source variant Ingres r3. Organisatie Rijkswaterstaat
Toepassing Verschillende toepassingen, waaronder geo-informatie
Ministerie van SZW Riza Flevopolder
Watergegevens
CIV Utrecht
Informatie m.b.t. voetbalvandalisme
Tabel 5: Referenties Ingres
20 21
Zie http://www.devx.com/CAIngres/Article/26608?trk=DXRSS_LATEST Zie http://www.computerweekly.com/Article134656.htm
pagina: 14 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5.4.2 PostgreSQL 5.4.2.1 Inleiding De oorsprong van PostgreSQL ligt bij een databaseproject dat onderzoekers in 1986 startten aan de Universiteit van Berkeley. In de jaren '90 werd de SQL interface toegevoegd en werd het project omgedoopt tot PostgreSQL. Momenteel is PostgreSQL een open source database die bekend staat om zijn rijke hoeveelheid features en zijn stabiliteit. Tot voor kort was PostgreSQL overduidelijk de open source database die het meest “enterprise ready” was. Nu verschillende databaseproducenten hun software hebben vrijgegeven als open source, zijn er meerdere open source databases die goed meedoen Afbeelding 3: PGAdmin-III is een grafische beheertool voor PostgreSQL. in het hogere segment. PostgreSQL is echter nog steeds een hoofdrolspeler, zoals in paragraaf 5.3 reeds werd vastgesteld.
pagina: 15 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
5.4.2.2 Beoordeling Score (1-5)
Toelichting
Eigenschappen 5
Volgens de project website biedt PostgreSQL met name voordelen op het gebied van stabiliteit en betrouwbaarheid. Uit verschillende referenties blijkt ook dat PostgreSQL een zeer robuuste database is. Er zijn diverse mogelijkheden voor replicatie. PostgreSQL borduurt voort op oude, bewezen technologie.
Prestaties
4
Hoewel PostgreSQL niet bekend stond als een snelle database, is dit sterk verandert gedurende de laatste jaren. Binnen het OSDL22 wordt door de PostgreSQL community veel aan performance testing gedaan. Verschillende onderzoeken, waaronder een Nederlandse, laten zien dat PostgreSQL in vergelijking met commerciële en andere open source databases uitstekend presteert.23
Standaarden
5
PostgreSQL ondersteunt ANSI-SQL in zeer hoge mate. PostgreSQL kent interfaces voor ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, .NET, Python, and Ruby.24 Daarnaast kent PostgreSQL ondersteuning voor XML data, inclusief Xpath.25
Platformonafhankelijkheid
5
PostgreSQL ondersteunt 34 besturingssystemen, waaronder Linux, FreeBSD, OSX, Solaris, HP-UX, AIX en Windows. PostgreSQL is ook beschikbaar voor 64-bits architecturen.26
Organisatievorm
4
Actieve community met een strakke organisatie. Een steering committee bestaande uit zes personen heeft de leiding over het project.27 Het project wordt gefaciliteerd door de PostgreSQL Global Development Group. Verschillende betrokken ontwikkelaars zijn in dienst van grote en middelgrote bedrijven, zoals Fujitisu28, RedHat, Credative en Affilias.
Activiteit
4
Het project is zeer actief. Dit valt ondermeer af te leiden uit de vele berichten op de mailinglistst voor ontwikkelaars. De laatste versie is versie 8.0 en dateert van 19-01-2005.
Leeftijd
5
In 1986 startte een aantal onderzoekers aan de Universiteit van Berkeley het databaseproject Postgres. In 1995 kwam de eerste publieke versie van PostgreSQL uit.
Licentie
5
BSD-licentie; zeer vrije, veel voorkomende open source licentie die is goedgekeurd door OSI.
2
Volgens PostgreSQL is de vorige versie (7.4) van de database ongeveer 150.000 keer gedownload. Het merendeel van de gebruikers krijgt de software in combinatie met andere software, bijvoorbeeld in een Linux distributie.29 Zoeken met Google levert ongeveer 35.000 resultaten op in Nederlandse pagina's. Volgens een recent onderzoek zou PostgreSQL behoren tot de top drie van meest populaire open source database.30
Documentatie en opleidingen
3
Er is redelijke goede online documentatie op de project-website beschikbaar. Op Amazon.com zijn er 16 boeken beschikbaar over PostgreSQL. Er zijn in Nederland een beperkt aantal opleidingen of cursussen die zich richten op PostgreSQL. RedHat biedt een cursus aan31, en in het buitenland zijn er verschillende cursussen.32
Ondersteuning
4
Verschillende partijen bieden in Nederland ondersteuning voor PostgreSQL, onder wie Geodan, Capgemini, LogicaCMG, InterAccess, AtosOrigin, AboveIT, OpenEdge, AT Consultancy en Rubicon. Het Duitse bedrijf Credativ heeft een aantal specialisten op het gebied in huis, waarvan een lid is van het core developer team van PostgreSQL.
Gebruikersgemeenschap
5
Voor gebruikers zijn er ongeveer 25 mailinglists, waarvan 8 regionaal.33 Volgens PostgreSQL zijn er afgelopen jaar ongeveer 250.000 berichten gepost op de verschillende mailinglists.34
3
De standaard-implementatie van PostgreSQL is relatief eenvoudig; het product wordt bijvoorbeeld als standaard onderdeel meegeleverd bij de meeste Linux distributies. Voor het toevoegen van modules en optimalisatie is wel uitgebreide kennis nodig.
Betrouwbaarheid, stabiliteit en beschikbaarheid
Organisatie
Marktacceptatie
Marktaandeel
Exploitatie Implementatie en beheer
22
23 24 25
26 27 28 29 30
31 32 33 34
OSDL staat voor Open Source Development Lab (http://www.osdl.org) en faciliteert de ontwikkeling van onder meer Linux. Zie http://research.rem.nl en zie http://benchw.sourceforge.net. Zie http://www.postgresql.org/docs/interfaces. Zie ook http://gborg.postgresql.org/project/xpsql en http://www.samse.fr/GPL/pxsql/. Zie ook http://www.rpbourret.com/xml/ProdsNative.htm#xpsql. http://www.postgresql.org/docs/8.0/interactive/supported-platforms.html. Zie http://www.postgresql.org/developer/bios. Zie http://fastware.com.au/postgresql.html. Forrester, 2004. Evans, 2004 (http://www.evansdata.com/n2/pr/releases/EDCDB05_01.shtml). Zie ook: http://www.webwereld.nl/nieuws/20600.phtml en http://internetnews.com/stats/article.php/3462241. Zie http://www.europe.redhat.com/training/course/index.php3?name=RDB147. Zie bijvoorbeeld http://www.postgresql.at/certification.html en http://www.2ndquadrant.com. Zie http://www.postgresql.org/community/lists/ Forrester, 2004.
pagina: 16 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Score (1-5)
Programma OSOSS
Toelichting
Gebruik
3
PostgreSQL kent geen eigen grafische beheeromgeving. Er zijn wel verschillende commerciële en open source producten beschikbaar, zoals PGAdminIII (OSS), en het webbased phpPgAdmin (OSS) en EMS PostgreSQL Manager (CSS). PostgreSQL gaat uit van standaarden en lijkt sterk op andere databases. Op basis van ervaringen van referenties kan worden gesteld dat een ervaren databasebeheerder gemakkelijk zijn weg zal vinden in PostgreSQL.
Leveranciersonafhankelijkheid
5
PostgreSQL wordt verpreid onder een open source licentie, waardoor een gebruiker in juridische zin niet afhankelijk is van een leverancier. Aanvullend kan worden opgemerkt dat de zeer vrije BSD-licentie en het feit dat niet één bedrijf de overhand heeft in de ontwikkeling ook bijdragen aan een hoge mate van leveranciersonafhankelijkheid.
3
Aan PostgreSQL zijn geen licentiekosten verbonden. Uiteraard zijn er wel kosten verbonden aan implementatie en beheer. Uit referenties blijkt dat de kosten van beheer gelijk zijn aan de beheerkosten voor commerciële databases. In sommige gevallen kunnen deze zelfs lager uitpakken omdat PostgreSQL een lagere complexiteit kent ten opzichte van bepaalde commerciële producten.
Kosten
Sub-Totaal
Totaal (max. 100)
65 35
81
Tabel 6: Beoordeling volwassenheid PostgreSQL
5.4.2.3 Referenties Het beeld van PostgreSQL dat uit de beoordeling naar voren komt, wordt bevestigd door de ervaringen van de verschillende referenties die in dit onderzoek zijn betrokken. Dat PostgreSQL een zeer stabiele database is die goed presteert blijkt bijvoorbeeld uit enkele testen die door een Nederlands softwarebedrijf zijn gedaan. In het artikel dat hierover is gepubliceerd wordt het als volgt verwoord: “PostgreSQL heeft de olifant als zinnebeeld gekozen. Niet omdat het log en traag zou zijn (wel eens een kudde boze olifanten gezien?), maar om de stabiliteit. Ondanks een relatief klein brein (laag geheugen gebruik) kan hij de data moeiteloos oplepelen, ook bij veel gelijktijdige connecties. Deze olifant is zeker geen allemansvriendje, maar onder professionele begeleiding is hij tot grootse dingen in staat.”36 Forrester zegt over PostgreSQL het volgende: “PostgreSQL has good features with moderate adoption. PostgreSQL and Ingres share a family history; [...] Because of this, PostgreSQL has strong enterprise DBMS feautures and functionality.”37 Een andere gebruiker stelt over grootschalige, zware toepassing van PostgreSQL het volgende: “PostgreSQL performs well on 1TB database. Our antispam software, which is the only one of its kind in the world, uses PostgreSQL to store rules, parameters and lists attached to each unique email address. While the smtp server is transferring emails, it performs some checks in respect to senders and receivers address/ip/domain etc... and gives a response to the sending server. This requires a very powerful and speedy search of database because we have to reply within 3 seconds to the sending server. It is giving excellent results.”38 Een andere intensieve gebruiker van PostgreSQL is het bedrijf Affilias, dat zorgdraagt voor de Top Level Domain names .ORG en .INFO. In totaal gaat het om meer dan 2,4 miljoen geregistreerde domeinnamen. De heer Mohan van Afilias zegt over de keuze voor PostgreSQL: "No one ever got fired for selecting Oracle, so we asked ourselves, Do we take that option?" "PostgreSQL also boasts of a stable multiversion concurrency control and arguably, has the most robust SQL standards implementation of all databases available".39 35
36 37 38 39
De maximale waarde van het sub-totaal is 80. Om de totaalscore inzichtelijk te maken op een schaal van 1-100, is ervoor gekozen om de sub-totaal score te vermeningvuldigen met 10/8. Voor beide citaten zie http://research.rem.nl. Forrester, 2004. Zie http://www.postgresql.org/about/news.264. http://www.computerworld.com.au/index.php?id=760310963.
pagina: 17 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
In de onderstaande tabel wordt een overzicht gegeven van een aantal referenties met betrekking tot PostgreSQL. Organisatie
Toepassing
Rijkswaterstaat, Adviesdienst Geoinformatie en ICT, Afdeling: IEBA
Geo-data
Kennisnet
Content Management Systeem en Zoekmachine
Hogeschool Hanzesteden
Leerlingvolgsysteem
Gemeente Haren
Post & Archief-systeem, Geo-infornatie, Tijdschrijf-informatie
Gemeente Almere
Meldingssysteem woon- en leefomgeving
Gemeente Woerden Stichting LIR
Landelijk systeem voor infertiliteitsregistratie
BASF
Shopping platform
Afilias Oxford University's computer centre
Technisch beheer .ORG en .INFO top level domains 40
o.a. e-mail services, virtuele leeromgeving, een web-based portal, en een IT helpdesk system
Tabel 7: Referenties PostgreSQL 5.4.3 Conclusie met betrekking tot volwassenheid Op basis van voorgaande uitvoerige analyse van de volwassenheid van zowel Ingres als PostgreSQL kan worden vastgesteld dat PostgreSQL het meest volwassen product is. Hoewel beheer- en support onderdeel zijn van de voorgaande volwassenheidsanalyse, wordt in de volgende paragraaf afzonderlijk aandacht besteedt aan deze aspecten. De reden hiervoor is dat het beheer en support van de software kritiek zijn voor SpG.
5.5 Beheeraspecten In deze paragraaf wordt verder “ingezoomd” op de beheeraspecten van PostgreSQL. Aan de hand van de ervaringen van een aantal gebruikers wordt een beeld geschetst van deze beheerasapecten. De ondersteuning voor PostgreSQL komt niet allleen van bedrijven, maar kan voor een belangrijk deel worden gevonden in de community. De ondersteuning vanuit de community doet in de regel niet onder voor ondersteuning die bedrijven bieden op gesloten softwareproducten. Hans Koster van LogicaCMG, die dit rapport heeft tegengelezen, merkt hierover het volgende op: “Mijn ervaring is dat support vanuit een community meestal waardevoller is dan die van een leverancier.” De gemeente Haren, die een Oracle database inwisselde voor een PostgreSQL database, heeft inmiddels ervaring met ondersteuning vanuit de community. Albèrt Krabbe van de Gemeente Haren zegt hierover: “De PostgreSQL community is een community op wereldschaal. Binnen een uur had hij antwoord! Dát is open source software! Er wordt vaak gezegd dat er bij open source software geen ondersteuning is. Ok, je moet zelf meer initiatief tonen maar dat wil níet zeggen dat je er alleen voorstaat!”41 Daarnaast merkt Albèrt Krabbe het volgende op over zijn ervaringen met het beheer van PostgreSQL: “Qua beheer is het zelfs iets minder moeilijk dan Oracle maar dat heeft ook te maken met het gebruik. Net als bij Oracle gebruiken wij 80% van de mogelijkheden van PostgreSQL (nog) niet. Het bekijken van de daadwerkelijke data van een database vindt mijn systeembeheerder bij PostgreSQL een stuk eenvoudiger dan bij Oracle. Een voorlopige indruk 40 41
Zie http://news.zdnet.co.uk/software/applications/0,39020384,39173013,00.htm. Zie http://www.ososs.nl/article.jsp?article=8837.
pagina: 18 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
is dat de beheerkosten voor PostgreSQL lager zijn dan voor Oracle.” Kennisnet zet PostgreSQL als standaard database, ook voor grootschalige applicaties als het het portal, de Davindi zoekmachine enz. In een aantal gevallen heeft Kennisnet commerciële databases, waaronder Oracle, vervangen door PostgreSQL. Nadia Poulou, technisch productmanager zegt uit eigen ervaring het volgende: “Het beheer van PostgreSQL is relatief eenvoudig vergeleken met bijvoorbeeld Oracle, dat weliswaar een zeer volledig maar ook complex product is. Een Oracle DBA kan daardoor makkelijk zijn weg vinden binnen PostgreSQL. Andersom zou het moeilijker zijn. Bovendien zijn er ook Java-specialisten die kennis hebben van PostgreSQL. Voor technisch beheer dat is uitbesteed, betalen we daardoor minder dan voorheen, mede doordat er geen licentiekosten zijn. De fine-tuning, die we wel zelf doen, is ook makkelijk gebleken. Kennisnet heeft zeer positieve ervaringen met de performance van PostgreSQL. Dit is uiteraard wel afhankelijk van de configuratie. Ik kan zeggen dat OSS databases zeker de moeite waard zijn om voor grootschalige applicaties te gebruiken.” Hoewel de kosten niet volledig vergelijkbaar zijn schat Nadia Poulou dat “technisch beheer minstens 2-3 keer goedkoper uitkomt met PostgreSQL ipv Oracle.” Joek Hondius van het bedrijf REM Automatisering, dat o.a. een software-implementatie bij de gemeente Haren heeft verzorgd, heeft eveneens veel ervaring met PostgreSQL en met Oracle en stelt het volgende: “Er is natuurlijk een leercurve, zeker m.b.t. de migratie van een database en de bijbehorende applicaties. Gelukkig is de documentatie uitmuntend en de support uit de community prima. Er is ook een leertraject m.b.t. opzetten en beheren van de infrastructuur, Linux kennis helpt hierbij. Na deze opstartfase (db en applicatie zijn gemigreerd, personeel heeft kennis opgebouwd) zijn de beheerkosten relatief laag. PostgreSQL heeft dan weinig omkijken meer nodig, de hardware eisen zijn stukken lager dan die van Oracle, zeker m.b.t. diskspace en geheugen. Dat wil zeggen dat de serverhardware langer onvervangen kan blijven, wat scheelt in afschrijving maar ook in werk natuurlijk. De "moeilijkheidsgraad" van PostgreSQL is vergelijkbaar met die van Oracle, met een licht voordeel voor PostgreSQL, hoewel achtergrond kennis veel uitmaakt. Als een beheerder bekend is met Oracle en Linux, is het erbij leren van PostgreSQL relatief gemakkelijk.”
5.6 Conclusie PostgreSQL komt als winnaar uit de vergelijking naar voren. Het product wordt op basis van de uitvoerige analyse geschikt geacht voor toepassing als database-component in SpG. In het onderzoek naar de geboden functionaliteit komt naar voren dat zowel PostgreSQL als Ingres over voldoende functionaliteit beschikt om als database-applicatie voor SpG ingezet te worden voor SpG. Hoewel PostgreSQL over minder extra, niet-vereiste functionaliteit beschikt dan Ingres, komt PostgreSQL in de analyse van de volwassenheid als de betere naar voren. Ook als we nader focussen op ervaringen van gebruikers met betrekking tot beheer, dan blijkt dat PostgreSQL een database is die aansluit bij de eisen en wensen voor SpG.
pagina: 19 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
6. Gesloten / proprietary databases 6.1 Inleiding In deze paragraaf vindt een korte verkenning plaats naar gesloten databases. In het onderzoek worden de drie marktleiders betrokken, te weten Oracle, IBM DB2 en Microsoft SQL server. Voor het onderzoek is telefonisch contact gezocht met de verschillende bedrijven. Er is gevraagd naar een overzicht van de functionaliteit, prijsinformatie en productvergelijkingen. In alle drie de gevallen werd doorverwezen naar informatie op de website van het desbetreffende bedrijf. Ook is gezocht naar onafhankelijke bronnen. Deze zijn er echter nauwelijks, omdat de licenties van de gesloten producten het maken van vergelijkingen slechts in zeer beperkte mate toestaan. Uit een quick-scan blijkt dat alle gesloten databases over de vereiste basisfunctionaliteit beschikken.42 De prijsinformatie is afkomstig van de website van de verschillende leveranciers. Na uitleg van de behoefte wezen alle drie de leveranciers op de enterprise-versie van hun product. Deze heeft daarom als uitgangspunt gediend voor de prijsinformatie. Project Startpakket GBA schat dat de database voor SpG zal draaien op 10 tot 15 processoren. Dit betekent dat er voor een eventuele gesloten database even zoveel processorlicenties aangeschaft zouden moeten worden. Om een enigszins voorzichtige schatting te maken is in onderstaande berekeningen telkens uitgegaan van 10 processorlicenties. Er is geen rekening gehouden met mogelijke kortingen, omdat deze niet standaard worden aangeboden en hierover eerst onderhandeld moet worden. De licenties zijn in de regel voor een oneindige duur (perpetual). In de praktijk dient echter rekening gehouden te worden met een afschrijvingsperiode van ongeveer 5 jaar. Na een dergelijke periode dient rekening gehouden te worden met de mogelijkheid dat het product niet langer voldoet of dat de leverancier niet langer support levert.
6.2 Overzicht 6.2.1 Oracle Database Enterprise Edition Oracle is marktleider op het gebied van databases.43 Dat brengt met zicht mee dat er veel expertise in de markt beschikbaar is voor Oracle. De Oracle database staat bekend als een zeer volwassen product dat beschikt over vrijwel alle denkbare functionaliteit. Critici stellen dat Oracle beschikt over te veel functionaliteit die in veel gevallen niet wordt gebruikt en bovendien leidt tot onnodige complexiteit. De Oracle database is voor veel verschillende platformen beschikbaar, waaronder Linux, HP-UX en Windows. De kosten van de Oracle Enterprise Edition database bedragen USD 40.000,- voor een licentie per processor en USD 8.000,- voor een licentie per named user. Bedacht moet worden dat dit de kosten zijn voor een 'kale' database. Voor aanvullingen, zoals management tools en partitioning dient afzonderlijk te worden betaald (respectievelijk ongeveer USD 12.000,- en USD 20.000,-) . Op basis van het voor SpG minimaal benodigde aantal processorlicenties bedraagt de standaard licentieprijs voor Oracle USD 400.000,-. Naar verwachting zal door de benodigde aanvullingen het totale licentiebedrag waarschijnlijk uitkomen op een bedrag van meer dan USD 500.000,- (excl. BTW).
Meer informatie: 42 43
Zie bijvoorbeeld http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems. Zie http://www.marketcap.nl/img/cms/doc/Persbericht%20MarketCap%20-%20DBMS%20markt% 20gedomineerd%20door%20Oracle%20en%20Microsoft%20-%2013%20jan%2004.pdf
pagina: 20 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
http://www.oracle.com/technology/products/database/oracle10g/ Voor meer informatie over licentie en prijzen zie ook: http://www.oraclelicenties.nl
6.2.2 IBM DB2 IBM is met DB2 de derde speler in Nederland met een marktaandeel van ongeveer 11%. DB2 is geschikt voor verschillende platformen waaronder Linux, HP-UX en Windows. Oorspronkelijk werd DB2 met name ingezet voor datawarehousing in mainframe-omgevingen. Door zijn achtergrond is DB2 goed geschikt voor grote hoeveelheden data. Zo wordt DB2 in de bankwereld veel gebruikt. DB2 is minder bekend in de gemeentewereld. Voor de Enterprise Edition van DB2 wordt een licentiebedrag van USD 33.125,- per processor gevraagd. Voor een verschillende aanvullingen dient afzonderlijk betaald te worden. Het totale licentiebedrag voor DB2 zal naar schatting uitkomen op USD 400.000,- (excl. BTW). Meer informatie:
http://www-306.ibm.com/software/data/db2/udb/
6.2.3 Microsoft SQL server Microsoft SQL server wint de laatste jaren sterk aan populariteit. Momenteel neemt SQL Server in Nederland qua marktaandeel de tweede plaats in. Het gebruiksgemak van de software zou hoog zijn. SQL server is echter alleen beschikbaar voor het Windows platform. Dit laatste kan een beperking vormen ten aanzien van de flexibiliteit, en kan ook de keuzevrijheid met betrekking tot de overige componenten van SpG reduceren. Project Startpakket GBA heeft in de Definitie Studie aangegeven dat platformonafhankelijkheid zwaar weegt. De licentiekosten voor SQL server 2000 Enterprise Edition bedragen USD 19,999 per processor. Deze versie van SQL server is relatief rijk aan functionaliteit, waardoor geen extra licentiekosten voor aanvullingen hoeven te worden betaald. Uiteraard moet wel rekening worden gehouden met licentiekosten voor het bijbehorende Windows besturingssysteem. Door de platformafhankelijkheid kan namelijk niet worden gekozen voor bijvoorbeeld Linux waaraan geen licentiekosten zijn verbonden. Naar schatting zal een implementatie van SQL server voor SpG ongeveer USD 300.000,- (excl. BTW) aan licenties kosten. Meer informatie:
http://www.microsoft.com/sql/
6.3 Beheeraspecten Naast de licentiekosten zal voor ondersteuning en updates van de gesloten database-software moeten worden betaald. Het is gangbaar om hiervoor een percentage van het oorspronkelijke licentiebedrag in rekening te brengen. Dit ligt in de regel rond de 20%. In het geval van Oracle is het percentage bijvoorbeeld 22%. Dit betekent dat de jaarlijks terugkerende kosten ongeveer USD 110.000,- (excl. BTW) bedragen. De jaarlijkse kosten voor IBM DB2 en Microsoft SQL server zullen respectievelijk liggen rond de USD 85.000,- en USD 65.000,- (excl. BTW). Uiteraard dient naast de kosten voor updates en support ook rekening te worden gehouden met personele kosten. Het is moeilijk om hierover algemene uitspraken te doen.
6.4 Conclusie Op basis van een quick scan kan worden gesteld dat alle drie de gesloten databases beschikken over de vereiste functionaliteit. Op basis van een afschrijvingsperiode van 5 jaar wordt geschat dat de jaarlijkse kosten betreffende licenties, updates en support voor een gesloten database liggen tussen de USD 150.000,- en 250.000,- (incl. BTW). De totale kosten over de afschrijvingsperiode zullen op basis van de voorgaande calculatie waarschijnlijk boven USD 1.000.000,- (incl. BTW) uitkomen. Kosten voor de eigen inhuur van personeel zijn buiten beschouwing gelaten. pagina: 21 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
Microsoft SQL server is duidelijk de goedkoopste. Echter, het product is slechts beschikbaar voor het Windows platform en voldoet daarmee niet aan een belangrijke eis van platformonafhankelijkheid die project Startpakket GBA heeft gesteld voor SpG. De Oracle database is met afstand het duurste product, maar biedt ook de meeste functionaliteit. IBM DB2 is de database die qua prijs en functionaliteit tussen beide in zit, en die zich heeft bewezen voor zware toepassingen.
pagina: 22 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
7. Beoordeling volwassenheid overige componenten 7.1 Inleiding In dit hoofdstuk worden de overige componenten uit de Definitie Studie beoordeeld op volwassenheid. Het gaat om de applicatieserver, webserver, O/R mapper, message broker en de workflow-component. Met name de applicatieserver vormt hier een belangrijke schakel. Deze is na de database de meest belangrijke component. Omdat aan open source software geen licentiekosten zijn verbonden, kan door de inzet van open source software hierop worden bespaard. Ter indicatie van de kostenbesparing zijn de prijzen van gesloten oplossingen, waarin de meeste van de genoemde componenten zitten (zoals Oracle9i Application Server, BEA Weblogic en IBM Websphere) onderzocht. De licentiekosten voor de enterprise versies liggen tussen de USD 20.000- en USD 40.000,- (excl. BTW) per processor. Daarnaast moet rekening worden gehouden met jaarlijkse bedragen voor updates en support van ongeveer 20% over de initiële licentiekosten. Het Project Startpakket GBA schat dat tussen de 6 en 10 processor-licenties nodig zijn. Als wordt uitgegaan van een voorzichtige schatting op basis van 6 processoren over een afschrijvingsperiode van 5 jaar, dan liggen de totale kosten voor licenties, updates en support boven USD 400.000,- (incl. BTW). Er is uiteraard geen rekening gehouden met kortingen, omdat hierover afzonderlijk moet worden onderhandeld.
7.2 Applicatieserver 7.2.1 Inleiding JBoss (http://www.jboss.org) is een open source J2EE-gecertifeerde applicatie-server geïmplementeerd in Java. Omdat het Java-gebaseerd is, kan het gebruikt worden op ieder besturingssysteem dat Java ondersteunt. Het project wordt ondersteund door een wereldwijd netwerk van partners welke diensten verlenen rondom deze applictie-server. 7.2.2 Beoordeling Score (1-5)
Toelichting
Eigenschappen Betrouwbaarheid, stabiliteit en beschikbaarheid
5
JBoss is een product dat zich in de praktijk heeft bewezen als zeer stabiele, schaalbare applicatieserver.
Prestaties
4
Uit verschillende ervaringen van gebruikers kan worden afgeleid dat JBoss, mits goed geconfigureerd, uitstekende prestaties laat zien.
Standaarden
4
JBoss is gecertificeerd door Sun als volledig J2EE-compliant.44
Platformonafhankelijkheid
5
JBoss is geschikt voor diverse platformen, waaronder Linux, Solaris, OS/400, Unix, Netware, Linux, HP-UX en Tru64.
Organisatievorm
4
De JBoss community is gegroepeerd rondom het bedrijf JBoss inc. Het bedrijf beschikt over de merknaam JBoss en gebruikt deze om andere partijen officieel te certificeren als JBoss partner.
Activiteit
5
De JBoss community is zeer actief. De activiteit op de developers mailinglist is hoog. De huidige versie draagt nummer 4 en dateert van september 2004.
Leeftijd
3
Het JBoss project lanceerde de eerste versie van de JBoss applicatieserver in 1999.
Licentie
4
De software wordt verspreid onder de LGPL. De licentie is goedgekeurd door OSI en biedt veel vrijheid aan de licentienemer. De licentie bevat minder vergaande voorwaarden dan de bekendere GPL licentie, waardoor er meer ruimte bestaat voor commerciële partijen om aanvullende gesloten modules te ontwikkelen.
5
JBoss heeft een fors deel van de markt en het aandeel is nog steeds groeiende. Uit een onlangs verricht onderzoek kwam JBoss als marktleider naar voren.45
Organisatie
Marktacceptatie Marktaandeel
44 45
Zie http://java.sun.com/j2ee/compatibility.html. Zie http://sdtimes.com/news/117/story5.htm.
pagina: 23 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
Score (1-5)
Toelichting
Documentatie en opleidingen
4
Op de JBoss website staat veel uitgebreide documentatie. Ook worden er gecertificeerde opleidingen aangeboden door JBoss inc.46 Op Amazon.com zijn 6 boeken beschikbaar over JBoss.
Ondersteuning
4
JBoss wordt ondersteund door grote internationale partijen, zoals HP, Novell en Atos/Origin. In Nederland zijn onder andere Finalist en JNet Consultancy officiële parters.
Gebruikersgemeenschap
4
Er is een levendige gebruikersgemeenschap getuige de activiteit op de verschillende forums op de JBoss website.47
Implementatie en beheer
4
Optimalisatie van JBoss kan enige tijd en moeite kosten.
Gebruik
4
De admin tools voor JBoss zijn de laatste jaren sterk verbeterd.
Leveranciersonafhankelijkheid
3
Doordat JBoss onder een open source licentie wordt verstrekt is de onafhankelijkheid groot. JBoss is in mindere mate een community project, maar een project waarin het bedrijfsleven en met name JBoss inc. een prominente rol speelt.
Kosten
4
Aan JBoss zijn geen licentiekosten verbonden.48 Uitraard moet rekening worden gehouden met implementatie en beheerkosten.
Exploitatie
Sub-Totaal
66
Totaal (max. 100)
49
83
7.2.3 Referenties De heer Broekema van de gemeente IJsselstein is erg enthousiast over JBoss. De server is uitermate stabiel en betrouwbaar. De heer Broekema merkt in dit kader op: “We houden de verschillende open source systemen uiteraard wel in de gaten, maar eigenlijk is er nooit wat mee aan de hand.” Uit een artikel over het gebruik van JBoss door de Deense overheid: “The data-exchange system uses open-source application server JBoss running on Red Hat Linux. It transmits 1.5 megabits of data per second between around 400 public institutions and the ministry, according to a Computer Science Corporation (CSC) report on open source. Peter Henningsen, the data-exchange project manager at the Ministry of Finance, said the open-source combination was chosen over Microsoft's systems integration application BizTalk Server. The main reason for the choice was cost -- the project budget was only two million Danish Kroner (around £183,800). Henningsen pointed out that JBoss is a stable platform, which was essential for the mission-critical application.”
Organisatie
Toepassing
Gemeente IJsselstein
Kadasterregistratie
Deense Ministerie van Financiën
Data-exchange system51
French Inland Revenue Department
Tax IT system applications52
50
Tabel 8: Referenties JBoss
46 47 48
49
50 51 52
Zie http://www.JBoss.org/services/training. Zie http://www.JBoss.org/index.html?module=bb. Voor een overzicht van applicatieservers waarbij ook wordt gekeken naar de kosten zie: http://www.theserverside.com/reviews/matrix.tss. De maximale waarde van het sub-totaal is 80. Om de totaalscore inzichtelijk te maken op een schaal van 1-100, is ervoor gekozen om de sub-totaal score te vermeningvuldigen met 10/8. Zie OSOSS-voorbeeldproject http://www.ososs.nl/article.jsp?article=11727. Zie http://news.zdnet.co.uk/software/linuxunix/0,39020390,39167606,00.htm. Zie http://www.JBoss.com/services/press/dgi.pdf.
pagina: 24 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
7.3 Webserver 7.3.1 Inleiding Apache (http://httpd.apache.org) is een softwareproduct dat onder een vrije licentie beschikbaar is. Het Apache-project werd gestart in 1995 door programmeurs over de gehele wereld die op vrijwillige basis werken aan de webserver. Vandaag de dag is Apache de meest gebruikte en meest populaire webserver met een marktaandeel van bijna 70%. 7.3.2 Beoordeling Score (1-5)
Toelichting
Eigenschappen Betrouwbaarheid, stabiliteit en beschikbaarheid
5
Het grootste deel van het internet draait al jaren op basis van Apache. Het product heeft zich bewezen als zijnde zeer stabiel en goed schaalbaar.
Prestaties
4
In verschillende benchmark tests komt naar voren dat Apache een goede performance kent.
Standaarden
5
Open standaarden, zoals HTTP, vormen het uitgangspunt van Apache. De combinatie van Apache en JBoss is beproefd.
Platformonafhankelijkheid
5
Apache draait op verschillende platformen, zoals Linux, Windows en FreeBSD.
Organisatievorm
5
De Apache Foundation faciliteert de ontwikkeling en is eigenaar van de auteursrechten. Een kernteam beslist over aanpassingen op de software.
Activiteit
5
Apache is een van de meest actieve open source projecten. De huidige major versie is 2.0
Leeftijd
4
De eerste versie van de Apache webserver kwam uit in 1995.
5
De software wordt geleverd onder de Apache Software License. Dit is een zeer vrije licentie die lijkt op de BSD-licentie en aan de licentienemer de ruimte laat om een aangepaste versie niet als open source te verspreiden. Om die reden is het mogelijk dat Apache onderdeel uitmaakt van WebSphere (IBM) en iAS (Oracle).
Marktaandeel
5
Apache is marktleider op het gebied van webserversoftware met een marktaandeel van ongeveer 70%.53 Meer dan 1/3 van de Nederlandse overheidsorganisaties maakt gebruik van Apache als webserver voor hun websites.
Documentatie en opleidingen
5
Op de Apache website staat uitgebreide documentatie. Op Amazon.com zijn tientallen boeken beschikbaar.
Ondersteuning
5
Doordat Apache marktleider is, is ondersteuning ruimschoots voorradig. Vrijwel ieder ITbedrijf biedt ondersteuning voor Apache.
Gebruikersgemeenschap
5
Apache is een veel gebruikt product met een zeer actieve gebruikersgemeenschap. Op internet zijn veel mailinglists en websites beschikbaar waarop gebruikers hun ervaringen met Apache delen.
Implementatie en beheer
3
Het opzetten van Apache is eenvoudig. Het product wordt standaard meegeleverd met de verschillende Linux distributies. Er dient wel aandacht te worden besteed aan optimalisatie en beveiliging. De Duitse overheid heeft over de beveiliging van Apache een handleiding gepubliceerd.54
Gebruik
4
Eenmaal ingesteld is Apache eenvoudig in het gebruik. Er bestaan verschillende tools waarmee het gebruik van Apache wordt vergemakkelijkt.
Leveranciersonafhankelijkheid
5
De ontwikkeling van Apache wordt gefaciliteerd door de Apache Foundation. Bij deze organisatie ligt ook het auteursrecht. Hoewel diverse bedrijven bij het project betrokken zijn, heeft geen enkel bedrijf een bepalende stem.
Kosten
4
Apache is open source en daardoor zonder licentiekosten beschikbaar.
Organisatie
Licentie
Marktacceptatie
Exploitatie
Sub-Totaal
Totaal (max. 100)
74 55
93
7.3.3 Referenties Raph de Rooij van Advies Overheid.nl is uitermate tevreden over Apache. “We gebruiken de webserver van Apache al zolang de website www.overheid.nl bestaat. In het begin draaide het 53 54 55
Zie http://news.netcraft.com/archives/web_server_survey.html. Zie http://www.bsi.bund.de/literat/studien/sistudien/Apache_2003.pdf. De maximale waarde van het sub-totaal is 80. Om de totaalscore inzichtelijk te maken op een schaal van 1-100, is ervoor gekozen om de sub-totaal score te vermeningvuldigen met 10/8.
pagina: 25 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
op een Unix server, tegenwoordig gebruiken we Linux. Het is uitermate stabiel en we hebben er letterlijk geen omkijken naar. Voor ons is de combinatie Apache op Linux dus een vanzelfsprekende keuze." Organisatie
Toepassing
Gemeente Leeuwarden
Webserver
Regering.nl
Webserver
Overheid.nl
Webserver
Tabel 9: Referenties Apache
pagina: 26 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
7.4 Message Broker 7.4.1 Inleiding Mule (http://www.muleumo.org) is een message broker. Binnen het Mule-project spelen hergebruik en open standaarden een prominente rol, waardoor leveranciersonafhankelijkheid wordt gereduceerd. Het product staat bekend als zeer schaalbaar en flexibel. 7.4.2 Beoordeling Score (1-5)
Toelichting
Eigenschappen Betrouwbaarheid, stabiliteit en beschikbaarheid
5
Mule staat bekend als een zeer krachtige en stabiele Enterprise Service Bus (ESB) en message broker.
Prestaties
5
Schaalbaarheid en snelheid vormen belangrijke uitgangspunten van het project. De website maakt melding van de mogelijkheid om Mule te embedden in een J2EE applicatie, waardoor de schaalbaarheid wordt overgelaten aan de applicatieserver.
Standaarden
5
Mule gaat uit van een aantal bestaande componenten en bevat onder meer connectoren voor JMS, HTTP, TCP, SMTP, POP3 en Xml-Rpc. Het product is uitermate flexibel en bijvoorbeeld werkt goed samen met AXIS.56
Platformonafhankelijkheid
5
Mule is ontwikkeld in Java en daardoor platform-onafhankelijk.
Organisatievorm
3
Mule wordt ontwikkeld door een klein kernteam met 4 leden. Om dit kernteam heen zijn er ongeveer 10 contributors. Het project is onlangs ondergebracht bij Codehaus.org, dat wordt ondersteund door een aantal commerciële partijen waaronder BEA.
Activiteit
3
De laatste versie van Mule is 0.93. Naar verwachting komt binnenkort versie 1.0 uit. Hiervan zijn reeds twee zogenaamde Release Candidates gepubliceerd.
Leeftijd
2
Mule is een relatief jong project. De eerste publieke versie van Mule dateert van medio 2003. De geringe leeftijd van het project hangt voor een groot deel samen met het feit dat ESB een relatief nieuwe techniek is.
Licentie
5
Mule wordt verspreid onder de BSD licentie. Dit is een korte, bondige licentie die de licentienemer veel vrijheid geeft.
Marktaandeel
2
Over het marktaandeel van Mule is weinig bekend.
Documentatie en opleidingen
3
Op de website van Mule is redelijk uitgebreide documentatie beschikbaar. Ook zijn er op andere pagina's artikelen verschenen over Mule.57
Ondersteuning
3
Bij het Mule project en Codehaus.org zijn een aantal buitenlandse bedrijven betrokken. Hoewel in Nederland geen bedrijf bekend is dat zich profileert als ondersteuner van Mule, zullen bedrijven die gespecialiseerd zijn in Java naar verwachting voldoende ondersteuning voor het product kunnen bieden.
Gebruikersgemeenschap
2
De mailinglist van Mule is onlangs online gebracht en redelijk actief.58
Implementatie en beheer
3
De implementatie van Mule is maatwerk en kan daarom enige tijd en inspanning vergen.
Gebruik
3
Er bestaat geen grafische interface voor Mule.
Leveranciersonafhankelijkheid
5
Vermijden van de vendor-lock in is een van de hoofdredenen waarom het Mule project is gestart.59
Kosten
3
Mule is als open source software zonder licentiekosten verkrijgbaar. Wel moet duidelijk rekening worden gehouden met implementatiekosten.
Organisatie
Marktacceptatie
Exploitatie
Sub-Totaal
57
Totaal (max. 100)60
71
7.4.3 Referenties Van Mule zijn geen referenties bekend.
56 57 58 59 60
Zie http://ws.apache.org/axis/. Zie http://www.devx.com/enterprise/Article/26680/1954?pf=true. Zie http://archive.codehaus.org/mule/user/. Zie http://mule.codehaus.org/Mule+FAQ#MuleFAQ-WhyuseMule%3F. De maximale waarde van het sub-totaal is 80. Om de totaalscore inzichtelijk te maken op een schaal van 1-100, is ervoor gekozen om de sub-totaal score te vermeningvuldigen met 10/8.
pagina: 27 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
7.5 Object/relational mapping 7.5.1 Inleiding Hibernate (http://www.hibernate.org) is een Object/Relational Mapping (ORM) oplossing voor de Java-programmeertaal.61 Het is een eenvoudig te gebruiken raamwerk voor het koppelen van een object-geörienteerd domeinmodel aan een traditionele relationele database. Hibernate zorgt voor de koppeling van Java klassen aan databasetabellen, maar zorgt tevens voor de ophaalfuncties waardoor het ontwikkeltraject aanmerkelijk kan worden verkort. De ontwikkelaar hoeft zich door gebruik te maken van dit raamwerk niet meer bezig te houden met SQL- en JDBC-verbindingen.62 7.5.2 Beoordeling
Score (1-5)
Toelichting
Eigenschappen Betrouwbaarheid, stabiliteit en beschikbaarheid
5
Uit referenties blijkt dat Hibernate een betrouwbaar en stabiel product is dat hoge belastingen aankan.
Prestaties
5
Hibernate laat een goede snelheid zien in complexe, veeleisende omgevingen , waarbij veel gelijktijdige dataverzoeken plaatsvinden. De snelheid van Hibernate wordt voor een groot deel bepaald door de achterliggende databank. Het is mogelijk om Hibernate als J2EE applicatie te embedden, waardoor de schaalbaarheid enorm toeneemt.
Standaarden
4
Hibernate ondersteunt standaarden zoals SQL en XML. Hibernate werkt goed samen met diverse databases waaronder PostgreSQL, MySQL en Oracle.63
Platformonafhankelijkheid
5
Hibernate is gebaseerd op Java en platformonafhankelijk.
Organisatievorm
4
Het Hibernate kernteam bestaat uit ongeveer 9 leden. Een viertal daarvan is in dienst bij JBoss inc.
Activiteit
4
De activiteit op de development mailinglist is hoog. Volgens Sourceforge telt de list 654 abonnees.
Leeftijd
3
Het Hibernate project is gestart in 2001.
Organisatie
Licentie
4
De software wordt verspreid onder de LGPL. De licentie is goedgekeurd door OSI en biedt veel vrijheid aan de licentienemer. De licentie bevat minder vergaande voorwaarden dan de bekendere GPL licentie, waardoor er meer ruimte bestaat voor commerciële partijen om aanvullende gesloten modules te ontwikkelen.
Marktacceptatie Marktaandeel
4
Hibernate is zeer geaccepteerd en wordt veel ingezet.
Documentatie en opleidingen
4
Via Amazon.com zijn er zeven boeken beschikbaar over Hibernate. Daarnaast is er uitgebreide documentatie beschikbaar op de website van Hibernate. Ook worden er trainingen aangeboden door o.a. JBoss inc.64
Ondersteuning
4
In Nederland leveren onder meer AtosOrigin en Jteam ondersteuning voor Hibernate.
Gebruikersgemeenschap
4
Op de website van Hibernate staan diverse forums. De activiteit op de forum is hoog. In totaal staan op het gebruikersforum momenteel meer dan 60.000 postings.
Implementatie en beheer
4
Uit ervaringen van gebruikers blijkt dat de implementatie van Hibernate relatief eenvoudig is.
Gebruik
4
Hibernate kent geen mapping GUI. Het projectteam ziet dit niet als noodzakelijk, omdat het mapping formaat zo is gestructureerd dat dit eenvoudig is te wijzigen.
Leveranciersonafhankelijkheid
4
Doordat Hibernate wordt verspreid onder een open source licentie, is de leveranciersonafhankelijkheid groot. De ontwikkeling van Hibernate wordt wel met name geleid vanuit JBoss inc.
Kosten
3
Aan Hibernate zijn geen licentiekosten verbonden. De relatief eenvoudige implementatie van het product zorgt voor lage totale kosten.
Exploitatie
61
62 63 64
Voor een vergelijking van verschillende open source en gesloten O/R mappers zie: http://c2.com/cgibin/wiki?ObjectRelationalToolComparison. Dit geldt ook voor EJB Entity Beans. Sun heeft aangegeven de opvolger van EJB2 te zullen baseren op Hibernate. Zie http://www.hibernate.org/80.html. Zie http://www.hibernate.org/175.html.
pagina: 28 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
Score (1-5)
Sub-Totaal
Toelichting
65
Totaal (max. 100)
65
81
7.5.3 Referenties Ronald Koster van LogicaCMG stelt over Hibernate het volgende: “In mijn huidige project gebruiken we Hibernate. Het werkt bijzonder goed. Geen overbodige toeters en bellen en eenvoudig te leren. Zeker als je J2EE (Hibernate kan overigens met en zonder J2EE gebruikt worden) en SQL kennis hebt.”
Organisatie
Toepassing
Waag Society
Webdienst Pilotus.nl
Ilse Media
Search engine
66
Tabel 10: Referenties Hibernate
65
66
De maximale waarde van het sub-totaal is 80. Om de totaalscore inzichtelijk te maken op een schaal van 1-100, is ervoor gekozen om de sub-totaal score te vermeningvuldigen met 10/8. Zie http://www.sogeti.nl/index.html?/iospagina.cfm?uNr=750.
pagina: 29 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
7.6 Workflow 7.6.1 Inleiding Shark (http://shark.objectweb.org) is een workflow engine en JaWE (http://jawe.objectweb.org) is de bijbehorende workflow editor. Beide gaan strikt uit van de XPDL standaard die door de Workflow Management Coalition is vastgesteld.67 De ontwikkeling van beide vindt plaats binnen het Objectweb consortium, waarbij ook het Franse Ministerie van Binnenlandse Zaken betrokken is. Zowel Shark als JaWE zijn relatief jonge producten die nog volop in ontwikkeling zijn. Een van hoofdreden hiervoor is dat vergelijkbare workflow toepassingen pas recentelijk in opkomst zijn. Vergelijkbare gesloten alternatieven zijn in de regel ook jong en nog niet uitontwikkeld en gaan meestal niet uit van open standaarden. 7.6.2 Beoordeling Score (1-5)
Toelichting
Eigenschappen Betrouwbaarheid, stabiliteit en beschikbaarheid
3
Beide producten worden door door de projecten zelf als productierijp/stabiel verklaard. Omdat beide relatief jong zijn en de ontwikkeling in volle gang is, moet rekenig worden gehouden met gemiddelde stabiliteit en betrouwbaarheid.
Prestaties
3
De workflow engine Shark laat goede prestaties zien. Echter, de schaalbaarheid van de engine geeft momenteel problemen omdat voor iedere workflow een nieuwe engine wordt opgestart.
Standaarden
5
Beide producten gaan uit van open standaarden zoals XPDL en Wf-XML.
Platformonafhankelijkheid
5
Zowel de engine Shark en de editor JaWe zijn in hoge mate platformonafhankelijk, en beschikbaar voor o.a. Windows en Linux.
Organisatievorm
5
De ontwikkeling van Shark en JaWe is ondergebracht bij het Objectweb Consortium. Objectweb is 1999 gestart door Bull, France Telecom R&D en INRIA met als doel om een open source middelware oplossing te realiseren. INRIA is het Franse Nationale Instituut voor Computeronderzoek. Het Franse Ministerie van Binnenlandse Zaken is ook bij Objectweb betrokken.68 De ontwikkeling van zowel Shark als JaWE wordt geleid door een kernteam van ongeveer 6 leden. Het Oostenrijkse bedrijf Together Teamlösungen speelt een prominente rol bij de ontwikkeling.
Activiteit
4
De verschillende mailinglists zijn redelijk actief. Op de centrale mailinglist van Shark worden gemiddeld tussen de 150 en 250 mails per maand gepost. De laatste versie van Shark is 1.0 en dateert van 9 september 2004. De laatste versie (1.4.2) van JaWE dateert van 22 februari 2004.
Leeftijd
3
Beide projecten zijn enige jaren oud en sinds 2003 ondergebracht bij Objectweb.
Licentie
4
De software wordt verspreid onder de LGPL. De licentie is goedgekeurd door OSI en biedt veel vrijheid aan de licentienemer. De licentie bevat minder vergaande voorwaarden dan de bekendere GPL licentie, waardoor er meer ruimte bestaat voor commerciële partijen om aanvullende gesloten modules te ontwikkelen.
Marktaandeel
2
Over het marktaandeel van Shark en JaWE is weinig bekend. Wel zijn enkele referenties beschikbaar.
Documentatie en opleidingen
2
Op de website van Objectweb is de nodige documentatie beschikbaar, Daarbuiten is nauwelijks documentatie beschikbaar.
Ondersteuning
3
De Nederlandse bedrijven Emaxx en Iprofs zijn betrokken bij Objectweb. Bovendien zullen internationale bedrijven, Bull en Atos Origin, die lid zijn van Objectweb ondersteuning kunnen bieden.
Gebruikersgemeenschap
2
De gebruikers zijn slechts georganiseerd via de mailinglists op de website van Objectweb.
Implementatie en beheer
2
De implementatie van workflow-applicaties vergt in de regel veel maatwerk. Shark en JaWE vormen daarop geen uitzondering.
Gebruik
3
Het gebruik van beide producten behoeft enige oefening. De editor JaWE is momenteel niet beschikbaar in de Nederlandse taal.
Leveranciersonafhankelijkheid
5
Beide componenten worden geleverd onder een open source licentie. Het Objectweb consortium kent een open toetredingsbeleid, waardoor de onafhankelijkheid van de organisatie wordt gewaarborgd.
Organisatie
Marktacceptatie
Exploitatie
67 68
Zie http://www.wfmc.org/standards/XPDL.htm. Zie http://consortium.objectweb.org.
pagina: 30 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Score (1-5)
Kosten
2
Sub-Totaal
Totaal (max. 100)
Programma OSOSS
Toelichting
Doordat Shark en JaWE beide open source zijn, hoeven geen licentiekosten te worden betaald. Er dient wel rekening te worden gehouden met aanzienlijke kosten voor implementatie en beheer en voor eventuele doorontwikkeling.
53 69
66
7.6.3 Referenties Een Oostenrijkse verzekeraar heeft ondertussen een eerste ervaring opgedaan met zowel Shark als JaWE, en plant een verdere uitrol. “GrECo International is one of the leading insurance brokerage, risk management and employee benefits consultants in Central Eastern Europe. In August 2004, an Enhydra Shark- and JaWE-based system developed by Austriabased Together Teamlosungen went into production at GrEco to administer data for about 20,000 clients, 120,000 insurance contracts, 1.5 million documents providing claim management, commission calculating and commission management features. "About 300 employees in Austria, spread over 9 subsidiaries, are working with this application. It is a mission-critical Web application providing advanced features such as document management, multilingualism and complex security," explained Robert Zachajewicz, Together Teamlosungen's vice president of marketing and sales. "GrEco decided to extend the system to local offices in the Czech Republic and Hungary this year." ”70
69
70
De maximale waarde van het sub-totaal is 80. Om de totaalscore inzichtelijk te maken op een schaal van 1-100, is ervoor gekozen om de sub-totaal score te vermeningvuldigen met 10/8. Zie http://www.gridtoday.com/05/0124/104525.html.
pagina: 31 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
7.7 Maatwerk voor Dienstenlogica De ontwikkeling van de component Dienstenlogica is maatwerk, ongeacht of SpG wordt ontwikkeld op basis van open source of gesloten componenten. De eventuele inzet van bestaande open source componenten zorgt onder andere voor leveranciersonafhankelijkheid en biedt ruime mogelijkheden tot hergebruik van SpG. Voor nieuw te ontwikkelen maatwerk-componenten kunnen deze voordelen ook worden gerealiseerd. Duidelijke afspraken met betrekking tot rechten van intellectueel eigendom, met name het auteursrecht, op de software (inclusief broncode en documentatie) zijn daarvoor cruciaal. Het uitgangspunt moet zijn dat rechten van intellectuele eigendom op de maatwerksoftware te allen tijde worden overgedragen aan de overheid. Dit moet in de overeenkomst met de eventuele opdrachtnemers worden vastgelegd. Alleen wanneer de overheid over alle rechten beschikt, dan is zij volledig vrij in haar toekomstige keuze van dienstverlener voor bijvoorbeeld onderhoud of verder uitbreiding. Bovendien kan de overheid alleen dan de nieuw ontwikkelde maatwerksoftware onder een open source licentie verspreiden.
7.8 Conclusie Het voorgaande toont aan dat met de voorgestelde open source producten een verantwoorde invulling kan worden gegegeven aan de architectuur van SpG. Met name Apache (webserver), JBoss (applicatieserver) en Hibernate (O/R-mapper) zijn uitermate geaccepteerde en robuuste applicaties. Mule is wat minder bekend, maar maakt een goed indruk als het gaat om betrouwbaarheid en schaalbaarheid. Bovendien gaat Mule (message broker) sterk uit van open standaarden. De workflowapplicaties Shark en JaWE hebben zich iets minder bewezen en zijn minder volwassen dan de andere componenten. Daardoor moet met name voor deze applicaties rekening worden gehouden met meer inspanning voor implementatie en beheer. Wat voor Shark en JaWE pleit is dat beide strikt uitgaan van open standaarden en dat het Franse Ministerie van Binnenlandse Zaken actief bij het project is betrokken. Bij de ontwikkeling van SpG op basis van open source software moet aandacht worden besteed aan de integratie van de verschillende componenten. Van veel van de genoemde componenten, zoals Apache, JBoss, Hibernate en PostgreSQL, is bekend dat deze reeds op elkaar zijn afgestemd. Doordat alle voorgestelde componenten uitgaan van open standaarden, wordt de complexiteit van integratie bovendien sterk gereduceerd.
pagina: 32 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
8. Conclusie en aanbeveling De in de Definitie Studie voorgestelde open source componenten voor de invulling van SpG zijn naar het oordeel van het programma OSOSS een verantwoorde keuze. Zowel voor de invulling van de database, applicatieserver, webserver, messaging, mapping en workflow zijn er open source componenten beschikbaar die aan de gestelde eisen voldoen. De onderzochte componenten zijn volwassen. Dit houdt in dat ze voldoen aan de gestelde functionele- en prestatie eisen. Maar dit betekent ook dat het beheer van deze software door de beoogde beheerorganisatie van het SpG haalbaar is. De producten zijn breed geaccepteerd in de markt en er zijn voldoende marktpartijen die onderhoud en ondersteuning kunnen bieden. Opgemerkt dient te worden dat met betrekking tot de component workflow er in mindere mate volwassen open source software beschikbaar is. De hoofdreden daarvoor is dat dergelijke software in het algemeen relatief nieuw is. De meeste gesloten vergelijkbare pakketten voor workflow zouden ook minder scoren qua volwassenheid. Bovendien gaat de meeste gesloten workflow software niet uit van open standaarden. Een belangrijk aandachtspunt bij de ontwikkeling van SpG op basis van open source software is de integratie van de verschillende componenten. Doordat de componenten uitgaan van open standaarden wordt de integratie vergemakkelijkt. Naast de integratie van bestaande componenten, moet ook een deel van de software voor het SpG nieuw ontwikkeld worden. Dit geldt voor de component Dienstenlogica, die volledig maatwerk is. Het is cruciaal dat intellectuele eigendomsrechten op deze nieuw ontwikkelde delen komen te liggen bij de overheid. Kortom, het technisch ontwerp voor SpG kan, op het maatwerk na, ingevuld worden met bestaande open source software. Het verdient aanbeveling om op korte termijn in een proefopstelling nader kennis te maken met de verschillende producten. Om te komen tot een daadwerkelijk succesvolle implementatie van de componenten willen we niettemin wijzen op een aantal kritieke succesfactoren. 1. Implementatie-expertise: Bij de ontwikkeling dienen experts te worden betrokken die
beschikken over aantoonbare ervaring met de verschillende open source producten en bij voorkeur reeds in contact staan met ontwikkelaarsgemeenschap (ook wel: community).
2. Ontwikkelaarsgemeenschap: Er dient direct contact te zijn met de verschillende
ontwikkelaarsgemeenschappen, zodat de daar aanwezige kennis kan worden gebruikt en strategische keuzes van projecten tijdig kenbaar zijn. Dit is vergelijkbaar met het contact dat plaatsvindt met de leverancier in het geval van een gesloten software oplossing. In het geval van open source software kan echter vaak direct in contact worden getreden met de feitelijke ontwikkelaars.
3. Documentatie: Om de soepele ingebruikname van SpG te waarborgen dient goede
gebruikersdocumentatie aanwezig te zijn. Daarnaast is het voor het beheer en de doorontwikkeling van SpG van belang dat de ontwikkeling goed wordt gedocumenteerd.
4. Open ontwikkeling: De ontwikkeling van SpG dient op zich zelf in alle openheid plaats te
vinden. Dit straalt vertrouwen uit en bovendien kunnen derden eenvoudig aansluiting vinden of terugkoppeling geven. Het Overheid Software Uitwisselplatform dat programma OSOSS binnenkort lanceert, biedt hiervoor alle faciliteiten.
5. Beheer: Na de ontwikkeling dient SpG in beheer te worden genomen. Hierover moeten tijdig
afspraken worden gemaakt. Ook voor het beheer van de software kan gebruik worden gemaakt van het Uitwisselplatform.
pagina: 33 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
Als rekening wordt gehouden met bovengenoemde succesfactoren, dan zal de SpG op basis van open source software slagen en kan de Nederlandse overheid maximaal profiteren van de voordelen van open source software. Deze voordelen, die reeds in het inleidende hoofdstuk aan de orde kwamen, zijn gelegen in: Leveranciersonafhankelijkheid; Volledige transparantie van de gegevensverwerking; Ruime mogelijkheden voor hergebruik; en Mogelijke kostenvoordelen, omdat er geen sprake is van licentiekosten. ************************
pagina: 34 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
Literatuur − AMR Research, Open Source Databases: Side Street to Main Street, februari 2004,
http://amrresearch.com/Content/View.asp?pmillid=16822&docid=814.
− Application server matrix, http://www.theserverside.com/reviews/matrix.tss. − C. Schaeffer and J. Hondius, The Elephant never forgets, SDGN magazine, 2004,
http://research.rem.nl.
− Dienstverlenersoverzicht van programma OSOSS, http://dienstverleners.ososs.nl − Forrester Research, Inc., Noel Yuhanna, Open Source Databases Come of Age, december
2004.
− Hajo Schulz, Peter Siering, Dataknechten, Een vergelijking van open source-
databaseservers, c't Magazine, juni 2003.
− ICANN, Supplemental Question #13 to.org Applicants, September 2002,
http://www.icann.org/tlds/org/questions-to-applicants-13.htm.
− iX Magazine, Befreite Daten, MaxDB, Firebird, PostgreSQL und MySQL im Vergleich, nr. 2,
2004.
− J. Hondius, Comparing performance: PostgreSQL versus "a major propritary database" in a
real life setup, 2004, http://research.rem.nl.
− Laurence Moroney, Get on the Enterprise Service Bus with the Open Source Mule API,
http://www.devx.com/enterprise/Article/26680/1954
− MarketCap, DBMS-markt gedomineerd door Oracle & Microsoft,
− − − − − − −
http://www.marketcap.nl/img/cms/doc/Persbericht%20MarketCap%20-%20DBMS% 20markt%20gedomineerd%20door%20Oracle%20en%20Microsoft%20-%2013%20jan% 2004.pdf. Object Relational Tool Comparison, http://c2.com/cgi-bin/wiki?ObjectRelationalToolComparison. Open source database comparison, januari 2005, http://www.geocities.com/mailsoftware42/db/ Philo Vivero, Choosing An RDBMS, maart 2004, http://faemalia.org/wiki/view/Technical/ChoosingAnRDBMS PostgreSQL meets or exceeds proprietary database leaders, http://www.tgc.com/dsstar/00/0822/102059.html. Tim Conrad, PostgreSQL vs. MySQL vs. Commercial Databases: It's All About What You Need , april 2004, http://www.devx.com/dbzone/Article/20743 Vergleich MySQL, PostgreSQL und MaxDB, http://www.torstenhorn.de/techdocs/postgresql.htm#Vergleich-MySQL-PostgreSQL-MaxDB. Wikipedia, Comparison of relational databse manaagement systems, http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
pagina: 35 van 44
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Programma OSOSS
Review rapport door LogicaCMG Op de volgende pagina's is het review rapport opgenomen dat door Ir. Ronald Koster (Principal Consultant) van LogicaCMG is opgesteld. Dhr. Koster heeft een tussentijdse versie (0.42) en de eindversie (1.0.1) van het OSOSS-onderzoek gereviewed. Het rapport bevat ook een reactie van OSOSS op de door de reviewer aangehaalde punten (zie kolom “Response (Owner)”). Dhr. Koster heeft na kennisname van de reactie van OSOSS een samenvatting toegevoegd aan het review rapport. Daarin geeft hij aan de conclusies uit de paragrafen 5.6, 6.4, 7.8 en hoofdstuk 8 van het OSOSS-onderzoek te onderschrijven.
pagina: 36 van 44
Review Record Reviewed items – BK Onderzoek OSOSS – SpG, versies 0.42 en 1.0.1 1. Warning: This form must only be used in ‘page layout’ view - as the page header contains the primary references. Date of Review: Owner : Reviewer:
v0.42: 2005-03-30, v1.0.1: 2005-04-08 OSOSS Ir. Ronald Koster (Principal Consultant bij LogicaCMG)
Review commentaar op versie 0.42 Samenvatting door Ronald Koster op 2005-04-01: Na het lezen van de reacties in de ‘Response (Owner)’ kolom hieronder onderschrijf ik de conclusies zoals die staan in het rapport in de paragrafen 5.6 en 6.4. Action No.
Item ref. (Paragraaf ed.)
Detail problem and action (Reviewer)
Response (Owner)
1.
Algemeen
Rapport maakt goede indruk op mij. Degelijk onderzoek(veel OK referenties, goede onderbouwing).
2.
1e regel hfd. 3
3.
Tabel 1 in paragraaf 4.3
4.
Tabel 1 in paragraaf 4.3
Typo: “Het volgende hoofdstuk 5 ...” Typo: “Dataverkeer per transactie (Kb)”: Kb vervangen door kB. Conventie: kilo is met kleine k, b = bit, B = byte. Als het gaat om bytes: k = 1024, M = 1024*1024, etc. Bij niet-bytes, dus ook bij bits: k = 1000, M = 1000*1000, etc. Wat is SpA?
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Aangepast Aangepast
Aangepast (Startpakket Actualisering)
Page 37 of 44
Review Record Reviewed items – BK Onderzoek OSOSS – SpG, versies 0.42 en 1.0.1 Action No.
5.
Item ref. (Paragraaf ed.)
Tabel in paragraaf 5.3.1
Detail problem and action (Reviewer)
Note 12: Hoe goed zijn die externe replicatie modules voor PostgreSQL? Zijn die ook onderzocht? Het is immers een harde eis (weging 5) dat dit goed werkt. Wat wordt bijvoorbeeld gebruikt door Affilias? Tip 1. Alternatieve (veel gebruikte) oplossing: Wat is trouwens de achterliggende reden van de replicatie eis? Als het alleen is vanwege die continuïteitseis (dus clustering alleen tbv. high availability en niet tbv. load balancing), kan wellicht de eis worden ingevuld met ‘hardware clustering’ (de hard disk) in combinatie met een ‘hot standby’ server (zie www.whatis.com voor cold/warm/hot standby definities). En load balancing is wellicht niet nodig als de computer zwaar genoeg is uitgevoerd... Dus bijvoorbeeld: 1. Een diskkabinet met daarin een redundante disk (hardware clustering op disk niveau). 2. 2 computers die identiek zijn ingericht als PostgreSQL server. Eén is niet echt in gebruik en is de hot standby van de ander. Zie ook wat www.whatis.com zegt over SAN (Storage Area Network). NB. Als clustering de achterliggende reden is van de replication eis, wat is de dan de echte eis: fast-failover, zerodowntime, zero-data-loss, scalability/performance, of allemaal? Tip 2. De expertise van replication met PostgreSQL is waarschijnlijk het beste te vinden bij ASPs (Application Service Providers), de partijen die het hosten van applicaties verzorgen.
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Response (Owner)
De replicatiemogelijkheden van PostgreSQL zijn onderzocht. Van verschillende commerciele en open source (C-JDBC en Slony-I) oplossingen is bekend dat deze worden ingezet in productieomgevingen. Zo maakt Affilias bijvoorbeeld gebruik van Slony-I en richt Kennisnet zich op C-JDBC. Op basis van het onderzoek bestaat de indruk dat er voldoende betrouwbare mogelijkheden bestaan voor replicatie, waarmee de eisen voor SpG kunnen worden gerealiseerd. Uiteraard is replicatie een belangrijk aspect dat in een volgende fase mbv een proefopstelling nader moet worden getest. De eisen voor SpG kunnen voor een belangrijk deel worden bereikt dmv “hardware clustering” wordt ook ingezet om . Hierover is nu een opmerking toegevoegd aan het rapport. De replicatie eis heeft de volgende achterliggende redenen: 1. Scalability/performance i.v.m. een groot aantal aangesloten gemeenten t.b.v. transacties en afnemers. 2. Sommige vraagstellingen aan de databae vereisen langere intensieve database zoekacties, waarvan het online transactieverkeer zo weinig mogelijk hinder moet ondervinden. Een logische oplossing zou zijn om replicaten bij te houden die gebruikt kunnen worden voor dit soort vraagstellingen. Hiermee wordt vrijwel onbeperkte scalability bereikt, wat met clustering technieken niet kan. 3. Beveiliging. Door het bijhouden van replicaten op afstand is er ingeval van een calamiteit een fall-back database, waarvan bij langdurige uitval van de hoofdinstallatie ook online gebruik gemaakt kan worden.
Page 38 of 44
Review Record Reviewed items – BK Onderzoek OSOSS – SpG, versies 0.42 en 1.0.1 Action No.
Item ref. (Paragraaf ed.)
6.
Tabel 4 in paragraaf 5.4.1
7.
Paragraaf 5.5
8.
Paragraaf 5.5, alinea over Kennisnet DaVindi
9.
Paragraaf 5.6
Detail problem and action (Reviewer)
Hoe kom je van het subtotaal 58 naar dat totaal van 73? De verwijzing note ‘32’ is correct maar staat bij het getal ipv. bij ‘(max 100)’. Dat is inconsequent met de rest van het document. In de rest van het document is het ook gebruikelijk om de note op elke pagina waar hij geldt te herhalen, wat duidelijker is. Mijn ervaring is dat support vanuit een community meestal waardevoller is dan die van een leverancier. Een voorbeeld van mijn ervaringen met Oracle: Ook voor Oracle producten blijkt maar al te vaak dat de oplossing voor een probleem op het internet staat. En als dat niet het geval is kunnen de Oracle consultants het vaak ook niet oplossen. Als je erg vasthoudend bent kun je erin slagen het probleem door Oracle erkend te krijgen. Om het opgelost te krijgen moet je nog vasthoudender zijn. En dan nog duurt het beschikbaar komen van de oplossing (meestal een patch) gemakkelijk maanden. Oracle is vast niet de uitzondering... Ik heb als Software Architect het technisch ontwerp van DaVindi gemaakt en als teamleider meegewerkt aan de daadwerkelijke bouw ervan. Eén van de redenen die Kennisnet destijds gaf voor het switchen van Oracle naar PostrgreSQL was dat de licentiekosten echt veel te hoog werden gevonden. De tekst van Nadia Poulou bevestigt nu achteraf heel mooi dat de keuze van Kennisnet de juiste was: de kosten zijn significant gedaald door de switch. Eens met de conclusie mits bovenstaand punt 5 (replicatie modules voor PostgreSQL) een bevredigend antwoord opleverd.
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Response (Owner)
Aangepast
OK, opmerking toegevoegd.
OK, goed om deze bevestiging te vernemen.
Punt 5 is overeenkomstig het verzoek aangepast.
Page 39 of 44
Review Record Reviewed items – BK Onderzoek OSOSS – SpG, versies 0.42 en 1.0.1 Action No.
Item ref. (Paragraaf ed.)
1 0.
Hfd. 5 en 6
1 1. 1 2.
Tabellen in hfd. 7
1 3.
Paragraaf 7.2
1 4. 1 5.
Paragraaf 7.3
Paragraaf 7.1
Paragraaf 7.4
Detail problem and action (Reviewer)
Response (Owner)
Er wordt geen finale vergelijking gemaakt tussen de open en gesloten source producten. Wellicht kan dat er nog bij in een finale conclusie. Iets in de vorm: de 5 overblijvende DBMSsen (PostgreSQL, Ingres, Orcale, DB2, SQL server) voldoen alle aan de gestelde eisen. De voor- en nadelen afwegend komt men tot de volgende rangschikking (1 = meest geschikt, ..., 5 = minst geschikt/ongeschikt): 1. PostgreSQL 2. Ingres 3. DB2 4. Oracle 5. SQL server (ongeschik als platform onafhankelijkheid een harde eis is) Zijn nog nauwelijks ingevuld.
Dit valt buiten de scope van het onderzoek. In het onderzoek staat de vraag centraal of er een open source database is die voldoet aan de eisen die gelden voor SpG. Het antwoord op deze vraag is: ja, er zijn twee open source databases die voldoen. PostgreSQL scoort het beste qua volwassenheid. Om een indruk te geven van de gesloten alternatieven is wel een quick-scan gedaan.
De volgende vergelijkingsmatrix van The Server Side is wellicht handig: http://www.theserverside.com/reviews/matrix.tss Wist je dat de web server van Apache standaard is opgenomen in de application server distributie van oa. JBoss, WebSphere (IBM) en iAS (Oracle)? Tip: http://wiki.java.net/bin/view/Javapedia/JMS
OK
In mijn huidige project gebruiken we Hibernate. Het werkt bijzonder goed. Geen overbodige toeters en bellen en eenvoudig te leren. Zeker als je J2EE (Hibernate kan overigens met en zonder J2EE gebruikt worden) en SQL kennis hebt. Zie ook voor een goede vergelijkingsmatrix: http://c2.com/cgi-bin/wiki?ObjectRelationalToolComparison
OK
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Klopt, hoofdstuk 7 moet grotendeels nog worden geschreven.
OK OK
Page 40 of 44
Review Record Reviewed items – BK Onderzoek OSOSS – SpG, versies 0.42 en 1.0.1
Review commentaar op versie 1.0.1 Samenvatting door Ronald Koster op 2005-04-12: Na het lezen van de reacties in de ‘Response (Owner)’ kolom hieronder onderschrijf ik de conclusies zoals die staan in het rapport in paragraaf 7.8 en hoofdstuk 8.
Action No.
Item ref. (Paragraaf ed.)
1 6.
Paragraaf 7.2
1 7.
Paragraaf 7.2
1 8.
Paragraaf 7.2
1 9.
Paragraaf 7.2
2 0.
Paragraaf 7.2 en 7.4
2 1.
Paragraaf 7.4
Detail problem and action (Reviewer)
Response (Owner)
In hoofdstuk 2 wordt gesteld dat de database wordt beschouwd als kerncomponent. Niettemin is de applicatieserver ook belangrijk: het is immers de sluis die alle verkeer tussen gebruiker en database regelt. Dat blijkt wel uit het feit dat aan beide componenten evenveel processoren gealloceerd worden. Wellicht is het verstandig om te vermelden dat de applicatie server ook een kerncomponent is. Ad Organisatievorm van JBoss: Is het juist niet heel erg professioneel dat er een bedrijf JBoss Inc. achter het product staat? Misschien een score 5?
OK, de applicatieserver kan na de database inderdaad ook worden gerekend tot de kern. Aangepast.
Het specifieke stukje tekst “Peter Henningsen ... BizTalk Server” slaat meer op een message broker dan op een applicatieserver. Heeft Peter Henningsen geen ervaring met Mule? ESB is vrij nieuw, maar message broking volgens mij niet. MQ van IBM bestaat al vrij lang.
Nee, voor zover ons bekend heeft hij geen ervaring met Mule maar wel goede ervaringen met JBoss.
Het is inderdaad professioneel dat het bedrijf JBoss inc achter de ontwikkeling zit. Het maakt de voortgang van het project ook wel een beetje afhankelijk van dit bedrijf. Daarom lijkt een 4 ons correct. Niet aangepast. Ad ‘Implementatie en beheer’ van JBoss: score 3 is wat We hebben er nogmaals naar gekeken en een score van 4 is mager, immers JBoss heeft juist een ijzersterke reputatie op inderdaad op zijn plaats. Aangepast. dit gebied, zeker in vergelijking met andere applicatieservers. De Leeftijd score van JBoss kan wellicht naar 4, immers Bij leeftijd gaat het ons om de leeftijd van het project in 'harde' J2EE is zelf niet ouder dan 1998, en wordt toch inmiddels jaren. Volwassenheid van het product komt terug onder het als volwassen technologie gezien. kopje product in de tabel. Niet aangepast.
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Correct, het gaat hier met name om ESB. Aangepast.
Page 41 of 44
Review Record Reviewed items – BK Onderzoek OSOSS – SpG, versies 0.42 en 1.0.1 Action No.
Item ref. (Paragraaf ed.)
2 2. 2 3.
Paragraaf 7.4
2 4.
Paragraaf 7.5
2 5.
Paragraaf 7.5
2 6.
Paragraaf 7.5
2 7.
Paragraaf 7.5
Paragraaf 7.4
Detail problem and action (Reviewer)
Bij Licentie: “Dit is een korte licentie die ...”. Wat is een ‘korte licentie’? De documentatie op de site van Mule ziet er erg goed uit. Dat is meestal een goed teken. Over de schaalbaarheid van Mule: Bovenop het mechanisme dat ze zelf noemen is Mule te embedden in een J2EE applicatie, waarmee de schaalbaarheid ook geheel overgelaten wordt aan de applicatieserver. Er zijn dus meedere keuzemogelijkheden als het gaat om schaalbaarheid. Het lijkt er dus op dat de schaalbaarheid zeer goed geregeld is. Misschien een score 5 bij Prestaties? Eind 1e alinea “... met SQL- en JDBC-verbindingen.” De ontwikkelaar hoeft zich ook niet meer bezig te houden met EJB Entity Beans, die ook als tamelijk onhandig worden ervaren. Dat laatste heeft Sun ook onderkend en bij de ontwikkeling van EJB3, de opvolger van de huidige EJB standaard (EJB2), heeft Sun aangegeven dat ze die zullen baseren op Hibernate. Een extra pluspunt voor Hibernate zou ik zeggen. Hibernate kan geheel ge-embed worden in EJBs in een J2EE server. Dat maakt (net als de opmerking bij Mule hierboven) dat de schaalbaarheid van Hibernate geheel overgelaten kan worden aan de applicatieserver, een groot voordeel. Misschien ook een score 5 bij Prestaties? Waarom maar een score 3 bij ‘Implementatie en beheer’? De toelichting (die ik uit eigen ervaring onderschrijf) suggereert minstens een 4. Waarom maar een score 3 bij Kosten? De toelichting suggereert minstens een 4.
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Response (Owner)
Met “kort” wordt hier bedoeld weinig bepalingen/tekst. Goede aanvulling. Overgenomen in rapport. Score van 5 voor schaalbaarheid is inderdaad op zijn plaats. Aangepast.
Goede aanvulling. Overgenomen in rapport.
Inderdaad, is Hibernate langs deze weg goed schaalbaar. Omdat deze combinatie ook een beproefd concept is in de praktijk, wordt de score verhoogd naar 5. Aangepast. Correct, qua implementatie en beheer scoort Hibernate bovengemiddeld. Een score van 4 is dus op zijn plaats. Aangepast. Wij hebben op basis van de ons bekende ervaringen de indruk dat de kosten van Hibernate gemiddeld zijn. Een score van 3 lijkt ons op zijn plaats. Niet aangepast.
Page 42 of 44
Review Record Reviewed items – BK Onderzoek OSOSS – SpG, versies 0.42 en 1.0.1 Action No.
2 8.
2 9.
3 0.
3 1.
Item ref. (Paragraaf ed.)
Hoofdstuk 8, 2e alinea
Detail problem and action (Reviewer)
Voor Mule zijn geen referenties gevonden, maar dat wordt wellicht gecompenseerd door het feit dat de kwaliteit van de documentatie op de site veelbelovend is voor de kwaliteit van het product zelf. Shark en JaWE hebben welliswaar niet zo’n hoge volwassenheidsscore, maar de genoemde referentie is behoorlijk positief. Hoofdstuk 8 Aanbeveling: Als men nog meer zekerheid wil over de volwassenheid van een product kan men die ook zelf bepalen/testen dmv. een Architectural Proof of Concept (PoC), een begrip uit RUP (Rational Unified Process). RUP is een zeer succesvolle methodiek om systemen te bouwen. Hoofdstuk 8, Punt 1: geldt ook voor gesloten source software. succesfactoren Punt 2: bij gesloten source software is direct contact met de ontwikkelaars vrijwel altijd volledig afgeschermd. Je kunt dan alleenmaar contact opnemen met de support afdeling, wat vrijwel nooit dezelfde mensen zijn. Zo’n supportafdeling kun je vaak beter vergelijken met een community dan met daadwerkelijke ontwikkelaars. Ik denk daarom zelfs dat direct contact met ontwikkelaars bij een open source product zelfs eerder mogelijk is dan bij een gesloten source product. Hoofdstuk 8, lijstje van Laatste punt “Mogelijk kostenvoordeel ...” : gezien de genoemde voordelen eerdere conclusies in het rapport denk ik dat er zelfs wel “Waarschijnlijk kostenvoordeel ...” mag staan.
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Response (Owner)
OK, dit sluit aan bij onze bevindingen.
Overgenomen in rapport.
Mee eens. ad punt 1: Een aantal open source producten is minder bekend, zeker binnen de overheid. Voor het welslagen is het van groot belang dat experts worden betrokken op het gebied van de open source producten en dat niet generalisten of experts van gesloten producten de kern vormen van het ontwikkelteam. ad punt 2: Opmerking toegevoegd aan rapport. Hoewel 'waarschijnlijk' niet onterecht is, willen we 'mogelijk' graag laten staan, omdat veel afhankelijk is van de uitvoering van de ontwikkeling en het beheer, en omdat dit een herhaling betreft van de eerder genoemde algemene voordelen. Niet aangepast.
Page 43 of 44
Review Record Reviewed items – BK Onderzoek OSOSS – SpG, versies 0.42 en 1.0.1 Action No.
3 2.
3 3.
3 4.
Item ref. (Paragraaf ed.)
Detail problem and action (Reviewer)
Hoofdstuk 8, lijstje van Nog een voordeel: De kwaliteit en veiligheid van een genoemde voordelen volwassen open source product is meestal hoger dan die van gesloten source product. Openheid van sources werkt in het algemeen kwaliteitsverhogend, volgens dezelfde redenering die gangbaar is in de cryptografie: een publiek (open) encryptie algoritme is iha. sterker dan een geheim (gesloten) algoritme, omdat die zijn kracht puur moet hebben van de kwaliteit van het algoritme en niet van het geheim zijn ervan. Voor meer info zie: http://opensource.org/advocacy/faq.php, met name: “Doesn't closed source help protect against crack attacks?” Hoofdstuk 8, lijstje van Nog een voordeel: Open Source producten zijn vaak ‘lean & genoemde voordelen mean’. Dat is ze bevatten alleen de benodigde functionaliteit en weinig tot niets extra’s (ballast). Die ballast zit bij gesloten software er vaak wel bij. ‘Lean & mean’ maakt meestal meer geschikt voor de componentgewijze (modulaire) en ‘best of breed’ methodes: bouw met losse componenten (modules) en pak voor elke component de beste die je kan vinden. Hoofdstuk 8 Het rapport focust voornamelijk op de productiesituatie. Er worden weinig uitspraken gedaan over de ontwikkelfase. Ik kan uit eigen ervaring de volgende IDE (Integrated Development Environment) aanraden: Eclipse, icm. oa. CVS, ANT, standaard J2SE SDK van Sun, XDoclet, JUnit. Op de SDK na (die wel gratis is) allemaal open source. En vanwege de hierboven genoemde ‘lean en mean’ eigenschap zijn de onderzochte open source producten naar verwachting goed te combineren met de IDE.
20050412 BK Onderzoek OSOSS - SpG v11.sxw
Response (Owner)
Veel bekende open source software staat bekend als uitermate veilig. Maar niet alle open source software is veilig. We vonden de andere voordelen in dit kader passender. Bovendien komt veiligheid ook terug in transparantie. Niet aangepast.
Mooie aanvulling, overgenomen in rapport.
Correct, de focus van het rapport ligt niet bij de ontwikkelfase. Deze goede suggestie voor de ontwikkelfase nemen we in ieder geval mee.
Page 44 of 44