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
24
votes
2 answers

Event-driven architecture and structure of events

I'm new to EDA and I've read a lot about benefits and would probably be interested to apply it during my next project but still haven't understood something. When raising an event, which pattern is the most suited: Name the event "CustomerUpdate"…
24
votes
2 answers

Ruby on Rails SOA Design Resources and Examples

I'm looking for some resources on taking an existing monolithic Rails 3.0 application (35K LOC) and breaking it apart into an SOA design. Any books, blogs, screencasts, or example applications would be awesome. The main questions I'm looking to…
Peter Brown
  • 50,956
  • 18
  • 113
  • 146
23
votes
6 answers

Transactions in microservices

I have read some articles about microservices architecture, but no one takes the topic of transaction. All that they says that this is hard to do it. Maybe someone can describe how to handle this? But not from domain side, but from technology side.…
KirkoR
  • 788
  • 6
  • 13
23
votes
4 answers

Service Oriented Architecture & Domain-Driven Design

I've always developed code in a SOA type of way. This year I've been trying to do more DDD but I keep getting the feeling that I'm not getting it. At work our systems are load balanced and designed not to have state. The architecture…
null_pointer
  • 1,779
  • 4
  • 19
  • 38
23
votes
2 answers

SOA vs MVC - when to use

I'v read this topic but still have not complete picture and I would really appreciate your answer to the next question: for what type of application should be used SOA approach (get JSON from server side and generate html on the client side using…
Artem
  • 432
  • 1
  • 4
  • 13
22
votes
5 answers

Microservices and SOA using messaging

I've been very interested in trying out microservices/SOA as an architecture and am having a hard time conceptualizing how the integration between services would actually be done. I like the idea of using messaging to decouple the clients from the…
user2868740
  • 367
  • 3
  • 10
22
votes
1 answer

SaaS, SOA and Web Services

This question may be foolish, but I am really confused. I want to implement a Software as a Service (SaaS), and I thought that I can use Visual Studio and WCF to do it. But I've read that WCF and Web Services are a SOA implementation and not a…
user1900858
  • 223
  • 1
  • 2
  • 6
21
votes
5 answers

Anti-pattern of SOA or WCF

While I can find lots of article advocating SOA, or WCF, my question is that what should not be exposed as service, is there any lessen that we learn from SOA failure. WCF is a way to implementing SOA, if we use WCF, does that means we are…
user33090
  • 261
  • 2
  • 5
21
votes
4 answers

SOA Architecture Real-World Samples with .NET

Any SOA Architecture (n-tier) Real-World Samples with .NET for getting started ?
Yoann. B
  • 11,075
  • 19
  • 69
  • 111
20
votes
4 answers

High availability

Is there anyway to configure a WCF service with a failover endpoint if the primary endpoint dies? Kind of like being able to specify a failover server in a SQL cluster. Specifically I am using the TCP/IP binding for speed, but on the rare occurrence…
Codebrain
  • 5,565
  • 4
  • 28
  • 21
19
votes
3 answers

How well will WCF scale to a large number of client users?

Does anyone have any experience with how well web services build with Microsoft's WCF will scale to a large number of users? The level I'm thinking of is in the region of 1000+ client users connecting to a collection of WCF services providing the…
John Sibly
  • 22,782
  • 7
  • 63
  • 80
19
votes
6 answers

SOA: Joining data across multiple services

Imagine we have 2 services: Product and Order. Based on my understanding of SOA, I know that each service can have its own data store (a separate database, or a group of tables in the same database). But no Service is allowed to touch the data store…
Mosh
  • 5,944
  • 4
  • 39
  • 44
19
votes
6 answers

DTOs. Properties or fields?

I need to create some DTO classes to transport our business objects across WCF. Since these are just bags of data with no functionality, is there any reason I can't just use fields, or is there some good reason to expose them properly as…
GazTheDestroyer
  • 20,722
  • 9
  • 70
  • 103
18
votes
4 answers

.net n-tier identity & authorization in service architecture

I'm building an application where the requirements seem standard issue (at least to me)... I have a Web.UI based on asp .net mvc & clients from iphone, andriod & blackberry. So the sensible thing to do is to move all my business logic into a…
Jonathon Kresner
  • 2,793
  • 5
  • 29
  • 40
18
votes
1 answer

Why ESB is considered bad in microservices architecture

In microservices architecture, autonomous business services should talk directly with each other. The communication may be synchronous (orchestration) or event-based (choreography). An API gateway may aggregate the API's for the client (backends for…
Tuomas Toivonen
  • 21,690
  • 47
  • 129
  • 225