Microsofts.Net is geen vage belofte meer
De aanwezigheid van Gates toont aan dat het om een belangrijk moment voor Microsoft gaat. Weliswaar is het bedrijf er tot nu toe in geslaagd om het begrip.NET (spreek uit: dot.net) ruime bekendheid te geven, maar tegelijkertijd is het nog altijd met veel mystiek omgeven. Bij gebrek aan pakkende voorbeelden, laat staan een voor zichzelf sprekende killerapplicatie, beseffen maar weinigen waar het om gaat. Gebruikers merken al helemaal niets van.NET, ook al loopt de verificatie bij de webmaildienst Hotmail en Windows Messenger via het.NET-platform. Programmeurs zien wel voordelen, zeker als het gaat om het ontwikkelen van applicaties voor verschillende platforms. Het ‘write once, run everywhere’ principe waarmee Java bekendheid heeft gekregen geldt in nog veel sterkere mate voor.NET, met als belangrijkste voordeel dat een programmeur geen nieuwe taal hoeft te leren. Diensten .NET is een platform waarvoor zogenoemde webdiensten ontwikkeld kunnen worden. Het woord diensten mag in dit verband echter niet al te letterlijk worden opgevat. Diensten zijn actieve componenten, zoiets als legoblokken, die zelfstandig kunnen functioneren, maar ook aan andere objecten gekoppeld kunnen worden. In feite is een webdienst gewoon een API (application programming interface), vergelijkbaar met wat ODBC of JDBC of SQL (structured query language) voor databases hebben gedaan. Deze componenten kunnen binnen iedere denkbare applicatie – tekstverwerkers of rekenbladen – gegevens aan elke denkbare database onttrekken. Webdiensten kunnen op hun beurt informatie en data vergaren van verschillende locaties op het web en die elders in een daarvoor aangepaste vorm presenteren via de eXtensible Markup Language (XML), een open standaard van het W3C. Ook in dit opzicht zijn er overeenkomsten met Java. In Java wordt een omgeving gecreëerd waarbinnen een applicatie zelfstandig kan draaien, ongeacht het platform dat wordt gebruikt, zolang er maar een soort schil aanwezig is..NET kent een vergelijkbare container, de Common Language Runtime (CLR). De naam zegt het al: de container weet raad met meerdere programmeeromgevingen. Daarnaast is dit onderdeel verantwoordelijk voor beveiliging van programmacode, foutopsporing in de software en de eigenlijke integratie van zeer uiteenlopende applicaties die anders moeilijk samengebracht kunnen worden. Zonder CLR dus geen.NET. Draaien De CLR houdt ook rekening met de applicatie waarop de programma’s moeten draaien. Op een mobiele telefoon moeten de data anders worden gepresenteerd dan op een webtablet of een volwaardige computer. De CLR kleedt zo’n applicatie dan uit of aan, al naar gelang de beschikbare processorkracht of bandbreedte. Om dit alles mogelijk te maken, is een raamwerk van ontwikkeltechnieken vereist, zoals ASP.NET (webtoepassingen), ADO.NET (database) en Windows Forms (ontwikkelhulp voor het bouwen van Windows programma’s). Nogmaals: de complete architectuur is taal-onafhankelijk omdat de programmacode eerst wordt omgezet naar de Microsoft Intermediate Language (MSIL) – een soort Esperanto onder de programmeertalen – en vervolgens wordt uitgevoerd door CLR. Kerngedachte van deze aanpak is dat iedere applicatie aan een andere applicatie gekoppeld kan worden zonder dat de totale architectuur van de dienstenaanbieder overhoop gehaald hoeft te worden. .NET is een raamwerk dat in principe door iedereen gebruikt kan worden zonder dat daarvoor licenties hoeven worden afgesloten. Omzet voor Microsoft moet vooral komen van toegevoegde diensten zoals het door Microsoft zelf ontwikkelde Passport (identificatie en verificatie), ontwikkelgereedschap en een reeks van server-producten zoals BizTalk Server 2000 (voor de integratie van databases) en Mobile Information 2001 (voor het gebruik van mobiele telefoons). Het verklaart waarom Microsoft zo’n 200 miljoen dollar heeft uitgetrokken voor reclame en 2 miljard dollar voor ondersteuning van partners en programmeurs. Het wil niet zeggen dat andere softwarefirma’s niet van.NET kunnen profiteren. Sterker nog: het staat een ieder vrij om (betaalde) diensten dan wel ontwikkelgereedschap voor.NET te ontwikkelen en op VS Live! regende het dan ook aankondigingen op dit gebied, onder andere van Borland en Corel. Microsoft blijft wel vaag over de diensten die het zelf buiten Passport gaat aanbieden. Tot nu toe is wel een reeks van zakelijke diensten aangekondigd onder de noemer My Services (de nieuwe naam voor HailStorm), maar details zijn nog niet naar buiten gebracht. Een mogelijkheid is dat een reissite automatisch kan nagaan welke betalingsvoorkeuren de klant heeft, of dat iemand de complete inhoud van zijn PDA online zet, zodat die in een gehuurde Smart Phone kan worden geladen. Daarnaast zit Microsoft te denken aan (niet nader toegelichte) diensten voor internet-providers en telecombedrijven. In veel gevallen zullen deze bedrijven serverproducten moeten kopen, maar Microsoft wil ook diensten onderbrengen in eigen datacentra van bijvoorbeeld MSN. Veel.NET-diensten zullen daardoor vermoedelijk een ASP-achtig karakter krijgen, waarbij applicaties op afstand bestuurd kunnen worden. De eerste concrete diensten worden niet voor 2003 verwacht. Op dit moment is Microsoft vooral bezig om het platform zoveel mogelijk uit te breiden. Het.NET-platform ondersteunt inmiddels al meer dan twintig programmeertalen, waaronder Java. Daarnaast is samenwerking gezocht met universiteiten, zodat ook experimentele programmeeromgevingen aan.NET kunnen worden gekoppeld. Ook heeft Microsoft beloofd.NET nog een stuk veiliger te maken, iets waarop onlangs ook het Electronic Privacy Information Center in Washington heeft aangedrongen. .NET kent een zogenoemde ‘zandbakmethode’ (sandboxing) zoals die ook door Java wordt gehanteerd. Door aan een stukje code extra informatie te koppelen, bijvoorbeeld over wie het geschreven heeft, kan de Common Language Runtime de toegangsrechten van de software grondig controleren en misbruik worden bestreden. Wijzigingen van de programmacode zullen immers direct worden opgemerkt, ook als de digitale handtekeningen die ook nog eens aan de code worden toegevoegd, gehandhaafd blijven. Lek als een mandje Het was het Amerikaanse Cifiral dat vlak voor de lancering van het.Net-platform ontdekte dat de Visual C++.Net-compiler zo lek was als een mandje, iets dat Microsoft ook zelf heeft moeten toegeven. Microsoft had juist willen voorkomen dat hackers bij het compilen (omzetten van code in machinetaal) eigen programmacode naar binnen kunnen smokkelen door de gereserveerde geheugenruimte eerst van nutteloze informatie te voorzien. Microsoft had net bekendgemaakt dat het de software-ontwikkeling een maand stil zou leggen om ontwikkelaars vrij te maken voor het oplossen van de beveiligingsproblemen die veel van de Microsoft-producten plagen. Microsoft zal dit soort problemen snel moeten oplossen, omdat alle activiteiten van het bedrijf in het teken zullen staan van.NET. Visual Studio.NET zal de huidige ontwikkelprogramma’s uiteindelijk volledig moeten vervangen. Zo’n vaart zal het in eerste instantie niet lopen. Ook Microsofts Ed Robinson benadrukte in San Francisco dat.NET voorlopig alleen zinvol is voor bedrijven als die netwerktoepassingen willen ontwikkelen. Bovendien heeft.NET nog een achterstand in te halen op Java, of liever gezegd het J2EE-platform.NET heeft in de ogen van sommige ontwikkelaars het nadeel dat het nog niet helemaal is uitontwikkeld en dat het ontwikkelgereedschap hoofdzakelijk onder Windows draait. Microsoft ontkent dit uiteraard niet, maar zegt dat door de brede ondersteuning van programmeertalen ook andere platforms onder Windows ondersteund kunnen worden. Een aantal bedrijven, waaronder SAP, vindt de mogelijkheden toch te beperkt en heeft alsnog gekozen voor Java. Het bedrijf BEA heeft inmiddels zelfs ontwikkelgereedschap geïntroduceerd waarmee programma’s voor het Java-platform op een veel eenvoudiger manier te maken zijn dan voorheen. BEA’s Weblogic Workshop is vooral bedoeld als een middel om de complexiteit uit het Java-ontwikkelproces te halen en als integratiemiddel om bestaande programmatuur (in welke taal dan ook) met nieuwe applicaties te integreren. Java telt op dit moment zo’n drie miljoen ontwikkelaars tegen vijf miljoen Visual Studio-programmeurs, maar daarvan zal hooguit 30 procent in de komende achttien maanden de overstap naar.NET maken, zo verwacht Gartner. 70 Procent wacht er veel langer mee omdat nog maar weinig bedrijven experimenteren met webdiensten. Gartner verwacht wel dat over vijf jaar tussen Java en.Net een nek-aan-nek-race ontstaat, al hoeft dat niet te betekenen dat beide ontwikkelplatforms gaan domineren. Zo verwacht IBM dat met grid computing-technologie (waarbij bedrijfsapplicaties via een netwerk kunnen worden gedeeld) in combinatie met Linux en IBM’s Websphere-bedrijfsapplicatieserver ook webdiensten kunnen worden ontwikkeld.