Microsoft heeft veel moeite gedaan om de groei van Java te stoppen, voornamelijk door de Java Virtual Machine niet op te nemen in de standaard configuratie van Windows XP. In plaats van Java lokt Microsoft zijn trouwe volgers met het alternatief C#.
C# en de relevante run-time ondersteuning zijn in feite technisch net zo goed als Java, maar wie zat er te wachten op nog een optie? Als C# een echt open systeem was, zou het een goede zaak zijn om te kunnen kiezen tussen de twee architecturen en tools. Maar C# is bedoeld om gebruikers in Windows XP te vangen.
Java werd geïntroduceerd als een tool om webpagina’s te verbeteren door een Java-applet uit voeren dat eerst van het net gedownload is. Dit betekende ook dat updates van software waren te implementeren door eenvoudigweg de serverkopie van een programma op te waarderen. Daarbij werd een van de grote problemen vermeden, die duizenden individuele pc’s veroorzaakten.
Tot opluchting van Microsoft bleek het echter niet de beloofde panacee, en wel om twee redenen: de traagheid van de internetverbinding van de meeste mensen en het feit dat ontwikkelaars de behoefte niet inzagen om erg kleine applets te maken De meesten groeiden op met pc’s, en er was nooit eerder een omgeving zo geschikt voor het ontwikkelen van slechte programmeergewoonten. Java-applets, althans degene gericht op de client, zijn slechts van beperkt nut geweest. Desondanks is er toch een strijd gaande tussen Sun en Microsoft aangaande XP-ondersteuning. En zo is de aandacht weggetrokken van de server, waar de echte actie plaatsvindt.
Een goed model om mee te werken is één waarin de client-apparaten worden bediend door een ‘appliance server’, terwijl de integratie met de database of legacy-toepassing met behulp van de applicatieserver geschiedt.
In de toekomst zou alle applicatielogica gericht kunnen zijn op de applicatieserver, verbonden aan een database.
In de nabije toekomst zullen de meeste systemen de applicatieserver echter gebruiken om verbinding te leggen met bestaande systemen. Die kunnen verschillende vormen hebben, inclusief ‘screen scrapping’, telefonische transactieroutines, en uiteindelijk opnieuw bruikbare componenten. Laatstgenoemde is misschien nieuw, maar het biedt grote voordelen om ze – indien mogelijk – aan legacy-systemen te onttrekken.
De ‘appliance servers’ zijn gebaseerd op html, met extensies van cookies, scripts, Activex en Java-applets. Op de lange termijn vervangen de op XML gebaseerde pagina’s wellicht de huidige, maar op het moment is de situatie complex door inconsistenties in de browser-standaarden. In ieder geval zullen de meeste systemen verbeteren wanneer de laatste web-interfaces worden vervangen door veel eenvoudiger schermen waarbij het gebruik van een muis niet nodig is.
De ‘appliance servers’ zijn niet de kritieke elementen in de strijd om dominantie van de belangrijke ondernemingssystemen, maar de applicatieservers. Er zijn drie basisklassen applicatieservers: database-uitbreidingen (voornamelijk Oracle), Microsoft Active Server Pages (ASP) en Enterprise Java Beans systemen. Er bestaat ook een aantal oudere applicatieservers zoals Cold Fusion, die voorafgingen aan de EJB- specificatie. Deze producten worden nu geleverd met EJB-ondersteuning, maar er zijn toch ook enkele bevredigende installaties met de eerdere versies. Oracle-gebruikers zijn gebonden aan Oracle, wat EJB-ondersteuning inhoudt. ASP-gebruikers zijn evenzeer gebonden aan Microsoft en de Windows-besturingssystemen.
Het toonaangevende op Java gebaseerde applicatieserver-product is BEA Weblogic, gevolgd door IBM’s Websphere en Suns server. HP stelt voor de markt aan te vallen door zijn server weg te geven!
Er is ook een aantal krachtige oss-producten, met name Apache. Het is niet moeilijk om in te zien dat Java de toekomst heeft, niet zozeer op de client als wel op de server. Als gebruikers willen doorgaan met Windows, dan kan dat, omdat alle op Java gebaseerde applicatieservers op NT draaien. Aangezien een van de belangrijkste activiteiten de afgelopen jaren ‘web-enabling’-systemen betrof, is er een meer dan gemiddelde hoeveelheid energie gestoken in nieuwe technologieën en zijn die sneller gerijpt dan gebruikelijk is in de it-industrie. En omdat de meeste legacy-systemen op mainframe- en Unix-platformen draaien, zijn dat de belangrijkste omgevingen die hebben geprofiteerd. Terwijl het gui Java-applets dus niet gelukt is om de client over te nemen, heeft EJB stilletjes de rol overgenomen van applicatie-integrator en is nu verre van dood. Het is de dominante ontwikkelomgeving, en heeft dus de toekomst.
Martin Healey, pionier ontwikkeling van op Intel gebaseerde computers en c/s-architectuur. Directeur van een aantal it-bedrijven en professor aan de Universiteit van Wales.