Hands-On Cloud-Native Applications with Java and Quarkus

Hands-On Cloud-Native Applications with Java and Quarkus

Author: Francesco Marchioni

Publisher: Packt Publishing Ltd

Published: 2019-12-13

Total Pages: 303

ISBN-13: 1838828184

DOWNLOAD EBOOK

Build robust and reliable Java applications that works on modern infrastructure, such as containers and cloud, using the new features in Quarkus 1.0 Key FeaturesBuild apps with faster boot time and low RSS memory using the latest Quarkus 1.0 featuresSeamlessly integrate imperative and reactive programming models to build modern Java applicationsDiscover effective solutions for running Java on serverless apps, microservices, containers, FaaS, and the cloudBook Description Quarkus is a new Kubernetes-native framework that allows Java developers to combine the power of containers, microservices, and cloud-native to build reliable applications. The book is a development guide that will teach you how to build Java-native applications using Quarkus and GraalVM. We start by learning about the basic concepts of a cloud-native application and its advantages over standard enterprise applications. Then we will quickly move on to application development, by installing the tooling required to build our first application on Quarkus. Next, we’ll learn how to create a container-native image of our application and execute it in a Platform-as-a-Service environment such as Minishift. Later, we will build a complete real-world application that will use REST and the Contexts and Dependency injection stack with a web frontend. We will also learn how to add database persistence to our application using PostgreSQL. We will learn how to work with various APIs available to Quarkus such as Camel, Eclipse MicroProfile, and Spring DI. Towards the end, we will learn advanced development techniques such as securing applications, application configuration, and working with non-blocking programming models using Vert.x. By the end of this book, you will be proficient with all the components of Quarkus and develop-blazing fast applications leveraging modern technology infrastructure. What you will learnBuild a native application using Quarkus and GraalVMSecure your applications using Elytron and the MicroProfile JWT extensionManage data persistence with Quarkus using PostgreSQLUse a non-blocking programming model with QuarkusLearn how to get Camel and Infinispan working in native modeDeploy an application in a Kubernetes-native environment using MinishiftDiscover Reactive Programming with Vert.xWho this book is for The book is for Java developers and software architects who are interested in learning a promising microservice architecture for building reliable and robust applications. Knowledge of Java, Spring Framework, and REST APIs is assumed.


Kubernetes Native Microservices with Quarkus and MicroProfile

Kubernetes Native Microservices with Quarkus and MicroProfile

Author: John Clingan

Publisher: Simon and Schuster

Published: 2022-03-01

Total Pages: 328

ISBN-13: 1638357153

DOWNLOAD EBOOK

Build fast, efficient Kubernetes-based Java applications using the Quarkus framework, MicroProfile, and Java standards. In Kubernetes Native Microservices with Quarkus and MicroProfile you’ll learn how to: Deploy enterprise Java applications on Kubernetes Develop applications using the Quarkus runtime Compile natively using GraalVM for blazing speed Create efficient microservices applications Take advantage of MicroProfile specifications Popular Java frameworks like Spring were designed long before Kubernetes and the microservices revolution. Kubernetes Native Microservices with Quarkus and MicroProfile introduces next generation tools that have been cloud-native and Kubernetes-aware right from the beginning. Written by veteran Java developers John Clingan and Ken Finnigan, this book shares expert insight into Quarkus and MicroProfile directly from contributors at Red Hat. You’ll learn how to utilize these modern tools to create efficient enterprise Java applications that are easy to deploy, maintain, and expand. About the technology Build microservices efficiently with modern Kubernetes-first tools! Quarkus works naturally with containers and Kubernetes, radically simplifying the development and deployment of microservices. This powerful framework minimizes startup time and memory use, accelerating performance and reducing hosting cost. And because it's Java from the ground up, it integrates seamlessly with your existing JVM codebase. About the book Kubernetes Native Microservices with Quarkus and MicroProfile teaches you to build microservices using containers, Kubernetes, and the Quarkus framework. You'll immediately start developing a deployable application using Quarkus and the MicroProfile APIs. Then, you'll explore the startup and runtime gains Quarkus delivers out of the box and also learn how to supercharge performance by compiling natively using GraalVM. Along the way, you'll see how to integrate a Quarkus application with Spring and pick up pro tips for monitoring and managing your microservices. What's inside Deploy enterprise Java applications on Kubernetes Develop applications using the Quarkus runtime framework Compile natively using GraalVM for blazing speed Take advantage of MicroProfile specifications About the reader For intermediate Java developers comfortable with Java EE, Jakarta EE, or Spring. Some experience with Docker and Kubernetes required. About the author John Clingan is a senior principal product manager at Red Hat, where he works on enterprise Java standards and Quarkus. Ken Finnigan is a senior principal software engineer at Workday, previously at Red Hat working on Quarkus. Table of Contents PART 1 INTRODUCTION 1 Introduction to Quarkus, MicroProfile, and Kubernetes 2 Your first Quarkus application PART 2 DEVELOPING MICROSERVICES 3 Configuring microservices 4 Database access with Panache 5 Clients for consuming other microservices 6 Application health 7 Resilience strategies 8 Reactive in an imperative world 9 Developing Spring microservices with Quarkus PART 3 OBSERVABILITY, API DEFINITION, AND SECURITY OF MICROSERVICES 10 Capturing metrics 11 Tracing microservices 12 API visualization 13 Securing a microservice


Practical Cloud-Native Java Development with MicroProfile

Practical Cloud-Native Java Development with MicroProfile

Author: Emily Jiang

Publisher: Packt Publishing Ltd

Published: 2021-09-22

Total Pages: 405

ISBN-13: 1801072051

DOWNLOAD EBOOK

Written by leading MicroProfile experts, this book provides you with best practices for building enterprise-grade cloud-native applications using MicroProfile 4.1 and running them on Open Liberty with Docker, Kubernetes, and Istio Key FeaturesApply your knowledge of MicroProfile APIs to develop cloud-native applicationsUse MicroProfile Health to provide the startup, liveness, and readiness status of your enterprise applicationBuild an end-to-end stock trader project and containerize it to deploy to the cloud with Istio interactionBook Description In this cloud-native era, most applications are deployed in a cloud environment that is public, private, or a combination of both. To ensure that your application performs well in the cloud, you need to build an application that is cloud native. MicroProfile is one of the most popular frameworks for building cloud-native applications, and fits well with Kubernetes. As an open standard technology, MicroProfile helps improve application portability across all of MicroProfile's implementations. Practical Cloud-Native Java Development with MicroProfile is a comprehensive guide that helps you explore the advanced features and use cases of a variety of Jakarta and MicroProfile specifications. You'll start by learning how to develop a real-world stock trader application, and then move on to enhancing the application and adding day-2 operation considerations. You'll gradually advance to packaging and deploying the application. The book demonstrates the complete process of development through to deployment and concludes by showing you how to monitor the application's performance in the cloud. By the end of this book, you will master MicroProfile's latest features and be able to build fast and efficient cloud-native applications. What you will learnUnderstand best practices for applying the 12-Factor methodology while building cloud-native applicationsCreate client-server architecture using MicroProfile Rest Client and JAX-RSConfigure your cloud-native application using MicroProfile ConfigSecure your cloud-native application with MicroProfile JWTBecome well-versed with running your cloud-native applications in Open LibertyGrasp MicroProfile Open Tracing and learn how to use Jaeger to view trace spansDeploy Docker containers to Kubernetes and understand how to use ConfigMap and Secrets from KubernetesWho this book is for This book is for Java application developers and architects looking to build efficient applications using an open standard framework that performs well in the cloud. DevOps engineers who want to understand how cloud-native applications work will also find this book useful. A basic understanding of Java, Docker, Kubernetes, and cloud is needed to get the most out of this book.


Enterprise Java Microservices

Enterprise Java Microservices

Author: Kenneth Finnigan

Publisher: Simon and Schuster

Published: 2018-09-27

Total Pages: 395

ISBN-13: 1638355967

DOWNLOAD EBOOK

Summary Enterprise Java Microservices is an example-rich tutorial that shows how to design and manage large-scale Java applications as a collection of microservices. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Large applications are easier to develop and maintain when you build them from small, simple components. Java developers now enjoy a wide range of tools that support microservices application development, including right-sized app servers, open source frameworks, and well-defined patterns. Best of all, you can build microservices applications using your existing Java skills. About the Book Enterprise Java Microservices teaches you to design and build JVM-based microservices applications. You'll start by learning how microservices designs compare to traditional Java EE applications. Always practical, author Ken Finnigan introduces big-picture concepts along with the tools and techniques you'll need to implement them. You'll discover ecosystem components like Netflix Hystrix for fault tolerance and master the Just enough Application Server (JeAS) approach. To ensure smooth operations, you'll also examine monitoring, security, testing, and deploying to the cloud. What's inside The microservices mental model Cloud-native development Strategies for fault tolerance and monitoring Securing your finished applications About the Reader This book is for Java developers familiar with Java EE. About the Author Ken Finnigan leads the Thorntail project at Red Hat, which seeks to make developing microservices for the cloud with Java and Java EE as easy as possible. Table of Contents PART 1 MICROSERVICES BASICS Enterprise Java microservices Developing a simple RESTful microservice Just enough Application Server for microservices Microservices testing Cloud native development PART 2 - IMPLEMENTING ENTERPRISE JAVA MICROSERVICES Consuming microservices Discovering microservices for consumption Strategies for fault tolerance and monitoring Securing a microservice Architecting a microservice hybrid Data streaming with Apache Kafka


Hands-On Cloud-Native Microservices with Jakarta EE

Hands-On Cloud-Native Microservices with Jakarta EE

Author: Luigi Fugaro

Publisher: Packt Publishing Ltd

Published: 2019-01-31

Total Pages: 342

ISBN-13: 1788834429

DOWNLOAD EBOOK

Discover how cloud-native microservice architecture helps you to build dynamically scalable applications by using the most widely used and adopted runtime environments Key FeaturesBuild robust cloud-native applications using a variety of toolsUnderstand how to configure both Amazon Web Services (AWS) and Docker clouds for high availabilityExplore common design patterns used in building and deploying microservices architecture.Book Description Businesses today are evolving rapidly, and developers now face the challenge of building applications that are resilient, flexible, and native to the cloud. To achieve this, you'll need to be aware of the environment, tools, and resources that you're coding against. The book will begin by introducing you to cloud-native architecture and simplifying the major concepts. You'll learn to build microservices in Jakarta EE using MicroProfile with Thorntail and Narayana LRA. You'll then delve into cloud-native application x-rays, understanding the MicroProfile specification and the implementation/testing of microservices. As you progress further, you'll focus on continuous integration and continuous delivery, in addition to learning how to dockerize your services. You'll also cover concepts and techniques relating to security, monitoring, and troubleshooting problems that might occur with applications after you've written them. By the end of this book, you will be equipped with the skills you need to build highly resilient applications using cloud-native microservice architecture. What you will learnIntegrate reactive principles in MicroProfile microservices architectureExplore the 12-factors-app paradigm and its implicationsGet the best out of Java versions 8 and 9 to implement a microservice based on ThorntailUnderstand what OpenShift is and why it is so important for an elastic architectureBuild a Linux container image using Docker and scale the application using KubernetesImplement various patterns such as, Circuit Breaker and bulkheadsGet to grips with the DevOps methodology using continuous integration (CI) and continuous deployment (CD)Who this book is for This book is for developers with basic knowledge of Java EE and HTTP-based application principles who want to learn how to build, test and scale Java EE microservices. No prior experience of writing microservices in Java EE is required.


Building Modern Web Applications With Jakarta EE, NoSQL Databases and Microservices

Building Modern Web Applications With Jakarta EE, NoSQL Databases and Microservices

Author: Aristides Villarreal Bravo

Publisher: BPB Publications

Published: 2020-09-29

Total Pages: 346

ISBN-13: 9389423341

DOWNLOAD EBOOK

Build Modern Web Apps with JakartaEE, Jmoordb, and Vaadins Key Features _ Learn about the Java Enterprise Edition/Jakarta Enterprise Edition specifications. _ Learn how to create applications with frameworks such as Java Server Faces, Eclipse krazo and Vaadin. _ Get familiar with NoSQL databases and learn how to create Java applications that interact using Jakarta NoSQL and Jmoordb. _ Learn how to test and secure your application. _ Learn about Microprofile and how to create microservices with java. Description For many years, Java EE has been an important platform for mission-critical enterprise applications. To accelerate the development of enterprise applications for a cloud-native world, leading software vendors collaborated to transfer Java EE technologies to the Eclipse Foundation, where they will evolve under the Jakarta EE brand. This book will be your comprehensive guide to creating Jakarta EE applications and microservices with Microprofile. The book begins with an introduction to Jakarta EE and quickly goes on to teach you about the various databases and their advantages. After this, you will explore the JNoSQL and Jmoordb frameworks to understand how to build Jakarta EE applications with NoSQL databases. Moving forward, you'll explore Eclipse MicroProfile and see how it helps build microservices with Java. Also, you will learn about various development applications such as Java Server Faces, Eclipse Krazos, PrimeFaces, Vaadin, and understand how to integrate them with your backend. Towards the end, you will learn about security, testing, and understanding continuous integration. What will you learn _ Learn how to use the Jmoordb framework for Jakarta EE applications. _ Optimize Enterprise Java for microservices architecture using Eclipse MicroProfile. _ Create Web applications using Java Server Faces. _ Building a modern web application using Vaadin. _ Learn how to implement security using IdentityStore and JWT. _ Create CI/CD pipelines for Jakarta EE applications. Who this book is for This book is for developers with no previous experience in creating business applications with Java and for those who want to know about APIs and new frameworks for the development of cloud-oriented applications. Table of Contents 1. Jakarta EE Platform 2. NoSQL 3. Jakarta NOSQL 4. Understanding JMoordb 5. Exploring Microprofile 6. Java Server Faces 7. Vaadin 8. Integration Vaadin, JMoordb and NoSQL 9. Eclipse Krazos and Security of Microservices 10. Testing and Continuous Integration


Quarkus Cookbook

Quarkus Cookbook

Author: Alex Soto Bueno

Publisher: O'Reilly Media

Published: 2020-07-14

Total Pages: 394

ISBN-13: 1492062626

DOWNLOAD EBOOK

Optimized for Kubernetes, Quarkus is designed to help you create Java applications that are cloud first, container native, and serverless capable. With this cookbook, authors Alex Soto Bueno and Jason Porter from Red Hat provide detailed solutions for installing, interacting with, and using Quarkus in the development and production of microservices. The recipes in this book show midlevel to senior developers familiar with Java enterprise application development how to get started with Quarkus quickly. You’ll become familiar with how Quarkus works within the wider Java ecosystem and discover ways to adapt this framework to your particular needs. You’ll learn how to: Shorten the development cycle by enabling live reloading in dev mode Connect to and communicate with Kafka Develop with the reactive programming model Easily add fault tolerance to your services Build your application as a Kubernetes-ready container Ease development with OpenAPI and test a native Quarkus application


Introducing Jakarta EE CDI

Introducing Jakarta EE CDI

Author: Luqman Saeed

Publisher: Apress

Published: 2020-02-12

Total Pages: 99

ISBN-13: 1484256425

DOWNLOAD EBOOK

Discover the Jakarta EE Contexts and Dependency Injection (CDI 2.0) framework which helps you write better code through the use of well-defined enterprise Java-based components and beans (EJBs). If you have ever wanted to write clean Java EE code, this short book is your best guide for doing so: you will pick up valuable tips along the way from your author's years of experience teaching and coding. Introducing Jakarta EE CDI covers CDI 2.0 in detail and equips you with the theoretical underpinnings of Java EE, now Jakarta EE. This book is packed with so much that by the end of it, you will feel confident to use your new-found knowledge to help you write better, readable, maintainable, and long-lived mission-critical software. What You Will Learn Write better code with the Jakarta EE Contexts and Dependency Injection (CDI) framework Work with the powerful, extensible, and well-defined contextual life cycle for components Use CDI’s mechanism for decoupling application components through a typesafe event API Build typesafe interceptors for altering the behaviour of components at runtime Harness the well-defined qualifier system for easy isolation of beans Convert almost any valid Java type to a CDI managed bean with CDI’s producer mechanism Who This Book Is For Experienced enterprise Java, Java EE, or J2EE developers who may be new to CDI or dependency injection.


Practical Domain-Driven Design in Enterprise Java

Practical Domain-Driven Design in Enterprise Java

Author: Vijay Nair

Publisher: Apress

Published: 2019-09-05

Total Pages: 388

ISBN-13: 1484245431

DOWNLOAD EBOOK

See how Domain-Driven Design (DDD) combines with Jakarta EE MicroProfile or Spring Boot to offer a complete suite for building enterprise-grade applications. In this book you will see how these all come together in one of the most efficient ways to develop complex software, with a particular focus on the DDD process. Practical Domain-Driven Design in Enterprise Java starts by building out the Cargo Tracker reference application as a monolithic application using the Jakarta EE platform. By doing so, you will map concepts of DDD (bounded contexts, language, and aggregates) to the corresponding available tools (CDI, JAX-RS, and JPA) within the Jakarta EE platform. Once you have completed the monolithic application, you will walk through the complete conversion of the monolith to a microservices-based architecture, again mapping the concepts of DDD and the corresponding available tools within the MicroProfile platform (config, discovery, and fault tolerance). To finish this section, you will examine the same microservices architecture on the Spring Boot platform. The final set of chapters looks at what the application would be like if you used the CQRS and event sourcing patterns. Here you’ll use the Axon framework as the base framework. What You Will Learn Discover the DDD architectural principles and use the DDD design patterns Use the new Eclipse Jakarta EE platform Work with the Spring Boot framework Implement microservices design patterns, including context mapping, logic design, entities, integration, testing, and security Carry out event sourcing Apply CQRS Who This Book Is For Junior developers intending to start working on enterprise Java; senior developers transitioning from monolithic- to microservices-based architectures; and architects transitioning to a DDD philosophy of building applications.


Jakarta EE Cookbook

Jakarta EE Cookbook

Author: Elder Moraes

Publisher: Packt Publishing Ltd

Published: 2020-05-29

Total Pages: 371

ISBN-13: 1838640320

DOWNLOAD EBOOK

An enterprise Java developer's guide to learning JAX-RS, context and dependency injection, JavaServer Faces (JSF), and microservices with Eclipse MicroProfile using the latest features of Jakarta EE Key FeaturesExplore Jakarta EE's latest features and API specifications and discover their benefitsBuild and deploy microservices using Jakarta EE 8 and Eclipse MicroProfileBuild robust RESTful web services for various enterprise scenarios using the JAX-RS, JSON-P, and JSON-B APIsBook Description Jakarta EE is widely used around the world for developing enterprise applications for a variety of domains. With this book, Java professionals will be able to enhance their skills to deliver powerful enterprise solutions using practical recipes. This second edition of the Jakarta EE Cookbook takes you through the improvements introduced in its latest version and helps you get hands-on with its significant APIs and features used for server-side development. You'll use Jakarta EE for creating RESTful web services and web applications with the JAX-RS, JSON-P, and JSON-B APIs and learn how you can improve the security of your enterprise solutions. Not only will you learn how to use the most important servers on the market, but you'll also learn to make the best of what they have to offer for your project. From an architectural point of view, this Jakarta book covers microservices, cloud computing, and containers. It allows you to explore all the tools for building reactive applications using Jakarta EE and core Java features such as lambdas. Finally, you'll discover how professionals can improve their projects by engaging with and contributing to the community. By the end of this book, you'll have become proficient in developing and deploying enterprise applications using Jakarta EE. What you will learnWork with Jakarta EE's most commonly used APIs and features for server-side developmentEnable fast and secure communication in web applications with the help of HTTP2Build enterprise applications with reusable componentsBreak down monoliths into microservices using Jakarta EE and Eclipse MicroProfileImprove your enterprise applications with multithreading and concurrencyRun applications in the cloud with the help of containersGet to grips with continuous delivery and deployment for shipping your applications effectivelyWho this book is for This book is for Java EE developers who want to build enterprise applications or update their legacy apps with Jakarta EE's latest features and specifications. Some experience of working with Java EE and knowledge of web and cloud computing will assist with understanding the concepts covered in this book.