
We hebben een tijd lang uitgekeken naar de nieuwe release van Zend Platform, en deze week is de 3e major versie eindelijk beschikbaar.
(Het officiele persbericht is
hier te lezen.)
Er zijn overal in het product wel wat verbeteringen aangebracht (zoals nog meer controle over de performance van applicaties, nieuwe features voor session clustering), maar waar ik zelf erg naar heb uitgekeken is de 'Job Queue'. Dit is een soort geavanceerde cron voor PHP scripts.
Soms heb je in je applicaties wel eens code die lang duurt, maar waar je de bezoeker eigenlijk niet op wil laten wachten. Bijvoorbeeld als je bij een online shop de order moet doorsturen naar een financieel pakket. Of als je na het opslaan van gegevens een cache moet opschonen of data moet opruimen.
Met de Job Queue kun je vanuit je script aangeven dat je deze code niet nu, maar op een later moment wil laten uitvoeren. Bijvoorbeeld op een bepaalde tijd 's nachts, of even later. Op die manier hoeft de bezoeker er niet op te wachten en wordt gelijk de volgende pagina getoond.
Als het om echt processor intensieve scripts gaat, dan kun je er ook voor kiezen om de jobs op een dedicated job server te laten uitvoeren. Als je de jobs wil opdelen, dan kun je verschillende queues aanmaken.
In de Zend Platform webomgeving kun je een actuele status zien van alle geschedulede jobs, en van hieruit bijvoorbeeld jobs annuleren, of meteen uitvoeren. Dit is vergelijkbaar met de 'print jobs' van je printer, maar dan voor php scripts.
Alhoewel ik ongetwijfeld bevooroordeeld ben, vind ik dit een mooi voorbeeld van hoe Zend Platform probeert de 'infrastructuur' problemen van applicaties op te lossen. Zodat we ons kunnen concentreren op de kern van de applicatie. Alles wat niet direct met de applicatie zelf te maken heeft (dus ondersteunende zaken zoals caching voor de performance, de hierboven genoemde Job Queue of session clustering) kun je overlaten aan het systeem.
Het zou unfair zijn om alleen de positieve punten te belichten. Een nadeel van deze nieuwe versie is de opdeling in de 3 verschillende onderdelen Performance Server, Integration Server en Enterprise Server, terwijl je eigenlijk maar 2 varianten kunt kopen (of alleen Performance Server, of alle onderdelen samen). Dit kan enigzins verwarrend overkomen.
Zend Platform is niet gratis, maar je kunt wel gratis een
evaluatieversie downloaden (inloggen met je zend.com username en wachtwoord); dit is een handige manier om te zien of de kosten opwegen tegen de baten.
Meer informatie over Zend Platform in het Nederlands kun je vinden op:
http://www.ibuildings.nl/zend/platform/
en in het Engels op de zend.com site:
http://www.zend.com/products/zend_platform