English 中文(简体)
Helping managers and customers understand SOA
原标题:
  • 时间:2009-11-23 20:57:46
  •  标签:
  • 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?

最佳回答

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!

问题回答

"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 ;)

Maybe you have some applications in your company to use as a demonstration.

Try to show them the big picture with lots of loosely dependent services with some common needs/features created by various teams, and pulling out those embedded but commonly used features and use them as service providers.

The other thing that came into my mind is to show them the various connectors that the services can use to communicate (maybe there are some really old screenscraping legacy apps). Also, the message bus concept with normalizing and transaction handling needs to be clarified. In my opinion, non-technical people should see this whole SOA concept as loosely coupled services talking to each other with any kind of messages, where services are written/managed/governed by different teams (so formal service declarations and SLAs can come handy).

Try to avoid mentioning vendors, if possible. Or mention lots of vendors and technologies for each part in order to show them the various options.





相关问题
Is this a known pattern?

I am trying to separate behaviour from data completely in my classes and came up with this simple solution: class ClassAData { public int Property1; public string Property2; public bool ...

What data/service is where?

What management tools (open source or otherwise) are there to track the location of data, the services that deliver/use that data and the services themselves. If you believe the snake oil a ...

Is MSMQ obsolete?

I ve just been chatting with a Microsoft MVP, and he told me that MSMQ is obsolete. Is this true? What s the infrastructure for SOA then???

Helping managers and customers understand 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 ...

SOA with WCF responsibilities and dependencies

I am moving onto a new team that has implemented a solution using SOA with WCF. The services are all very vertical, for example: a CustomerService, an AddressService, an AccountService, etc. To ...

Sharing components in .NET platform

I have an e-commerce website that is already up and running for some time. It s built on .NET 3.5. So far, so good. The "problem" is that now I need to start sharing functionality (products list, ...

WCF based WinForms app in standalone mode

I have a windows application that has its business logic layer implemented as a WCF service. This service is currently hosted on IIS. I wanted to know that if there s a way where I could optionally ...

热门标签