Book Image

Cloud-Native Applications in Java

By : Andreas Olsson, Ajay Mahajan, Munish Kumar Gupta, Shyam Sundar S
Book Image

Cloud-Native Applications in Java

By: Andreas Olsson, Ajay Mahajan, Munish Kumar Gupta, Shyam Sundar S

Overview of this book

Businesses today are evolving so rapidly that they are resorting to the elasticity of the cloud to provide a platform to build and deploy their highly scalable applications. This means developers now are faced with the challenge of building build applications that are native to the cloud. For this, they need to be aware of the environment, tools, and resources they’re coding against. If you’re a Java developer who wants to build secure, resilient, robust, and scalable applications that are targeted for cloud-based deployment, this is the book for you. It will be your one stop guide to building cloud-native applications in Java Spring that are hosted in On-prem or cloud providers - AWS and Azure The book begins by explaining the driving factors for cloud adoption and shows you how cloud deployment is different from regular application deployment on a standard data centre. You will learn about design patterns specific to applications running in the cloud and find out how you can build a microservice in Java Spring using REST APIs You will then take a deep dive into the lifecycle of building, testing, and deploying applications with maximum automation to reduce the deployment cycle time. Gradually, you will move on to configuring the AWS and Azure platforms and working with their APIs to deploy your application. Finally, you’ll take a look at API design concerns and their best practices. You’ll also learn how to migrate an existing monolithic application into distributed cloud native applications. By the end, you will understand how to build and monitor a scalable, resilient, and robust cloud native application that is always available and fault tolerant.
Table of Contents (20 chapters)
Title Page
Dedication
Packt Upsell
Foreword
Contributors
Preface
Index

Writing a product service


For the sake of simplicity, our product service has two functions:

  • List<int> getProducts(int categoryId)
  • Product getProduct(int prodId)

The intent of the two methods is quite clear. The first returns a list of product IDs given a category ID, and the second returns product details (as an object) given a product ID.

Creating a Maven project

Open your IDE (Eclipse Neon or other) and then create a new Maven project as follows:

  1. Right-click on Package Explorer and select New and Project..., as shown in the following screenshot:
  1. Select Maven Project:
  1. In the next window of the wizard, choose Create a simple project.

 

  1. The next dialog will ask for many parameters. Of these, the Group Id (what your project name is) and the Artifact Id (application or service name) are important. Select reasonable names, as shown in the following screenshot:
  1. Select Finish. You should see the following structure:

If the JRE System Library [JavaSE-1.6] does not exist, or you have a later version...