Morning Coffee 76

  • Dare Obasanjo sez Cool URIs Don’t Change. He’s got other versioning advice, but that’s the main takeaway. Good advice that dovetails nicely with “It’s the URI, Stupid“.
  • I usually agree with Jack van Hoof’s stuff, but I don’t agree with his thoughts on loosely coupled transaction processing. It’s much better than suggesting the use of 2PC system like WS-AT, but when he writes that “by design every action has a compensating action to undo the original action” I am reminded of Pat’s old post Why I hate the phrase “Long Running Transactions”. Personally, I’m a fan of using the Tentative Operation or Reservation pattern, described by John Evdemon. Note the lack of a transaction coordinator in that pattern.
  • Speaking of service anti-patterns, I wonder how we rationalize the following two statements, both from Microsoft, in documents published by my old team:
    • “CRUD operations are the wrong level of factoring for a Web service. CRUD operations may be implemented within or across services, but should not be exposed to consumers in such a fashion. This is an example of a service that allowed internal (private) capabilities to bleed into the service’s public interface.” John EvdemonPrinciples of Service Design: Service Patterns and Anti-Patterns, Readings in Service Orientation
    • “It is very common for Entity Services to support a create, read, update and delete (CRUD) interface at the entity level, and add additional domain-speciic operations needed to address the problem-domain and support the application’s features and use cases.” Shy Cohen, Ontology and Taxonomy of Services in a Service-Oriented Architecture, Journal 11
  • Ian Thomas wonders Does ERP suck? In a word: Yes! 😄 Seriously, I’m a strong believer in what Ian alternatively calls “unbundling” and “disaggregation” of monolithic enterprise systems – ERP is the most glaring example of such systems.
  • Jamie Cansdale is figuring out how to host Silverlight’s CLR outside of the browser. He’s already got a console runner up and running. He’s working of adding “Test With Silverlight” option to TestDriven.NET. You go Jamie.

Morning Coffee 75

  • 3D Printing is going to be huge. According to the NYT, we’ll be looking at around $1,000 for one within four years. For the impatient, check out Fab@Home and build one right now.
  • It’s been a while since I experimented with the P2P stack in Windows, but it looks like it’s getting the managed treatment in VS “Orcas”.
  • The managed Ruby hits keep on coming. Last week was DLR and IronRuby. This week it’s a new drop of Ruby.NET which includes VS integration.
  • Looks like Sun is trying to get back into the Ajax/Flash/Silverlight fray with JavaFX Script. I wrote over a year ago that “In platform portability, Flash has succeeded where Java failed.” I can’t help but believe JavaFX is too little too late. Also, it’s yet another Java technology name that sounds like it’s been blatantly copied from MSFT. JDBC, JSP, JDO … What’s next? JINQ? (via TechMeme)
  • Steve Maine has a great series of posts on the new Web Programming Model that’s coming in .NET 3.5 and is currently being previewed as part of the BizTalk Services SDK. But it was his Balancing reach and rich post that I found most illuminating. The first version of WCF feels hopelessly bound to the WS-* view of the world, which makes it difficult to incorporate alternative messaging models into the same programming model. I’ve run into this trying to use SSB with WCF. In the next version, that WCF / WS-* marriage looks like it’s getting a little more open. In my current role, I’m not so interested in the web programming model, but I am very interested in how they are integrating these alternative models.

Morning Coffee 74

Light on the geek factor this morning:

  • My daughter Rileyanne turned two Saturday so we had a little pool party. One of the major selling points when we bought the house was the double sized hot tub in the back deck. So even though it was only in the mid 60s, we could still get in and swim.
  • Saw Spiderman 3 yesterday. I liked the first two very much, but this one is iffy at best. The problem with these blockbuster movie series is the perceived need to be “bigger” than the previous installments. So we get more effects, more action, more villains. But that usually means less drama and less story. Spiderman 3 is no exception. Here’s hoping that Christopher Nolan’s Batman series doesn’t suffer the same fate.
  • Lost announces an end date. There will be three more shortened seasons for a grand total of 48 episodes (plus the three remaining this season). While I love Lost, I’m glad they’re going this route.
  • Politics 2.0 Watch: according to their blog, QubeTV.tv is “the conservatives’ answer to YouTube”. Two thoughts on this: First, Having a site of conservative videos for conservatives seems like preaching to the choir. Second, to quote Andrew Sullivan: “It’s not a good sign when a movement cannot engage the mainstream.”
  • John Shewchuk as more details of the BizTalk.net connectivity service. Hybrid mode and Direct connect are nice optimizations, but don’t change the messaging semantics at all. But pub/sub eventing does, so I’m primarily interested in that capability.

Morning Coffee 73

  • The MSDN folks have a utility for creating custom help files from the online MSDN library. I didn’t realize MSDN even had a content service. This is tres useful.
  • Jeff Atwood explains how error-filled the web is and how error-tolerant modern web browsers are. I’ve often argued that one of the keys to the rise of Visual Basic was because it was tolerant of sloppiness. It’s hard to argue with Jeff’s conclusion that “forgiveness by default is what works”.
  • BizTalk Labs shipped an update to the Connectivity Service. It “now supports simple publish and subscribe eventing. This allows multiple clients to subscribe to a service and receive notifications.” Steve Maine has some details and a link to the MIX session he did with Don.
  • Larry O’Brein is happy about IronRuby, but was hoping to see a new Ruby/C# hybrid language. Even though it’s his “#1 administrative programming language”, he specifically hopes for a new language so would “have the flexibility to evolve the language.” But Larry, MSFT already had an dynamic administrative language that it can evolve! It’s called PowerShell…
  • The XNA folks have shipped a bunch of new content, including the Racing Game Starter Kit.
  • Machinima is growing up fast. I just discovered iClone, a real-time 3D animation filmmaking tool. You know, my birthday is coming up later this month…

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)