Een SaaS-platform als vervanging voor het huidige .NET- of J2EE-platform? Of toch één platform waar zowel traditionele applicaties als SaaS-applicaties op ontwikkeld kunnen worden?
Om deze vraag fatsoenlijk te kunnen beantwoorden is het handig om de mogelijkheden van ontwikkelplatformen in drie hoofdcategorieën onder te verdelen:
- Computing services. Dit zijn services die software kunnen draaien. Hierbij kun je denken aan een OS die applicaties kan draaien, maar ook aan J2EE of het .NET Framework die het mogelijk maken om applicaties te draaien.
- Data services. Dit zijn services die applicaties kunnen gebruiken om met data te werken. Een voorbeeld hiervan is SQL Server.
- Integration services. Dit zijn services die applicatie-integratie mogelijk maken. Voorbeelden hiervan zijn BizTalk, Websphere Process Server, etc.
Als je kijkt naar de hedendaagse SaaS-platformen dan zul je zien dat deze steeds meer naar een echt ontwikkelplatform aan het kruipen zijn.
- Computing services. Een voorbeeld hiervan is Amazon's Elastic Compute Cloud service. Deze service host een Linux VM waar je alle denkbare Linux-software op kan draaien. Een ander voorbeeld is Force.com van SalesForce. Deze service is bedoeld voor een specifiek business gebied, crm. Met de taal Apex kun je de service uitbreiden en aanpassen naar eigen inzicht. Iets vergelijkbaars biedt Microsoft met CRM live. Ook deze service kun je naar eigen inzicht aanpassen en uitbreiden op basis van het .NET Framework.
- Data services. Ook hier heeft Amazon weer een duidelijk voorbeeld, Amzon Simple Storage Service. Dit is een soort van filesysteem wat in de cloud draait. Een ander voorbeeld is SQL Server Data Services (SSDS). SSDS biedt een webinterface op basis van SOAP en REST, waar applicaties hun dataopslag in kunnen regelen.
- Integration services. Microsoft heeft hier een implementatie van genaamd BizTalk Services. Deze maakt integratie tussen cloud services mogelijk.
Je ziet ook steeds meer en meer dat de SaaS-platformen gebruik maken van SOA om functionaliteit te leveren. Zo maakt Amazon Elastic Cloud computing gebruik van de Amazon Simple Storage Service voor data-opslag.
Het grootste nadeel van SaaS-platformen zit hem in de interopabiliteit. Neem bijvoorbeeld Force.com. Een klant heeft Force.com geselecteerd om zijn crm-behoefte te vervullen. Met behulp van de taal Apex kan de klant aanpassingen en uitbreidingen realiseren. Na verloop van tijd is de klant niet helemaal tevreden meer over Force.com en zou hij graag willen overstappen naar CRM live. CRM live kent geen Apex, maar .NET Framework, en dus zal de migratie een flinke kluif worden. Dit klinkt als de vendor lock-in van de toekomst. In het artikel Nieuwe verzuiling: SaaS wordt hier dieper op ingegaan.
Laten we ook de parallel eens trekken naar een traditioneel ontwikkelplatform, zoals .NET en J2EE. Op het eerste gezicht lijken er grote verschillen te zitten tussen een SaaS-platform en een traditioneel platform, maar is dit wel zo? Is er wel een reden waarom er voor ontwikkelaars een verschil moet zijn? Aangezien de meeste organisaties al een voorkeursleverancier hebben gekozen (Microsoft, IBM, Oracle, SAP), zou het dan niet handiger zijn als deze leveranciers één platform bieden waar zowel SaaS-applicaties als de traditionele applicaties op ontwikkeld kunnen worden?
Microsoft denkt in ieder geval van wel… OSLO is de naam.