Malek's Moorish Tales

Meanderings about life and technology

Hosting the CLR Panel

These are my notes on the Hosting the CLR Panel. I will try to arrange them and make them more readable later on.

   On the panel, Mahesh Prakriya, Chris Brumme, Sean Trowbridge, Chris Brown, Dimitry Robsman(ASPNet), Jose Blakeley(SQL), Mark Alcazar (Longhorn), and Thomas Quinn from Microsoft, and Andrew Murchinson from IBM (DB2).

  
Q : Chris brown, What is the hosting API ?
A : First, the original hosting environment had 11 pages to describe the APIs, the whidbey one is 106 pages long. It is made of  COM interfaces to change the threading model, memory allocation, synchronization primitives, and other extensions to the regular interoperability methods ...

Q : Is IBM thinking of using an alternative implementation of CLR on its alternative plateform ?
IBM : The initial implementation is only for NT and thus will use the Microsoft Runtime. On next versions, We are thinking about Mono ...

Q : overhead on memory ?
A : overhead of several megs, ASPNET first app domain about 10 Mb on empty, subsequent around 1Mb ... Loader optimization to balance perf and overhead (single domain/multi app domains)

Q: Rule of thumb ?
A: single domain is faster for static, initialization ... multi domain, costs related to sharing and preventing side effects. Trying to make that better in whidbey.

Q: hosting 1.0 CLR. some client tried to use 1.1, and had problems. How to prepare for compatibility
A: office way, not have the config file (Clr version) makes the latest version load
   in SQL, ASPNet, DB2 biding to the specific version for stability and dynamically choosing the version to load

Q: SP calling an object defined on the host (ex: reporting services, write a formula in .Net, calling a ref to an object exposed by the host) ?
A: SQL, is value based.
   Fragments of the user code :
 - state

Q: programming model for SQL is limited. programming models in the particular hosting scenarios will be different ?
A: hoping others will behave

Q: something like CLS ? or informal guidelines ?
A: not aware of any attempts to standardization.

Q: unamaged code hosting the CLR
A: if it is just to deal with memory pressure, GC ... large amounts of unmanged, relating to some managed objects, inside whidbey it is possible to link those to GC
Q: How about synchronization ?
A: depends on the level at which the sync is needed

Q: Rule engine
A: reflexion emit, use compiler and load the class from file. what level ? a compiler, higher level language, persistant store (laughs) ... like Store procedure or user defined functions. light weight code generation APIs if no meta Data.

Q: legacy Win32 app. Host CLR and start using managed ?
A: COM Interop ... or IJW - if multi-app domains, then maybe to think about it.

Q: Licensing issue for hosting the CLR
A: none.
Q: ISV doing it ?
A: will not speculate.

Q: created a managed COM object, and make it not appear in the default app domain (VS calling the add in)
A: Threading models issues... launch app domain, and call from it ... obviously no good answer (just inventive ideas). in the longhorn timeframe might be solved
Q: in office, is it one runtime per process ?
A: one runtime per process
Q: hosting API is not part of CLI
A: should it be ?

Q: hosting vs MCpp
A: com interop vs MCpp, MCpp is less cosly
   hosting ? don't know exactely, but MCpp would look the way to go for less costs

Q: 120 pages can be scary
A: that stuff is used by SQL, not necessary to use all the interfaces

the v1 is what most apps will need.

hosting is really about extensibility and tuning how the runtime is used ...

DB2 created own class loader.

Q: ASPNet in addition to hosting CLR, has its hosting APIs.
A: app domains conveniently ...

Q: upgrading from 1.0 to 1.1 cused problems (regiis to get it back to old version)
A: taking it seriously, do not upgrade ...

Q: loading an assembly, what SQL does, what steps at creation, what steps at loading -is there NGEN
A: store user asemblies in the database. prefer to load from DB except those in GAC. intercept reference resolving and go get the assemblies (detach from database, attach somexhere else ...), CAS, well behaved and no conflicting parallel executions. At runtime, rely on runtime checks.NGEN not used (restriction to file system assemblies, ...

   DB2 looks up asemblies in the file system.

Q: Porting to managed or hosting
A: SQL millions of lignes of unmanaged, impossible to upgrade in short or midterm. hosting gives the exetensibility needed.

Q: different localization processes ?
A: match locale of the DB

Q: CLR GC control. objects that are machine wide shared.
A: CLR self tunning. hosting can control GC. machine wide shared not feasible.

Q: serevr vs workstation CLR
A: workload.if MT, server can add perf. Workstation useful in uniproc.

PDC Bloggers meeting tonight at the party

A meeting of all pdc bloggers will take place at the a party in Universal studios. I got this from Scott hanselman's blog :

PDC - ATTENTION ALL BLOGGERS! MEETING AT UNIVERSAL STUDIOS TONIGHT!

Yo!  There's a meeting at the Hollywood Grill inside of Universal Studios tonight at 8PM!  Check out the map of Universal.  We'll be meeting at #19 on the map, close to the entrance.  Pass it on!

Don Box, megastar

   I am telling you, don't you ever think that avalon, or WinFS is the big thing happening at pdc ... I don't want to discuss Yukon at this time of the night, but the big thing here is : INDIGO ... the blue and quiet new communication layer, that really ends the reign of COM, and of the objects everywhere model as well.

   Well, I saw the light (metaphorically off course, for this same light has been with me for many years now), and it was coming from Don Box's speech on Indigo. I don't use session or presentation, because it was a speech, full of enlightening thoughts, and it was a session of evangelization if I ever saw one.

   What object is about, what messages are about, what the value of message based architectures is (SOA- service oriented architecture if you prefer to call it so), and how SOA actually works  ... thank you Don.

   What amzes me is that so many people understood the value of the talk ... or at least so many of them where there, until there was no more free chairs, no more empty space on the floor, and the corridor was no longer walkable ... great job Don.

   The thing about don Box as an MSFT employee is that he has much less freedom to express his opinions in his natural words for them, but he found a way to speak them differently ... Keep going Don ...

   Then, when it is all about SOA, and the only speaker in this pdc that is clearly speaking the extent and value of it is Don ... Hail Don, Hurray ...

 

levels of suckiness ...

   At TechEd, Don Box was wearing a Shirt (you were there steven) that said : "Windows 95 sucks less ..."

   Ever since, there has been a new standad for mesuring the level of suckiness ... The standards specs say basically that there needs to be four seprate mesurements for suckiness, and those have to be made by the standards body, ie : Clemens Vasters, Stephen Forte, Goksin Bakir and myself ...

   Well, tonight, although I have not collected all the votes yet, I can affirm that the level of suckiness is high ... At least it was at the secret party ... (oops, I shouldn't say anymore) ... and I have two votes out of four, having it like this : IT SUCKS... that is the probable reason the other two weren't there ...

   Ok, what happens in the party doen't stay in the party ... Being in one of the most wonderful places on top of holywood hills, but having no fun what so ever, except the great company of Cigdem, Goksin and Selcuk ...

   Steven, where are you ? I know you are were it is happening, and I'm not there ...

   OK, the pdc doesn't suck at all, but this party does ... I hope tomorrow will be better ...

   I hope you are having a better time than I ... good night.

Le plus grand PDC de l'histoire

Un PDC historique, avant un nombre record de participants, un contenu exceptionnel (les technologies couvertes sont des technologies qui ne paraitront commercialement qu'en 2006) ...

la session plénière d'ouverture, qui comme d'habitude est présentée par Bill Gates, a tout de suite annoncé le ton. Ce n'est pas l'hésiation du PDC 2001, mais une vision très claire, bien définie dans ses objectifs, ses composantes, et même, autant que cela est raisonable, dans le temps.

La plateforme qu'on découvre aujourd'hui, Longhorn, n'est pas juste un Windows amélioré, mais une nouvelle plateforme qui "remplace" Windows ... Pour mieux cerner cela, il suffit de voir ce qui est couvert par Longhorn :

- Un nouveau noyau couvrant les services et APIs de base de Windows.

- Avalon : de nouveaux APIs pour la présentation sous Windows, basée sur de nouveaux moteurs graphiques (Direct3D), une nouvelle approche pour la gestion des graphiques basée sur le vectoriel et traitant de façon consistante les differentes formes de présentation telles que nos interfaces graphiques, les documents ou les médias (vidéo, audio, animation ...). Ansi, le développement pour Longhorn sera totalement différent du développement actuel, y compris l'abandon définitif de COM, et l'implémentation complète en APIs gérèes ... Pas mal d'innovation aussi en terme de modèle de développement, avec un modèle totallement unifié (au lieu d'un modèle Web et un autre Win32), basé sur l'approche "code-behind", ou le design réside dans des fichier xml en language de markup "xaml", et la gestion des évènnements dans le code compilé.

- WinFs : Un nouveau système de fichiers qui est au fait une couche supérieure sur le NTFS, permettant un stockage structuré de nos documents, se basant sur des scemas, et permettant de lier les documents entre eux, ou avec des utilisateurs, des contacts, ...etc. Au fait, avec WinFS, le stockage est une forme de base de données ... qui d'ailleurs est basée sur Yukon.

- Indigo :  C'est le nouveau système de communication applicative sous Longhorn. Pour simplifier, il s'agit d'une technologie qui crée une couche supérieure sur les differentes technologies de distribution des applications, y compris les Web Services transactionnels, sécurisés, à messages fiables, ...etc. Le remoting, le transactionnel distribué du style de COM+.

Ainsi,  il s'agit bien de la fin de la technologie COM qui se prépare, et ce que j'ai vu aujourd'hui de la nouelle technologie est plus que convaincant ...

Un PDC historique, avant un nombre record de participants, un contenu exceptionnel (les technologies couvertes sont des technologies qui ne paraitront commercialement qu'en 2006) ...

la session plénière d'ouverture, qui comme d'habitude est présentée par Bill Gates, a tout de suite annoncé le ton. Ce n'est pas l'hésiation du PDC 2001, mais une vision très claire, bien définie dans ses objectifs, ses composantes, et même, autant que cela est raisonable, dans le temps.

La plateforme qu'on découvre aujourd'hui, Longhorn, n'est pas juste un Windows amélioré, mais une nouvelle plateforme qui "remplace" Windows ... Pour mieux cerner cela, il suffit de voir ce qui est couvert par Longhorn :

- Un nouveau noyau couvrant les services et APIs de base de Windows.

- Avalon : de nouveaux APIs pour la présentation sous Windows, basée sur de nouveaux moteurs graphiques (Direct3D), une nouvelle approche pour la gestion des graphiques basée sur le vectoriel et traitant de façon consistante les differentes formes de présentation telles que nos interfaces graphiques, les documents ou les médias (vidéo, audio, animation ...). Ansi, le développement pour Longhorn sera totalement différent du développement actuel, y compris l'abandon définitif de COM, et l'implémentation complète en APIs gérèes ... Pas mal d'innovation aussi en terme de modèle de développement, avec un modèle totallement unifié (au lieu d'un modèle Web et un autre Win32), basé sur l'approche "code-behind", ou le design réside dans des fichier xml en language de markup "xaml", et la gestion des évènnements dans le code compilé.

- WinFs : Un nouveau système de fichiers qui est au fait une couche supérieure sur le NTFS, permettant un stockage structuré de nos documents, se basant sur des scemas, et permettant de lier les documents entre eux, ou avec des utilisateurs, des contacts, ...etc. Au fait, avec WinFS, le stockage est une forme de base de données ... qui d'ailleurs est basée sur Yukon.

- Indigo :  C'est le nouveau système de communication applicative sous Longhorn. Pour simplifier, il s'agit d'une technologie qui crée une couche supérieure sur les differentes technologies de distribution des applications, y compris les Web Services transactionnels, sécurisés, à messages fiables, ...etc. Le remoting, le transactionnel distribué du style de COM+.

Ainsi,  il s'agit bien de la fin de la technologie COM qui se prépare, et ce que j'ai vu aujourd'hui de la nouelle technologie est plus que convaincant ...

Si vous voulez un compte rendu détaillé de ce qui s'est passé dans cette session plénière, reportez vous au blog de Scott Hanselman qui en a fait une excellente et très abondante couverture.