Metropolis in Beijing

So the Metropolis session went very well, even though it was being translated. We did what is called interactive translation – where I say a few sentences in English and then Quanzhan translated it into Chinese. It meant that we couldn’t cover as much material but we still made really good time – I did 52 slides (which is a significant reduction from the full 75 slides) in exactly an hour. The audience understood at least some of what I was saying – they laughed when I made a joke – but it really helped me to have the time to think about my next sentence while Quanzhan translated my last one. I was able to choose my words carefully in order to make sure the topics were covered as concisely as possible. I’m hoping the Data in SOA talk goes as well tomorrow. After I finish this entry, I have to working on cutting that presentation down to fit in an hour with translation.

After my presentation, I spent some time with an architect from China Mobile. I love conversations where a customer challenges me to codify my thinking – I learn from the customer as well as myself. He made a great point about architecting for an unknown future vs. engineering for the present. Sounds like a strong believer in YAGNI. While we were discussing SOA I was able to articulate something I knew but had never really expressed before. SOA is a means to an end, it’s not an end in and of itself. It’s a great way, but not the only way, to enable the flow of information across disparate systems. It’s also a great way, but not the only way, to enable more flexibility in the way we build systems. A key success metric for companies today is time-to-market. However, time-to-market usually refers to the time it takes to develop something the first time. In the future, I think the time-to-adapt will become even more important than time-to-market. Flexibility – you are gonna need it.

Stage 1 on New WS Specs

I’ll be honest, with a quick glance at WS-Enumeration and WS-Transfer I’m at what Don refers to as Stage 1. Especially WS-Transfer which appears at first glance to be CRUD for web services. Maarten talks about using CRUD only when you can afford it. My biggest issue with CRUD is that it assumes a trust relationship – that some other service is responsible for deciding when and how to CUD entities that I manage. I can’t imagine exposing an interface like that on any service I build.

But it is nice to see we’ve started publishing specs in easy to download PDF format.