Blog: The Definitive Definition of SOA

One thing I've noticed since I started writing about SOA is that SOA pundits seem to be obsessed with the definition of SOA.

One thing I've noticed since I started writing about SOA is that SOA pundits seem to be obsessed with the definition of SOA. Some people feel think business processes have to be part of the definition. Some people focus on interaction vs. integration. Some object to referring to SOA as equivalent to Web services or WOA, others believe that WOA is not only coupled with SOA, WOA is the future of SOA. One person who shall rename nameless believes that, while WOA and SOA may be different, SOA standards should spring from WOA. Still others think business agility is what defines SOA. Yet others link SOA with governance as the critical differentiator. I could go on ad nauseum.

Forget all that. I have what might be the world's simplest definition of SOA, and my definition has the distinction of being able to shed light on why SOA is becoming popular now, as opposed to decades ago when companies like IBM were trying to get it off the ground under different names.

SOA is a networked subroutine.

Anything you add to that definition is unnecessary window dressing. In most cases, the subroutine will perform business functions, but why can't you build a scientific function as a process, too? Of course you can, and it would still be SOA. You may end up using Web services as part of your implementation, but it's still SOA, isn't it? In most cases, SOA should contribute to business agility, otherwise you probably shouldn't concern yourself with it. But the benefits of using SOA do not define SOA. Failures at reaping benefits from SOA are still based on SOA, aren't they?

Why SOA Now?

Here's why the definition may help you understand why SOA is growing. How many of you have ever written a program? At some point, you realize that you've coded basically the same process two or more times in the same application, and it seems like a waste of effort. So you yank the code out and make it a bit more generic, and then call that code as a subroutine. Now you can reference that subroutine whenever you need it without having to rewrite it again and again.

I chose the term "subroutine" because it's about as BASIC as you can get, pun intended. As the art of programming got more sophisticated, so did the terms. Subroutines became procedures. Then programmers discovered object-oriented programming, which grouped procedures according to data and calls the combination objects with methods. Next came networked objects in the form of DCOM, CORBA, DCOP, or what have you. Then the age of the Internet dawned, and web services were born. Due to the nature of the web, this was a bit of a technological step backward, but the fact that you could access services over the Internet was a major step forward.

You might be thinking at this point that I'm about to conclude that SOA is the next logical step. It is the next logical step, but that's not nearly as important as the fact that SOA benefits from the experience we have gained from all that preceded it. SOA is growing in popularity now because the tools to create SOA are now available and easier to use than ever. Average programmers now have enough experience under their belts to be able to understand SOA and code it, and that is why SOA is increasing in popularity. We could have reaped the benefits of SOA ages ago, but fewer people knew how to get there, then.

When you get down to it, all SOA really amounts to is extracting something you would normally program into a monolithic application and running it as a service that two or more applications can access over a network. That, my friends, is a networked subroutine.

With that definitive definition out of the way, we pundits can now move onto more important SOA topics.

Join the newsletter!


Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

Tags governanceSOAbusiness agilityWeb 2.0definitionWOA

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.
Show Comments

Brand Post

Most Popular Reviews

Latest Articles


PCW Evaluation Team

Andrew Teoh

Brother MFC-L9570CDW Multifunction Printer

Touch screen visibility and operation was great and easy to navigate. Each menu and sub-menu was in an understandable order and category

Louise Coady

Brother MFC-L9570CDW Multifunction Printer

The printer was convenient, produced clear and vibrant images and was very easy to use

Edwina Hargreaves

WD My Cloud Home

I would recommend this device for families and small businesses who want one safe place to store all their important digital content and a way to easily share it with friends, family, business partners, or customers.

Walid Mikhael

Brother QL-820NWB Professional Label Printer

It’s easy to set up, it’s compact and quiet when printing and to top if off, the print quality is excellent. This is hands down the best printer I’ve used for printing labels.

Ben Ramsden

Sharp PN-40TC1 Huddle Board

Brainstorming, innovation, problem solving, and negotiation have all become much more productive and valuable if people can easily collaborate in real time with minimal friction.

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Featured Content

Product Launch Showcase

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?