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