SaaS stelt eisen aan ontwikkelomgeving
Web 2.0-ontwikkelaars wenden zich tot open source-toolkits
Software-as-a-Service (SaaS) is hot. Maar de ontwikkeling van dergelijke applicaties vereist specifieke ondersteuning in de ontwikkelomgeving. Op dit moment lijkt het daarvoor nog te vroeg. Ontwikkelaars kunnen echter prima terecht in de open source-wereld.
De trend naar Software-as-a-Service (SaaS) is onmiskenbaar. Een businessmodel op basis van diensten is voor de hand liggend in een wereld waarin applicaties op basis van soa (service oriented architecture) worden samengesteld uit functionaliteit van ketenpartners, sociale media en collaboration tools. Het bouwen van dergelijke toepassingen vraagt wel om specifieke ondersteuning in de ontwikkelomgeving.
Op dit moment weten we alleen van Servoy dat het zich expliciet op deze applicaties richt. Als we de analisten van Evans Data naar de markt vragen, moeten ook zij het antwoord schuldig blijven: het is nog te vroeg om iets over deze ontwikkelingen te kunnen zeggen. Ontwikkelomgevingen lijken dus achter te lopen op deze nieuwere manier van softwaregebruik.
Zelf samengesteld
Willem Spruijt, ‘Ajaxorized-blogger ‘en een van de oprichters van ‘boekhoud-SaaS' Qash, vertelt hoe hij zijn ontwikkelomgeving op basis van open source heeft samengesteld. "Qash is een online kasboek. Je kunt de gegevens van verschillende bankrekeningen importeren en daar verschillende overzichten van budgetten en uitgaven van maken. De basis is nu gratis. In de toekomst willen we geld vragen voor extra functionaliteit."
De huidige ontwikkelomgeving is het resultaat van historie en middelen. "We zijn begonnen in php omdat we daar ervaring mee hadden. We wilden in ieder geval een echte web-taal, met veel functionaliteit voor internet-toepassingen. En het moest open source zijn. Het had ook Ruby on Rails, of Python kunnen worden, maar we wilden niet een nieuwe taal leren. Bovendien bleef het prestatieniveau van het Rails-framework achter. Twitter heeft na zijn doorbraak veel problemen gehad met zijn Ruby-engine."
Nadeel van php is wel dat het een slechte reputatie heeft voor wat betreft de veiligheid. Met name in de financiële wereld is dat een eerste vereiste. Volgens Spruijt ligt dat echter niet aan de taal maar aan de programmeurs. "Php heeft een heleboel tools voor beveiliging. Maar je moet ze wel gebruiken."
Eclipse
Op dit moment gebruikt Spruijt Eclipse als ontwikkelplatform. "Ik ben ooit begonnen met Java, waar Eclipse heel groot is. We zijn dat toen ook gaan gebruiken in combinatie met php." Volgens Spruijt is het een heel krachtige ontwikkelomgeving. Hij noemt enthousiast functies als code highlighting, function name completion, instant syntax controle (in plaats van je code te moeten runnen om dan de regelnummers uit de foutmeldingen terug te zoeken), het revision management system svn (voor programmeren in teamverband) en search-and-replace op basis van reguliere expressies. Daarnaast kun je heel eenvoudig documentatie genereren uit de code zelf (vergelijkbaar met javadoc).
"Als je de Zend Studio-plugin gebruikt, dan kun je vanuit Eclipse ook debuggen," vertelt Spruijt. Hoewel de kosten ervan de Qash-ontwikkelaars tot nu toe ervan hebben weerhouden om Zend Studio te kopen, willen ze dat wel.
Internationalisering
Internationalisering, een belangrijke functie voor online dienstverleners, wordt op dit moment nog niet ondersteund in Qash. Volgens Spruijt is dat wel makkelijk te realiseren. "Alle web-afhankelijke onderdelen zitten in de presentatielaag. Maar op dit moment richten we ons juist op de Nederlandse markt. In de Verenigde Staten zijn dit soort toepassingen razend populair. Als het moet kunnen we alle code in twee weken internationaliseren."
De meestgebruikte tool daarvoor is gettext. "We denken ook al na over de ondersteuning van verschillende valuta. Wat gebeurt er als gebruikers de gegevens van verschillende rekeningen inlezen?"
Data scheiden
Een andere belangrijke eis die klanten aan SaaS-aanbieders stellen, is de scheiding van data. Iedereen gebruikt immers dezelfde applicatie. Bovendien zijn online applicaties bij uitstek kwetsbaar voor aanvallen middels sql-injection. Daarbij wordt de url van een web-pagina aangepast in de hoop van buitenaf commando's in de achterliggende software of sql-database te kunnen inbrengen.
Als je grote klanten bedient, kun je voor iedereen een eigen database creëren. Gaat het om grote aantallen consumenten, dan moet je iets anders verzinnen. Qash heeft ervoor gekozen om alle velden afzonderlijk te versleutelen. "Zo kunnen wij zelf de gegevens ook niet inzien."
Hieraan gerelateerd is de locatie van de database. Vanwege verschillen in de landelijke privacy-wetgeving moet je goed nadenken waar je de gegevens opslaat. Om diezelfde reden kan achteraf verplaatsen van de data een probleem zijn.
Verzameling tools
Naast Eclipse gebruiken de Qash-ontwikkelaars nog verschillende andere tools. "We doen veel JavaScript en ajax," vertelt Spruijt. "We hebben twaalf pagina's met een stuk of zestig ajax-aanroepen. Het meest gebruikte ajax-framework voor php is Jaxer, maar die gebruiken wij niet. Hoewel we geen fans zijn van zelf schrijven, hebben we in dit geval wat gebouwd op basis van json, een efficiënt formaat voor het uitwisselen van datastructuren tussen client (browser) en server (php)."
De JavaScript-functies van Qash zijn gebaseerd op Prototype en script.aculo.us. Eerstgenoemde breidt de bestaande JavaScript-objecten uit met nieuwe functionaliteit. Het tweede is een front-end library voor het toevoegen van interactiviteit aan webinterface-componenten. De verdere ontwikkeling van deze libraries staat echter nagenoeg stil. Dus zou je volgens Spruijt nu kiezen voor jQuery. Dit is ook het soort tools dat hij op zijn Ajaxorized-blog bespreekt.
Daarnaast wordt bij Qash nu nagedacht over een deployment-pakket. "Ik wil kunnen exporteren van lokale code naar test naar live, en daarbij automatisch de testscripts laten uitvoeren. Op dit moment gebruiken we PHing. Die is heel goed, maar de configuratie wordt opgeslagen in een complex xml-bestand en er zit geen user interface bij."
Schoolvoorbeeld
Wie nieuwsgierig is naar het soort functionaliteit dat je op deze manier kunt bouwen, hoeft alleen maar zijn Gmail te openen. "Die maildienst van Google is een schoolvoorbeeld van hoe het wel moet," zegt Spruijt. "Dat is een echte Web 2.0-applicatie, met veel overlays en ajax." Een andere is Wakoopa.com, een Nederlandse startup die een verzamelplaats en online-indexeerder is voor applicaties en games.
De komende jaren zal zowel de architectuur van software als de manier waarop we die gebruiken sterk veranderen. Volgens onderzoeksbureau Gartner worden applicaties in toenemende mate opgebouwd uit soa-componenten (service oriented architecture). Daarbij wordt niet alleen gebruik gemaakt van functionaliteit van ketenpartners, maar ook geïntegreerd met sociale media en collaboration tools. Het resultaat is een toepassing die niet langer ondernemingsgericht is, maar gebruikercentrisch. Volgens de analisten wordt dit jaar in de wereldwijde SaaS-markt al een omzet van 6,4 miljard dollar bereikt, een stijging van 27 procent.
- samengestelde applicaties op basis van soa
- de combinatie van functionaliteit met sociale media en collaboration tools, over de grenzen van organisatie en keten heen
- uiterst flexibele applicaties, toegankelijk via het web of als dienst (SaaS: Software-as-a-Service)
- trend naar een markt van hele grote leveranciers, waarin niche-spelers moeten knokken voor een plekje en gebruikers in een lock-in-situatie terecht komen
10-02 Raadsels rond computerstoring Groningen
09-02 'Ook met cookiewet is gebruiker niet anoniem'
07-02 Detron zoekt naar scherper profiel
07-02 De lange weg naar ERP
01-02 Imtech ICT hoort bij tien grootste dienstverleners
31-01 Infotheek profiteert van overjarige hardware
27-01 iPad is favoriet in de zakelijke markt
25-01 Recessie schrikt ICT-bedrijven niet af bij...
23-01 Boek belicht tien effecten van opkomst apps
20-01 'Oracle wil iPad van de bedrijfs-ICT worden'
10-02 IS Online en Tres zijn klaar voor Elfstedentocht
10-02 De windwakken van de cloud-sector
09-02 Talk & Vision biedt Personal Video in de cloud
09-02 MySapply koopt collectief accountantsdiensten in
08-02 Interoute breidt service uit met Virtual Data...
08-02 Open Line opent datacenter voor cloud-portfolio
03-02 Clouddiensten Dell en Atos voor Wolters Kluwer
03-02 IntraData en Centric breiden samenwerking uit
03-02 'Overheid vreest voor veiligheid in de cloud'
01-02 Bedrijven stappen steeds vaker over op de cloud
|
|
02-12-09 SaaS-gebruik ligt onder wereldwijd gemiddelde
02-09-09 Twee miljoen euro voor onderzoek naar SaaS
27-12-08 Cloud computing of is het SaaS?
10-12-08 Hoe hou je SaaS onder controle
05-12-08 SaaS en software: een krachtige combinatie
02-12-08 Webdiensten vormen betere middleware
26-11-08 SaaS moet CRM-implementatie versnellen
23-10-08 Gartner: SaaS-markt verdubbelt
01-10-08 SaaS: de evolutie die een revolutie blijkt te zijn
05-09-08 Stoppen met SaaS... En dan?
04-09-08 Klanten stappen op met SaaS... En dat is goed!
01-09-08 SaaS en bedrijfsdata
14-07-08 Het SaaS-platform van de toekomst
18-02-08 Product: SaaS Development Kit
14-09-06 SaaS is over vijf jaar gemeengoed
De compacte overheid en de cloud
De Nederlandse regering is druk bezig het aantal benodigde datacenters terug te dringen van 64 naar vier of vijf, met......


