14
votes
What is really different between SOA and Microservices
Service Providers, doing only one thing
The core difference, which has widespread consequences of the project, is that with Microservices these Service Providers are independently deployable and ...
10
votes
monolith vs microservices for app idea
Never over architect from the get-go. You will spend most of your time on the architecture and not the actual business case you are implementing. (This is especially true if you are trying out a new ...
8
votes
Breaking up a monolith into SOA, and breaking referential integrity
That referential integrity is a concern at all suggests that there are implicit dependencies between the domains. One thing that I think people who have drunk the microservices kool-aid often ...
6
votes
Accepted
Microservices & Canonical model
Apologies in advance for relying on the @ArseniMourzenko comment, but once I started to read the Wikipedia I immediately understood what Canonical Schema means.
Here OP's comment that focuses on the ...
6
votes
Accepted
In a Service Oriented Architecture, should a service make a request while it is servicing a request
In a SOA application, instead of a monolith component solving some problem, you have multiple services - each dealing with its own business concern - that now must communicate and collaborate to solve ...
5
votes
SOA/Microservices: How to handle authorization in inter-services communications?
I advise you to have an internal channel of communication between the microservices.
For example, using some message broker like RabbitMQ internally to send/receive or publish/subscribe messages ...
5
votes
Accepted
Modeling request/response in domain driven design
Domain Driven Design does not provide an answer for this. DDD is more focused on business logic. Your problem is how to represent data as a string of characters sent to and from a client across a ...
5
votes
Accepted
Should client application clean the data that a server application can not internally process? (In SOA Systems)
When you have a Client-Server architecture, the Server parts must never assume that the input they receive is coming from/through your Client implementation.
Always assume that the input you received ...
4
votes
Microservices architecture and bounded contexts
There are differing opinions on how bounded contexts should relate to microservices, some of these opinions are largely predicated on how a microservice is defined.
Those who say there shouldn't be ...
4
votes
Accepted
Autonomous Microservices, event queues and service discovery
Your conclusions seem mostly founded and sum up very nicely the way to go for microservices.
I'd however not fully support 2, 5 and 8:
2) A simple dependency should not automatically lead to a ...
4
votes
What are the implementations of SOA other than web services?
Before HTTP based services became predominant, there were several other systems which provided similar functions. In the Windows world, when COM was a popular component model, it was common to use ...
4
votes
Breaking up a monolith into SOA, and breaking referential integrity
I would be careful about thinking of sharing a database with another service. Every time a database change is made, you now how to verify that the change does not affect any other service that uses ...
4
votes
Verifying Access Token in Each Service of a Microservice Architecture
Validate the token in the service by checking the signature.
The whole point of sending a jwt with claims is so you DON'T have to hit the auth service again.
Doing so introduces a bottleneck to your ...
4
votes
Accepted
Contract decoupling on microservices
It appears that you're focusing on one specific point in Mark Richard's paper without considering the context that the rest of the paper provides.
Read the following three paragraphs (quoted from the ...
4
votes
How to integrate different "microservices" into a transaction?
I think you correctly diagnose the problem, Micro-service architecture is designed for scalability and distributed systems. You don't want them to talk to each other, or use the same database.
Either,...
3
votes
Accepted
What is really different between SOA and Microservices
Here is the bottom-line
The one obvious difference between SOA and Microservices is the notion of
Smart Endpoints Dumb Pipes
Unlike SOA, that would rely on oblivious service consumers and ...
3
votes
Best practice to reduce calls in microservice architecture
It sounds like the pattern you are looking for is API Gateway. Sometimes also called "Edge" or "EdgeService". It can be used to as a single entrypoint to your cluster and to aggregate service call ...
3
votes
Autonomous Microservices, event queues and service discovery
Micro-services are about decoupling different functionality domains. Each service can be developed at a different pace, by a different team, using a different technology stack. This creates ...
3
votes
RMI/CORBA vs Web service
The goal is the same: have a mean for systems using different languages and operating systems to interoperate. Therefore, it's not that different after all.
How should you choose one over another? It ...
3
votes
WCF ChannelFactory vs auto-generated Service References in enterprise?
I would say Option 2 because it is more maintainable and clean.
You can sort of create Generic wrapper and have your customized implementation and exception handling* strategy at one place, published ...
3
votes
In MVC + SOA Architecture, What is the Rationale for Placing Business Logic in Models?
The Model-View-Controller pattern is a UI pattern that follows a few basic principles:
The View is a User Interface, a thin veneer in front of the Controller. The only logic that should be in the ...
3
votes
Should client application clean the data that a server application can not internally process? (In SOA Systems)
If the server can clean the data sensibly then its fine to do so.
For example you mention phone numbers. But there are several popular ways of writing a phone number.
US Phone number:
754-3010 Local
(...
2
votes
What is the most accepted transaction strategy for microservices
There are many solutions that compromise more than I'm comfortable with. Granted, if your use case is complex, such as moving money between different banks, more pleasant alternatives may be ...
2
votes
Accepted
Looking for pros/cons on using OWIN vs. a simple hand-rolled token based auth
Couple of things after a quick look:
App domain reloads on your server will clear out your token dictionary and cause clients to be logged out. Also not possible to effectively scale this over ...
2
votes
Why should I use JAX-RS REST instead of normal servlets?
Note: webservices are high level to servlets
Even though we can write services through servlets, using webservices we can write services in structural way easily.
There are two flavours of ...
2
votes
Accepted
Should I have a single Microservice Instance when there are several versions of the same database
I would say, it depends: There are multiple factors that may drive the decision in one or the other direction:
Operating (e.g. hosting, monitoring) and maintaining (e.g. fixing, upgrading) multiple ...
2
votes
Autonomous Microservices, event queues and service discovery
Micro-services architecture goes well with domain driven design.
Usually one MS represents one bounded context.
Disagree. DDD tends to be very OO. an order is delivered? Order.Deliver() whereas Micro-...
2
votes
What is the added value of Service Discovery in SOA for this project?
If all of your software projects are internal to your organization and the interface boundaries are well-designed and fully documented, then you may not need Service Discovery at all.
But if you ...
2
votes
Use OOP approach for organize the business rules instead of SOA in a small project. Excluding DDD, is there some strategy to do this?
Yes, there is an alternative, and not only does it exist, it should be your default choice...
It's called encapsulating your business rules in business objects :)
The key to making a good business ...
2
votes
From a mobile application client to API/microservices
My preferred approach is to provide a single api per client (one for mobile clients, another for web clients, desktop, etc.). In your case (for now anyway), it'd be one api per native mobile clients.
...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
soa × 165architecture × 41
web-services × 35
microservices × 33
rest × 19
domain-driven-design × 15
design × 13
enterprise-architecture × 12
java × 11
wcf × 9
services × 9
database × 8
design-patterns × 7
soap × 7
.net × 6
c# × 5
api × 5
message-queue × 5
api-design × 4
event-programming × 4
coupling × 4
messaging × 4
service × 4
integration × 4
esb × 4