Morning Coffee 72 – Catchup Edition

The cross platform CLR isn’t the only big news out of MIX this week. Other big news includes:

A few quick thoughts on these announcements:

  • On the subject of dynamic languages, IronRuby is probably the biggest news since we already have various implementations of the other languages. I wonder how well it will support Rails? ASP.NET already has a model for dynamic language support that I would assume IronRuby will plug into eventually. Between that, rumblings of MVC support for ASP.NET and Project Jasper, you’ve covered most of the surface area Rails covers. But I would assume many folks would like to see RoR proper running under IronRuby on ASP.NET.
  • I wonder what the hosting model for the Silverlight CLR looks like? According to the “essential architecture“, Silverlight includes the .NET Framework, the Core Presentation Framework and the Browser Host. But can you host somewhere other than the browser?
  • Astoria sounds like web service based ODBC. While there are scenarios where that makes sense, I’m not sure I like the idea of delegating control of my data outside the service like that. Udi Dahan is also skeptical of this approach.

Update: The ADO.NET team recently announced that Entity Framework will ship “during the first half of 2008 as an update to the Orcas release of the .NET Framework and Visual Studio”. (h/t Tomas Restrpro)

Hawkeye on Silverlight

While I was crusing the zoo with the family on Monday, everyone else was focused on the big announcement coming out of MIX. Short version of the press release: the next version of Silverlight contains a small, cross platform CLR. As you might imagine, this is somewhat significant. Check out reaction from TechCrunch, Sam Gentile and Scott Hanselman.

A year ago, I wrote “Where else should the CLR live?” At the time, I was talking about XNA (which had just been announced) though I was aware of the plans around what I think is now officially called CoreCLR (got the name from Scott’s post). The first time I heard about this, it literally floored me. Part of me is surprised that in the year since then the news didn’t leak and no one figured it out. I mean, doesn’t it seem sorta obvious, in retrospect, that a Silverlight should run on CLR? I mean, if we can shrink the CLR down to fit on a watch, getting it into the browser seems like a no-brainer. On the other hand, it’s such a huge departure from “Windows, Windows, Windows” that I wonder if most people had (have?) a hard time wrapping their mind around it.

(Actually, in searching for CoreCLR, I discovered this post from last summer basically confirming “the CoreCLR team working on the Macintosh version of the MiniCLR that’s going into WPF/E”. So it did leak, but it seems to have been met with significant skepticism and didn’t make much news. )

Now that you know all about Silverlight and CoreCLR, go back and re-read my Virtuous Cycle of Virtual Platforms post. Especially the last paragraph (complete with the bad grammar):

If the end user isn’t committed to a virtual platform like Flash, then who is? The developers who build software for that virtual platform. This is Virtuous Cycle of Virtual Platforms between the platform and developers instead of the platform and users. In the old model, developers go where the users are. In the new model, users go to where developers are. And developers go where they can be most effective.

Silverlight vs Flash looks to me like the next big platform war competition. It’s just getting started, so you can’t say with any certainty which platform will be “most effective”. But early Silverlight reviews are pretty impressive. TechCrunch’s Michael Arrington wrote that Silverlight “makes Flash/Flex look like an absolute toy”. That doesn’t erase Flash Player’s head start in the RIA space, but it certainly makes catching and surpassing Flash sound feasible. I suspect most people didn’t think that sounded at all feasible last week.

Of course, while catching Flash may sound feasible, Microsoft is a long way from achieving that goal. While the point of my earlier post is that that market penetration doesn’t provide much advantage in the virtual platform market, Adobe does derive significant advantage from shipping nine versions of Flash while we haven’t quite shipped the first version of Silverlight yet. Also, while I’m fairly sure the number of .NET developers far exceeds the number of Flash developers (anyone have hard numbers?), I would also expect that the number designers using Flash far exceeds the number of designers using Expression (given that MSFT only just shipped Expression on this week). I believe an important facet to the Silverlight / Flash platform competition will be a race to woo the competitor’s core constituency. Can Microsoft woo more designers with Expression than Adobe can woo developers with Flex? We’ll see.

I’m also curious to see how people’s perspective of Adobe’s Apollo project changes in the wake of the Silverlight/CoreCLR announcement. From my perspective, both Microsoft and Adobe are trying to unify web and desktop development. Not surprisingly, each is trying to unify around the model where they’re stronger: Apollo takes the web development paradigm (Flash, HTML, AJAX and JavaScript) to the desktop while Silverlight takes desktop development paradigm (WPF, CLR) to the web. I’m sure you can guess which paradigm I think will be more successful, but how will the market react? Again, we’ll see.

Parent’s Visit Coffee

Obviously, there’s some fairly big news coming out of Las Vegas this week. I’ll get to that either later today or tomorrow. In the meantime, here’s what I did with my parents this past weekend.

  • My parents arrived Thursday at the same time Patrick has to be dropped off for school. My office is fairly close to his school, so Julie dropped him off with me on her way to the airport. He and I ate lunch together and then I took him to school. Always fun to spend extra time with the kids.
  • Friday was Take Your Dad to Work day – at least it was for me. We had a team lunch out and he sat in on a couple of meetings. He’s spent quite a bit of time on IPv6 recently, so infrastructure discussions like my group’s are right up his alley. According to one of my team’s PMs, my meeting behavior is “much better” when he’s around.
  • Saturday, we went to the Museum of Flight. I don’t know who was more excited, my son or my father. Dad’s favorite plane is the Blackbird, so he really enjoyed sitting in the SR-71 cockpit. It was raining the last time we went to the museum, so this was the first time I had seen Air Force One and the Concorde.
  • Sunday, we watched the Mariners beat the Royals. It’s been three long years in the basement for M’s fans, but they have been slowly getting better year over year. Not sure they can make the playoffs this year, but maybe they can at least finish over .500.
  • Yesterday, we went to the Woodland Park Zoo. My parents are members of FONZ and my kids love the Zoo. We had fun, though after three and a half days of “go go go” with my parents the kids were a bit worn down. The gorillas were very active, banging on the glass and running away – sort of the gorilla version of ding dong ditch. Another highlight was getting to see the tiger cub.
  • My parents flew home last night on the red eye, and everyone is very sad to see them go. It had been about eight months since we had seen them. Here’s hoping it won’t be that long before the next visit.

Morning Coffee 71

  • It’s been almost four months since I started these morning coffee posts. I like the regularity – there’s been 84 weekdays so far this year, so 84 – (71 + 6 days missed from vacation) = only seven missed morning coffees. On the other hand, I think my daily blogging fix is keeping me from digging deeper into some issues. So I’m going to start cutting back to only three morning coffee posts per week, with the hope of three deeper technical posts and one wildcard post per week.
  • Speaking of cutting back, my parents are in town this weekend so I doubt I’ll get a post out tomorrow or Monday. Have a good weekend anyway.
  • Windows Server “Longhorn” Beta 3 is out. Now is time to start getting serious with it.
  • Joe McKendrick is reporting that Gartner has given the green light to spending more on SOA. Maybe it’s because I work for a technology savvy company, but I’ve never understood outsourcing critical business decisions about technology adoption to a consulting company.
  • It’s a Joe McKendrick twofer: He also reports that IBM is calling for a new SOA directory / discovery / registry standard to replace UDDI. I totally get the need a “new UDDI”, though I’d wager that my issues with UDDI are very different than Big Blue’s.
  • Yesterday, I made a crack about how un-scalable the Internet would be if every cFonnection went thru a central hub. Two days ago, Clemens has a long post about the implications of an Internet Service Bus. First, I can’t wait to see how that thing works. Second, it’s fairly obvious that not all traffic will go thru this bus (since the bus ain’t out yet and yet you’re still reading this via the Internets), so maybe that answers my question about ESB’s and centralization? That is to day, use the bus where you it’s useful, otherwise don’t bother?

Enterprise Service Bus? Give Me an Extra Special Bitter Instead

I went to a talk on BizTalk and ESB at lunch today that was sponsored by the local connected systems user group. Like many terms in this space (SOA and governance to name two others), ESB doesn’t seem to have a consistent definition. The industry seems to be inventing terms at a fair clip as vendors attempt to differentiate themselves on what to me seem like fairly minor solution aspects.

Today’s speaker talked at length about a “large health care company in California” that he had personally worked with, building an ESB for them with BizTalk. He spoke in glowing terms of the size of the BizTalk environment and the number of messages passing through the bus every day. Then someone asked how many systems this unnamed company had hooked up to the bus. He paused, then admitted: “Six”.

Six? Not six whole systems! That’s gotta be a record!

Of course, I realize that there are deployed ESB’s out there that are integrating more than six systems. My group – the Integration Center of Excellence (ICoE for short) – runs a comparably sized BizTalk environment and we’re connecting around 50 internal systems and hundreds of external partners. But 50 is still a fairly small number. I can’t help but wonder how well will this ESB approach is going scale as the number of systems goes up a couple orders of magnitude. Frankly, I think the answer is “not well”.

The problem I have with ESB is that it’s a centralized approach. Given that one of the overriding trends of society in general and IT in particular is decentralization, the ESB approach feels like it’s swimming against the current instead of with it.

As an analogy, consider how well would the Internet work if every connection went thru a central hub? See what I mean? Centralized systems don’t scale like decentralized ones do.

I admit that there are scenarios where ESB-esque technology solves a practical problem. Transport adaptation and content based routing leap to mind. Services that need those capabilities should leverage ESB-esque technology. But whenever I listen to ESB proponents, I feel that the need for these capabilities is exaggerated to the point that every message exchanged between every service inside your enterprise travels on a central bus, which doesn’t seem realistic to me.

Am I wrong about this characterization? Do ESB proponents think that all messages must travel on the bus? How about you? What do you think? Inquiring minds (aka me) want to know…