Hoofdcategorieën
Device Settings

Minder DCOM en meer XML in Windows Longhorn

Door Harm Hilvers, woensdag 28 januari 2004 10:49
Bron: C|Net, views: 17.610

Microsoft is bezig met de ontwikkeling van een nieuw besturingssysteem, Windows Longhorn genaamd. In deze Windows-versie zullen een drietal zaken grondig gaan veranderen: (1) het bestandssysteem wordt aangepakt en krijgt meer relationele mogelijkheden (WinFS), (2) de grafische engine gaat op de schop en deze krijgt de mogelijkheid om allerlei effecten uit te voeren (Avalon) en (3) het communicatiesysteem tussen applicaties zal grondig veranderd gaan worden (Indigo). Over dit laatste onderdeel heeft C|Net een artikel geschreven waarin uitgelegd wordt wat de voornaamste veranderingen zullen gaan zijn. Meer informatie over Indigo is terug te vinden op deze MSDN-pagina's. Bij MSDN is ook meer informatie te vinden over WinFS en Avalon.

Microsoft .NET logo (klein)Op dit moment maken veel programma's gebruik van het Component Object Model (COM) en het Distributed Component Object Model (DCOM) om gegevens en objecten tussen programma's te kunnen delen. Indigo gaat hier, als uitbreiding op .NET, echter verandering in brengen. Microsoft heeft besloten om deze programmeermodellen achter zich te laten en zich te gaan richten op een nieuw model. Dit nieuwe model zal veel gebruik maken van XML om gegevens uit te wisselen tussen programma's. Dit uitwisselen van data zal overigens niet meer via objecten verlopen, maar via services. Dit programmeermodel, waarbij de aandacht is gericht op services, staat tegenover de Java 2 Enterprise Edition-standaard, die vooral de nadruk legt op objecten.

Don Box, software architect bij Microsoft, heeft dit tijdens de Developing Software for the Future Microsoft Platform-conferentie afgelopen maandag toegelicht. Volgens hem heeft het object georiënteerde programmeren niet alle voordelen gebracht die beloofd werden. In de jaren negentig van de vorige eeuw werd gezegd dat bijna alles mogelijk was met de objecten, dit bleek echter niet zo te zijn. Objecten konden bijvoorbeeld maar met matig succes ingezet worden als distributiemedium. Om communicatie mogelijk te maken tussen programma's waren altijd class-, jar- of dll-bestanden nodig. Hierdoor leek het wel alsof programma's onderling goed communiceerden, maar uiteindelijk bleek toch dat de verschillende programma's te dicht bij elkaar moesten komen om communicatie mogelijk te maken.

Windows Longhorn logoOm dit probleem op te lossen heeft Microsoft het services-idee ontwikkeld. Programma's kunnen alleen met elkaar samenwerken door het versturen en ontvangen van berichten. Ieder programma dat gegevens aan een ander programma kan en wil leveren, wordt een service genoemd. Programma's of applicaties die deze gegevens bij het andere programma komen halen, worden clients genoemd. Een systeem van services en clients heeft de naam 'connected system' meegekregen. Programma's zullen samen kunnen werken, ook al is de onderliggende programmacode verschillend. Dit is mogelijk doordat er gebruik gemaakt wordt van XML als distributiemedium.

Volgende 10:59 Amazons kwartaalcijfers tonen recordomzet
Vorige 23:39 The Inquirer claimt eerste benchmarkresultaten Prescott
Advertentie

Reacties

«  1  2  3  »

Component Object Model (DOM)

COM? of Document Object Model? ;)

Indigo gaat hier, als opvolger van .NET, echter verandering in brengen.

Indigo is niet de opvolger van .NET. Zoals Microsoft zelf schrijft:

"Indigo" is a set of .NET technologies for building and running connected systems.

Het is dus technologie die gemaakt is om gebruikt te worden op het .NET platform. Voor de programmeurs: een API.

Het is dus technologie die gemaakt is om gebruikt te worden op het .NET platform. Voor de programmeurs: een API.
Zover ik heb gezien via het online materiaal van de PC en zelf bij de DevDays is Indigo veel meer dan een API. Ja, het is de opvolger van (D)COM/COM+/Enterprise Services/Remoting/XML Webservices en de interactie met applicaties wordt via de bekende System.Net namespace in .NET geregeld, maar Indigo is blijkbaar ook verantwoordelijk voor al het netwerkverkeer op applicatieniveau.

Kort samengevat: Indigo neemt in een klap al die losse onderdelen over die de huidige netwerk stack in Windows vormen en ja, dat is een good thing :)

Ik heb begrepen dat het enige wat niet door het Indigo team qua communicatie wordt geregeld is bijvoorbeeld lowlevel toegang tot de netwerkkaart want dat is meer de verantwoordelijkheid van het Fundamentals team, die o.a. over de driverarchitectuur gaat.

Inderdaad, ik ben nu al zeer te spreken over de manier waarop Remoting bijvoorbeeld werkt in .NET. Daarmee kun je al op redelijk makkelijke wijze communicatie tussen bijvoorbeeld een server en een client maken (dit systeem gebruiken wij bij ons werk).

Als je echter met services kunt werken (zoals nu webservices al bestaan in .NET), dan wordt dit nog veel simpeler te realiseren. Klinkt dus als een zeer interessante ontwikkeling.

Programma's zullen samen kunnen werken, ook al is de onderliggende programmacode verschillend. Dit is mogelijk doordat er gebruik gemaakt wordt van XML als distributiemedium.
Hmm MS heeft net een patent op het implementeren van XML in hun applicaties.. Als anderen dus op dezelfde manier XML willen implementeren in hun software om bepaalde functies te gebruiken die MS pakketten (gaan)bieden die net even afwijken van de vastgelegde XML standaard, ben ik bang dat dit toch op een developer-license model zal uitdraaien waarin je moet betalen om een volledig compatible service op te zetten..

Hmm MS heeft net een patent op het implementeren van XML in hun applicaties.. Als anderen dus op dezelfde manier XML willen implementeren in hun software om bepaalde functies te gebruiken die MS pakketten (gaan)bieden die net even afwijken van de vastgelegde XML standaard, ben ik bang dat dit toch op een developer-license model zal uitdraaien waarin je moet betalen om een volledig compatible service op te zetten..
Het nieuwsbericht waar jij naar verwijst gaat over een compleet andere implementatie van XML en heeft dus erg weinig, zeg maar niets, te maken met de implementatie van XML zoals die in dit verband beschreven is en gebruikt gaat worden. Het zijn twee verschillende dingen: (1) XML als manier om documenten op te slaan inclusief eventuele opmaak enerzijds en (2) aan de andere kant XML als manier om data tussen applicaties te delen. Twee verschillende toepassingen, dus dat Office-XML-patent zal geen invloed hebben op de implementatie zoals die in Indigo geldt.

Ik vraag me af, dat XML patent wat ze hebben aangevraagd, of ze daar nog gebruik van gaan maken in longhorn.
Dit nieuwe model zal veel gebruik maken van XML om gegevens uit te wisselen tussen programma's
Waarschijnlijk dus ook tussen office en longhorn. Volgens Microsoft hoeven we ons geen zorgen te maken, maar ik heb er toch wel andere ideeen over!

edit: Venator was me voor.

Klinkt nieuw maar is het niet... Ik zie in SOAP een goede vervanging voor (D)COM... Waarschijnlijk wil Microsoft hier ook SOAP voor gebruiken, maar doen ze weer net alsof ze zelf iets moois bedacht hebben... ;)

>Waarschijnlijk wil Microsoft hier ook SOAP voor
>gebruiken, maar doen ze weer net alsof ze zelf iets
>moois bedacht hebben...

Dus als je iets "nieuw" wil noemen mag je niet voortbouwen op bestaande technologieën?

Het grappige hiervan is dat SOAP voor 90% door Microsoft bedacht is!

Ik heb hier op werk ooit een SOAP server gebouwd en ik kan je verzekeren dat SOAP bij lange na niet overal voor geschikt is; net zoals bij elk XML formaat is vooral performance de bottleneck, vandaar dat het mij ook zo verbaast dat Microsoft voor een XML-based protocol kiest.

Maar net zoals de halve wereld als gedweëe schaapjes achter OO aanhobbelden (zie ook artikel) zal straks ook wel XML door de mand vallen; net zoals met elke techniek duurt het even voordat men doorheeft dat geen énkele technologie het ei van columbus is voor elke mogelijke toepassing.

Waarom voert MS eigenlijk bij zowat elke nieuwe versie van Windows een nieuw IPC/RPC protocol toe?

Ik denk niet dat het verkeerd is om van scratch een OS te gaan maken die op een ander principe gebaseerd is. Microsoft heeft echt wel veel tijd en onderzoek besteed aan dit systeem en ik denk dat het best wel eens kan gaan werken. XML vind ik ook niet zo'n verkeerde keuze: ik denk dat veel meer dingen met XML gaan werken, omdat het een goede manier is om gegevens te ordenen.

We moeten echter de praktijk nog even afwachten :)

Gegevens te ordenen. Ja leuk, maar lijkt me niet het hoofddoel. Voordeel van XML is dat in elke taal op elk platform op een gestandaardiseerde wijze een XML bestand kan worden ingelezen/weggeschreven.

Je kan XML prima gebruiken om data flink chaotisch en onleesbaar te maken, zat mooie voorbeelden gezien :)

Lijkt me niet helemaal juist. CSV (Comma Seperated Values) kunnen óók door elk systeem ingelezen worden, dus waarom zou XML dan beter zijn?

Ten eerste om je weet wat waar staat en m.b.v. schema's kun je nog veel meer functionaliteit toevoegen. Als resultaat dat je gegevens aan iemand opvraagt en je weet precies wat er allemaal in staat en waaraan de informatie die je terug stuurt moet voldoen. En dat in een formaat dat iedereen aan kan. Dat samen is een ENORM voordeel t.o.v. andere methodes.

CSV's zijn 2 dimensionaal, leuk om tables en spreadsheetjes in op te slaan, maar daar houdt 't echt op...

Hehehe, je moet eens weten wat ik allemaal voorbij heb zien komen in CSV's!!! :r

gegevens ordenen ? daar hebben we relationele databases voor (dat kan XML _niet_ vervangen), waarvan de implementatie iedereen een worst zal wezen zolang we er met SQL tegen kunnen praten.

Ik vind het leuk om al het nieuws rond Longhorn te volgen. Zeker interestant die 3 onderdelen:
1. WinFS
2. Avalon
3. Indigo
En het is ook goed dat bij ieder artikel die 3 onderdelen weer aan bod komen. Als dit OS echt zo innoverend wordt als win95 in die tijd dan moet dit ook gedaan worden.

Dit staat wel los van het artikel hoor, maar pluspuntje over alle artikes die over Longhorn gaan. :+

Ligt er natuurlijk maar net aan wat voor jou het meest van toepassing is. Voor mij is dat Indigo. Avalon komt alleen aan bod voor applicaties die alleen onder Longhorn draaien en WinFS boeit me momenteel geen reet. Het is een nieuwe manier van opslaan waar je geen reet van merkt als gebruiker. Buiten beschouwing gelaten hoe het gaat performen e.d. Maar wat wel boeiend kan zijn is de nieuwe manier van presenteren met WinFS. Het idee is dat het niet meer d.m.v. een berg folders en files gaat, maar m.b.v. metadata.

Héél simpel en bijzonder humoristisch uitgelegd wat WinFS is: WinFS and your porn collection - Making life easier

Gheghe, bijzonder humoristisch artikel:
I think that the next release of Windows is all about making porn easier to manage, and "Longhorn" certainly is an appropriate name given this noble goal.
En dan dit soort comments eronder:
Thanks for the name clarification. I thought all along it was called "Longporn".
and with its vector based graphics, you should be able to zoom in on that porn really well too!
:P

Logisch dat Microsoft COM/DCOM langzaam overboord zet voor de communicatie tussen applicaties. Maar waarom een applicatie die gegevens levert nou weer een service moet heten? Ze noemen de applicaties die de gegevens binnenhalen ook clients dus waarom niet server :?

Omdat het hele services verhaal uit Service Orientated Architecture komt, wat momenteel in architectuurland een waanzinnige hype is.

Zoek maar op het "Microsoft architectural journal" om te lezen wat SOA is. Verhalen zijn in dat document niet echt eenvoudig, dus wees gewaarschuwd. Anders moet je gewoon naar Microsoft Patterns & Practices gaan en daar wat documenten lezen. Ben je voorlopig onder de pannen! ;-)

Zoek maar op het "Microsoft architectural journal" om te lezen wat SOA is.
Sexueel overdraagbare aandoening? Dat klinkt niet best :+


Ik was (of ben?) zelf ook iemand die negatief stond tegenover webservices als communicatiemiddel. Maar zoals ik al vaker gelezen heb: "prove it", als je zegt dat het traag is.

Ik ga dat misschien doen op het project waar ik momenteel zit, waar we webservices gaan gebruiken voor communicatie tussen verschillende lagen binnen de applicatie zelf! M.b.v. SOA (Service Orientated Architecture), dus da's allemaal een leuke uitdaging.
«  1  2  3  »

Op dit item kan niet meer gereageerd worden.

Volgende 10:59 Amazons kwartaalcijfers tonen recordomzet
Vorige 23:39 The Inquirer claimt eerste benchmarkresultaten Prescott
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011