Ron Jacobs is op dit moment de product manager voor het Patterns and Practices team van Microsoft. Daarvoor was hij een aantal jaar de program manager van het COM+ team. Nieuwsgierig als ik ben naar de plannen van Microsoft met COM+, heb ik hem daar als eerste over gevraagd.
Alex: Wat is de toekomst van COM+ en hoe verhoudt zich dat tot het .NET Framework?
Ron: COM+ zal op termijn opgenomen worden in het .NET Framework, maar niet als zodanig. Het belangrijkste is om voor ogen te houden wat COM+ je biedt. Het is een aantal runtime diensten die je kunt gebruiken. Diezelfde diensten zullen binnen het .NET Framework getrokken worden. Het zal dan alleen geen COM+ meer heten.
Alex: Wat betekent dat voor COM+ buiten .NET?
Ron: COM+ 2.0 zal niet meer gemaakt worden. Er is nu nog een klein team binnen Microsoft dat werkt aan bugfixes van COM+ 1.5. De rest van het team is overgeheveld naar een veel groter team binnen Microsoft. In dat team vallen veel meer groepen, zoals XML Messaging onder leiding van Don Box. Waar ik in het COM+ team een vijftal program managers had, zijn dat er nu zo'n 50. Dat was voor mij ook één van de redenen om te switchen naar het team van Patterns and Practices.
Alex: Ik heb al gehoord dat in Whidbey managed transactie support opgenomen zou worden. Wat weet je daarover te vertellen?
Ron: Inderdaad, Whidbey, de volgende versie van het .NET Framework, zal managed classes bevatten om direct met de Distributed Transaction Coordinator (DTC) te communiceren. Dat betekent dat je vrij eenvoudig transactiesupport kunt inbouwen in je eigen classes. Dit zal het ook aanzienlijk makkelijker maken om je eigen resource managers te schrijven. Tot dusver was het vrij lastig om een niet-transactionele resource op te nemen binnen je transacties. Je moest dan zelf een Compensating Resource Manager schrijven. Binnen Microsoft bleek er maar één persoon daar veel van te weten. Ikzelf wist er ook het nodige van, maar het is een lastig en minder bekend gebied. Dat gaat dus allemaal veranderen. (Toevoeging AT: Cursus MOC2557 besteedt ook aandacht aan het schrijven van een Compensating Resource Manager. Eén van de hoofdstukken is daar volledig aan gewijd.).
Alex: Wat zal er nog meer anders worden als de runtime diensten van COM+ naar .NET overgeheveld worden?
Ron: Een aantal andere zaken zal verdwijnen of teruggeschaald worden. Zo is het concept van Just-In-Time (JIT) Activation van objecten minder van toepassing. Binnen het nieuwe framework wordt er vanuit gegaan dat de focus verschuift van een object-centrieke wereld zoals in COM+ naar een service-geörienteerde wereld. Binnen Web Services wordt een object per definitie pas op het laatste moment aangemaakt (Toevoeging AT: .NET Web Services gebruiken SingleCall objecten). Dat betekent dat object activering veel minder een issue is dan dat het was binnen COM+.
Alex: Komt er nog een versie van het .NET Framework uit voor de volgende grote release?
Ron: Niet dat ik weet. De volgende versie zal waarschijnlijk 2.0 zijn. Ze wachten altijd erg lang met het kiezen van het definitieve versienummer. Ik was zelfs diegene die met de versie 1.5 van COM+ kwam. Lange tijd hebben we het intern COM+ 1.x genoemd. Voordat ik naar de Tech-Ed 2001 ging om er over te vertellen heb ik gezegd: "Jongens, we kunnen het daar niet aankondigen als 1.x. Het zal een nummer moeten hebben." Toen ze daarop vroegen welk versienummer ik in gedachten had, heb ik 1.5 genoemd, 1.1 klonk als een set bugfixes en er was gewoon teveel nieuws. Vandaar dat het 1.5 werd.
Alex: Je geeft op de TechEd 2003 ook een aantal lezingen.
Ron: Ja, deze lezingen zijn gerelateerd aan de Reference Building Blocks van de Patterns and Practices website (Toevoeging AT:Te vinden op http://msdn.microsoft.com/practices). Het Caching Application Block is zo goed als af en ik zal dit ook laten zien in de sessie die ik hierover geef. In mijn sessie over Exception Management zal ik het bijbehorende application block laten zien en wat leuke demos doen. Zo zal ik een Windows Form applicatie een background thread laten starten en deze enge dingen laten doen. De exception handling moet je dan anders aanpakken. Ik heb gisteren zo'n 6 uur gewerkt aan die demo en het belooft erg leuk te gaan worden. De broncode komt na mijn sessie op mijn homepage te staan (Toevoeging AT: Deze is te vinden op http:///www.gotdotnet.com/team/rojacobs).
Verder hebben we net een update gemaakt van het Data Access Application Block. Die is sinds gisteren op de site. Daarin zit ook support voor typed DataSets. Kijk er maar eens naar.
Alex Thissen - Twice IT