Thursday, July 05, 2007

How not to do SOA

JBI 2.0 has kicked off, and the big debate is how to work with SCA. The first thing to understand about JBI is what it is for. Its all about making sure that different pieces of technology infrastructure can communicate with each other and that you can replace these bits independently of each other and everything will still work.

To me this is why SCA (which should focus on the application side IMO) and JBI should work well together. One group focuses on end-users (SCA) the other focuses on getting the vendors to work together (JBI).

Now down to the title, why is JBI important? Or more abstractly why is it important to have this sort of infrastructure approach? Well thanks to the folks over at Microsoft I've got a nice little example of what happens if you tightly bind things and make assumptions about what else already exists.

In Office 2003 one of the things that I used, a lot, was the "speech to text" converter. I write quite a bit of content as part of my job and I sometimes find it easier to get a first draft down by "presenting" it, then sitting down and editing it to make it shorter and flowing.

In Office 2007 however this functionality has been removed because Vista (an operating system) has voice functionality in it. Hang on, to get the same functionality I need to upgrade BOTH Office and my operating system? Surely some mistake? Nope, its true, in order to "upgrade" Office 2003 to Office 2007 and keep the voice functionality you have to also upgrade the operating system from XP to Vista.

Simply put, that is crap. In a decent SOA system you'd have considered speech to text recognition as a "service" that could be called from anything that needed it. Thus if I have Office 2003 installed I could then have used speech to text in notepad, after all what does a speech service do? It has an input (microphone) and outputs text. Its hard to image something that is easier to design and implement as a service than something like a speech->text converter.

Then when I upgraded to Office 2007 it could have gone "hey look, this is Windows XP, we'd better keep the voice service from Office 2003, after all he has paid for it". In future when I choose to upgrade to Vista (running it in a VM on a Mac.... ummmmm) then it could go "we can now replace that Office 2003 with the one in Vista", hell even let me go out an buy another speech to text piece of software and use that instead.

JBIs job is to provide the standards so that software upgrades can be done incrementally and you can choose to replace products with the bits that you want, when you want.

The thing about JBI is that no end users should ever care about it, its in the magic part of technology, it should just work. But hell you miss it when it isn't there.

Technorati Tags: ,


Udi Dahan - The Software Simplist said...

[tongue in cheek]
I thought WS-* was supposed to make the technologies all work together. Oh well. I'm sure JBI will get it right.
[/tongue in cheek]

Steve Jones said...