My Account Log in

1 option

Cloud-Native Development and Migration to Jakarta EE : Transform Your Legacy Java EE Project into a Cloud-Native Application / Ron Veen and David Vlijmincx.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Veen, Ron, author.
Vlijmincx, David, author.
Language:
English
Subjects (All):
Java (Computer program language).
Computer security.
Cloud computing.
Application software--Development.
Application software.
Physical Description:
1 online resource (198 pages)
Edition:
First edition.
Place of Publication:
Birmingham, England : Packt Publishing, [2023]
Summary:
A pragmatic guide for modernizing your Java EE App with Jakarta EE for cloud-native, serverless excellence Key Features Explore the cargo tracker application, an industry-relevant example that illustrates key Jakarta EE concepts and practices Learn how to transition from Java EE to Jakarta EE to modernize your existing applications Understand the benefits of cloud technologies and how to deploy a Jakarta EE application to the cloud Purchase of the print or Kindle book includes a free PDF eBook Book Description Cloud-Native Development and Migration to Jakarta EE will help you unlock the secrets of Jakarta EE's evolution as you explore the migration and modernization of your applications. You'll discover how to make your code compatible with the latest Jakarta EE version and how to leverage its modern features effectively. First, you'll navigate the realm of cloud-native development as you demystify containers and get introduced to the Eclipse MicroProfile, a powerful tool in your toolkit. Next, you'll take the bold step of transitioning your applications from local hardware to the limitless possibilities of the cloud. By following the author's expert guidance to deploy your Jakarta EE applications on Microsoft Azure, you'll gain hands-on experience in managing cloud resources. In the final leg of your journey, you'll explore the world of serverless architecture. You'll learn to design and run services that are truly serverless, harnessing the potential of the event-driven paradigm for scalability and cost-efficiency. By the end of this book, you'll have mastered Jakarta EE and become a proficient cloud-native developer. Join us on this exciting journey of transformation and innovation as you pave the way for the future of Jakarta EE and cloud-native development. What you will learn Explore the latest advancements in Jakarta EE and gain a thorough understanding of its core features and capabilities Understand the principles and practices of designing and building cloud-native applications Gain a detailed understanding of containers and Docker Uncover how to embrace containers in your IT landscape Move from your own hardware to managed hardware in the cloud Discover how Kubernetes enhances scalability, resilience, and portability Who this book is for This book is for developers working in small or large companies developing applications in Jakarta EE. If you're looking for a comprehensive guide that will provide you with all the tools and guidance needed to upgrade your existing applications, then this is the book for you. Intermediate-level knowledge and experience with Java EE 5/6/7/8 will help you get the most out of this book.
Contents:
Cover
Title Page
Copyright and Credits
Contributors
Table of Contents
Preface
Part 1: Getting Started with Python
Chapter 1: The History of Enterprise Java
What is Java EE, and why was it created?
Web servers versus application servers
Web servers
Application servers
Profiles to the rescue
Java EE 5, the first user-friendly version
The history of key features added in Java EE since version 5
Java EE 6
Java EE 7
Java EE 8
Summary
Chapter 2: Introducing the Cargo Tracker Application
Technical requirements
What is the Cargo Tracker application?
Why we chose the Cargo Tracker application
Installing and running the Cargo Tracker application
Features of the Cargo Tracker application
Public Tracking Interface
Administration Interface
Mobile Event Logger
Java EE features used in the Cargo Tracker application
Enterprise Java Beans
Persistence (JPA)
Messaging (JMS)
Context and Dependency Injection
Java Service Faces (JSF)
JAX-RS
JSON binding
Transactions
Batch
Part 2: Modern Jakarta EE
Chapter 3: Moving from Java EE to Jakarta EE
It's all about namespaces
Migrating strategies
Using an open source multiplatform editor
Sed
Using a specialized plugin for your IDE
Upgrading your pom.xml file
Migrating dependencies
Upgrading the project
Upgrading the Payara application server
Upgrading PrimeFaces
Red Hat MTA
Upgrading your application server
Chapter 4: Modernizing Your Application with the Latest Features
The most significant changes to Jakarta EE 10
Core Profile
Using UUIDs as keys
Multi-part form parameters
Pure Java Jakarta Faces views
Authenticating with OpenID
Improved concurrency.
Adding the first cloud-native feature - resilience
Adding the second cloud-native feature - monitoring
Looking at the default metrics of a running system
Adding metrics to your system
Using Prometheus and Grafana to visualize the monitoring process
Setting up Prometheus
Setting up Docker Compose
Setting up the Prometheus settings
Setting up Grafana
Setting up docker-compose
Setting up the auto data source
Setting up the dashboard so that it loads automatically
Showing Grafana Docker
Showing the complete Docker file
Chapter 5: Making Your Application Testable
The impact of testing on your migration
Measuring code coverage of the project
A word about TDD
How to create unit tests
Tools and libraries required for unit testing
Creating a unit test
How to create integration tests
What are integration tests?
What is Testcontainers?
Setting up Testcontainers
Creating an integration test
Part 3: Embracing the Cloud
Chapter 6: Introduction to Containers and Docker
What are containers?
How are containers created?
A brief introduction to Docker
Installing Docker
Running a Docker container
Creating a Docker container
Building a container
Running a container
Running the container in detached mode
Stopping a running container
Using Docker Compose
Chapter 7: Meet Kubernetes
In the beginning
What is container orchestration?
Why would you need Kubernetes?
Self-healing
Load-balancing and networking
Persistent storage and volumes
General
Pods versus containers
Some Kubernetes lingo
Extending Kubernetes
Kubernetes architecture
Where to run Kubernetes
Use your own hardware
Using a hosted service.
A simple example
kubectl get service.
Chapter 8: What Is Cloud Native?
What is cloud native?
Cloud-native principles
Microservices
Containers and orchestration
DevOps
CI/CD
Introducing the 12-factor app
Code base
Dependencies
Config
Backing services
Build, release, run
Processes
Port binding
Concurrency
Disposability
Dev/prod parity
Logs
Admin processes
How to start the transformation
Chapter 9: Deploying Jakarta EE Applications in the Cloud
Deploying to Azure
Creating a container registry
Uploading an image to the registry
Creating a container instance
Metrics of containers in the cloud
Chapter 10: Introducing MicroProfile
A brief history of MicroProfile
MicroProfile Config
MicroProfile Health
MicroProfile Fault Tolerance
@Asynchronous
@Retry
@Timeout
@Bulkhead
@CircuitBreaker
@Fallback
Final remarks
MicroProfile Metrics
@Counted
@Gauge
@Metric
@Timed
Telemetry Tracing
Automatic instrumentation
Manual instrumentation
Other specifications
OpenAPI
RestClient
JSON Web Token Authentication
Jakarta EE 10 Core Profile
Appendix A
Appendix B
Index
Other Books You May Enjoy.
Notes:
Includes index.
Description based on print version record.
ISBN:
9781837630738
1837630739
OCLC:
1406407074

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account