Let's stop wasting time trying to come up with clever definitions of service-oriented architecture and get down to the business of using it. 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. SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Please enter a valid email address Subscribe 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. Related content opinion CIOs worry about Gen AI – for all the right reasons Generative AI is poised to be the most consequential information technology of the decade. Plenty of promise. But expect novel new challenges to your enterprise data platform. By Mike Feibus Sep 20, 2023 7 mins CIO Generative AI Artificial Intelligence brandpost How Zero Trust can help align the CIO and CISO By Jaye Tillson, Field CTO at HPE Aruba Networking Sep 20, 2023 4 mins Zero Trust brandpost So, you’re ready to invest in Universal ZTNA. Here’s what you should know With careful evaluation and planning, implementing Universal ZTNA for all users offers a simple, effective way to enhance security across your entire network. By Peter Newton Sep 20, 2023 6 mins Zero Trust news ServiceNow boasts industry-first gen AI general availability with Vancouver release of Now Most major software vendors say they will incorporate generative AI in their applications; ServiceNow claims it will be the first to deliver the code. By Peter Sayer Sep 20, 2023 6 mins CIO Software Providers Zero Trust Podcasts Videos Resources Events SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Please enter a valid email address Subscribe