-
Notifications
You must be signed in to change notification settings - Fork 0
Microservices with Spring Boot and Spring Cloud
Amitha R edited this page Dec 17, 2020
·
12 revisions
- Service delivered over the web.
- Software system designed to support interoperable machine-to-machine interaction over a network.
- Designed for machine-to-machine(or application-to-application) interaction.
- Should be interoperable - Not platform dependent. (Application A (Java), Application B(.Net), Application C (PHP)) - Irrespective of their technologies they should be able to talk to the ToDo service.
- Should allow communication over a network. (Communication should not be bound within a local machine).
-
How does data exchange between applications take place?
-----Request------->
| Application A |---------------------| WebService |
<-----Response-------
- Application A is consuming a web service.
- How can we make web services platform independent?
- The Request and Response of the webservice must be platform independent.
- There are two popular formats for requests and responses.
a. XML
- Extensible Markup Language.
<getCourseDetailsRequest>
<id>Course1</id>
</getCourseDetailsRequest>
b. JSON
- Javascript Object Notation
[{"id": 1,"name": "Even",},{"id": 2,"name": "Odd",}]
- How does the Application A know the format of Request and Response?
- Application A needs to send a request to the web service and once it gets the response it needs to be able to process it.
- Service Definition:
- Every web service offers a service definition
- The service definition would specify:
i. Request/Response Format - JSON, XML, etc.
ii. Request Structure
iii. Response Structure
iv. Endpoint
- Request and Response
- Request - Input to the web service.
- Response - Output from a web service.
- Message Exchange Format
- It is the format of the request and the response.
- XML and JSON
- Service Provider or Server & Service Consumer or Client
-----Request------->
| Application A |---------------------| WebService |
<-----Response-------
- Application A wants to consume a service from the web service.
- The Web Service is called the service provider.
- Service provider is the one which hosts the web service.
- The service consumer is the one which is consuming the web service. Application A is the client.
| Java Application | ----------------------> | WebService |
| DotNet Application |-----------|
| PHP Application |-----------|
- In the above example, the java application, the dot net application and the PHP application are all consumers of the web service.
- Service Definition
- The Service Definition is the contract between the service provider and the service consumers.
- The Service Definition states:
- Request/Response Format
- Request Structure
- Response Structure
- Endpoint
- Transport (HTTP and MQ)
- Transport defines how a service is called - over the web or queue.
- In MQ - use communication over a queue.
- A service requestor would place a message in a queue.
- The service provider would be listening on the queue.
- As soon as there's a request on the queue it would take the request, do the processing of it, create the response from the queue and place it back in the queue.
- The transport used is the MQ.