Dot Not NET not COM, wat .NET
De Microsoft Internet Visie: wat is Dot-Net eigenlijk
C# is C Sharp
Weg met de shrink-wrap, weg met geisoleerd gebruik van data, weg met client-server, met .NET gaat alles beter, was je witter, rij je zuiniger, heb je geen Viagra nodig en spaar je het milieu. Zo interpreteer ik de mistige heilsboodschap van een in de hoek gedrongen software-reus met een verkankerde basistechnologie in een verzadigde markt, die (vergelijkbaar met de Internet-ommezwaai 5 jaar geleden) probeert alsnog vaandeldrager van de interoperability en net-services beweging te worden.
.Net of Dot-Net is een ongelukkige naam voor wat eigenlijk de Next Generation Windows Services (NGWS) architectuur was, maar staat voor een nog ongelukkiger woordenbrij over wat Bill Gates zelf als de toekomst-gok van Microsoft beschrijft. Zelden heb ik zo moeten zoeken, speuren, surfen en denken over wat er nu in hemelsnaam bedoeld wordt met de Dot-Net heilsboodschap. Vooral de Microsoft verhalen zijn schimmig en onduidelijk, vol van techno-masturbatorische hype, dit is Delphi-orakeltaal
Iedereen schijnt het anders te interpreteren, de commentaren lopen van juichende steun voor "integrating the user experience at the network level (J.Nielsen)" tot kwalificaties als jatwerk en juridisch noodzakelijke afleidingsmanoevre. Maar wat Dot-Net nu precies is, dat is nergens echt te vinden.
We gaan dus wat speculatief proberen, .NET à la Sala.
Zelfs na een bezoek aan tech-Ed 2000 in de RAI, waar een paar honderd Microsoft techies voor ruim 7000 gelovigen hun evangelie mochten prediken, begrijp ik nog niet veel van Windows .NET. Het klinkt allemaal mooi, de superlatieven lopen van de persberichten af, de technische kretologie is als altijd niet bedoeld om begrepen te worden en je vraagt je af in hoeverre .NET eerder past in het juridische en PR-steekspel dan in een logische ontwikkeling van software-architectuur. Als je de claims van de Microsoft persberichten ook maar een beetje serieus neemt, dan is dit niet minder dan de grote sprong voorwaarts, de redding der wereld en de komst van de grote software-verlosser, maar wat is er nu eigenlijk voor nieuws aan Dot-Net, of is het gewoon oude wijn in nieuwe zakken zoals een aantal commentaren aangaf?
Vreemd genoeg wisten de bezoekers van TechED me wel duidelijk te maken hoe SQL-server paste in hun ontwikkelpad, maar over .NET wist men niet meer dan de gehypte vaagheden op te dissen. Een nieuwe stap, geen shrink-wrap pakketten meer, procedures op afstand, diensten-architectuur, men had de kreten wel opgevangen, maar wat is nou Dot-Net (zo schrijven we .NET om het typografisch hanteerbaar te houden, de keuze voor deze domme afkorting doet denken aan HET NET van de KPN, Dik's misser voor de lullo-markt)? En het is leuk dat de nieuwste C++ variant dan C# heet en uitgesproken wordt als C-sharp in analogie met de muzikale notitie, maar moeten we daarom allemaal op de bandwagon springen en met de muziek mee?
Dot-Net is een samenraapsel van nieuwe architectuur, Soap en XML afspraken met een Microsoft jasje en wat kretologie als "tablet-PC" form factor en "smart tag". Wat is echt nieuw, wat slechts opgeblazen, je zult het van Microsoft niet horen, het evenagelie volgens Gates vraagt exegese. Dus dan maar zelf gaan snuffelen, studeren en proberen uit de rommelige overdaad aan wollige promotaal te distilleren wat er bedoeld wordt. Met enige gezonde twijfel aan de motieven achter dit hele circus, want dat Bill Gates hier niet alleen het heil der mesnheid op het oog heeft, mogen we niet vergeten. Hij wil zich met Dot-Net profileren als de grote software architect, maar in hoeverre wordt hier ook toegegeven aan de jonge honden van Microsoft, de ontwikkelaars die Windows en z'n eindeloze upgrade reeksen moe zijn.
Borrelt met Dot-Net iets van een heel andere visie naar boven of wordt hiermee juist de revolutie van nieuwe en simpeler operating systemen de wind uit de zeilen genomen. Het zal niet de eerste keer zijn dat Microsoft een verhaal over een volledig nieuwe software architectuur de lucht in gooit, maar feitelijk nog niet meer heeft dan wat aanzetten. De markt trapt er in, vooraanstaande ontwikkelaars als Marc Andreessen geloven in de luchtbel en zo wordt de profetie dan werkelijkheid. Net zoals ik hieronder dus probeer een soort logisch plaatje te schilderen van wat ik denk dat er bedoeld wordt.
Slim gedaan, Bill, dat is nog eens .netwerken, laat de rest van de wereld jouw orakeltaal maar interpreteren. En dat je en passant de discussie over het opsplitsen van software in OS en browser overbodig maakt en dus de opsplitsplannen van rechter Jackson torpedeert, is mooi meegenomen.
The network is the user experience
Alles wat op een PC kan, nu ook in het netwerk en de gebruiker staat daarbij voorop, dat is de brede boodschap die uit de 26 pagina's van Gates z'n rede op 22 juni te halen valt. Dot-Net zorgt, dat je als gebruiker niet meer merkt of data, applicaties, authenticatie op je eigen machine staan of in het netwerk elders.
Er zijn (lijkt me) drie niveau's, namelijk de client (desktop, mobiel device, tablet PC), de server en wat Gates "the cloud" noemt, het oude cyberspace "out there" en dus eigenlijk het samenspel van de servers onderling. In de Dot-Net visie wordt dat allemaal hetzelfde en krijg je als gebruiker toegang tot resources en diensten op alle niveau's, zonder dat je dat eigenlijk merkt, je user-interface wordt lokatie-ongevoelig. Gates spreekt over "symmetry" tussen die drie lagen. Wil je inderdaad dezelfde taken op verschillende niveau's uitvoeren, daarbij file-server, mail-server taken, database servers en het beheer van dat alles gladjes laten verlopen en dus aan "virtuele load-sharing" doen dan valt er heel wat af te stemmen. Dat moet allemaal op de achtergrond, want de gebruiker mag er niets van merken, en dat hele geïntegreerde operating systeem is dus Dot-Net, met voor ieder niveau en device aangepaste stukjes systeemsoftware.
De grote lijn
Bill Gates noemt het de volgende generatie software, praat over nieuwe horizons, nieuwe richtingen, maar zoals ik het nu zie komt het neer op een paar hoofdzaken:
- Software niet meer uit de doos, maar via het net, een praktisch gevolg voor de handel. Als je praat over manageability en upgradability is dat een logische stap, de software wordt een dienst, die je op verschillende manieren kunt afnemen.
- Standaards die inter-operability tussen verschillende systemen bevorderen zoals XML en SOAP krijgen een Dot-Net jasje en worden door Microsoft min of meer ingepikt. Een bepaalde applicatie werkt hetzelfde, gebruikt dezelfde data en draait (met dezelfde basis Dot-Net code) op verschillende hosts en met verschillende devices.
-Het operating systeem kan ook op afstand werken, procedures (functies) op 'n server of client verderop in het net aanroepen.
- browser en applicatie-software gaan in elkaar over en versmelten. Niet door de browser-functies in de applicaties te stoppen (ook een oplossing) maar door de applicaties in de browser te integreren door onder meer smart tags. Dit is de strategische master-move in Dot-Net!
- Er zitten in Dot-NET voorzieningen, waardoor "het Net" altijd weet waar bepaalde data staan, zorgt voor update en je van overal en altijd de "cloud" kunt aanroepen en je "eigen" data en gepersonaliseerde software kunt gebruiken. Information anytime, anywhere on any device is de slogan.
- Bill kan geen echt nieuwe dingen meer bedenken, dus geeft ie ingewikkelde namen aan bestaande concepten zoals Tablet-PC voor organisers, Universal Canvas voor de user interface en Smart Tags voor xml-tags. De "new form factor PC" is ook zo'n kreet.
- Wat oude rommel zoals het verbeteren van de leesbaarheid, spraak-input, object-manipulatie, universal plug-and-play, het wordt nog eens als grote revolutie gebracht, maar stelt niet zoveel voor. Dingen die toch al zouden gebeuren, krijgen nu nog even "profetische" dimensies, ex-cathedra neuzelt Bill wat door.
Software SOAP
Het software-wereldje is natuurlijk al een soap, maar SOAP schijnt de basis te zijn van het hele verhaal. SOAP staat voor Simple Object Access Protocol, eindelijk een soort afspraak over hoe programma's over het Internet met elkaar kunnen communiceren, een universele inter-computer communicatietaal. Die is niet van Microsoft, maar komt van IBM en Sun, maar is nu een standaard die weer door Microsoft in Dot-Net wordt gebruikt voor de volgende stap naar samenwerking tussen computers. Maar niet alleen Dot-Net gebruikt dus SOAP, ook Java.
De andere belangrijke hoeksteen van Dot-Net is XML (eXtensible Markup Language), de opvolger van HTML en SGML waarmee ook complexe taken kunnen worden ingebed in web-pagina. Uitwisseling van heterogene data is waar XML voor gebruikt gaat worden. Dat is eigenlijk al ouwe koek, maar wordt wel steeds meer gebruikt, dat gaat nu onder meer als "smart tags' met dus meer onderliggende functies dan een simpele hypertext link de wereld in.
Een kernbegrip vormen ook de Remote Procedure Calls, die nu dus door de SOAP afspraken door verschillende operating systemen herkend gaan worden. Op afstand taken laten uitvoeren, bijvoorbeeld sorteeropdrachten of SQL-achtige zoekopdrachten. Door het opnemen van de aanduiding "Web Method" in een commando zou dat dan herkend moeten worden.
Dat netwerken zo functioneel zijn geworden, dat het voor de gebruiker niet meer uitmaakt of z'n data of software nu op z'n desktop of elders in het netwerk staan was een voorspelbaar groeiproces, Ted Nelson's Xanadu-hypertext visie ging daar al van uit. Maar dan is een aparte interface om het netwerk te doorkruisen niet meer nodig. Het onderscheid tussen applicatie en browser verdwijnt, de browser wordt zelfs overbodig als je vanuit een applicatie direct toegang hebt tot resources (data, plugins, libraries, processing power) elders. Maar dan heb je geen browser meer nodig, en vervalt de hele ruzie over de OS/browser integratie, maar ook de grip die Microsoft heeft op de markt.
Dat zag Microsoft natuurlijk wel aankomen, en bedacht een andere manier waarbij de applicatie als het ware verborgen zit achter een veel bredere interface, die ze de Universal Canvas noemen. Geen window meer, maar een schilderij waarop je niet alleen tekst, maar ook plaatjes, video en spraak op kunt gebruiken.
De stap naar de applicatie is niet meer het aanklikken van een ikoon en activeren van een .exe, maar werkt, als we Gates goed begrijpen, voortaan via Smart Tags. Die worden automatisch gegenereerd, Dot-Net herkent bepaalde woorden en objecten en zorgt dan dat ze een link krijgen naar de applicatie. Bijvoorbeeld een datum krijgt een tag, die als je erop klikt, de agenda-functie opentrekt, een bedrijfsnaam geeft toegang tot een database of spreadsheet. Eindelijk dus echte object-oriëntatie, een automatische link tussen object en bewerkingen. Maar is dat nou een revolutie, of plakte Microsoft dit soort innovaties maar in het Dot-Net plaatje omdat het toevallig zo uitkwam. Ook op web-pagina's kwam je steeds meer tags tegen, die een dergelijke links boden.
Microsoft .NET: remote OS
Een van de beelden die ik dus heb van .NET is dat Gates eigenlijk spreekt over een operating systeem op afstand, over een manier om processing power, software en data op een ander systeem voor je te laten werken zonder de ballast van heel specifieke opdrachten, geheugen-pointers en access-opdrachten, maar via vrij eenvoudige basis-procedures die door ieder systeem gehonoreerd worden. Gestandaardiseerde taken, die door het aangeroepen systeem op eigen wijze en binnen het eigen operating systeem worden uitgevoerd. Remote Procedure Calls is het kernbegrip, maar wat betekent dat in de praktijk.
Gates leutert in z'n speech een eind weg over hoe bepaalde taken, zoals note-taking en vergader-verslaggeving kunnen verbeteren, maar dat is een soort mix van spraak-technologie, tablet-input, interactive "ink" objects, i-paper, multi-media-annotation, video-clipping etc., met Dot-Net heeft dat niet zoveel te maken. Gates noemt dat allemaal .NET UI constructs, maar het zijn verbeteringen in de user-interface die we al elders zagen opduiken en nu onder een noemer worden gebracht.
Natuurlijk gaat dat de gebruiker helpen, real-life relaties zijn ten slotte complexer dan alleen wat simpele bytes heen en weer sturen. Gates noemt bijvoorbeeld de koper-verkoper relatie, die meer is dan een electronische order, maar ook het betalen, het volgen van de bestelling, het afhandelen van klachten, garantieproblemen en zo omvat.
Hier is een aardiger voorbeeld de one-click methodiek van alleseter Amazon-com om iets te bestellen op een website. Je besteldaad is gereduceerd tot een minimale aktie, terwijl de verdere afhandeling en koppeling van databanken, het checken van je gegevens, je betalingsmodus etc. door Amazon.com wordt afgehandeld.
Ook denk ik bijvoorbeeld aan een soms vrij ingewikkelde taak als backuppen of de transfer van bepaalde bestanden naar een ander systeem. Normaal moet je daarvoor niet alleen de juiste commando's weten, maar ook nog hoe alles heet, waar het staat etc. Als je nu op afstand via het algemene commando "backup" over de details heen kunt stappen wordt het allemaal wat eenvoudiger.
Overigens wordt al direct duidelijk, dat de veiligheidsaspecten bij Soap en Dot-Net nog zwaarder wegen dan bij gewoon Internet-verkeer. Dat wordt feitelijk de bottleneck, al dat moois en die interoperability en die remote procedure calls, hoe hou je kwaadwillig of ondeskundig en dus gevaarlijk gebruik tegen. Worden de daarvoor noodzakelijke bescherming, identificatie, authentificatie, encryptie geen zwaardere last dan gewoon je eigen applicatie op je eigen machine? In een tijd waar de FBI etc. toch al toegang blijken te hebben tot vrijwel alle email en datacommunicatie is het een illusie om te denken dat je illegaal gebruik, hackers, spionage, virussen en gewone stommiteiten tegen kunt houden als je alles aan alles gaat koppelen.
Diensten
Het draait allemaal om standaards, om manieren om verschillende computers niet alleen met elkaar te laten praten, maar samen te werken. Die standaards probeert Microsoft nu naar zich toe te trekken met als boodschap, dat men dan toch zo'n hoop mooie nieuwe diensten in de aanbieding heeft. On nee, niet alleen eigen Microsoft applicaties en MSN, maar ook derden kunnen meedoen, haak aan, loop mee achter de Dot-Net banier als je rijk wilt worden. Microsoft levert de bouwstenen, maar iedereen kan met deze standaard z'n eigen diensten ontwikkelen. Information agents bijvoorbeeld, die op basis van de Dot-NET bouwsteen diensten voor specifieke markten en gebruikers het Internet opgaan om informatie af te grazen. In de Microsoft visie is dat geen geisoleerde functie meer, maar kun je zo'n agent vanaf iedere desktop of device aanroepen, vertoond ie zich dan in de juiste user-interface gedaante (van spraak tot toets) en werkt altijd met de meest up-to-date gegevens en versies. Diensten zijn ook niet meer beperkt tot alfanumerieke data, maar het "rich" content idee maakt complexe documenten mogelijk, natuurlijk weer met de nodige output-aanpassingen, op je handheld telefoon kun je (nog) geen video zien.
Nu kan ik hier natuurlijk hele lijsten geven van wat Microsoft dan als bouwsteen-diensten binnen Dot-Net ziet, zoals Identity (authentication als opvolger van Passport), XML store (data definition and integrity), Calendar (wie en wat gaat voor, als je allerlei taken hebt lopen), het nu al bestaande Passport (weten wie je bent en daardoor niet alleen toegang maar ook gepersonaliseerde diensten), maar helpt dat in het begrip van de hele zooi?
Nauwelijks, hou maar vast dat Dot-NET interoperability op afstand naar de desktop brengt, dat is voorlopig wel voldoende. De rest zijn beloftes, eye-wash en Microsoft praatjes voor de vaak.
Termijn
Windows .NET version 1 komt al volgend jaar, maar het is duidelijk, dat Dot-Net pas na 2003 en waarschijnlijk pas rond 2005 echt iets gaat betekenen, al was het alleen maar omdat Windows ME toch niet voor eind 2000 echt op de markt komt en ook z'n tijd moet hebben. Maar ook de Internet-bandbreedte, die de mooie plannen over software- en services-sharing toch vereist, laat op zich wachten. De gemiddelde gebruiker, en daar is het toch voor bedoeld, zal pas over een jaar of drie, vier de megabits aan bandbreedte ter beschikking krijgen en zelfs dat is de vraag. Want het aantal gebruikers neemt toe, maar ook de "zwaarte" van de gemiddelde webclick, je krijgt tegenwoordig geen enkele html-file, maar een heel complex aan kaders, banners, applets en interacties op je web-bordje.
De terugval in de dot.com business, die naar ik verwacht na deze (voor de rest van de wereld) hete zomer zo half augustus z'n beslag gaat krijgen, zal ook de investeringsdrang in bandbreedte afremmen. Verder blijkt de bereidheid tot upgraden van software steeds meer af te nemen, voor browsersoftware praat Jacob Nielsen over 1% overstap per maand. Voor een zo fundamentele stap als van Windows (98,ME, 2000) naar Dot-Net moeten er wel hele grote voordelen zijn voor de gebruiker om daarin mee te gaan. Gates zelf noemt gebruiksgemak als cruciaal punt, maar als we het gebruikgemak van de Dot-Net berichten als maatstaf nemen, scoort Redmond daarin allerbelabberst.
Interoperability, en dus het erkennen dat er naast Windows ook andere operating systemen voor andere devices bestaan, voor de Palm, Linux, Mac gebruikers al een logische stap. Microsoft doet nu alsof ze het hebben uitgevonden. En dan kun je je afvragen, is dat nieuw of is het alleen Microsoft dat wakker schrok, nadat het de afgelopen jaren te druk bezig was met de antit-trust rechtszaak?
Mijn conclusie: Dot-Net is cup-a-soup marketing, het smaakt nergens naar maar je denkt als gebruiker dat het tijd en moeite bespaart.
Enig inzicht over Dot-Net is te verkrijgen via:
www.microsoft.com/billgates/speeches/2000/06-22f2k.htm
davenet.userland.com/2000/06/24/dotwhat
www.useit.com/alertbox