October 29, 2003
@ 06:40 PM

The MSR keynote was awesome. The stuff around "Tablet PC for students" was so awesome that I almost want to go to school again once that comes around. The "social computing" part was highly inspirational for weblog software ;-)

Links: Social Computing at MSR, Skyserver ... and I can't find a link to the Tablet PC stuff. And no PPTs on CommNet.

Categories: PDC 03

October 28, 2003
@ 07:55 PM

The typical PDC attendee is very special. PDC is not like TechEd where you get very practical information on today’s shipping products. PDC is about futures and it requires a lot of imagination of how applications could look and could work on the new platform. It’s about building excitement for the things to come. PDC attendees are the folks who will make the first wave of applications happen. They are excited about technology and they love to code.

Don Box’ talk yesterday afternoon (WSV201) was very much about now. I heard a few people complain that he didn’t show enough new code. I don’t think he should have. I found his talk very important and Don delivered his message very well. Don’s talk was very much about architecture. No matter how much you want to see code, it’s not the 1990’s anymore. Simply hacking up an app won’t let you play in a connected application ecosystem that’s powered by Web services. WinFX will enable better applications by simplifying coding complex applications in a big way and making developers more productive. You’ll code less. Code isn’t all that matters. Architecture matters. Negotiation and contracts matter. Design matters.

There were four key takeaways from his talk: Boundaries between applications are explicit. Indigo’s programming model is different from previous distributed programming models such as COM and Remoting, because it doesn’t make objects implicitly remote. You need to declare things as being remote. The fact that you’re theoretically able to write a local application and can then write a configuration script that distributes this application across multiple machines using Remoting was a naïve approach. Likewise, writing a COM application that’s built as a local application and reconfiguring it to run as a distributed application using a different registry setup is a naïve approach. With Indigo, you will need to start writing applications explicitly as being remote. If you love objects, you will find a few things very restricting in this world, and at first sight. There are no automatically marshaled callbacks, interfaces and objects. There are messages, not object references going across the wire. The endpoints of communication, called services, aren’t fragments of the same application based on the same types and classes. Services are autonomous units which adhere to compatible data contracts and policy, not dependent units that use identical implementations. We share schema, not type.

Don recommended, as I’ve done earlier here on the blog, one of the most important Indigo talks for anyone who’s building software on today’s platform (that means: everyone at PDC): WSV203, “Indigo”: Connected Application Technology Roadmap; Wednesday, 11:30am, 409AB.  Go.

Categories: PDC 03 | Indigo

Here’s my quick, two sentence definition of Indigo in order to give you an idea about the scope of this thing:

Indigo is the successor technology and the consolidation of DCOM, COM+, Enterprise Services, Remoting, ASP.NET Web Services (ASMX), WSE, and the Microsoft Message Queue. It provides services for building distributed systems all the way from simplistic cross-appdomain message passing and ORPC to cross-platform, cross-organization, vastly distributed, service-oriented architectures providing reliable, secure, transactional, scalable and fast, online or offline, synchronous and asynchronous XML messaging.

Categories: PDC 03 | Indigo

October 27, 2003
@ 08:26 PM

The PDC keynote, featuring Bill Gates, Jim Allchin, Don Box, Chris Anderson and, on video, John Scully, Marc Andreesen, Bill Clinton, Warren Buffet, Sean Combs (P. Diddy) and lot of other folks ... was easiest the best, most substantial, longest and fun keynote I've ever seen. And I've seen very many.

Longhorn, the Aero shell, the Avalon programming model, WinFS and Indigo rock already and they are going to get better and better as time progresses.

Hey, Linux Penguins, here's the new thing to clone. Good luck.

Categories: PDC 03

My good friend Steve Swartz is giving blogging a second try and this time for real. Given that the stuff he's been working on is/was in the stealthier areas of the Indigo effort (not the public WS-* specs), it was pretty difficult for him to blog about work, but now with PDC things are changing.

In an effort to get newtelligence's PDC T-Shirt, Doug Purdy switched from Radio to dasBlog as well.

These two blogs will be very interesting places to watch if you are interested in the Indigo programming model.

Doug Purdy is the Program Manager for the new serialization framework (which consolidates XmlSerializer, BinaryFormatter and SoapFormatter), Steve Swartz drives the Indigo programming model that all of us will use.

Categories: PDC 03 | Indigo

Brad More is asking whether and why he should use Enterprise Services.

Brad, if you go to the PDC, you can get the definitive, strategic answer on that question in this talk:

“Indigo”: Connected Application Technology Roadmap
Track: Web/Services   Code: WSV203
Room: Room 409AB   Time Slot: Wed, October 29 11:30 AM-12:45 PM
Speakers: Angela Mills, Joe Long

Joe Long is Product Unit Manager for Enterprise Services at Microsoft, a product unit that is part of the larger Indigo group. The Indigo team owns Remoting, ASP.NET Web Services, Enterprise Services, all of COM/COM+ and everything that has to do with Serialization.

And if you want to hear the same song sung by the technologyspeakmaster, go and hear Don:

“Indigo": Services and the Future of Distributed Applications
Track: Web/Services   Code: WSV201
Room: Room 150/151/152/153   Time Slot: Mon, October 27 4:45 PM-6:00 PM
Speaker: Don Box

If you want to read the core message right now, just scroll down here. I've been working directly with the Indigo folks on the messaging for my talks at TechEd in Dallas earlier this year as part of the effort of setting the stage for Indigo's debut at the PDC.

I'd also suggest that you don't implement your own ES clone using custom channel sinks, context sinks, or formatters and ignore the entire context model of .NET Remoting if you want to play in Indigo-Land without having to rewrite a large deal of your apps. The lack of security support of Remoting is not a missing feature; Enterprise Services is layered on top of Remoting and provides security. The very limited scalability of Remoting on any transport but cross-appdomain is not a real limitation; if you want to scale use Enterprise Services. Check out this page from my old blog for a few intimate details on transport in Enterprise Services.

ASMX is the default, ES ist the fall-back strategy if you need the features or the performance and Remoting the the cheap, local ORPC model. 

If you rely on ASMX and ES today, you'll have a pretty smooth upgrade path. Take that expectation with you and go to Joe's session.

[PS: What I am saying there about ES marshaling not using COM/Interop is true except for two cases that I found later: Queued Components and calls with isomorphic call signatures where the binary representation of COM and the CLR is identical - like with a function that passes and returns only ints. The reason why COM/Interop is used in those cases is very simple: it's a lot faster.] 

Categories: PDC 03 | Technology | COM | Enterprise Services | Indigo

Doug, you are absolutely going to get newtelligence's PDC T-Shirt, but in all reality you should give me a T-Shirt for allowing you a super smooth transition and perfect upgrade path from your outdated blogging tool to this here. Tell Don that he's going to get one, too, if he makes the switch.

"newtelligence PDC T-Shirt!" you ask? There will be two types. The one Doug is asking for is very on-topic for PDC and it's subtly outrageous. You will have to wait until PDC and catch me (or someone who's got one) to see it.

Of the other one I'll have just three made for myself and it's not really subtle in it's message, but rather conveys it quite clearly:

Categories: dasBlog | PDC 03

While you wait for the Indigo show to start, here is some stuff to look at and consider (again).

The links at the bottom of this post point to five slide decks that I have been using for presentations throughout this year. All of them are, indeed, very relevant to the Indigo story you will be hearing at PDC 03.

This spring, I’ve been on the road together with my good friend Steve Swartz, who is one of the Architects and Program Managers at Microsoft’s Indigo Team. On this tour, we have presented lots of ideas around scalable applications in seven cities all over Europe. And of course, we knew at the time that Indigo was coming … ;)

The “DistSys” ZIP files below contain the four decks we have been using on that tour. “Layers” is about layering, tiers and services (pay attention to “dialogs”), “Processes” is about implementation aspects such as process models, state and sessions, “Transactions” is about taking thinking about transactions beyond the database and “Scaling” highlights several essential ideas around scalability.

My DEV357 talk at TechEd Dallas, which is in part an aggregate of the talks from this tour, may even be more important, because it actually contains outspoken, concrete guidance for how to build applications on today’s technology stack in order to be ready for Indigo. To summarize the core message of that deck in terms of appropriate use of the existing technology stack for distributed systems:

·         .NET Remoting: Use for “local”, on-machine, cross-app-domain communication.
(In clear words: Remoting calls don’t leave the machine!)

·         Enterprise Services: Use for “near”, cross-process, cross-machine communication

·         ASMX: Use for “near” or “far”, cross-process, cross-machine communication. Prefer over Enterprise Services, unless you need the features or have pressing performance problems.

Read. Understand. Absorb.

Download: DEV357-CV-Building-Distributed-NET-Apps-V2.zip
Download: 1-DistSys-Layers-Swartz-Vasters-V8-complete.zip
Download: 2-DistSys-Processes-Swartz-Vasters-V6-complete.zip
Download: 3-DistSys-Transactions-Swartz-Vasters-V9-complete.zip
Download: 4-DistSys-Scaling-Swartz-Vasters-V6-complete.zip

Categories: PDC 03 | Talks

September 26, 2003
@ 05:59 AM

Lots of PDC hype these days. Here's a piece an Avalon by Wesner Moise that's still leaving quite a bit in the fog.

My translation of what I am reading from the abstracts is:

Imagine Microsoft would drop the entire USER32 subsystem of Windows and replace it with a brand-spanking-new windowing and I/O engine and a fully object-oriented, managed API, finally doing the long-overdue overhaul and replacement of the foundation of the Windows UI technologies that have, in essence, been with us since Windows 1.0.

.... and create a WOW ("Windows on Windows") subsystem layer, not dissimilar to what we saw in NT for Win16 apps, to support existing apps.

Categories: PDC 03 | CLR

August 6, 2003
@ 05:25 PM
Categories: PDC 03