Enter the maze

Making business dance

Two passion dancers jumping together: www.istock.com 21019031

Language isn't just for humans. Businesses need to talk to each other too. Thanks to computer scientists they have their own languages to do it, ones that make them dance.

Normally if we say something like "Simpers, Snype and Co. is talking to Bongle and Bingers Inc." we mean people from the two companies are talking. Nowadays we could also actually mean what we said - the companies are doing the talking. The web has given us email and social networking. It's given industry a whole new way of working together too. Using computers the businesses can talk without having to wait for those slow people to get round to it.

Rules of engagement

Suppose, to deal with the orders that customers have made through Bongle's website, Bongle need to buy more widgets from Simpers. Rather than a person picking up the phone, nowadays the computers will just arrange it all automatically. To do that they need to talk and that means they need languages.

Before they can start to collaborate the two companies need to agree the rules of engagement - in what circumstances will they work together, how will it be done, and what are the exact responsibilities that each is taking on? In the past the rules have tended to be written in English so people can follow them. The trouble with English is it's ambiguous. That's why there is so much work for lawyers! And if one company thought they'd agreed to supply widgets in one size but the other believes the agreement was for whatever size is needed, there's going to be problems.

Dancing the dance

Enter 'Web Services Choreography'. A Choreography in this computing sense doesn't mean CEOs have to learn to do the tango with each other. It's just a set of agreed rules that tie down exactly what each company will do and when - just like a dance choreography does for dancers. Instead of fixing steps it fixes things like what messages will be sent, by who and when, each time the companies involved collaborate. What message does Simpers' computer need to send to make that order? What does Bongle's have to do to confirm it?

It doesn't mean CEOs have to learn to do the tango

To make it work with computers these rules have to be specified in a precise language. One such language is Scribble, invented by Kohei Honda of Queen Mary, University of London. It is inspired by yet another language - a mathematical language called the pi calculus. Because of its basis in maths once the rules are set down, mathematical tools can be used to check important things about them. For example, if they follow the rules, is it possible for both computers to end up sitting waiting forever for the other one to do something? Computers can be very patient if that is what their rules tell them to do! If they did it could be disastrous for the companies concerned.

Are we doing it right?

The beauty of choreography is that once the rules of engagement are agreed, and each company is happy with the Scribble version, then they can each get on and implement it on their own computers. Each doesn't have to worry about how the other company is making their own computers do it. The two companies can even write programs to do their bit in completely different programming languages. They can be confident, despite this, that their two computers will be following the agreed rules of engagement and so will be able to work together. This can even be checked mathematically against the original Scribble rules too.

Business is sometimes treated as war, but everyone can benefit if companies work together rather than against each other. Then, at least for computer scientists, it's better to think of it as a dance.