Remember the ‘Service’ in SOA

But what if firms don't know what 'service' means?

Boost IT visibility and business value

There is, of course, no widely agreed definition of Service Oriented Architecture – I know this to be true because I read it on the Web. However most people might agree, if they happened to be chilled out and mellow at the time, that, as my Web source (Wikipedia as it happens) continues “Service-orientation describes an architecture that uses loosely coupled services to support the requirements of business processes and users.”

So as developers, we have to remember that we are pulling services together not just for the fun of it but to support the requirements of the business process and the users. It appears to be easy to lose sight of this in the cut and thrust of the web. As you will probably have already guessed, this article was promoted by an excellent example where sight of this ideal appears to have been lost already.

There I was, on Tuesday night, making my travel arrangements from Birmingham to Scotland. This is not a problem. I have this under complete control. I’m too smart to visit all of the airline sites and all of the car hire sites and then spend several unhappy hours cross correlating times, dates and prices. I use a site that does all of that for me: I use Expedia.

Not only does Expedia do the hard work and save me money (“Great value trips worldwide. Let yourself go & save money!”) it also makes helpful suggestions. When it offered to sell me a slot in the Servisair lounge, I ‘Let myself go’ because I often turn up at airports early and lounges are conducive environments for work. (My decision had nothing to do with the free nibbles and drink, natch.)

On the appointed day, I checked in to terminal 2. Locating the lounge took longer than expected but I finally tracked it down. It’s in terminal 1. Modern security restrictions rendered it completely unreachable on my ticket.

Attempting to use up some of the non-productive free time I suddenly found on my hands, I rang Expedia and spoke to a charming young lady called “Michelle”. She sympathised and asked if I wanted a refund. “Fine”, I said. She then crammed a large quantity of lift music into my ear before returning with the bad news. No refund.

She said it was clearly printed (in black and white she was keen to stress) on my paperwork that the lounge was in terminal 1 and the flight left from 2. The small print also said no refund, so no refund. I checked the documentation and she was quite right. There it was in black and, indeed, white. So, no refund, no argument.

Well, a slight one. Whilst it is true that the incompatibility is flagged on the site, the flagging consists of ten words on a page that contains 1,255 other words. It does tend to get lost in the clutter – see Figure 1, below. If we zoom in a little, it is still, in my opinion, easy to overlook in the rush of organising travel [it’s a bit hard to fit on our web page too – sorry, Ed].

Screenshot showing Expedia booking.

So I wrote to the company, which was kind enough to reply:

To provide as wide a range of choice to customers as possible, Expedia will offer all facilities available at the airport; anything which may not be suitable is clearly marked as such. Due to the technical complications involved in differentiating between terminals at airports, airport lounges are the only Attraction and Service we provide that require our customers to check their details.

As a database designer I find this idea of ‘technical complications’ difficult to understand. As Michelle had pointed out, my printed documentation contained enough data (albeit on different pages) for me to identify the clash - depart terminal 2, lounge in terminal 1 [although I don’t think it points out that you can’t get to Terminal 1 from Terminal 2 – Ed]. So Expedia clearly had the data; how difficult can it then be for the database/application to detect the incompatibility? At best, it’s incredibly simple, at worst you might guess some string parsing and data type conversion might be required. I am not convinced that in a well designed database system this presents any significant challenge whatsoever.

Secondly, if we accept for a moment that it is technically difficult to do, well, this is exactly what Expedia claims to cope with. The service it offers is ‘joined-up travel’ which means it has to check the data it brings together for compatibility. Saying that it is technically complicated would be like British Airways excusing a late flight by saying that “flying is technically complicated, you know”. As it happens, flying is complicated, yet we still demand that airlines do it on a daily basis for the simply reason that, to warrant the name ‘Airline’, you are expected to get those babies off the ground and into the air. It’s what airlines do. Joined-up travel is what Expedia does, or is supposed to do.

Expedia says, above, that “airport lounges are the only Attraction and Service we provide that require our customers to check their details”. So I wrote back asking:

“Is Expedia prepared to guarantee that this is the only one and that (baring genuine mistakes) it will never offer any other incompatible options that are left to the customers to sort out?”

If the answer is ‘No’ then Expedia customers are left in a position where they can never be sure, in which case they have to check every part of the travel manually, in case it is incompatible. This seemed to me to be an important point. Expedia’s reply suggests that it doesn’t agree:

I have passed your comments to the in-house team, and they would like me to thank you for your feedback and they have taken it onboard.

Whilst this doesn’t say “No”, it most certainly doesn’t say “Yes”. The problem is that Expedia seems, already, to have forgotten that the service it provides is in doing the incompatibility thing. If it can’t guarantee that, then why would we want to use it? For the “…& save money!” bit?

On the flight back I found that the ServiceAir lounge in Edinburgh could be reached using my ticket but was unimpressed to discover that Expedia had charged me 27% more for pre-booking than the lounge would have cost me on the day – see Figure 2, below.

Illustrates airport prices.

Build a business case: developing custom apps

More from The Register

next story
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
Leaked Windows Phone 8.1 Update specs tease details of Nokia's next mobes
New screen sizes, dual SIMs, voice over LTE, and more
Mozilla keeps its Beard, hopes anti-gay marriage troubles are now over
Plenty on new CEO's todo list – starting with Firefox's slipping grasp
Apple: We'll unleash OS X Yosemite beta on the MASSES on 24 July
Starting today, regular fanbois will be guinea pigs, it tells Reg
Another day, another Firefox: Version 31 is upon us ALREADY
Web devs, Mozilla really wants you to like this one
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
Cloudy CoreOS Linux distro declares itself production-ready
Lightweight, container-happy Linux gets first Stable release
prev story


Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Why and how to choose the right cloud vendor
The benefits of cloud-based storage in your processes. Eliminate onsite, disk-based backup and archiving in favor of cloud-based data protection.
The Essential Guide to IT Transformation
ServiceNow discusses three IT transformations that can help CIO's automate IT services to transform IT and the enterprise.
Maximize storage efficiency across the enterprise
The HP StoreOnce backup solution offers highly flexible, centrally managed, and highly efficient data protection for any enterprise.