The SDEvent conference in the Netherlands (last Friday) was nice. I gave two sessions and a good crowd showed up. I could not attend many other talks, because most of them where in Dutch. I nice exception was the keynote presentation given by Steve Martin of Microsoft. Steve works in the "business domain" side of the Redmond giant and his talk was on "Real World SOA" (SOA, for those of you who don't follow the hype, stands for Service Oriented Architectures).

Steve started by telling the goal of IT in business is to "connect people system processes", where processes means "SOA processes" He first covered shared wisdom ("things you know") and later moved to emerging perspectives and trends.

Among the things we should know he mentioned (these are quoted from his slides, emphasis mine):

  • start from business needs
  • obtain business agility
  • focus on time to value
  • deliver business value in iterations
  • design for change, write abstract rules

One of his most interesting observation, one I fully agree with (after thinking about it for some time), was:

"Throughout history, every time the Internet and the Enterprise collide, the Internet always wins"

He went on to predict that the future will see a "Federated World" of services, that if you stick to packaged/standard applications (like those from SAP or Oracle) you could be number 2 in your business, but you need customized software to be number one. He pointed at the difference between "Core Processes" (what makes a business unique) and "Commodity Processes" (all processes used to drive the business). Even if both can be mission critical (like email or accounting) while the second group can be made of stock applications, the first should be an internal strategic asset of any company.

More elements he covered include:

  • "Factoring in the cloud"
  • "Heterogeneity" is key (including using multiple operating systems, that sounds a little odd from a Microsoft person)
  • "Federation": in between centralized and decentralized (high-level of reuse and flexibility)

What's next? In Martin's view a collision of models and services. He claims the goal (for Microsoft?) is to have models that can be executed. However, in doing this he clearly stated he's not looking at UML or MDA (ECO is based on models that can be executed for Delphi and .NET), but rather at "a new modeling language that can speak services". I'm not sure I fully understood why. The overall approach seems interesting, and partially new from Microsoft, at least to me. He did mention Navision and other software/services Microsoft offers in the business area, but seemed like what he's thinking of is some future platform that's coming along but it not here yet.

Looks like Microsoft is envisioning its "Web 2.0 for Business" something still in its infancy and with a lot of room to grow. There are many big companies in that field, though, and Microsoft faces a tough competition.