Micro Services and internet Services are two totally completely different ideas of Application Development style, which could be differentiated from its superimposed style and development vogue. This journal provides plenty of details regarding these ideas and so the excellence between web Services and tiny Services.
What is Web Service?
Web Service is that the thanks to show the utility of an application to different application, while not a interface. it is a service that exposes associate degree API over protocol protocol. internet Services change applications developed in many technologies to talk with each other through a typical format like XML, Jason, etc. internet services do not appear to be tied to anybody OS or artificial language. as associate degree example, associate degree application developed in Java can communicate with the one developed in C#, Android, etc., and therefore the different approach around. internet Service may be a affiliation technology, the thanks to attach services on into a Service orienting style (SOA).
What is Micro Service?
Micro Service is severally deployable service modeled around a business domain. it’s a technique of breaking giant software applications into loosely coupled modules, during which every service runs a unique method and communicates through apis. It may be developed using electronic communication or event-driven apis, or victimisation non-HTTP backed RPC mechanisms. micro Services are designed to deal with failure and breakdowns of huge applications. Since multiple distinctive services area unit communication along, it’s going to happen that a selected service fails, however the larger applications remain unaffected by the failure of one module.
Let us understand these concepts with the help of an example of Online Shopping Center.
In figure-1: The Online Shopping Center Web Application is developed in Monolithic Architecture. In this application, there is one Web Service which communicates with web application and database. So this web service might be performing many functional tasks related to database operations.
In figure-2: The Online Shopping Center Web Application is developed in Micro Services Architecture. All the components of the web application are developed independently, single functional responsible, fine-grained clearly scoped services.
Web Services could be of any size, including large enterprise apps retrofitted with APIs that too many other apps depended on. Although “micro” in Micro Services, the basic concept is that each service performs a single function.
For example, one of the largest eCommerce portal, Amazon, has migrated to Micro Services. They get countless calls from a variety of applications, including applications that manage the Web Services API as well as the portal, which would have been simply impossible to handle for their old, two-tiered architecture. Applications built as Micro Services can be broken into multiple component services and this service can be a Web Service, which should run unique process and then redeployed independently without compromising the integrity of an application.
Micro Services style is usually organized around business capabilities and priorities. Unlike a traditional monolithic development approach, where different teams have a specific focus on, say, UIs, databases, technology layers, or server-side logic, Micro Services architecture utilizes cross-functional teams. The responsibilities of each team are to make specific products based on one or more individual services communicating via message bus. It means that when changes are required, there won’t necessarily be any reason for the project, as a whole, to take more time or for developers to have to wait for budgetary approval before individual services can be improved. Most development methods focus on projects: a piece of code that has to offer some predefined business value must be handed over to the client, and is then periodically maintained by a team. But in Micro Services, a team owns the product for its lifetime.
In a monolithic service oriented architecture deployment, each small change meant that the entire monolith needed to be rebuilt and this, in turn, meant that re-builds weren’t happening as rapidly as they should. A Web Service is a service offered by an application to another application, communicating with each other via the World Wide Web. The Web Service typically provides an object-oriented web-based interface to a database server, utilized by another web server, or by a mobile application, that provides a user interface to the end user. Another common application offered to the end user may be a mash-up, where a web server consumes several web services at different machines and compiles the content into one user interface.