Webtoko

Ten behoeve van de in house ontwikkeling van e-commerce software in Java heeft MetaClass het pakket c.q. framework 'Webtoko' ontwikkeld. Webtoko was gericht op een samenwerking met web designers, waarbij deze zelf met behulp van WYSIWIG editors een e-commerce website konden ontwikkelen die haar functionaliteit aan Webtoko ontleent. Hiertoe werd met templates gewerkt die generieke custom tags ondersteunden, waardoor een vergelijkbare eenvoud kon worden gekregen als met het later populair geworden 'struts' framework van Apache maar met een hogere productiviteit.

Door het gebruik van een geheugendatabase was de basisversie al erg snel. Voor een veel grotere schaalbaarheid van de vervolgversie was in het ontwerp al rekening gehouden met een drie laags fysieke architectuur. Deze schaalbaarheid zou gerealiseerd kunnen worden zonder dat dit tot de lage productiviteit en hoge beheerskosten zou hebben geleid die later kenmerkend werden voor J2EE. Hiertoe werden de templates gebruikt om query specificaties te genereren die als een geheel van de webserver naar de applicatieserver zouden worden gestuurd. Dit zorgt voor een efficiënte communicatie met de applicatieserver, zodat er meerdere webservers met dezelfde applicatieserver kunnen werken. Een aantal applicatieservers zou door middel van de eerder in Construct ingebouwde relationele database mapping, caching en optimistic locking van dezelfde database server gebruik kunnen maken. De queries gedeeltelijk op de applicatieserver kunnen worden uitgevoerd en gedeeltelijk op de database server, waarbij door middel van optimalisatie een goede workload verdeling zou kunnen worden gerealiseerd.

Helaas bleek onze commerciële benadering niet goed te werken omdat web designers niet in staat bleken om de complexiteit die inherent is aan software ontwikkeling te hanteren en goed aan de uiteindelijke klanten te communiceren. Ook bleek het destijds erg moeilijk om betrouwbare hosting voor Java applicaties te vinden. Wel werd een licentie op de volledige broncode voor een substantieel bedrag verkocht aan een e-commerce startup. Met het beschikbaar komen van J2EE en daarvoor geschikte applicatieservers was Webtoko snel achterhaald, te meer daar schaalbaarheid na het instorten van de dot com hype veel minder een rol is gaan spelen. Een ombouw naar JSP en EJB zou wel mogelijk zijn geweest maar zou de complexiteit zodanig hebben verhoogd dat MetaClass er voor heeft gekozen om opnieuw te beginnen in de veel simpeler programmeertaal PHP. In het nieuwe framework phpPeanuts werd de focus verlegd naar het combineren van eenvoud en flexibiliteit met een grote uitdrukkingskracht, vooral in de abstracte user interface.