Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Helping managers and customers understand SOA

Tags:

soa

I frequently hear Service-Oriented Architecture (SOA) being tossed around as a buzzword among non-technical customers or program managers with little concern or understanding for what it actually entails (example: "Can I buy a SOA?"). There's also a lot of misinformation about SOA (example: "Only web apps can use SOA") and a general lack of understanding for its capabilities (example: "SOA can make your make all of your data work together").

What are some key facts that you, as someone who understand the technical side of SOA, use to educate program managers on the appropriate use and understanding of SOA? What's the best way to set the record straight with non-technical folks?

like image 939
David Koelle Avatar asked Nov 23 '09 20:11

David Koelle


People also ask

What is SOA and how is it benefiting the business environment?

Service-oriented architecture (SOA) is an application integration design structure that enables business goals to be linked to the IT infrastructure, aligning IT capabilities with the goals of the organization, and providing a technically agile infrastructure to easily and promptly respond to required changes.

What are the 3 major role of SOA?

High overhead: A validation of input parameters of services is done whenever services interact this decreases performance as it increases load and response time. High investment: A huge initial investment is required for SOA. Complex service management: When services interact they exchange messages to tasks.

What is SOA in management?

Business processes running in a service-oriented architecture (SOA) are composed out of multiple services. An end-to-end SOA Management is required to ensure availability, reliability and high performance of business processes.

How important is SOA in the organization?

SOA benefits organizations by creating interoperability between apps and services. SOA will also ensure existing applications can be easily scaled, while simultaneously reducing costs related to the development of business service solutions.


2 Answers

For non technical people I would use the following concept. The whole professional world is service oriented.

  • Instead of baking a cookie by youself, you go to the baker.
  • Instead of trying to cure yourself, you go to the doctor.
  • Instead of writing a program, you ask a programmer to do this for you.

This implies two major advantages:

  • Each one does his job better than if we all were trying to solve all our tasks separately.
  • There is a way, which allows non professionals to communicate with those, who will solve our task (in real world such way is money and business contracts)

In the world of software such architecture is implemented by defining specialized services (applications) which are dedicated to perform specific tasks and by defining protocols, which are solving problem of communications between such applications. When such architecture is deployed, you get some benefits, which can be also mapped to the real world:

  • If doctor is unavailable, you cannot be cured but at least you can get a cookie from the bakery! In software this means one failed service does not break the whole system.

  • Usually doctors and bakers do not share the same room and this allows them to operate better. Just like in software you can place each service on its own hardware.

For software world this means, better availability, maintainability, reuse, and reduced costs. Good luck!

like image 91
alexkr Avatar answered Dec 31 '22 20:12

alexkr


"SOA is like hiring new employees when the job gets too large for the current team." Each part of the whole system is analogous an employee. Managers understand employees ;)

like image 41
Jay Avatar answered Dec 31 '22 18:12

Jay