- Soma announces PopFly, the “fun, easy way to build and share mashups, gadgets, Web pages, and applications” from the Non-Professional tools team. The PopFly team blog has some videos. Sounds vaguely like Yahoo! Pipes, but cooler. While most of the focus is on their browser-based mashup creator, they also have VS support for the non-non-professionals among us.
- Eric Nelson suggests that the new Dynamics CRM systems is actually a LOB application platform in it’s own right. More details in Ben Riga’s MIX session. (via Gianpaolo)
- Sam Gentile is worried that C# is becoming to complex, especially when you also consider how fast the platform is moving underneath. When you get your head out of the debugger for a second and look at the Big Picture, it certainly seems overwhelming. Is it just a question of getting used to it? The first time I fired up the VS.net 2002 alpha and looked at all the classes in the BCL, I had the same overwhelmed feeling, but eventually I got over it. Or have things just gotten too big and move to fast now? If so, it’s time for some new layers of abstraction…
- Udi Dahan writes about building testable services. Testability has to be a core consideration when building anything, but especially a reusable framework. I’ve had similar thoughts about language design. How do you unit test a DSL?
- Roberto Medrano of SOA Software thinks “maybe 20 percent of IT folks understand SOA and half of the rest think they do”. Personally, I think most IT folks don’t agree on what SOA is or should be. Furthermore, we don’t even have a common lexicon to discuss it, so we end up talking past each other and arguing about topics we agree on. I think Roberto is really saying is “most people are wrong because they don’t agree with what I think SOA is”. (via Jack van Hoof)
- Jeffrey Snover talks about the virtuous cycle of .NET language support. His point is that time spent learning .NET pays off as you transition between system programming (C#, VB.NET), shell programming (PowerShell) and script programming (IronPython, DLR). I’m not sure I would break them down that way, but his point spot on.
- Clemens Vasters experiments with the new BizTalk Services with a sample called TweetieBot. I agree 100% with his point about the assumption of centralization will be challenged by the federation of personal services.
Morning Coffee 79
Morning Coffee 78
- Ian Griffiths posts a much longer version of “Even though the runtime supports multiple languages, most programmers are only fluent in one.” (via Larkware)
- I wrote yesterday that Pat Helland’s first post back was light on the tech talk. Luckily (for us) he takes the bus to work so he has plenty of time to write blog entries. Today’s post is his “personal opinion about how computers suck”. Money Quote: “We try too hard as an industry. Frequently, we build big and expensive datacenters and deploy big and expensive computers. In many cases, comparable behavior can be achieved with a lot of crappy machines which cost less than the big expensive one.”
- Steve Jones wrote that CRUD is CRAP. I agree 100%, but for additional reasons. Not only is it boooooring to write, it also delegates control outside of the service which I think is a mistake. Check out this post from Maarten Mullender who advised to do CRUD only when you can afford it.
- MIT Media Lab has created Scratch “a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web” targeted at kids 8 and up. It’s a dynamic visual programming language that looks like Lego. Between Scratch, Boku and Phrogram I think my kids will have lots of fun learning to program like daddy does. (via GeekDad)
- Halo 3 is coming September 25th! I foresee lots of people calling in sick that day. And the next. And the rest of the week, etc. etc. etc.
Afternoon Coffee 77
- Pat Helland is finally blogging again. His first post back is basically “what I’ve been up to for the past two years”, which is to say no cool tech stuff…yet. David Ing calls Pat’s time @ Amazon “an extended training sabbatical” and that we’re lucky to have him back. Agree 100%. BTW, since Pat didn’t include a link to his recent paper and presentation, I will.
- Speaking of blogging luminaries, James Clark is also blogging. Don Box calls him the “brightest guy in XML-land”. Money Quote: “any damn fool could produce a better data format than XML.”
- Rick Barnes – aka my boss – likes Roger Session’s white paper A Better Path to Enterprise Architectures and comes up with a number of variants of Roger’s Observe/Orient/Plan/Act model. Then he asks the $64,000 question: “Why then, do we insist on spending months analyzing software the business, interviewing subject matter experts and end users, writing hundred or thousand page “requirements” documents, and meeting to agree on dozens or hundreds of features before we write the first line of code?” Rick is one of the reasons I took this job instead of the other awesome opportunities I had when I was switching jobs. I’m sure you see why.
- Speaking of requirements, Eric Sink has a phenomenal post on requirements. Go read it. Can we officially grant “Walking Spec” anti-pattern status without the customary waiting period?
- Scott Guthrie posted on Anonymous Types, the latest in his series on the new language features coming with LINQ. Anon types in and of themselves are a fairly simple construct – you pass the properties and values into the new object init syntax and the compiler munges up a class to match. Simple, but critical for SQL-style data shaping queries. Of course, the limitation is that you can’t pass the anonymous type object around in any type-safe way.
- LINQ to * Watch: LINQ to SharePoint. Details on Bart de Smet’s blog.
- Jeff Atwood writes a long post to ask for background compilation in C#. +1 on that request. But I disagree with his point about “giving up on the idea that .NET is a multiple language runtime”. Even though the runtime supports multiple languages, most programmers are only fluent in one.
- I’m a bit behind on this, but my old team has moved SkyScrapr to MSDN. For the uninitiated, SkyScrapr is a site for aspiring architects to learn about software architects and architecture.
p&pClarius has shipped a new software factory: the VSIPFactory, a software factory for Visual Studio Extensibility. Pablo Galiano has more.
Update: I mistakenly attributed the VSIPFactory to p&p. It’s from Clarius. Sorry guys.
Making My Mark at TechEd
One of the things that’s different about being in MSIT is that it’s cut my travel dramatically. Basically, the only travel I’ve done since taking this job was Thomas Erl’s SOA Workshop last September. So it came as a bit of a surprise when I got tapped to present at TechEd (at fairly close to the last minute).
The last year I ran the architecture track, all track owners were asked to include either a globalization or MSIT session in our track. Since then, MSIT has expanded it’s role at TechEd dramatically, with 14 breakouts, 20 chalk talks and our own Technical Learning Center.
I’m doing a two chalk talks on my MSIT project, Rome. I mentioned the project back when I switched jobs, but we’ve never talked about the project by name before. We haven’t accomplished quite as much as I’d hoped since then, but we’ve progressed to the point that we can talk publicly about what we’re doing. Now that we’ve begun to open the kimono a bit, you should see more on Rome, Not only from me but also my teammates who blog: Dale, Rick and Dottie.
So if you’re going to TechEd, make sure you stop by the MSIT Technical Learning Center and say hi. Unlike my last two trips to TechEd, I have very limited responsibilities this time – basically just show up on time and talk about what I do all day, twice – so that leaves plenty of time to attend sessions, chat up attendees and ride roller coasters. Hope to see you there.
ROME: Service Oriented Infrastructure for the Enterprise
Like most enterprises, Microsoft IT is adopting a service oriented approach for the development of their internal systems. However, in order to avoid projects building similar service infrastructures on a per application basis, MSIT realizes the need for a common service oriented infrastructure to build these systems upon. Inside MSIT, the Rome project is tasked with designing, building and maintaining the infrastructure for these services. Come chat with Harry Pierson, lead architect of the Rome project, and discuss the challenges of building a large-scale service infrastructure inside a large enterprise like Microsoft.
- MST02-TLC Monday (June 4th) 1:15-2:30pm
- MST14-TLC Thursday (June 7th) 1-2:15pm
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 Evdemon, Principles 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.