Difference between a Module & Microservice
This abstract gave the difference between a Microservice and an API as:
A microservice exposes it's interface, what it can do, by means of an
API. The API is the list of all endpoints that a microservice respond
when it receives a command/query. The microservice contains the API
and other internal+hidden things that it uses to respond to client's
requests.
I've worked with Modules & Microservices in Java, but is there a better way to distinctively describe the differences between a Module & a Microservice?
Based on my experience several Modules were imported as part of a Microservice project. Is a Microservice a module of some kind with additional capabilities of exposing RESTful Endpoints? What distinctively differentiates a Module from a Microservice or vice-a-versa?
Is there more we can discuss about the topic in question to clarify the potential confusion?
I have added some visual aid for further clarity:
Please refute if you may, and also provide reliable references in relation to your experience with microservices and modules.
java module architecture microservices
|
show 4 more comments
This abstract gave the difference between a Microservice and an API as:
A microservice exposes it's interface, what it can do, by means of an
API. The API is the list of all endpoints that a microservice respond
when it receives a command/query. The microservice contains the API
and other internal+hidden things that it uses to respond to client's
requests.
I've worked with Modules & Microservices in Java, but is there a better way to distinctively describe the differences between a Module & a Microservice?
Based on my experience several Modules were imported as part of a Microservice project. Is a Microservice a module of some kind with additional capabilities of exposing RESTful Endpoints? What distinctively differentiates a Module from a Microservice or vice-a-versa?
Is there more we can discuss about the topic in question to clarify the potential confusion?
I have added some visual aid for further clarity:
Please refute if you may, and also provide reliable references in relation to your experience with microservices and modules.
java module architecture microservices
1
ImO a microservice always should be at least assumed as remote.
– aschoerk
Nov 27 '18 at 10:55
1
A microservice must act as a runnable standalone service, a module doesn't necessarily. It may just be a collection of related classes.
– Michael
Nov 27 '18 at 10:55
1
There are so many definitions of microservices and modules that it's hard to tell which is correct and this might even lead to heated discussion. However, two properties that I feel distinguishes microservices from modules/libraries are the presence of a REST interface as well as the ability to run standalone (not necessarily useful but possible) - so anything that can run on its own (or in a container) and exposes a REST api could be considered a microservice.
– Thomas
Nov 27 '18 at 10:56
2
@Thomas REST is needlessly specific. A microservice provides an API. Often it's RESTful, but that is not a requirement.
– Michael
Nov 27 '18 at 10:57
1
@Michael yes that's right, however I (and that means just me) would say that the API provided would have to allow for the users to be written in different technologies without the need for special wrappers, i.e. some text based format like REST.
– Thomas
Nov 27 '18 at 11:03
|
show 4 more comments
This abstract gave the difference between a Microservice and an API as:
A microservice exposes it's interface, what it can do, by means of an
API. The API is the list of all endpoints that a microservice respond
when it receives a command/query. The microservice contains the API
and other internal+hidden things that it uses to respond to client's
requests.
I've worked with Modules & Microservices in Java, but is there a better way to distinctively describe the differences between a Module & a Microservice?
Based on my experience several Modules were imported as part of a Microservice project. Is a Microservice a module of some kind with additional capabilities of exposing RESTful Endpoints? What distinctively differentiates a Module from a Microservice or vice-a-versa?
Is there more we can discuss about the topic in question to clarify the potential confusion?
I have added some visual aid for further clarity:
Please refute if you may, and also provide reliable references in relation to your experience with microservices and modules.
java module architecture microservices
This abstract gave the difference between a Microservice and an API as:
A microservice exposes it's interface, what it can do, by means of an
API. The API is the list of all endpoints that a microservice respond
when it receives a command/query. The microservice contains the API
and other internal+hidden things that it uses to respond to client's
requests.
I've worked with Modules & Microservices in Java, but is there a better way to distinctively describe the differences between a Module & a Microservice?
Based on my experience several Modules were imported as part of a Microservice project. Is a Microservice a module of some kind with additional capabilities of exposing RESTful Endpoints? What distinctively differentiates a Module from a Microservice or vice-a-versa?
Is there more we can discuss about the topic in question to clarify the potential confusion?
I have added some visual aid for further clarity:
Please refute if you may, and also provide reliable references in relation to your experience with microservices and modules.
java module architecture microservices
java module architecture microservices
asked Nov 27 '18 at 10:48
S34NS34N
626715
626715
1
ImO a microservice always should be at least assumed as remote.
– aschoerk
Nov 27 '18 at 10:55
1
A microservice must act as a runnable standalone service, a module doesn't necessarily. It may just be a collection of related classes.
– Michael
Nov 27 '18 at 10:55
1
There are so many definitions of microservices and modules that it's hard to tell which is correct and this might even lead to heated discussion. However, two properties that I feel distinguishes microservices from modules/libraries are the presence of a REST interface as well as the ability to run standalone (not necessarily useful but possible) - so anything that can run on its own (or in a container) and exposes a REST api could be considered a microservice.
– Thomas
Nov 27 '18 at 10:56
2
@Thomas REST is needlessly specific. A microservice provides an API. Often it's RESTful, but that is not a requirement.
– Michael
Nov 27 '18 at 10:57
1
@Michael yes that's right, however I (and that means just me) would say that the API provided would have to allow for the users to be written in different technologies without the need for special wrappers, i.e. some text based format like REST.
– Thomas
Nov 27 '18 at 11:03
|
show 4 more comments
1
ImO a microservice always should be at least assumed as remote.
– aschoerk
Nov 27 '18 at 10:55
1
A microservice must act as a runnable standalone service, a module doesn't necessarily. It may just be a collection of related classes.
– Michael
Nov 27 '18 at 10:55
1
There are so many definitions of microservices and modules that it's hard to tell which is correct and this might even lead to heated discussion. However, two properties that I feel distinguishes microservices from modules/libraries are the presence of a REST interface as well as the ability to run standalone (not necessarily useful but possible) - so anything that can run on its own (or in a container) and exposes a REST api could be considered a microservice.
– Thomas
Nov 27 '18 at 10:56
2
@Thomas REST is needlessly specific. A microservice provides an API. Often it's RESTful, but that is not a requirement.
– Michael
Nov 27 '18 at 10:57
1
@Michael yes that's right, however I (and that means just me) would say that the API provided would have to allow for the users to be written in different technologies without the need for special wrappers, i.e. some text based format like REST.
– Thomas
Nov 27 '18 at 11:03
1
1
ImO a microservice always should be at least assumed as remote.
– aschoerk
Nov 27 '18 at 10:55
ImO a microservice always should be at least assumed as remote.
– aschoerk
Nov 27 '18 at 10:55
1
1
A microservice must act as a runnable standalone service, a module doesn't necessarily. It may just be a collection of related classes.
– Michael
Nov 27 '18 at 10:55
A microservice must act as a runnable standalone service, a module doesn't necessarily. It may just be a collection of related classes.
– Michael
Nov 27 '18 at 10:55
1
1
There are so many definitions of microservices and modules that it's hard to tell which is correct and this might even lead to heated discussion. However, two properties that I feel distinguishes microservices from modules/libraries are the presence of a REST interface as well as the ability to run standalone (not necessarily useful but possible) - so anything that can run on its own (or in a container) and exposes a REST api could be considered a microservice.
– Thomas
Nov 27 '18 at 10:56
There are so many definitions of microservices and modules that it's hard to tell which is correct and this might even lead to heated discussion. However, two properties that I feel distinguishes microservices from modules/libraries are the presence of a REST interface as well as the ability to run standalone (not necessarily useful but possible) - so anything that can run on its own (or in a container) and exposes a REST api could be considered a microservice.
– Thomas
Nov 27 '18 at 10:56
2
2
@Thomas REST is needlessly specific. A microservice provides an API. Often it's RESTful, but that is not a requirement.
– Michael
Nov 27 '18 at 10:57
@Thomas REST is needlessly specific. A microservice provides an API. Often it's RESTful, but that is not a requirement.
– Michael
Nov 27 '18 at 10:57
1
1
@Michael yes that's right, however I (and that means just me) would say that the API provided would have to allow for the users to be written in different technologies without the need for special wrappers, i.e. some text based format like REST.
– Thomas
Nov 27 '18 at 11:03
@Michael yes that's right, however I (and that means just me) would say that the API provided would have to allow for the users to be written in different technologies without the need for special wrappers, i.e. some text based format like REST.
– Thomas
Nov 27 '18 at 11:03
|
show 4 more comments
3 Answers
3
active
oldest
votes
Microservices provides an API (REST or No Rest).
Microservice code could be written in a way that some bigger project could use it as a module.
When we choose it to be a microservice rather than module:
- We decouple it from the system which is using it
- This microservice can scale independently ie , use specific DB for its purpose
- Use whatever development language (suited best for its purpose) - if using it as module then this has to be written in the language in which majority of your code bases and modules are written
- Takes care of its data patch
add a comment |
The difference between a module and a microservice is one of packaging. Modules are programming level constructs which package and encapsulate a piece of software for reuse by other software via inclusion in a deployment (designed for in-process execution). A microservice is a deployment of a piece of software for use by other software, separated by a wire protocol.
add a comment |
Module and Micro-service are totally different terminology used in software industry. I can explain with example from eCommerce industry.
Checkout is a module which has features like shopping cart, order review, add to bag etc. This is more generic terminology.
Micro-services are more technical and they are services independent of each other.
For example, we can create 'add to bag' as Microservice. This will just add an item to shopping bag. Only the bag id and product to be added is required (most importantly). This service will not know other features like shipping method, payment method etc.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53497953%2fdifference-between-a-module-microservice%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Microservices provides an API (REST or No Rest).
Microservice code could be written in a way that some bigger project could use it as a module.
When we choose it to be a microservice rather than module:
- We decouple it from the system which is using it
- This microservice can scale independently ie , use specific DB for its purpose
- Use whatever development language (suited best for its purpose) - if using it as module then this has to be written in the language in which majority of your code bases and modules are written
- Takes care of its data patch
add a comment |
Microservices provides an API (REST or No Rest).
Microservice code could be written in a way that some bigger project could use it as a module.
When we choose it to be a microservice rather than module:
- We decouple it from the system which is using it
- This microservice can scale independently ie , use specific DB for its purpose
- Use whatever development language (suited best for its purpose) - if using it as module then this has to be written in the language in which majority of your code bases and modules are written
- Takes care of its data patch
add a comment |
Microservices provides an API (REST or No Rest).
Microservice code could be written in a way that some bigger project could use it as a module.
When we choose it to be a microservice rather than module:
- We decouple it from the system which is using it
- This microservice can scale independently ie , use specific DB for its purpose
- Use whatever development language (suited best for its purpose) - if using it as module then this has to be written in the language in which majority of your code bases and modules are written
- Takes care of its data patch
Microservices provides an API (REST or No Rest).
Microservice code could be written in a way that some bigger project could use it as a module.
When we choose it to be a microservice rather than module:
- We decouple it from the system which is using it
- This microservice can scale independently ie , use specific DB for its purpose
- Use whatever development language (suited best for its purpose) - if using it as module then this has to be written in the language in which majority of your code bases and modules are written
- Takes care of its data patch
answered Nov 27 '18 at 14:27
techagrammertechagrammer
718414
718414
add a comment |
add a comment |
The difference between a module and a microservice is one of packaging. Modules are programming level constructs which package and encapsulate a piece of software for reuse by other software via inclusion in a deployment (designed for in-process execution). A microservice is a deployment of a piece of software for use by other software, separated by a wire protocol.
add a comment |
The difference between a module and a microservice is one of packaging. Modules are programming level constructs which package and encapsulate a piece of software for reuse by other software via inclusion in a deployment (designed for in-process execution). A microservice is a deployment of a piece of software for use by other software, separated by a wire protocol.
add a comment |
The difference between a module and a microservice is one of packaging. Modules are programming level constructs which package and encapsulate a piece of software for reuse by other software via inclusion in a deployment (designed for in-process execution). A microservice is a deployment of a piece of software for use by other software, separated by a wire protocol.
The difference between a module and a microservice is one of packaging. Modules are programming level constructs which package and encapsulate a piece of software for reuse by other software via inclusion in a deployment (designed for in-process execution). A microservice is a deployment of a piece of software for use by other software, separated by a wire protocol.
answered Nov 27 '18 at 19:22
Rob ConklinRob Conklin
5,0481917
5,0481917
add a comment |
add a comment |
Module and Micro-service are totally different terminology used in software industry. I can explain with example from eCommerce industry.
Checkout is a module which has features like shopping cart, order review, add to bag etc. This is more generic terminology.
Micro-services are more technical and they are services independent of each other.
For example, we can create 'add to bag' as Microservice. This will just add an item to shopping bag. Only the bag id and product to be added is required (most importantly). This service will not know other features like shipping method, payment method etc.
add a comment |
Module and Micro-service are totally different terminology used in software industry. I can explain with example from eCommerce industry.
Checkout is a module which has features like shopping cart, order review, add to bag etc. This is more generic terminology.
Micro-services are more technical and they are services independent of each other.
For example, we can create 'add to bag' as Microservice. This will just add an item to shopping bag. Only the bag id and product to be added is required (most importantly). This service will not know other features like shipping method, payment method etc.
add a comment |
Module and Micro-service are totally different terminology used in software industry. I can explain with example from eCommerce industry.
Checkout is a module which has features like shopping cart, order review, add to bag etc. This is more generic terminology.
Micro-services are more technical and they are services independent of each other.
For example, we can create 'add to bag' as Microservice. This will just add an item to shopping bag. Only the bag id and product to be added is required (most importantly). This service will not know other features like shipping method, payment method etc.
Module and Micro-service are totally different terminology used in software industry. I can explain with example from eCommerce industry.
Checkout is a module which has features like shopping cart, order review, add to bag etc. This is more generic terminology.
Micro-services are more technical and they are services independent of each other.
For example, we can create 'add to bag' as Microservice. This will just add an item to shopping bag. Only the bag id and product to be added is required (most importantly). This service will not know other features like shipping method, payment method etc.
answered Nov 28 '18 at 0:43
challengerchallenger
1,1281109
1,1281109
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53497953%2fdifference-between-a-module-microservice%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
ImO a microservice always should be at least assumed as remote.
– aschoerk
Nov 27 '18 at 10:55
1
A microservice must act as a runnable standalone service, a module doesn't necessarily. It may just be a collection of related classes.
– Michael
Nov 27 '18 at 10:55
1
There are so many definitions of microservices and modules that it's hard to tell which is correct and this might even lead to heated discussion. However, two properties that I feel distinguishes microservices from modules/libraries are the presence of a REST interface as well as the ability to run standalone (not necessarily useful but possible) - so anything that can run on its own (or in a container) and exposes a REST api could be considered a microservice.
– Thomas
Nov 27 '18 at 10:56
2
@Thomas REST is needlessly specific. A microservice provides an API. Often it's RESTful, but that is not a requirement.
– Michael
Nov 27 '18 at 10:57
1
@Michael yes that's right, however I (and that means just me) would say that the API provided would have to allow for the users to be written in different technologies without the need for special wrappers, i.e. some text based format like REST.
– Thomas
Nov 27 '18 at 11:03