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.


Practical Cloud-Native Java Development with MicroProfile

Practical Cloud-Native Java Development with MicroProfile

Author: Emily Jiang

Publisher: Packt Publishing

Published: 2021-09-22

Total Pages: 402

ISBN-13: 9781801078801

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 Features: Apply your knowledge of MicroProfile APIs to develop cloud-native applications Use MicroProfile Health to provide the startup, liveness, and readiness status of your enterprise application Build an end-to-end stock trader project and containerize it to deploy to the cloud with Istio interaction Book 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 Learn: Understand best practices for applying the 12-Factor methodology while building cloud-native applications Create client-server architecture using MicroProfile Rest Client and JAX-RS Configure your cloud-native application using MicroProfile Config Secure your cloud-native application with MicroProfile JWT Become well-versed with running your cloud-native applications in Open Liberty Grasp MicroProfile Open Tracing and learn how to use Jaeger to view trace spans Deploy Docker containers to Kubernetes and understand how to use ConfigMap and Secrets from Kubernetes Who 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.


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


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 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.


Designing Hexagonal Architecture with Java

Designing Hexagonal Architecture with Java

Author: Davi Vieira

Publisher: Packt Publishing Ltd

Published: 2022-01-07

Total Pages: 460

ISBN-13: 180181029X

DOWNLOAD EBOOK

A practical guide for software architects and Java developers to build cloud-native hexagonal applications using Java and Quarkus to create systems that are easier to refactor, scale, and maintain Key FeaturesLearn techniques to decouple business and technology code in an applicationApply hexagonal architecture principles to produce more organized, coherent, and maintainable softwareMinimize technical debts and tackle complexities derived from multiple teams dealing with the same code baseBook Description Hexagonal architecture enhances developers' productivity by decoupling business code from technology code, making the software more change-tolerant, and allowing it to evolve and incorporate new technologies without the need for significant refactoring. By adhering to hexagonal principles, you can structure your software in a way that reduces the effort required to understand and maintain the code. This book starts with an in-depth analysis of hexagonal architecture's building blocks, such as entities, use cases, ports, and adapters. You'll learn how to assemble business code in the Domain hexagon, create features by using ports and use cases in the Application hexagon, and make your software compatible with different technologies by employing adapters in the Framework hexagon. Moving on, you'll get your hands dirty developing a system based on a real-world scenario applying all the hexagonal architecture's building blocks. By creating a hexagonal system, you'll also understand how you can use Java modules to reinforce dependency inversion and ensure the isolation of each hexagon in the architecture. Finally, you'll get to grips with using Quarkus to turn your hexagonal application into a cloud-native system. By the end of this hexagonal architecture book, you'll be able to bring order and sanity to the development of complex and long-lasting applications. What you will learnFind out how to assemble business rules algorithms using the specification design patternCombine domain-driven design techniques with hexagonal principles to create powerful domain modelsEmploy adapters to make the system support different protocols such as REST, gRPC, and WebSocketCreate a module and package structure based on hexagonal principlesUse Java modules to enforce dependency inversion and ensure isolation between software componentsImplement Quarkus DI to manage the life cycle of input and output portsWho this book is for This book is for software architects and Java developers who want to improve code maintainability and enhance productivity with an architecture that allows changes in technology without compromising business logic, which is precisely what hexagonal architecture does. Intermediate knowledge of the Java programming language and familiarity with Jakarta EE will help you to get the most out of this book.


Designing Microservices Platforms with NATS

Designing Microservices Platforms with NATS

Author: Chanaka Fernando

Publisher: Packt Publishing Ltd

Published: 2021-11-19

Total Pages: 357

ISBN-13: 1801076626

DOWNLOAD EBOOK

A complete reference for designing and building scalable microservices platforms with NATS messaging technology for inter-service communication with security and observability Key FeaturesUnderstand the use of a messaging backbone for inter-service communication in microservices architectureDesign and build a real-world microservices platform with NATS as the messaging backbone using the Go programming languageExplore security, observability, and best practices for building a microservices platform with NATSBook Description Building a scalable microservices platform that caters to business demands is critical to the success of that platform. In a microservices architecture, inter-service communication becomes a bottleneck when the platform scales. This book provides a reference architecture along with a practical example of how to implement it for building microservices-based platforms with NATS as the messaging backbone for inter-service communication. In Designing Microservices Platforms with NATS, you'll learn how to build a scalable and manageable microservices platform with NATS. The book starts by introducing concepts relating to microservices architecture, inter-service communication, messaging backbones, and the basics of NATS messaging. You'll be introduced to a reference architecture that uses these concepts to build a scalable microservices platform and guided through its implementation. Later, the book touches on important aspects of platform securing and monitoring with the help of the reference implementation. Finally, the book concludes with a chapter on best practices to follow when integrating with existing platforms and the future direction of microservices architecture and NATS messaging as a whole. By the end of this microservices book, you'll have developed the skills to design and implement microservices platforms with NATS. What you will learnUnderstand the concepts of microservices architectureGet to grips with NATS messaging technologyHandle transactions and message delivery guarantees with microservicesImplement a reference architecture for microservices using NATSDiscover how to improve the platform's security and observabilityExplore how a NATS microservices platform integrates with an enterprise ecosystemWho this book is for This book is for enterprise software architects and developers who want to gain hands-on microservices experience for designing, implementing, and managing complex distributed systems with microservices architecture concepts. Intermediate-level experience in any programming language and software architecture is required to make the most of this book.


jOOQ Masterclass

jOOQ Masterclass

Author: Anghel Leonard

Publisher: Packt Publishing Ltd

Published: 2022-08-19

Total Pages: 764

ISBN-13: 1800564864

DOWNLOAD EBOOK

Learn the best way to write SQL in Java by taking control of SQL in your app via a type-safe, dynamic and versatile API that supports almost any type or feature compatible with a database and emphasizes SQL syntax correctness Key Features • Write complex, type-safe, and dynamic SQL using the powerful jOOQ API • Tackle complex persistence tasks, such as lazy fetching, R2DBC, transactions, and batching while sustaining high traffic in your modern Java applications • Use a comprehensive SPI to shape and extend jOOQ according to your needs Book Description jOOQ is an excellent query builder framework that allows you to emulate database-specific SQL statements using a fluent, intuitive, and flexible DSL API. jOOQ is fully capable of handling the most complex SQL in more than 30 different database dialects. jOOQ Masterclass covers jOOQ from beginner to expert level using examples (for MySQL, PostgreSQL, SQL Server, and Oracle) that show you how jOOQ is a mature and complete solution for implementing the persistence layer. You'll learn how to use jOOQ in Spring Boot apps as a replacement for SpringTemplate and Spring Data JPA. Next, you'll unleash jOOQ type-safe queries and CRUD operations via jOOQ's records, converters, bindings, types, mappers, multi-tenancy, logging, and testing. Later, the book shows you how to use jOOQ to exploit powerful SQL features such as UDTs, embeddable types, embedded keys, and more. As you progress, you'll cover trending topics such as identifiers, batching, lazy loading, pagination, and HTTP long conversations. For implementation purposes, the jOOQ examples explained in this book are written in the Spring Boot context for Maven/Gradle against MySQL, Postgres, SQL Server, and Oracle. By the end of this book, you'll be a jOOQ power user capable of integrating jOOQ in the most modern and sophisticated apps including enterprise apps, microservices, and so on. What you will learn • Enable the jOOQ Code Generator in any combination of Java and Kotlin, Maven and Gradle • Generate jOOQ artifacts directly from database schema, or without touching the real database • Use jOOQ DSL to write and execute a wide range of queries for different databases • Understand jOOQ type-safe queries, CRUD operations, converters, bindings, and mappers • Implement advanced SQL concepts such as stored procedures, derived tables, CTEs, window functions, and database views • Implement jOOQ multi-tenancy, tuning, jOOQ SPI, logging, and testing Who this book is for This book is for Java developers who write applications that interact with databases via SQL. No prior experience with jOOQ is assumed.


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


DevOps Tools for Java Developers

DevOps Tools for Java Developers

Author: Stephen Chin

Publisher: "O'Reilly Media, Inc."

Published: 2022-04-15

Total Pages: 363

ISBN-13: 1492083976

DOWNLOAD EBOOK

With the rise of DevOps, low-cost cloud computing, and container technologies, the way Java developers approach development today has changed dramatically. This practical guide helps you take advantage of microservices, serverless, and cloud native technologies using the latest DevOps techniques to simplify your build process and create hyperproductive teams. Stephen Chin, Melissa McKay, Ixchel Ruiz, and Baruch Sadogursky from JFrog help you evaluate an array of options. The list includes source control with Git, build declaration with Maven and Gradle, CI/CD with CircleCI, package management with Artifactory, containerization with Docker and Kubernetes, and much more. Whether you're building applications with Jakarta EE, Spring Boot, Dropwizard, MicroProfile, Micronaut, or Quarkus, this comprehensive guide has you covered. Explore software lifecycle best practices Use DevSecOps methodologies to facilitate software development and delivery Understand the business value of DevSecOps best practices Manage and secure software dependencies Develop and deploy applications using containers and cloud native technologies Manage and administrate source control repositories and development processes Use automation to set up and administer build pipelines Identify common deployment patterns and antipatterns Maintain and monitor software after deployment