Publications‎ > ‎Software reviews‎ > ‎

Delphi snapt het Web

Het is alweer enige tijd geleden dat Delphi 5 het licht zag. Na deze versie van Borland’s visuele ontwikkelomgeving op basis van Object Pascal waarover u reeds in PCM 12/1999 uitgebreid kon lezen, heeft Borland vervolgens Kylix uitgebracht, Borland’s versie van Delphi voor Linux. Aangezien Borland’s C++ Builder en Delphi al enkele jaren bij iedere nieuwe versie elkanders functionaliteit overnemen, hoeft het geen verrassing te zijn dat Borland bij het ontwikkelen van Delphi 6 een aantal vernieuwingen uit Kylix heeft geïntegreerd. PCM onderzocht het nieuws in de Enterprise Edition van Delphi 6.

Delphi snapt het Web



Werkomgeving

De Code Editor is in Delphi 6 voorzien van contextgevoelige tabbladen. De DataModule Designer uit Delphi 5, waarmee niet-visuele componenten zoals database en systeem onderdelen gegroepeerd konden worden, is in Delphi 6 volledig geïntegreerd in de werkomgeving, en is nu tevens bruikbaar voor visuele componenten. Zo beschikt u nu over de Object TreeView, dat een hiërarchisch overzicht toont van de relaties tussen de componenten.

De Code Editor ondersteunt nu behalve het vertrouwde codeerscherm tevens Surface Designers. Dit zijn code-gevoelige pagina’s die als tabbladen verschijnen onderaan de Editor.

Zo is de Diagram pagina bijvoorbeeld de reïncarnatie van het vroegere DataModule Diagram venster als Surface Designer, waarmee u diagrammen van blokken en lijnen kunt opstellen als visueel documentatiemiddel.

CLX

Links de nieuwe Object TreeView in dit op de CLX gebaseerde database project in Delphi 6. Geheel nieuw in Delphi 6 is de Borland Component Library for Cross-Platform (CLX). Deze component blibliotheek is in tegenstelling tot de vertrouwde Visual Component Library (VCL) niet gebaseerd op de standaard Windows controls, maar op de platform-onafhankelijke Qt bibliotheek van het Noorse bedrijf Trolltech. Dit C++ raamwerk is onder meer het fundament van de KDE Linux Desktop omgeving.

De broncode van op CLX gebaseerde Windows toepassingen kan met Borland’s Kylix gecompileerd worden tot Linux programma, en vice versa. U dient het Kylix produkt dan natuurlijk wel apart aan te schaffen.

De architectuur van de CLX toont veel overeenkomsten met de vertrouwde VCL, zodat u niet veel tijd hoeft te investeren in het aanleren van deze nieuwe component blibliotheek.

dbExpress

Delphi 6 is van alle markten thuis. Maar natuurlijk heeft niet iedere VCL component een tegenhanger in de CLX. Onderdelen die onlosmakelijk verbonden zijn aan het Component Object Model (COM+), zoals bijvoorbeeld ADOExpress, zult u niet terug vinden in de CLX. Overigens is ADOExpress, of dbGo for ADO 2.5 zoals het nu officieel heet, in Delphi 6 nu wel opgenomen in de Professional Edition, terwijl het in de vorige versie nog als prijzige Add-on werd verkocht.

Behalve dbGo for ADO, de Borland Database Engine (BDE) en InterBase Express (IBX) biedt Delphi 6 in de CLX tevens het nieuwe, platform-onafhankelijke en gegevensbank-onafhankelijke dbExpress. Tot dusver bestaan er stuurprogramma’s voor InterBase, MYSQL, Oracle en DB2. Vergeleken met BDE en ADO is dbExpress wel aanzienlijk minder omvattend. Zo zijn rijen gegevens slechts in één richting te benaderen en vindt geen caching plaats. Dit lijkt echte r erger dan het is, aangezien het wel mogelijk is om dergelijke functies door een extra client dataset component te laten uitvoeren. U bepaalt kortom zelf de benodigde hoeveel functionaliteit.

DataSnap

De Multi-tier Distributed Application Services (MIDAS) technologie voor het ontwikkelen van meerlagige database oplossingen is dermate opgewaardeerd dat het een nieuwe naam heeft verdiend, en wel DataSnap. Belangwekkend is vooral de toegevoegde ondersteuning voor het Simple Object Access Protocol (SOAP), de op XML gebaseerde specificatie voor het uitvoeren van Remote Procedure Calls (RPC’s). Dit is de "Snap" in DataSnap, aangezien de technologie hiermee nu tevens geschikt is voor het visueel ontwikkelen van Web Services.

BizSnap

De ondersteuning voor het ontwikkelen van Web Services in Delphi 6 Enterprise Edition, inclusief de toepassingen die deze op SOAP gebaseerde server programma’s benaderen, wordt BizSnap genoemd. Vreemd genoeg is de term BizSnap in het geheel niet terug te vinden in zowel de papieren als de electronische documentatie… Leest u dus gerust Web Services, oftewel zelfbeschrijvende software modules die over netwerken zoals het Web kunnen worden aangeroepen. Dit zijn de bouwstenen in de volgende generatie platforms zoals Microsoft .NET en Sun ONE. Overigens kon u reeds in PCM 11/2000 uitgebreid lezen over SOAP, XML en Web Services in de bespreking van Microsoft .NET.

De ondersteuning voor de BizSnap functionaliteit in Delphi 6 beperkt zich niet tot het aanbieden van nieuwe componenten zoals THTTPSoapDispatcher en THTTPSoapPascalInvoker. Voor het identificeren van de benodigde aanroepbare interface in de BizSnap module naar aanleiding van een SOAP verzoek is tevens de Object Pascal compiler uitgebreid met Runtime Type Information (RTTTI) voor deze Invokable Interfaces. Door deze technologie in de compiler zelf op te nemen, wordt het tevens mogelijk om re eds op compiler niveau de syntax en datatypes te controleren, wat de ontwikkelcyclus aanzienlijk kan verkorten.

Bovendien biedt Delphi 6 op XML niveau onder meer met de XML Data Binding Wizard een elegante manier om de XML Document Object Model (DOM) interfaces via het vertrouwde Object Pascal te benaderen. Het XML Mapper gereedschap komt tenslotte van pas bij het transformeren tussen XML en gegevenspakketten.

WebSnap

Voor het ontwikkelen van Internet toepassingen, of beter gezegd Web server modules, biedt Delphi 6 Enterprise Edition nu WebSnap. De WebSnap architectuur is een superset van de reeds bekende WebBroker functionaliteit. Zo is het met WebSnap nu mogelijk om meerdere Web modules op te nemen in een toepassing.

Bovendien beschikt de Code Editor nu over de WebSnap Surface Designer, waarmee u de pagina’s van de Web modules op visuele wijze kunt ontwerpen met behulp van respectievelijk de HTML Script, HTML Result, Preview, XML Tree en XSL Tree tabbladen.

Ook ondersteunt Delphi 6 nu server-side scripting in de pagina sjablonen van de Web toepassing, via Microsoft’s Active Scripting technologie. Dit is dan ook één van de redenen waarom WebSnap op dit moment enkel nog voor het Windows platform beschikbaar is. De WebBroker architectuur is daarentegen zowel geschikt voor zowel Windows als Linux, en is bovendien ook in de Professional Edition opgenomen.

En verder…

Behalve de ondersteuning voor de verschillende Web server API’s in Delphi 6, zoals ISAPI, NSAPI, Apache en CGI, beschikt Delphi 6 tevens over Enterprise Java Bean (EJB) integratie dankzij Simple IDL (SIDL) en verbeterde CORBA server ondersteuning.

Tot slot ontbreekt ook in Delphi 6 het vertrouwde InstallShield Express niet. Versie 3 van dit gereedschap voor het maken van de benodigde setup programma’s is nu gebaseerd op de Windows Installer (MSI) technologie.

Conclusie

Met BizSnap voor het ontwikkelen van Web Services, DataSnap als verbindingslaag voor toegang tot server databases en WebSnap voor het visueel ontwikkelen van web server modules is Delphi 6 reeds klaar voor de toekomst, wat die ook brengen moge. Jammer genoeg zijn deze Snap technologieën echter exclusief voorbehouden aan de Enterprise Edition, waardoor de meeste Delphi gebruikers er, mede vanwege de wel zéér stevige prijzen, geen kennis mee zullen kunnen maken…

Belangrijkste toevoeging aan de Professional Edition is ongetwijfeld de CLX, inclusief de platform-onafhankelijke dbExpress abstractielaag. Indien u als Delphi gebruiker echter geen ambities heeft om voor Linux te ontwikkelen, komt u er met een upgrade naar Delphi 6 wel bekaaid van af.

Gegevens

Produkt: Delphi 6
Producent: Borland
Minimale systeemeisen: 166 MHz Pentium, 64 MB geheugen, 115 MB schijfruimte, Windows 2000/Me/98/NT4-SP5+
Prijzen incl BTW:
- Personal ƒ 349 / € 158
- Professional ƒ 2799 / € 1270 (Upgrade: ƒ 995 / € 451)
- Enterprise ƒ 8999 / € 4083 (Upgrade: ƒ 5799 / € 2631)
Leverancier: Borland, 020-5035100; ook voor België
Internet: http://www.borland.nl/delphi/