Zakelijk Web 2.0 laat werknemers zelf applicaties in elkaar knutselen. De ict-afdeling moet daarvoor wel een solide basis en tools leveren én ongelukken voorkomen.
De Amerikaanse bowlingketen Brunswick heeft zijn interne marketingapplicaties al overgezet naar het web. Een webmaster met niet meer dan html-vaardigheden bouwde tussen december en maart de webtoegang naar de marketingdata. Voorheen stonden de gegevens van bowlingteams, mailinglijsten en resultaten van campagnes op IBM AS/400-servers bij de diverse filialen. Consolidatie naar een enkele DB2-database op het hoofdkantoor legde vorig jaar de basis voor de overgang naar simpele webapplicaties.
Web 2.0 biedt voor zakelijk gebruik een alternatief voor Java en C++. “Voor veel bedrijven gaat de complexiteit van een Java-applicatie veel te ver”, zegt Todd Hay van ActiveGrid, de startup van voormalig Sun cto Peter Yared. Brunswicks webmaster ontwikkelde zijn webapplicaties met ActiveGrid Studio. “We hebben een ontwikkelomgeving ontworpen waarmee je webapplicaties kunt bouwen voor toepassing in LAMP of Java-omgevingen zonder de vaardigheden en training die een Java-platform zou vereisen. Veel simpeler en veel sneller.” ActiveGrid Studio produceert code in Python, PHP of Perl.
Ontsluiten en integreren
Na het mainframe en de pc is nu het internet een basis voor softwareontwikkeling. Een Web 2.0-applicatie ontsluit en integreert verschillende databronnen via een browserinterface. Dankzij AJAX en andere scripttalen voelt de interface meer aan als vertrouwde pc-applicaties dan houterige Web 1.0-websites. Eindgebruikers kunnen Web 2.0-applicaties zelf configureren en combineren met andere applicaties. De applicaties maken optimaal gebruik van netwerkeffecten. Hoe meer gebruikers, hoe nuttiger de applicatie wordt.
Voor zakelijk gebruik verlaagt Web 2.0 vooral de drempel van applicatieontwikkeling. Eindgebruikers hoeven niet meer op de ict-afdeling te wachten. Ze kunnen zelf iets in elkaar knutselen om communicatie met collega’s te stroomlijnen of verkoopdata te correleren met externe marktdata. Software wordt meer een middel dan een doel. Web 2.0 kan een eind maken aan riskante investeringen en lange ontwikkeltijden van ict-projecten die achterhaald zijn voor ze volledig zijn geïmplementeerd. Webapplicaties kunnen organisch meegroeien met veranderende eisen.
Programmable Web
Voor blogs, forums en wiki’s zijn online veel relatief gebruiksvriendelijke scripts te vinden. Meestal zijn ze gratis, open source en geschreven voor de LAMP-bundel; Linux, Apache, MySQL en PHP, Perl of Python. In de praktijk zijn allerlei variaties in besturingssystemen, servers en databases mogelijk. De meest gebruikte scripttaal is PHP. Populaire scripts als WordPress (blog), PunBB (forum) en MediaWiki zijn in PHP geschreven. Een uitstekende bron voor scripts is opensourcecms.com. Ruby is een scripttaal in opkomst sinds de introductie van ontwikkelraamwerk Ruby On Rails. Google gebruikt veel Python.
Interessantere applicaties zijn te ontwikkelen door verschillende scripts en externe webdiensten aan elkaar te koppelen in mashups. Het bindmiddel is de API (application programming interface), meestal onderdeel van een SDK (software development kit). De populairste API is van Google Maps. Geografische data koppelen aan andere data biedt eindeloze mogelijkheden. Ook de API’s van Flickr, Amazon, YouTube, Del.icio.us, eBay en 411sync.com worden veel gebruikt, vooral door de nieuwe generatie web-startups. Een goed startpunt voor onderzoek naar API’s en mashups is programmableweb.com.
Een uitgekiende combinatie van Web 2.0-scripts kan Microsoft Sharepoint, Lotus Notes of Oracle Workspaces vervangen. Er zijn complete PHP-scripts voor communicatie, samenwerking en bestanden uitwisselen binnen bedrijven, zoals dotProject (projectmanagement), het Duitse PHPprojekt (groupware) en phpGroupWare. De meeste zijn weer gratis en open source en bieden weinig kwaliteitsgaranties. Solide hosted online diensten zoals WebEx WebOffice zijn ook een optie, maar blijven problematisch voor grotere bedrijven die absolute controle over hun communicatie en bestanden willen houden.
Identiteitsbeheer, beveiliging en schaalbaarheid blijven de verantwoordelijkheid van de ict-manager. “Het gaat net als met de pc-revolutie”, zegt Todd Hay. “Pc’s sloegen pas echt aan toen de centrale ict-afdeling kon beheren wat nodig was. We zien hetzelfde met Web 2.0-applicaties. De afdelingen beginnen die applicaties uit te bouwen, maar de ict-manager moet controle houden over beveiliging, toegangsbeheer en operationele data. Wij geven de ict-manager die controle en de afdelingen tools voor hun applicaties.”
Democratisering
De rol van ict verandert. Het moet een solide basis leggen met consolidatie en een service oriented architecture (soa). Ict zou eindgebruikers tools moeten geven en dan meer optreden als toezichthouder. ActiveGrid stelt dat bedrijven moeten overschakelen van dure IBM- en Sun-servers naar goedkope webservers in grids zoals Google, Yahoo en Amazon doen. Het klinkt als HP’s nieuwe softwarestrategie. Het werknemerspubliek van grote internationale organisaties verschilt volgens Todd Hay niet fundamenteel van het consumentenpubliek van de webportals.
ActiveGrid is niet het enige bedrijf dat helpt Web 2.0 op een zakelijk peil te brengen. “Iedereen springt in deze markt”, zegt hij, “maar de meeste bedrijven richten hun tools toch weer op dezelfde Java-ontwikkelaars en interne ict-afdelingen. Er bestaan al heel veel tools en raamwerken voor ontwikkelaars die de complexiteit van Java begrijpen. Web 2.0 is gebruikmaken van beschikbare data. Het is de democratisering van het web. Een eindgebruiker kan met een mashup diensten combineren. Werknemers en managers kunnen applicaties bouwen zonder op ict te hoeven wachten. De ict-afdeling moet die applicaties kunnen beveiligen en beheren. Dat ontbrak in de bredere markt.”
Puinruimen?
Moet de ict-afdeling puinruimen achter het geknutsel van werknemers aan? Botsende belangen van eindgebruikers en ict kunnen zakelijk Web 2.0 in de wielen rijden. PHP-scripts zijn vaak rommelig knip- en plakwerk. Ervaren programmeurs halen hun neus op voor PHP. ActiveGrid kan in de praktijk niet om Java heen. “Java is niet vereist”, zegt Todd Hay, “maar veel van onze grotere klanten gebruiken toch Java op sommige plaatsen. Een van onze klanten is een grote financiële dienstverlener. De cio’s van deze dienstverlener willen niet per se ontwikkelen in Java, maar ze willen wel hun applicaties gebruiken in een Java-omgeving.”
Sun claimt Web 2.0 voor zichzelf en probeert jonge PHP-, Ruby On Rails- en Python-ontwikkelaars terug te winnen voor Java. Het JavaOne-ontwikkelaarscongres, dat in april plaatsvond in San Francisco, stond in het teken van het vrijgeven van de Java-broncode. Het CommunityOne-programma op de eerste congresdag was nadrukkelijk op Web 2.0-startups gericht. Sun introduceerde J Ruby om Ruby-applicaties op Java te draaien en JavaFX om webinterfaces gemakkelijker in Java te ontwikkelen. Sun had al het jMaki-project, een raamwerk voor ontwikkeling van webapplicaties in Java, Ajax en PHP. Het project komt voort uit de GlassFish-gemeenschap die open source software voor zakelijk gebruik op de Java EE-server (Enterprise Edition) ontwikkelt.
Onder de grote ict-dienstverleners is IBM de meest enthousiaste supporter van PHP. IBM werkt sinds 2005 nauw samen met PHP’s moederbedrijf Zend en promoot de scripttaal bij zijn System i-gebruikers (voorheen AS/400). IBM ontwikkelt verschillende tools voor zakelijk Web 2.0 en kondigde vorig jaar de projecten Enterprise Mashups en QEDwiki aan. Beide zijn ondergebracht bij de AlphaWorks Services-website voor opkomende technologieën. PHP-script QEDwiki belooft programmeren naar de massa’s te brengen, maar is in de kern nog niet veel meer dan een geavanceerde wiki. Op YouTube is een serie verhelderende demonstraties van QEDwiki te vinden.
PHP, JAVA of RUBY
“Alle PHP-code die ik heb gezien is rommelige, onmogelijk te onderhouden troep”, oordeelt Suns hoofd webtechnologie Tim Bray. “Spaghetti-SQL gewikkeld in spaghetti-PHP gewikkeld in spaghetti-html, in variaties herhaald op tientallen plaatsen.” Op zijn blog schrijft Bray dat PHP misschien geschikt is voor “de wilde wollige Web 2.0-wereld” om snel iets in elkaar te draaien. “Maar slimme ontwikkelaars en managers binnen bedrijven weten dat voor echte applicaties de grootste ontwikkelkosten pas na de oplevering komen.” Bray gaf afgelopen najaar op een PHP-congres in Duitsland een overzicht van de voor- en nadelen van de verschillende scripttalen. PHP wint volgens Bray op schaalbaarheid en ontwikkeltijd. Java moet het hebben van ontwikkeltools en beheersbaarheid. Ruby scoort op alle punten relatief goed.