Bedrijfskritische applicaties met PHP en Zend
Maart 2009 - Als ik als bedrijf webapplicaties in PHP wil bouwen, wat kan ik dan gebruiken om mijn bedrijfskritische webapplicaties op een gestructureerde manier te ontwikkelen, publiceren, beveiligen en te monitoren? En waarbij een agile aanpak ondersteund wordt? En kan ik hierbij gebruik maken van mijn bestaande Oracle database?
Bedrijfskritische webapplicaties worden steeds vaker met open source tools ontwikkeld. Zend vormt hierbij een belangrijke speler op de markt. Zend is de maker van de PHP Core en biedt onder andere een framework en een IDE (Integrated Development Environment). Door de samenwerking met Oracle wordt het mogelijk om de database en de frontend te combineren tot een robuuste, betrouwbare webapplicatie.
Geschiedenis
Zend Technologies is een toonaangevende leverancier van producten en services voor de ontwikkeling, de implementatie en het beheer van bedrijfskritische in PHP geschreven applicaties. PHP is een server-side scripttaal die vooral wordt gebruikt voor het ontwikkelen van dynamische HTML pagina’s. Dat betekent dat het uitvoeren van programma’s op de server gebeurt en dat de uitvoer in HTML formaat naar de browser wordt gestuurd. PHP is een van de populairste scriptingtalen en het wordt dan ook door een enorme hoeveelheid websites gebruikt. Bedrijven kiezen voor PHP vanwege de lagere kosten voor onderhoud, omdat het snel te leren is en een brede ondersteuning heeft vanuit de open-source community.
Meer dan 15000 bedrijven over de hele wereld gebruiken webapplicaties die gebouwd zijn met een of meerdere producten van Zend. Met deze producten wordt door Zend een platform geboden voor de ontwikkeling en het beheer van PHP websites of PHP applicaties. Het is met deze tools mogelijk om in korte tijd een goede, kwalitatieve en onderhoudbare website te bouwen. Door de object georiënteerde mogelijkheden van PHP past deze taal uitstekend in een agile werkwijze.
Zend is een samentrekking van de namen van de oprichters, Zeev Suraski en Andi Gutmans en is ontstaan nadat ze in 1997 de PHP kern van Rasmus Lerdorf herschreven en onder de naam PHP3 op de markt brachten. Ze bleven de kern optimaliseren en dat resulteerde in de Zend Engine, de basis voor PHP 4. De Zend Core is hierop gebaseerd. Tegenwoordig wordt de Zend Engine vooral bij webhosting gebruikt. In combinatie met MySQL vormt dit een gedegen basis voor een website. PHP kan echter ook met andere databases zoals Oracle en Postgres samenwerken. Zend maakt onder andere de volgende producten:
Zend Core
Het meest bekend is Zend van de Zend Core. Deze kern van de PHP taal wordt vooral door webhosters gebruikt om websitehosting met PHP ondersteuning aan te bieden. In combinatie met een op Linux gebaseerde webhosting met een MySQL database op de achtergrond vormt dit de befaamde LAMP-configuratie, een website die volledig op open-source producten draait (Linux, Apache, MySQL, PHP). Maar Zend Core draait ook op een standalone Windows computer. En sinds een aantal jaar biedt de Zend Core ook ondersteuning voor Oracle databases. En dat biedt perspectieven. Oracle heeft namelijk in vergelijking met MySQL een betere ondersteuning voor stored procedures, logica in de database.
Met de meest recente ondersteuning voor database resident connection pooling in de 11g database is de Zend Core zeer geschikt voor webapplicaties met veel bezoekers. Database resident connection pooling is een nieuwe feature van Oracle en het handelt database connecties af die vanuit de applicatie server worden aangeroepen. Een applicatie kan hierdoor grote aantallen connecties tegelijk verwerken. Dit gebeurt door voor elke connectie een applicatie proces en een database connectie te verzorgen en een wachtlijst te creëren wanneer er geen connectie meer voorhanden is. Als de database connectie niet meer nodig is wordt deze gebruikt voor een andere (web)sessie. Bijkomend voordeel van database resident connection pooling is dat Oracle minder geheugen gebruikt dan bijvoorbeeld het gebruik van een shared of een dedicated server.
Zend Platform
Zend Platform is een PHP applicatie server voor bedrijfskritische toepassingen. Zend Platform is op een agile werkwijze gebouwd, dus met iteraties en gedegen tests na iedere iteratie. Het biedt onder andere high availability, monitoring mogelijkheden, performance verbetering en de mogelijkheid om zelf overzichten te maken.
Zend Studio
Zend Studio is een integrated development environment (IDE) waarmee sneller applicaties ontwikkeld kunnen worden, ook complexere projecten. Dit is mogelijk door de integratie met de Zend Core en Zend Platform waardoor er betere debugging en implementatie mogelijkheden zijn en de onderhoudbaarheid groter wordt.
Zend Guard
Wanneer een nieuwe applicatie wordt uitgerold is het soms niet gewenst dat de source code zichtbaar blijft en toegankelijk is voor iedereen. In dat geval kan Zend Guard een oplossing bieden door de source code te versleutelen.
Zend Framework
Zend Framework is een open-source framework voor het ontwikkelen van webapplicaties en webservices. Het is gebaseerd op vereenvoudiging, object-oriented best practices en een agile architectuur waardoor applicaties veel sneller gebouwd kunnen worden. Het framework ondersteunt de moderne web 2.0 mogelijkheden zoals Ajax en webservices. Het biedt niet alleen ondersteuning om websites te bouwen, het biedt ook ondersteuning om gebruik te kunnen maken van webservices van andere websites. Functionaliteit kan heel gemakkelijk uitgebreid worden door middel van extensions. Dit maakt het framework flexibel. Zend garandeert dat het framework heel erg stabiel is omdat het tijdens en na het ontwikkelen grondig getest is. Zend Framework is gebaseerd op het MVC model.
Zend Server
Zend’s laatste product is de Zend Server. Dit is een samenvoeging van Zend Platform en Zend Core en bevat de laatste versie van PHP, een applicatie server en de Zend Core. Grootste nieuws bij dit product is de samenwerking met Microsoft. Zo biedt Zend Server ondersteuning voor MS SQL server en MS IIS. Dit product is nog in de beta fase.
Bij elkaar vormen deze producten een platform waarmee in korte tijd en met weinig kosten en op een agile werkwijze een robuuste, onderhoudbare web applicatie kan worden gerealiseerd. Sinds kort werken Zend en Adobe samen om de communicatie tussen PHP vanaf de server en Flex aan de client kant te optimaliseren. Dit zal via een AMF component in het Zend Framework gaan.
Conclusie
Zend biedt met haar tools een compleet pakket aan programma’s en services om een website te ontwikkelen en te onderhouden. Bij de ontwikkeling van deze producten wordt gebruik gemaakt van een agile werkwijze.
Door de samenwerking van Zend met Oracle is PHP ook uitstekend geschikt voor het ontwikkelen van bedrijfskrititsche webapplicaties voor de grote ondernemingen die een stabiele database verlangen. De kracht van de Oracle database kan hierbij volledig benut worden. Laatste grote ontwikkeling daarbij is de database resident connection pooling.
Zend blijft een bijdrage leveren aan de open-source community en aan de ontwikkeling van PHP. Door de samenwerking met onder andere IBM, Microsoft en Oracle is het inmiddels een belangrijke speler op de markt geworden.
Indien u meer bedrijfskritische applicaties met Zend gaat ontwikkelen dan kan het lonend zijn om te investeren in de tools van Zend. Neem dan wel in de afweging mee dat er voor een deel van de tools betaald moet worden.
Referenties:
- Homepage Zend
- Download Zend Framework
- Agile PHP (InfoWorld)
- Applicatieontwikkeling in Zend (eWeek)
- Waarom Zend voor het Enterprise
Over de auteur
Marcel van der Plas is Oracle Consultant bij Whitehorses en heeft ruim 12 jaar ervaring in de IT. Hij houdt zich voornamelijk bezig met het ontwerpen en ontwikkelen van applicaties in PL/SQL, Forms, Reports, Designer en Apex. Daarnaast is hij geïnteresseerd in webtechnologie en de uitgbreide mogelijkheden van PHP.

Reacties
Nieuwe reactie inzenden