Questions tagged [soa]

SOA stands for Service-Oriented Architecture, a flexible set of design principles that allow multiple separate systems from several business domains to inter-operate. Service orientation is a paradigm that frames what you do. Service-oriented architecture (SOA) is a type of architecture that results from applying service orientation. ([From soa-manifesto.org][1] )

Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple separate systems from several business domains.

SOA make changes easier i.e. flexibility. Legacy architecture makes Rigid integration. SOA is easy to assemble and easily reconfigurable like building blocks.
SOA works modularly. Assemble any way we want. If any changes require, instead of starting from scratch we can re-use and add new block so, SOA is saving time and money.

The analogy
Imagine a house on the country side, that in many ways is part of a larger community, like a city or town. The city has it's own complex systems for providing water and electricity, handling sanitation, providing transportation and other utilities. The House is the consumer in this model, the City (or community) is the provider and the pipes, sewers, powerlines, optical fibers etc. is the Infrastructure in which they communicate.

This model could loosely be compared to a SOA. The people in the house uses a number of different "applications" like radiators, computers, toilets, lamps, underfloor heating, bathtubs etc. These applications don't care how the city generates the water, creates the electricity or handles the waste as long as it works. The components of the city are generators, water pumps and sanitation areas. It provides the house with all these needs but it's up to the house to use it in what ever way it sees fit.

1957 questions
33
votes
8 answers

Queue alternatives to MSMQ on Windows?

If you want to use a queuing product for durable messaging under Windows, running .NET 2.0 and above, which alternatives to MSMQ exist today? I know of ActiveMQ (http://activemq.apache.org/), and I've seen references to WSMQ (pointing to…
Thomas Lundström
  • 1,589
  • 1
  • 13
  • 18
33
votes
6 answers

Can someone explain an Enterprise Service Bus to me in non-buzzspeak?

Some of our partners are telling us that our software needs to interact with an Enterprise Service Bus. After researching this a bit, my instinct is to say that this is just buzz speak for saying that we need to have a platform-indpendent way to…
Jason Baker
  • 192,085
  • 135
  • 376
  • 510
33
votes
2 answers

what are REST,RESTFul, SOA and microservices in simple terms?

I thought I knew what REST/"RESTFul", restfulservices, webservices, SOA and microservices were but I came across so many different definitions that I reached the conclusion that those terms are overused, misused , or simply badly defined. I hope to…
Lewix
  • 924
  • 1
  • 9
  • 11
31
votes
6 answers

Message Oriented Middleware (MoM) Vs. Enterprise Service Bus (ESB)

I come from a background of MoM. I think I understand ESB conceptually. However, I'm not too sure about the practical differences between the two when it comes to making a choice architecturally. Here is what I want to know 1) Any good links online…
a-sak
  • 1,320
  • 6
  • 21
  • 33
30
votes
4 answers

DB consistency with microservices

What is the best way to achieve DB consistency in microservice-based systems? At the GOTO in Berlin, Martin Fowler was talking about microservices and one "rule" he mentioned was to keep "per-service" databases, which means that services cannot…
odino
  • 1,069
  • 11
  • 27
30
votes
4 answers

Architecture of a microservice based web app

I am confused about the point at which a web application diverges into microservices - is it at url level or models level? As an example, Suppose I have a monolithic app that serves 3 pages. Say each page serves a separate usecase and I want to back…
shreyj
  • 1,759
  • 3
  • 22
  • 31
30
votes
5 answers

Good resources to learn about Event Driven Architecture

Looking for books, blogs, web sites or videos. At the moment I am getting a lot of value from the blogs of Udi Dahan and Greg Young, but I was wondering if there are any other experts out there worth listening to?
Codebrain
  • 5,565
  • 4
  • 28
  • 21
30
votes
3 answers

Can a SOA be designed with REST?

I've been reading a lot about SOA's lately, but most of the content is SOAP-related and has a lot of "bureaucratic" stuff that belongs to C#/Java systems. Honestly, i think that such bureaucracy, specially SOAP, is a pain in the ass. So, i'm…
vinnylinux
  • 7,050
  • 13
  • 61
  • 127
29
votes
1 answer

How to ship logs in a microservice architecture with docker?

Heroku describes logs in its Twelve-Factor App manifest as simple event streams: Logs are the stream of aggregated, time-ordered events collected from the output streams of all running processes and backing services. Logs in their raw form are…
sfussenegger
  • 35,575
  • 15
  • 95
  • 119
28
votes
2 answers

Product Versioning Microservices

I go into microservices architecture based on docker and I have 3 microservices, which together create one product for example "CRM system". Now I want my client to be able to upgrade his product, whenever he wants to. I have 3 different versions…
Dariss
  • 1,258
  • 1
  • 12
  • 27
26
votes
3 answers

SOA and shared databases

I don't understand SOA (Service-oriented Architecture) and databases. While I'm attracted by the SOA concept (encapsulating reusable business logic into services) I can't figure out how it's supposed to work if data tables encapsulated in a service…
Gruber
  • 4,478
  • 6
  • 47
  • 74
25
votes
4 answers

Querying / Pagination Across Microservices

Our shop has recently started taking on an SOA approach to application development. We are seeing some great benefits with the separation of concerns, reusability, and other benefits of SOA/microservices. However, one big item we're stuck on is…
Mike
  • 2,334
  • 1
  • 23
  • 27
25
votes
4 answers

Microservice Versioning

What is the best practice to adapt for versioning in a Microservice Based Architecture, in terms of supporting multiple versioned deployment of the same service during runtime and how the consumers would be able to use different versions? 1) If we…
Divs
  • 1,578
  • 2
  • 24
  • 51
25
votes
5 answers

Difference between SOA and ESB

I am confused in these web service terminologies SOA, ESB. Anybody please explain.
Gagan
  • 345
  • 1
  • 3
  • 9
24
votes
12 answers

If SOA is dead, what's replacing it?

Please forgive me if this question is dense. Background: We have several internal applications that integrate at the database. We are looking at how to break that up, and it seems like moving to an architecture where each application exposes its…
Brad Crandell
  • 850
  • 1
  • 8
  • 22