Book Image

Practical Microservices

By : Umesh Ram Sharma
Book Image

Practical Microservices

By: Umesh Ram Sharma

Overview of this book

<p>A microservice architecture helps you build your application as a suite of different services. This approach has been widely adopted as it helps to easily scale up your application with reduced dependencies. This way if a part of your application is corrupted, it can be fixed easily thereby eliminating the possibility of completely shutting down your software. This book will teach you how to leverage Java to build scalable microservices. You will learn the fundamentals of this architecture and how to efficiently implement it practically.</p> <p>We start off with a brief introduction to the microservice architecture and how it fares with the other architectures. The book dives deep into essential microservice components and how to set up seamless communication between two microservice end points. You will create an effective data model and learn different ways to test and deploy a microservices. You will also learn the best way to migrate your software from a monolith to a microservice architecture.</p> <p>Finishing off with monitoring, scaling and troubleshooting, this book will set a solid foundation for you to start implementing microservices.</p>
Table of Contents (17 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Data model in SOA


The previously mentioned data model is mostly used in traditional, single fat applications architecture. In the next step, where we come to the SOA era, where we get a flavor of services-based architecture, there is a new data model introduced, named the Canonical Data Model (CDM). It is used in the SOA concept, which advocates the reuse of data structures, attributes, and data types during messaging between various systems and components. The profit of this concept is that it simplifies the definition of the business data, but it could easily become unmanageable. Whatever kind of technology one is using (an ESB, a BPM platform, or just an assembly of services of some kind), standardize the data models of the business objects you exchange. Due to OOPs mindset, in very common scenarios, you end up having some kind of entity, such as customer, order, product, and so on, with a set of IDs, attributes, and associations everyone can agree on. It seems like a very convenient...