R20/Consultancy B.V. - The website of Rick F. van der Lans

R20/Consultancy B.V.

The website of Rick F. van der Lans

Home page
Up

Microsoft.NET is een technisch hoogstandje

Auteur: Rick F. van der Lans
Geschreven: april 2001
Gepubliceerd in: Computable, jaargang 2001, week 23

Het fundament van Microsofts nieuwe architectuur heet .NET. Het is de opvolger van Com en Com+. Voor elk bedrijf met een forse investering in Microsoft-software is het een belangrijke ontwikkeling die in de gaten gehouden moet worden. In een notendop kunnen we stellen dat .NET een technisch hoogstandje is. Technologisch kan het makkelijk concurreren met vergelijkbare omgevingen. Maar de vraag is of de markt het zal adopteren en of de timing niet geheel verkeerd is?

.NET is Microsofts nieuwe runtime omgeving waar veel van hun nieuwe producten en talen gebruik van zullen maken. Maar wat is eigenlijk een runtime-omgeving? 

Een runtime omgeving is die laag software waarop een applicatie draait en die tevens allerlei faciliteiten aan diezelfde applicatie ter beschikking stelt. Een runtime omgeving bevindt zich tussen de applicatie en het besturingssysteem (en dus de hardware). Indien een applicatie bijvoorbeeld bestanden wil schrijven of lezen, dan roept ze functies aan die door de runtime-omgeving geboden worden. Door de jaren heen zijn er al veel van dergelijke omgevingen ontwikkeld. Een van de recentste is natuurlijk de JVM (Java Virtual Machine) en een ander bekend voorbeeld is de VBRUNxxx.DLL.EXE omgeving (het fundament voor elke VisualBasic-applicatie). Deze omgevingen zijn allemaal anders, ze verschillen in het soort functies dat ze aanbieden, in de talen die ze ondersteunen, en zelfs beveiligingsaspecten en performance zijn niet hetzelfde. Uiteraard kan het zijn dat een runtime-omgeving bovenop een andere runtime-ongeving opereert. De JVM is daar een voorbeeld van. 

Omdat de grenzen van de voorloper COM+ bereikt waren, is een nieuwe weg ingeslagen. Er moest een omgeving gecreëerd worden waarin alle moderne faciliteiten van een runtime-omgevingen zouden zitten, en niet een versie waarin dat allemaal later is toegevoegd. 

Ook al is het de eerste versie, .NET heeft nu reeds technologisch veel te bieden. Enkele voorbeelden. De basis van de gelaagde structuur van .NET wordt gevormd door de CLR (Common Language Runtime). Deze module is verantwoordelijk voor technische zaken als geheugenbeheer en 'garbage collection' en is volledig taalonafhankelijk. In principe is voor elke programmeertaal een compiler te ontwikkelen die broncode vertaalt naar de CLR (alhoewel, de taal moet dan wel aan bepaalde eisen voldoen). Zelfs het zogenaamde datatype-systeem en het overervingsmechanisme worden door deze module ondersteund. Hierdoor is het mogelijk dat componenten, geschreven in verschillende talen, zonder problemen gegevens kunnen uitwisselen en dat bijvoorbeeld een VisualBasic-component kan erven van een C++-component.

Boven op de CLR draaien andere modules zoals .NET Framework bases classes, ASP.NET en Windows Forms. De eerste biedt ondersteuning voor XML, de tweede maakt het voor elke .NET-applicatie gemakkelijk om met webservices te werken en de derde creëert een buitenkant voor de applicatie. Omdat niet alle bestaande COM+-applicaties binnen enkele dagen te converteren zijn naar .NET, zijn er standaard faciliteiten om 'oude' componenten te laten communiceren met de nieuwe wereld.

Let wel, Microsoft praat ook over de zogenaamde .NET services; dit zijn de bekende backoffice-producten, zoals SQL Server en Exchange. Deze zijn natuurlijk niet herschreven. In feite zijn ze nog steeds opgebouwd met COM+-technologie, maar ze zullen interfaces bieden naar .NET.

Op elke technologie, dus ook op .NET, is altijd kritiek te geven, zeker wanneer een technologie nog zo jong is. Maar als we daar doorheen kijken, moeten we stellen dat .NET een technisch hoogstandje is en zeer veel potentie heeft. Maar technologische superioriteit is geen garantie voor commercieel succes. Het is pas een succes als organisaties massaal gaan overstappen. Wat dat betreft liggen er twee grote gevaren op .NET's pad.

Het eerste gevaar is dat er veel software opnieuw ontwikkeld moet worden als een bedrijf zou willen overstappen. We kunnen een bestaande VisualBasic-applicatie niet door de nieuwe compiler laten verwerken en CLR-code laten genereren. Delen van de applicatie zullen eerst in VisualBasic.NET herschreven moeten worden, wat toch een andere programmeertaal is. Ook C++-code kan niet zomaar overgeheveld worden. Hetzelfde geldt voor Java-code, die niet één-op-één te converteren is. Veel COM-componenten zullen dus herontwikkeld moeten worden. Tussen haakjes: als u niet in een lage programmeertaal ontwikkeld hebt, maar de VisualBasic, C++ of Java-code heeft laten genereren, dan is er misschien hoop. U behoeft dan alleen te wachten op, bijvoorbeeld, de C#-code generator. Maar niet iedereen heeft deze luxe.

De macro-economische ontwikkelingen vormen een geheel ander gevaar. Indien het met de economie slechter gaat, zijn klanten minder bereid over te stappen op nieuwe technologie. Er moet dan meer rendement gehaald worden uit gedane investeringen. De Amerikanen bevinden zich reeds in zo'n periode en wij zijn waarschijnlijk over één jaar aan de beurt. Dit zijn ongunstige tijden om zo'n drastisch nieuwe technologie te introduceren. Zeker als ze een forse herinvestering vereist. Als u tevens bedenkt dat we met .NET niet iets kunnen wat voorheen niet mogelijk was (het wordt alleen gemakkelijker gemaakt), dan zal de behoefte aan overstappen niet groot zijn.

De marketingkracht van Microsoft is formidabel, dat weten we allemaal, maar de vraag is of .NET niet teveel vergt? We zullen het de komende jaren in de gaten houden.

 

If you have any questions or remarks concerning this website, please send us an email: info@r20.nl.
Copyright © 2009 R20/Consultancy B.V.