The Payara Monthly Catch - May 2024

Avast ye, Payara Community! We are ready to chart our course for new horizons in June, but before we do, let's take a moment to look at all the treasures our old salts developed to power up your Java and Jakarta EE applications. We've collected the best pearls and gems in our latest roundup - check them out now!

Announcing Payara’s First Jakarta EE Media and Community Challenge

We have exciting news to share: As part of our Power Up Your Jakarta EE campaign, we are launching Payara's first-ever Jakarta EE Media and Community Challenge!

We’re calling on Java experts, tech writers and content creators from around the world to showcase their talent by developing insightful content focused on Jakarta EE and the Payara Platform application server. This initiative is designed to inspire innovation and foster knowledge-sharing within the Java community. 

Comparing Java Cloud Providers: Payara Cloud vs. Others

Choosing the right cloud platform for your Java applications can significantly improve development speed, scalability and overall costs. While popular options such as Amazon Web Services (AWS), Azure and Google Cloud Platform (GCP) offer valuable solutions, a more niche, highly specialized provider like Payara can deliver effective platforms that bring unique Java-centric advantages: Payara Cloud. Let's take a look at Payara Cloud and how it compares to other common alternatives.

An Ode To Java

Today May 23rd marks the 29th birthday of the Java Platform. First debuting in in 1995, the platform has grown to become one of the most used technologies in the world. On this 29th occasion of its birthday, I got an AI chatbot to compose an ode for the Java Platform. So dear Java, here's an ode to you on your birthday from myself and everyone at Payara!

YouTube Playlist - Connecting Your Payara Cloud Application to a PostgreSQL Database on Neon

By integrating your Payara Cloud application with a PostgreSQL database on Neon, you can unlock a number of key benefits that can improve your application. such as enhanced scalability, reliability and performance. To help you seamlessly carry out this operation, we have created a playlist on YouTube to offer an easy to follow video tutorial.

Securing Your Java Ecosystem: Join Us at the Virtual Payara Conference, 26-27 June 2024!

Join us for the Virtual Payara Conference – a two-day, free online event dedicated to fortifying the security and resilience of your Java applications.

This conference is designed for developers, IT professionals, and decision-makers who are keen to enhance their knowledge and skills in creating secure Java environments. The event is divided into two focused days, each packed with insightful sessions from industry experts, including EU Cyber Resilience Act Specialists, Java Leaders, Industry Analysts & more.

Wed 26 June 2024, 1-6pm BST – Developer Insights – Designing Secure and Resilient Solutions for Jakarta EE Applications – REGISTER HERE

Thurs 27 June 2024, 1-6pm BST – Strategic Insights: Security & Cyber Resilience in the Java World – REGISTER HERE


A Quick Guide to Enterprise Batch Processing With Jakarta EE

Batch processing plays a crucial role in the operation of enterprise applications, facilitating the efficient handling of large volumes of data. Whether it's inventory management, payroll processing, report generation or data migration, batch processing streamlines tasks and enhances operational efficiency. Here's a glimpse of what we cover in our latest document "A Quick Guide to Enterprise Batch Processing With Jakarta EE"!

Getting Started with Payara Cloud: A Step-by-Step Introduction

Are you planning to work with Payara Cloud and look forward to harness its power but don't know where to start? Our platform is extremely intuitive, but to make sure you can get the most out of it, we compiled a Quick Start Guide, written with you in mind. It is your roadmap to navigating this cutting-edge platform and it walks you through the essentials of getting started with Payara Cloud to simplify your journey from signup to deployment.

How Migrating to Payara Cloud Can Boost Your Success

With nearly every activity currently relying on applications, companies are continuously seeking to rapidly innovate, advance and scale their solutions. As these applications grow considerably, traditional on-premises infrastructure may not always be able to meet key operational requirements. In such instances, Cloud-native solutions are ideal, as they can offer scalability, agility and cost-effectiveness.

Let's dig deeper into how Payara Cloud can help you futureproof your Jakarta EE applications and, in turn, enhance your profitability and competitiveness in a fat-moving and demanding marketplace. 

Caching REST Resources In Jakarta REST (formerly JAX-RS)

REST, or Representational State Transfer, is the web standard for building APIs and applications. It offers a lightweight architecture for exchanging data between applications over the web. Jakarta REST (formerly JAX-RS) is the standard API for building RESTful web services on the Jakarta EE Platform. 

This blog post looks at caching within Jakarta REST. We'll explore how to use the built-in features and functionalities to enhance the performance and user experience of your RESTful APIs through resource caching. By using these techniques, you can significantly reduce server load, improve responsiveness, and enhance the overall efficiency of your web resources.

Maven Dependency Scopes: Choosing the Right Tool for the Job

Maven is arguably the most used build automation tool in the Java ecosystem. With that great power and popularity, comes great...configuration options! One such option that can leave you scratching your head is dependency scopes. This blog post takes a quick look at maven scopes, what they are and when to choose which scope.

Microservices Mania: Are Moduliths the Saner Path to Scalable Architectures?

Introduction

Lately, microservices have become extremely popular in software design. They offer the ability to scale, deploy updates independently and use different technologies. However, it's easy to forget how complex microservices can be to manage. Inspired in part by the introduction of Spring Modulith, a top-level Spring project aimed at helping developers create evolvable applications, this blog post takes a fresh look at the concept of modularity. 

Join Live Webinar - Uncovering The Secrets of Java Runtime Choices for Jakarta EE Applications

More than a quarter of a century after its birth, Java still remains a cornerstone in modern enterprise computing. However, with a myriad of runtime options available, making an informed choice that aligns with your specific business needs can be challenging. This webinar, led by experts from Azul (Simon Ritter) and Payara (Luqman Saeed) and designed for decision makers and architects, aims to uncover the secrets to selecting the most optimal Java runtime, focusing on the unique demands of mission-critical Jakarta EE workloads.

Uncovering The Secrets of Java Runtime Choices for Jakarta EE Applications

Wednesday, the 15th of May, 3pm BST

Register: https://us02web.zoom.us/webinar/register/WN_2xtu5op6TDagDU0c2aR_Kg#/registration 

The Payara Monthly Catch - April 2024

All aboard, Payara Community! It's time to hoist the sails and set course for new adventures in May. But before we do, let's take a look back at the treasures we uncovered in April. We've gathered our favorite catches from the depths to share with you, ready to power up your Jakarta EE applications and propel you towards success! Join us as we navigate through the highlights of the month in our latest roundup

How To Administer Payara Server From The Command Line With asadmin

Introduction

The asadmin Command Line Interface (CLI) is a mean of controlling Payara Server from the command line (or terminal, if you prefer). It allows you to start, stop or edit the server in a number of ways. While to some the administration console is the go-to for any administration that needs to be done, the CLI can be a potentially quicker and easier way of performing any administration tasks, particularly when dealing with headless servers, i.e. a server without a GUI.  

Streamlining Payara Micro Development with Dev Mode

Introduction

Payara Micro, a lightweight and flexible microservices runtime platform, offers a seamless development experience through its Maven plugin. In this guide, we'll explore the Dev Mode of Payara Micro Maven plugin, focusing on the dev goal. This goal is tailored to streamline development by enabling various features for an efficient workflow.

Stratospheric Developer Productivity - Unveiling Payara Dev Mode

Development productivity is crucial in Enterprise Java and Jakarta EE application development, supporting the delivery of high-quality software solutions quickly and efficiently. As a result, it is necessary to focus on streamlining development processes, optimizing resource utilization and empowering developers to work more effectively. Payara Micro Maven Plugin, Version 1, introduces a powerful tool – Dev Mode – designed to supercharge your development experience with Payara Micro. 

In our latest User Guide - available to download here - we look at this plugin, exploring its features, configurations and usage to help developers unlock stratospheric levels of productivity.

Getting Started with Apache Kafka on Jakarta EE and Payara Server

When dealing with complex distributed systems, decoupled, asynchronous communications may be more suited to support the exchange of information between different parts of a system, or even completely different systems. In effect, this decoupling makes it possible for different parts of a system to interact without being directly connected, enhancing scalability and fault tolerance. It is possible to set up such communications through a messaging platform like Apache Kafka and design highly scalable applications.

Our new eBook - available to download here - discusses how to use Apache Kafka for Jakarta EE Platforms that use Payara Server. 

Watch webinar recording - Mastering Java Message Service: A Jakarta EE Developer's Guide

Asynchronous communications are an essential elements of flexible and scalable Jakarta EE applications, as they can support the independent processing of multiple tasks, leading to improved performance and responsiveness. This webinar with Petr Aubrecht  & Luqman Saeed - watch here - delves into the world of Java Message Service (JMS) and its integration within Jakarta EE applications to help developers harness the power of asynchronous communications and messaging for enhanced architectures.

What’s New In The April 2024 Payara Platform Release

We're excited to announce the April 2024 release of Payara Platform!  This update includes a mix of critical bug fixes, component upgrades, and exciting new tools in the Payara Tooling Ecosystem.  Our enterprise customers will particularly benefit from the new Diagnostics Tool and Dependabot scanner, designed to streamline operations and security.  Also, everyone gets a glimpse into the future with the Payara 7 Alpha 1 preview!

Expressive REST Resources with Java Records and Jakarta REST

Modern web applications often adopt a layered architecture to separate concerns and improve maintainability. In this paradigm, your REST API acts as a communication layer, exposing resources to clients while interacting with the deeper layers of your application. Leveraging Java Records as Data Transfer Objects (DTOs) in this context helps to simplify the design of your REST resources, making them more expressive and easier to work with.

Jakarta EE Application Development - Payara Podcast Episode 5

In our latest podcast episode, you can listen to our insightful conversation with David Heffelfinger, CTO of Ensode Technology, on his latest venture: the release of his book, 'Jakarta EE Application Development.'  With nearly three decades of professional software development experience under his belt, David is a true veteran in the field. Java enthusiasts will recognize him as a Java Champion and the prolific author behind numerous publications on Java, Java EE, Jakarta EE, GlassFish, NetBeans and more.

Head over toSpotifyorYouTube to listen to the conversation and subscribe to be the first to know when the next episode is out! 

5 ways Payara Cloud drives higher profits for Jakarta EE companies

Introduction

The effective management of production deployment runtimes is essential to ensuring the success, competitiveness and sustainability of your Jakarta EE  applications as well as your business. However, it's important to leverage the right tools, as managing production deployment runtimes can drain your small business's resources in several ways:

Virtual Workshop with Otavio Santana - Empowering Java Applications with NoSQL

Dive into the dynamic world of NoSQL databases with Java Champion Otavio Santana and discover how they can revolutionize your Java applications in our interactive workshop - REGISTER HERE. Designed for senior engineers, architects, and Java developers with a keen interest in NoSQL databases, this workshop brings to life the cutting-edge concepts and techniques from the acclaimed book “Java Persistence with NoSQL: Unleashing the Power of NoSQL: Integrating MongoDB, Cassandra, Neo4J, Redis, and more in Enterprise Java Architecture.

Watch webinar recording - 'Maximizing Developer Productivity: Tools and Techniques For Java Developers' with Trisha Gee

There are now a lot of advanced productivity tools that can help software developers streamlining their coding activity, e.g. automating repetitive but necessary tasks or supporting troubleshooting. This webinar - watch here - with Trisha Gee, Java Champion and Developer Evangelist at Gradle, and Luqman Saeed, Jakarta EE Expert at Payara, covers some of the most effective strategies and latest solutions that can help engineers with their Java application developments. 

Continuous Integration and Continuous Deployment for Jakarta EE Applications Made Easy

Continuous Integration and Continuous Deployment (CI/CD) activities are designed to convey your Jakarta EE applications to end users. Thanks to the unique flexibility of Jakarta EE, multiple CI/CD options are available to software developers. In effect, these are independent from your specific Jakarta EE. 

Watch the video below to learn more about some of the CI/CD alternatives available, what they can offer as well as guide you through how you can implement them. You will be able to follow a demonstration on configuring GitHub Actions for CI/CD and deploying a Jakarta EE applications from the IDE, through GitHub, and onto Payara Cloud. You will also be able to learn how to deploy and manage your applications on Payara Cloud.

Connecting to Instaclustr Managed PostgreSQL® and Apache Kafka® from Payara Cloud

This article provides a brief introduction to using Instaclustr’s managed PostgreSQL Database and Apache Kafka from Payara Cloud. It was created to assist entrants in the upcomingPayara Hackathon (you can still sign up!) spin-up and configure some potentially useful Instaclustr technologies forJakarta EEapplications.

Watch webinar recording - Jakarta EE: Powering Mass Productivity in Enterprise Java Development

This webinar with Edwin Derks  & Luqman Saeed - watch here - is specifically tailored to reveal the productivity advantages that Jakarta EE brings to developers like you in the enterprise Java domain. Whether you're a developer, architect, or tech enthusiast aiming to enhance efficiency in Java enterprise application development, this recording is crafted with you in mind!

J2EE to Jakarta EE: Chronicles of Java’s Enterprise Evolution

Jakarta EE (formerly Java EE) is a set of community developed, abstract specifications that together form a platform for developing end-to-end, multi-tier enterprise applications. Jakarta EE is built on the Java Standard Edition, and aims to provide a stable, reliable and vendor neutral platform on which to develop cloud native applications.

Our new eBook - available to download here - discusses the general theory surrounding the Java Enterprise Development platform. 

Join Our Live Webinar - Deploying Jakarta EE Applications with Payara Platform and Payara Cloud

Payara Cloud, introduced in November 2022, is the next generation of fully-managed cloud native application runtime that offers a flexible and powerful way to easily run Jakarta EE applications in the cloud. This webinar - REGISTER HERE - presented by the Java Champion Michael Redlich, will provide an introduction to the Payara Platform and Payara Cloud. There will then be a review of a Jakarta EE application and demonstrate how to deploy and execute it locally to Payara Server and Payara Micro, then in the cloud with Payara Cloud.

Customizing Payara Micro with Command-Line Options

Payara Micro is a microservices optimised, cloud-first Jakarta EE runtime capable of executing WAR files directly from the command line, eliminating the need for a conventional application server setup. This efficient method, coupled with its versatility and extensive functionality, makes Payara Micro an ideal choice for simplifying your Jakarta EE development process. Its wide array of command-line options is designed to simplify configuration and management, further enhancing its appeal.

Payara Cloud Hackathon is Open for Sign-ups!

We're excited to announce that the 2nd edition of Payara Hackathon is now open for sign ups! Find out more and sign up here!

The Payara Cloud Hackathon will be running from the 11th until the 31st of March and this time, we are looking for applications that tackle environmental, social, and economic sustainability challenges. With a focus on deploying to our Payara as a Service platform Payara Cloud, this is your chance to showcase the power and versatility of Jakarta EE technologies.

Winners will be spotlighted across our platforms, earn money prizes, and present their solutions to a worldwide audience.

What’s New In the February 2024 Payara Platform Release

We are happy to announce the February 2024 release of Payara Platform Enterprise 6.11.0 (request free trial here) and Payara Platform Community 6.2024.2 (download here) are available!

This month's release comes with a number of enhancements, bug fixes, component upgrades, and new capabilities aimed at improving the stability and developer experience of the Payara Platform for you. See below for the details. 

5 Features You Didn't Know About Payara Micro

Payara Micro is a lightweight Jakarta EE and MicroProfile runtime optimized for containerization and microservices. Given the rise of cloud native and containerized application deployments, Payara Micro is a great choice for when you need consistent performance from a smaller runtime. In this blog post, we take a look at five Payara Micro features that you may not know about.  

What’s New in the January 2024 Payara Platform Release?

Splashing into the new year with vigor, the Payara Engineering kitchen announces the first release of Payara Platform for 2024.

This release brings enhancements, security fixes, and bug fixes, ensuring a more robust and efficient environment for your mission critical workload.  Payara Enterprise 6.10.0 (request free trial) comes with 2 improvements, 4 bug fixes, 10 component upgrades and 2 security fixes. Payara Community 6.2024.1 (download here) also comes with 2 improvements, 4 bug fixes, 10 component upgrades and 2 security fixes.

Secure Your Java Applications with Passay: The Essential Password Utility Library

In the digital age, where data breaches are common and privacy is paramount, ensuring users use strong passwords is the first step to securing applications from never-ending threats. Passay, a Java password generation and policy management library helps enhance the security layer of any Java application. Let's dive into the core components of Passay in this blog post to see how you can employ it in your own applications. 

You Might Not Need Kubernetes. Or Containers.

Kubernetes is a topic that is frequently discussed in the development community, especially as the IT landscape increasingly shifts towards cloud and microservices. However, it’s crucial to evaluate whether it is genuinely indispensable for your environment or just another case of the next 'new and shiny' object capturing attention without substantial benefits. In this blog, we’ll delve into the reasons why Kubernetes might sometimes fall victim to the hype and explore whether it is the right fit for all scenarios. 

How Fast Can You Java?

The Java Platform, over the years, has shown how resilient and reliable a development platform it is. Of course, as developers, we always want to see how fast we can execute our code. Well, now you have the chance to find out, or actually prove how fast Java is. Gunnar Morling, Software Engineer at Decodable has a very exciting Java warmup game for us all. He calls it the One Billion Row Challenge. Huh? Yup. Let's hear it from him.

Payara Platform Roadmap 2024

Now that New Year is here, we reflect on 2023 and look ahead to what you can expect from our entire suite of Payara products in 2024. What is the future for Payara Community, Enterprise and Payara Cloud? Read below to find out more about Payara Rodmap in the coming months -  Java 21 compatibility, the upcoming Jakarta EE 11 and our plan for support, and more!

You can also watch the Payara Roadmap 2024 presentedat the Virtual Payara Conference last month.

Innovative Concurrency: Mastering Jakarta EE with Java 21's Virtual Threads - Webinar Recording

Unleash the power of concurrency in your Jakarta EE applications on the Payara Platform by diving into the world of multi-threaded programming. This hands-on webinar - WATCH HERE - explores the different approaches to writing multi-threaded applications on the Jakarta EE Platform, with a special spotlight on the groundbreaking virtual threads introduced in Java 21.

As applications grow in complexity, ensuring smooth and efficient execution becomes paramount. Multi-threading is a great tool in your developer arsenal, facilitating concurrent task execution, significantly improving application performance and responsiveness. The introduction of virtual threads in Java 21 has further broadened the horizon, offering a simplified, high-throughput concurrency model.

Payara Micro vs. Payara Server: When to Use What?

The Payara Platform is a comprehensive ecosystem designed to meet the diverse needs of today's enterprise Java developers like you, offering robust solutions for Jakarta EE applications. The Platform is split into two main products, namely Payara Server and Payara Micro.

Payara Enterprise   Free Trial

Let's Write History with Code! - Payara Podcast Episode 4

In this podcast episode, we would like to invite you to listen to the conversation we had with Otavio Santana. Otavio is a passionate architect and software engineer and a very prominent persona in the Java EE and Jakarta Community. He is a Java Champion, recognized for his vast contributions to the Java and open source ecosystem. He is a committer and leader in several open source products and specifications.

Head over toSpotifyorYouTube to listen to the conversation and subscribe for more episodes! 

What’s new with MicroProfile 6.1?

The latest release of MicroProfile - 6.1 - was delivered in October and it comes with some changes and new fuctionalities - we will take you through those in this article, so carry on reading if you want to find out more on what's new in MicroProfile!

Securing Jakarta EE Applications with MicroProfile JWT

Securing applications is a critical aspect of modern software development, ensuring that only authorised users can access sensitive functionalities and data. In the realm of Java enterprise development, one of the robust solutions for securing applications is the use of MicroProfile JWT (JSON Web Tokens). This approach combines the strengths of Jakarta EE, with the agility and portability of MicroProfile standards, particularly for microservices architectures.

Download the Guide - 
Securing Jakarta EE Applications with MicroProfile JWT

What’s New In The December 2023 Payara Platform Release?

Diving into the digital depths with a surge of enhancements, the December 2023 release of Payara Platform has arrived. This release comes with significant improvements, bug fixes, and component upgrades, further enhancing the robustness and capabilities of the Payara Platform for Jakarta EE and MicroProfile applications.

Payara Enterprise 6.9.0 (request your free trial here) comes with 3 improvements, 4 bug fixes and 7 component upgrades. Payara Community 6.2023.12 (download here) also comes with 2 improvements, 3 bug fixes and 7 component upgrades.

Revolutionising Java Collections: The Advent of Sequenced Collections in Java 21

Java has been a staple in the software development world for decades, renowned for its robustness and vast ecosystem. However, some seasoned Java developers have encountered limitations within its collections framework, particularly when dealing with ordered elements. Enter JEP 431. JEP 431, part of the Java Enhancement Proposal system, represents a significant advancement in Java's ongoing evolution. The Java Enhancement Proposal system is a process for proposing, reviewing, and implementing new features in the Java programming language. JEP 431, in particular, introduces necessary enhancements to the Java Collections Framework, addressing longstanding limitations and expanding its capabilities for us Java developers.

Enterprise Batch Processing with Jakarta Batch - Part 3

In the journey through our Jakarta Batch blog series (see Part 1 here and Part 2 here) , we've taken a deep dive into the architecture of batch jobs, the inner workings of chunks, and the best practices for optimising their processing. Now, it's time to shed light on the less-discussed but equally vital aspect of batch processing: the task-oriented approach, specifically the role of batchlets in Jakarta Batch jobs. We'll also explore how to effectively monitor and manage batch job lifecycles to maintain efficiency and reliability.

Transitioning to Java - Payara Podcast Episode 3

In this podcast episode, we’d like to invite you to listen to the conversation we recently had with Ken Fogel. Ken is a well known expert in Java and Jakarta EE industry, he’s been working with Java for over 20 years.  Unsurprisingly, he is also a Java Champion, and a Java Community Process Executive Committee member. He is an active conference organizer, very prominent and active in the Java, Java EE and Jakarta EE community.

So there’s no wonder why we had to invite him to our podcast!

Head over toSpotifyorYouTube to listen to the conversation and subscribe for more episodes! 

Reassessing Native Compilation for Jakarta EE Applications – A Pragmatic Perspective

Java’s Ahead-of-Time (AOT) native compilation, as seen in frameworks like GraalVM, boasts rapid startup times and lower memory usage. However, for Jakarta EE application developers, the practical benefits of these advantages often don’t translate into substantial economic or technical gains. This leads to questioning the viability of investing resources into adapting existing Jakarta EE applications for GraalVM compatibility.

Download the Guide - Reassessing Native Compilation for Jakarta EE Applications: A Pragmatic Perspective

Automated Jakarta EE Cloud Deployments With GitHub Actions And Payara Cloud

Cloud deployment refers to the process of hosting applications on a remote server infrastructure, accessible over the internet. This paradigm has revolutionised software development, offering immense scalability, flexibility, and efficiency. Traditional deployment methods have evolved to embrace modern cloud environments, ranging from Infrastructure-as-a-Service (IaaS), where you manage servers but not physical hardware, to Platform-as-a-Service (PaaS) and Software-as-a Service (SaaS) solutions, which abstract much of the server management and maintenance tasks.

Download the Guide - Automated Jakarta EE Cloud Deployments With GitHub Actions And Payara Cloud

Panel Discussion Recording - Java 21 - An Overview for Jakarta EE Developers


In this exciting round table panel discussion led by our very own Payara Engineers, we delve deep into the future of the upcoming Jakarta EE 11 in the context of its base Java version - Java 21.

The release of Java 21, the latest LTS Java version, marks an important milestone for the Java Platform. With much anticipated features like virtual threads, sequenced collections and record patterns, Java 21 is the perfect base for the upcoming Jakarta EE 11.

In this  expert round table discussion, you will learn what the release of Java 21 means to you as a Jakarta EE developer.

Upgrading from Payara Enterprise 5 to Payara Enterprise 6 with the Payara Server Upgrade Tool

In a world where technology never sleeps, staying ahead is not just an advantage; it's a necessity.  This is especially true for organisations running enterprise-level applications on Java EE 8 through  Payara Enterprise 5. While this platform has undoubtedly served you well, the release of Jakarta  EE 10 and Payara Enterprise 6 marks the beginning of a new era in Enterprise Java development. 

Introducing Payara Starter: The Code Scaffolding Tool for Rapid Jakarta EE Development

In the dynamic world of software development, efficiency and speed are key. This is where Payara Starter, our new code scaffolding tool, comes in. Designed to streamline and simplify the initial setup process, Payara Starter helps developers like you kickstart your Jakarta EE projects with ease, whether you prefer Maven or Gradle build systems.

What’s New In The Nov 2023 Payara Platform Release?

Splashing onto the scene with a tidal wave of updates, the November 2023 release of Payara Platform is here. This release brings enhancements, security fixes, and bug fixes, ensuring a more robust and efficient environment for your mission critical workload. Payara Enterprise 6.8.0 comes with 4 improvements, 3 bug fixes, 1 security fix and 1 component upgrade. Payara Community 6.2023.11 also comes with 4 improvements, 3 bug fixes, 1 security fix and 1 component upgrade.

Virtual Payara Conference: Full Schedule

Our pioneering virtual business and technology conference will take place on December 14th.  Gain unique insight into Jakarta EE from the best in the business!

We have designed the programme to cater to all levels of Jakarta EE knowledge - learn as a leader! The day-long program has a focus on educating Java professionals and business leaders about the power and potential of Jakarta EE. 

The conference is totally virtual, so you can join from anywhere in the world. You can also pick and choose which sessions to join, and all those who registered will be able to access recordings to watch at their leisure.

Read on for the full schedule...

Elevating Java Performance: Unpacking Generational ZGC in Java 21

Garbage collection is a cornerstone feature in the Java Language. It automates memory management by reclaiming memory occupied by objects that are no longer in use, freeing you the developer up from manual memory allocation and deallocation tasks. This feature is vital for preventing memory leaks and ensuring that applications run efficiently over time.

Four Steps To Jakarta EE Cloud Deployment With Payara Cloud

Deploying Jakarta EE applications to the cloud can be a complex task if you are using traditional deployment options like containers, Kubernetes or other such options, but not with Payara Cloud. Uploading a Jakarta EE binary artefact (.war file) and deploying it to the cloud can be achieved in four straightforward steps. They are:

A Leap Towards Expressive Coding With Record Patterns In Java 21

Java's journey towards fostering more expressive and efficient code has taken a remarkable leap with the advent of Record Patterns, encapsulated in JEP 440. This feature, previewed in both Java 19 and Java 20, is now a part of the language from Java 21, marking a significant stride towards reducing the verbosity traditionally associated with Java language. In this post, we will delve into the essence of Record Patterns, take a look at its benefits, and explore how it fits in with the existing pattern matching capabilities of Java.

Read the Payara Platform Survey 2023!

It's time to launch the results of our Payara Platform Survey, 2023.

We recently reached 150,000 monthly users, so it was time to take stock of this vast global community.

We asked questions about Payara Platform, Jakarta EE and Java. What improvements do you want? What versions are your favourites? What IDEs, cloud vendors, databases and more are the most popular? 

The results make for fascinating reading, with your preferred stack choices surprising lots of our Payara engineers. Read the report to find out if your organisation is in line with the wider community.

The Payara Monthly Catch October 2023

It's time for the October Payara Monthly Catch! It might be Halloween soon, but our monthly news roundup will protect you from the scary thought of missing out on anything from the world of Java, Jakarta EE, MicroProfile, and open source. We collate all the very best content as your TREAT for the month 🎃🦇👻

A key Java survey came out this month - theAzul State of Java Survey and Report. With 2000 respondents, it was interesting to learn that Java 11 was the most popular JDK version, and that 72% were using non-Oracle solutions.  We were also pleased that  19% of respondents reported Payara as their application server of choice, beating GlassFish, TomEE & WildFly!

Ease into Java 21: Uncovering Instance Main Methods with JEP 445

In the world of programming, stepping stones are crucial for novices to transition into proficient developers. This journey often begins with understanding the syntax and semantics of a given programming language. Java, being one of the popular programming languages, has always aimed to be an effective medium for both novices and experienced developers. The recent release of Java 21 introduced a core feature, known as Unnamed Classes and Instance Main Methods through JEP 445, aimed at simplifying the learning curve for new programmers, making it easier for them to write their first program without much fanfare and verbosity.

A Closer Look at the HashiCorp Case - Payara Podcast Episode 2

For this second episode of the Payara Podcast,Rachel Stephens,Senior Analyst at RedMonk (the developer-focused industry analyst company) and Steve Millidge,Payara Founder and CEO, discussed the case of Hashicorp.

Hashicorp, the vendor of Vagrant, Terraform and other deployment-automation tools, made a controversial change from Free and open source (FOSS) status to a Business Source License, in August 2023. 

What's New in the October 2023 Payara Platform Release?

As the leaves take on a golden hue and the cool breeze of October sets in, we're thrilled to bring to the table the latest iteration of the Payara Platform. The October 2023 release features 3 bug fixes, 9 component upgrades, 1 security fix and 1 improvement for Payara Enterprise 6.7.0. Payara Community 6.2023.10 also features 4 bug fixes, 9 component upgrades, 1 security fix and 1 improvement.

How to use Payara Eclipse IDE plugin

Are you looking for a smooth and efficient way to develop and deploy Jakarta EE applications using Payara Server within the Eclipse IDE? Look no further! The Payara Eclipse Plugin is a powerful tool that streamlines the development process and facilitates seamless integration between your application and the Payara Server. In this blog, we will walk you through the step-by-step process of installing, configuring, and utilizing the Payara Eclipse Plugin to enhance your Jakarta EE development experience.

Switching Up Java: Unpacking Pattern Matching in Java 21

Pattern Matching for switch, introduced in Java 21 via JEP 441, marks a significant enhancement to the Java programming language, offering a more expressive and compact way to handle complex decision blocks. This feature extends the existing switch construct by allowing patterns in case labels, thus facilitating more concise, readable, and safe code when dealing with multi-way comparisons​​.

A Quick Intro To Java 21 Foreign Function and Memory (FFM) API

Java 21 introduces the Foreign Function and Memory (FFM) API, which allows Java programs to interoperate with code and data outside the Java runtime. Java operates within a managed environment known as the Java Virtual Machine (JVM). The JVM serves as an abstraction layer between the executing Java code and the underlying hardware and OS. One of the core design principles behind the JVM is to provide a secure and isolated environment for Java applications to run. This isolation is beneficial for several reasons, including security and stability; it mitigates risks such as unauthorized access to system resources or memory corruption, which could lead to vulnerabilities like buffer overflows.

Mastering the Upgrade to Jakarta EE 10 - Video Tutorial

In the ever-evolving landscape of enterprise applications, staying updated with the latest technologies is not just an option—it's a necessity for competitive advantage. The release of Jakarta EE 10 brought forth a myriad of enhancements that can significantly improve the scalability, security, and performance of your enterprise applications. But how do you make the transition smoothly? What are the best practices and strategies for upgrading?

In this recorded webinar tutorial - watch here -  we guide you through the essential steps and considerations for a successful upgrade. We will delve into the new features and improvements introduced in Jakarta EE 10 and why they make a compelling case for the upgrade.

How to store JSON in MySQL Database

Developers use MySQL databases in every corner of the world to create cloud-based applications. As they continually look for tools that offer better scalability, performance, and flexibility, many are pairing MySQL with the JSON data format.

Combined, these provide a wealth of benefits for developers. We’re going to briefly examine the ins and outs of MySQL and JSON to get you up to speed, then take a look at some of the things you can achieve using them together.

The Payara Monthly Catch September 2023

It's time for the September Payara Monthly Catch - our monthly news roundup from the world of Java, Jakarta EE, MicroProfile, and open source. 

The big news is: Java 21 is now out! This is the latest long-term support release of Java, so it will be supported in Payara Platform. Payara Community Server and Micro will run with Java 21 by mid-October, with Payara Enterprise supporting Java 21 by mid-December. Find our pick of great Java 21 content below, including our own articles on the subject, focusing on what it will mean for Jakarta EE users.                                                                                                                                                     

Watch out for us next month at Devoxx Belgium! See below to meet our team at Devoxx and join our talk,Elementary Full-stack Development with Hypermedia and Java 21,we'll hope to see lots of you there. 

TheJakarta EE Developer Survey 2023also came out this month, make sure to read to find out the most used technologies and trends. Our CEO and Founder Steve Millidge commented: "The future looks bright for Jakarta EE and Payara, as we note with pride that the percentage of respondents using Payara has also increased!"

And finally, free trials of our fully managed Jakarta EE cloud native application runtime, Payara Cloud, are in full swing!  Join those trying it out for free, with 15 days available to you with no charge. Sign uphere

Java 21 and the Upcoming Jakarta EE 11: A New Era of Cloud Native Java

With Java 21 released today and Jakarta EE 11 slated for release in Q1 of 2024, the landscape for Java development is evolving rapidly, particularly in the cloud-native space. Although these two are not being developed together, they are intrinsically linked: Jakarta EE 11 will have Java 21 as its base Java SE version. This blog post will explore what these two significant releases bring to the table individually and how they can collectively enhance cloud native Java development.

What's New in the September 2023 Payara Platform Release?

We are excited to announce the latest releases of the Payara Platform: Enterprise 6.6.0 and Community 6.2023.9. Payara Platform Enterprise 6.6.0 comes with 2 security fixes, 2 bug fixes, 5 component upgrades and 3 improvements. Payara Platform Community 6.2023.9 also comes with 2 security fixes, 2 bug fixes, 5 component upgrades, and 3 improvements. 

For Payara Enterprise users, Payara Platform 5 is still updated! Payara Platform Enterprise 5.55.0 is out this month. 

Watch the Recording: Assessing Jakarta EE Cloud Deployment Options in a Cloud Native Era

Are you a Jakarta EE Developer? Are you looking to level up your cloud deployment? You have options! 

In this technical webinar, our expert Luqman Saeed talks you through 3 key options for your cloud deployment with Jakarta EE:

☁️Docker Containers to Azure Web Apps
☁️Jakarta Runtime installation on a virtual machine and app deployment
☁️Fully managed Jakarta EE cloud deployment runtimes

This is also a great webinar if you are curious about Payara Cloud as we are also discussing many different cloud deployment options- if you have heard about our new fully managed cloud native application runtime for Jakarta EE, this your chance to see exactly how it works. 

A Smooth Transition to Tomorrow: Unveiling the Upgrade Adviser Tool for Jakarta EE 10

One of the most daunting tasks organizations face is keeping pace with fast evolving technological landscapes, while ensuring existing applications remain robust and functional. If you're still running applications on Java EE 7/8,  the release of Jakarta EE 10 sets the upgrade clock ticking. Of course you can keep running such applications with a Payara Enterprise 5 plan. However, if you need to upgrade to take advantage of the many new features in Jakarta EE 10, then read on!

The Payara Monthly Catch August 2023

HiJakarta EEandMicroProfilecommunity! It's time for the August Payara Monthly Catch. 

Java 21 is coming next month. That means - virtual threads! Project Panama! Sequenced collections! This month, we round up all the interesting articles about Java 21 and beyond, all in one place. See below for your reading list. We also have been working on applying features like Virtual Threads in a Jakarta EE context.

It's also the month we launched a free trial of our fully managed Jakarta EE cloud native application runtime, Payara Cloud. You can now try it out for free, with 15 days available to you as a trial. Check it outhere

Easily Manage Different Java Versions on Your Machine with SDKMan!

So, you're a Java developer, or maybe you're aspiring to be one. Either way, you've probably faced the challenge of managing multiple versions of Java on your machine. One project requires Java 8, but another needs Java 11, yet another requires Java 17. The open-source library you're keen on contributing to needs yet another version. What do you do? You start juggling environment variables, and before you know it, your system is a tangled mess of configurations. Not fun, right?

And let's not even get started on the difference between JRE and JDK. It's easy for beginners to get confused about the distinction between the two. The JRE (Java Runtime Environment) is sufficient if you just want to run Java applications, but if you're going to be developing them, you'll need the JDK (Java Development Kit). The JDK includes everything the JRE has, plus additional tools and utilities for developers like the Java compiler, or javac.

Tired of all this complexity? Let me introduce you to SDKMan!, a version manager that streamlines the process, making it a breeze to manage multiple Java versions on your machine. Not just Java, SDKMan! can be used to manage a lot more kits and tools such as Maven. In this blog post however, we see how to use SDKMan! to effortlessly manage different versions of Java on the same machine. 

Open Source For All? Why Open Source is Perfect for Enterprises - Listen to Payara Podcast Episode 1

For this first ever episode of Payara Podcast, we had a chat with Rachel Stephens, Senior Analyst at RedMonk (the developer-focused industry analyst company) and Steve Millidge - Payara Founder and CEO. 

We talked about open source, focusing  on using it in the context of enterprise. We talked about public perception of open source, common myths surrounding the use of open source technologies for enterprise businesses, security aspects of using open source and much more. 

Head over to Spotify or YouTube to listen to the conversation and subscribe for more episodes! 

Enjoy!

How To Use The Payara IntelliJ plugin for Smoother Jakarta EE Development

In the realm of Jakarta EE development, orchestrating a smooth interaction between your application and the server is paramount. The Payara IntelliJ Plugin is one such tool that facilitates seamless integration between the Payara Server and the IntelliJ IDEA. This plugin empowers developers to efficiently manage and deploy Jakarta EE applications, and troubleshoot issues right from their development environment. In this blog post, we will explore the various features of the Payara IntelliJ Plugin and provide a step-by-step guide on how to make the most of its capabilities.

What's New in the August 2023 Payara Platform Release?

Coming fresh and energised from summer vacation, the Payara engineering kitchen presents to you the August 2023 release, with bug fixes and component upgrades. Payara Platform Enterprise 6.5.0 comes with 10 bug fixes and a component upgrade. Payara Platform Community 6.2023.8 also comes with 10 bug fixes and 1 improvement. 

Unlocking the Speed: Performance Tuning for Jakarta EE Applications With JCache

In this new guide we look at how to improve cloud native, Jakarta EE application performance using the JCache.

JCache, or Java Caching API, is the standard cache API on the Java Platform. It is developed under 
Java Specification Request (JSR) 107. JCache, similar to other Java APIs, comprises a set of core 
interfaces organised under the javax.cache package. In this guide, we talk you through these interfaces and how you can get started with JCache, with code examples.

Try Payara Cloud for Free! No More Training Developers in Kubernetes...

Payara Cloud is our fully-managed cloud native application runtime. 

Unlike building an application server deployment on a Cloud Infrastructure as a Service or on raw Kubernetes, Payara Cloud takes care of provisioning infrastructure, installation, configuration, deployment and scaling of your application. Any web application following the Jakarta Web Profile specification can be uploaded and it will run in a containerized Payara Micro instance.

Watch the Recording: Building Ultrafast Apps with Payara & Microservices: Live Coding with Jakarta EE & MicroProfile

In this webinar Jakarta EE experts Otavio Santana (Java Champion & Software Engineer) and Luqman Saeed (Payara Tech Writer)  explore the power of Payara and Microservices to develop ultrafast applications, diving into live coding with Jakarta EE and MicroProfile, leveraging the latest specifications, such as Jakarta Data and Jakarta NoSQL.

Additionally, they showcase the seamless integration of these technologies with the Microstream database, enabling lightning-fast persistence for your applications. Whether you are a seasoned developer or new to these technologies, this session will provide valuable insights and practical examples to accelerate your application development.

Watch the Recording: Effortless Jakarta EE Application Monitoring With Payara Monitoring Console


In this recorded webinar we explore how Payara Monitoring Console helps you streamline your Jakarta EE and MicroProfile application monitoring, troubleshooting, and management. Discover how the Payara Monitoring Console streamlines monitoring workflows, improves application performance, and enables faster incident response for your organisation.

 

A Look at Virtual Threads in a Jakarta EE Managed Context

Upcoming Java 21 brings a bunch of new features, including very interesting progress in concurrency. There are two main improvements – virtual threads and structured concurrency.

In this article, we discuss incoming usage of these enhancements inJakarta EE (formerly Java EE, now an open source project maintained by the Eclipse Foundation), a set of specifications that enables the worldwide community of Java developers to work on cloud native Java enterprise applications. Jakarta Concurrency is the concrete specification describing the expected behaviour.

The support in Jakarta EE is currently under development, details may change in the final implementation.

The Payara Monthly Catch July 2023

It's time for the July Payara Monthly Catch. 

This month's pick includes:

  • Advice on contributing to open source
  • Our guide to Artificial Intelligence and Machine Learning on Jakarta EE
  • More deep dives into what you can look forward to in Java 21
  • Tips to combat bugs and vulnerabilities

& more!

We collate articles and videos from outside Payara - ourJakarta EEandMicroProfilecommunity - as well as sharing Payara's own guides and blogs, and news from our team of "Payarans" (we start them small 😉 )🐣⬇

How to Use the Payara Tools in Apache NetBeans IDE

Apache NetBeans is a popular IDE for Java development, offering a wide range of features for streamlining the development process. Payara Server, a robust and scalable option for deploying Jakarta EE applications, seamlessly integrates with Apache NetBeans. In this blog, we explore the seamless usage of Payara Platform 6 within Apache NetBeans, highlighting the benefits and demonstrating how it enhances your development workflow. Whether you're starting a new project or working with an existing app, this guide helps you leverage the power of Payara Server in your development process. Follow the steps in this blog to set up Apache NetBeans to use Payara Server for running your web apps.

Securing microservices under 40 minutes with MicroProfile & Keycloak!

Implementing the correct security patterns is a common challenge that most application developers and consultants can get wrong in even the most common of scenarios. Reinventing the wheel is a common pattern that DevOps engineers do when integrating security solutions inside their applications (authentication, password validation, identity management, correct storage of user data, etc.). Keycloak is an open-source identity management solution that focuses on offloading this burden from DevOps engineers, allowing them to focus on the business aspects of their applications and simplifying their solutions in the long run. 

This talk (see below!) from Fabio Turizo, Senior Engineer at Payara, will focus on the benefits of using such a service with an enterprise application, with a live demonstration of a small application that uses the Eclipse MicroProfile APIs to correctly integrate it with Keycloak by way of the OpenIDConnect standards. 

What's New in the July 2023 Payara Platform Release?

Coming out of the Payara pond to help cool down your summer, the Payara July 2023 release is out with enhancements and bug fixes. Payara Platform Enterprise 6.4.0 comes with 5 bug fixes, 1 improvement, and 3 component upgrades. Payara Platform Community 6.2023.7 also comes with 5 bug fixes, 3 component upgrades, and 2 improvements. 

Our Latest Guides for CTOs and Management

At Payara, we create great resources for both developers and their managers. 

In this blog, we collate some of our recent guides that cater to those making decisions about what systems and processes to use in an organisation. 

We hope you will find something useful.

Watch the Recording: Evolution of Jakarta EE Runtimes Post Java 17 - Payara Panel Discussion

Over the past few years, the pace of Java Platform, Standard Edition releases, has become much faster, with a much predictable biannual releases, with a LTS every 18 months. Watch this fireside chat by Payara Engineers who dive into some of the major changes from Java 17 to the upcoming 21, and explore these changes within the context of Enterprise Java development on the Jakarta EE Platform.

The Payara Monthly Catch June 2023

Jump for joy - it's the Payara Monthly Catch! 

This month's pick includes:

  • Articles about Java 21 new features and additions 
  • Conversations with Java greats like Jakob Jenkov, Trisha Gee & Rafael Del Nero 
  • IDE tips & tricks 
  • Apache tool deep dives 

& more!

We round up the very best content from outside Payara - ourJakarta EEandMicroProfilecommunity - as well as sharing Payara's own resources, and fun news from the dynamic team with a spring in their step ⬇

Exploring the JSON-P API: Simplifying JSON Processing In Jakarta EE 10

JSON (JavaScript Object Notation) has become the de facto standard for data interchange in modern web applications. Its simplicity, readability, and compatibility have made it a popular choice for representing structured data. The JSON-P (JSON Processing) API provides a powerful and convenient way to parse, generate, transform, and query JSON data on the Jakarta EE Platform.  In this blog post, we will explore the fundamentals of the JSON-P API, its core functionalities, and how it empowers you to work with JSON effortlessly in your Jakarta EE applications. 

Join our webinar! From Challenge to Triumph: A Case Study of the The Return on Investment of Payara Enterprise for Decision Makers


Join our online event on Thursday the 29th of June - register here -  where we delve into the critical pain points faced by companies and demonstrate how Payara Enterprise can empower organizations to overcome these challenges and achieve remarkable success.

In today's fast-paced business landscape, decision makers are constantly striving to maximize their return on investment while facing numerous hurdles along the way. Whether it's ensuring high availability, scalability, security, or seamless integration of applications, businesses need a robust and reliable platform that can address these pain points effectively.

Getting Started With Apache Camel On Jakarta EE 10

Apache Camel is an open source enterprise integration framework that helps you connect different systems and applications together with as little effort as possible. It provides a simple and powerful way to define and implement message-based routing and mediation rules. It is an implementation of the patterns described in the book Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf.

In simple terms, Apache Camel acts as a "translator" or "bridge" between different systems. It allows you to easily route, transform, and process messages as they move from one system to another. It supports a wide range of communication protocols and data formats (JSON, XML, YAML, etc.), making it easier to integrate different technologies and applications.

Need Stable Payara 5? Payara 5 Community is No Longer The Answer!

Do any of these situations sound familiar to you and your business? 

Need stable Payara 5. I am using latest community version.

I am using Payara 5 Community Edition and I plan to upgrade to Payara 5 Enterprise Edition.
What would be the costs?

We are using Payara Version 5.2022.5 and for some of our customers we want to move to Payara Enterprise to be up-to-date with current security patches.

We are currently using the Community edition of Payara and would like to stay with Payara 5. How much do the enterprise licenses cost to continue to do this?

I currently use Payara 5 Community and have done for many years. Payara 6 Community uses Java 11 but my product doesn't currently work with Java 11 so I would like to understand the cost of Payara 5 Enterprise. 

Our inbox is full of messages like these! Sounds familiar? It might be time to move to Payara 5 Enterprise. 

What's New In The June 2023 Payara Platform Release?

Coming at the dawn of summer, the June release of the Payara Platform is out with enhancements and bug fixes. Payara Platform Enterprise 6.3.0 comes with 2 bug fixes, 1 improvement, and 1 component upgrade. Payara Platform Community 6.2023.6 also comes with 2 bug fixes, 1 component upgrade, and 1 improvement. 

Payara 5 Enterprise will also receive a new release: Payara Platform Enterprise 5.52.0, available only to those using Payara Enterprise. If you are still with Payara 5 Community, remember it is discontinued,contact usto find out how you can still receive a supported platform.  

Keep Up With Java Platform Changes Through The Java Almanac

Oracle, together with the Java Community over the last few years, have changed the release cadence of the Platform. With biannual releases, the Java of today is a remarkable departure from Java 8. With all the rapid advancement of the language comes the problem of keeping up as a developer.

Thankfully, Java Champions Marc R. Hoffmann and Cay S. Horstmann came up with the Java Almanac website. JA is a great resource that gives you both a summary and detailed overview of changes on the Java Platform from Java 1.0 to Java 22.

The changes are organised in a tabular format with details, links to the respective API and a helpful comparison page. It also has a download page with options to download from any of the JDK distros. All in all, Java Almanac is a great resource to keep abreast of the new release cadence of the Java Platform. 

Watch the Recording: Enterprise Java Application Development With Jakarta EE and Vaadin


Watch this webinar recording to get an overview of the Vaadin framework and learn how to use it to build modern web applications on the Jakarta EE Platform in pure Java, without any frontend framework.  Find out more about the core features of Jakarta EE, like its dependency injection (Jakarta CDI) and persistence (Jakarta Persistence) APIs. Additionally, you will learn how to use Vaadin and Jakarta EE to build responsive web applications that can run on different devices and browsers.

Exploring Java Records In A Jakarta EE Context

Java Records, one of the major highlights of the Java 16 release, provides a concise and immutable way to define classes for modelling data. This conciseness lends itself useful in a typical Jakarta EE application that can have a number of layers that need to share data. For example the data layer might want to return a subset of a given data set to a calling client through a data projection object. The REST layer might want to have separate entities for server and client side among others. This blog post explores the adoption of Java Records in a Jakarta EE application as a data transfer and projection object.

What's New in the May 2023 Payara Platform Release?

With the team freshly rejuvenated from the annualPayara Retreat,the May release of the Payara Platform is out with enhancements and bug fixes to rejuvenate your deployments. Payara Platform Enterprise 6.2.0 comes with 4 bug fixes, 3 improvements, a security fix and 6 component upgrades. Payara Platform Community 6.2023.5 also comes with 4 bug fixes, 5 component upgrades, 1 security fix and 1 improvement. 

To Lombok Or To DeLombok?

The Lombok project is a Java library that aims at “spicing up your java.” Started back in 2009, it consists mostly of annotations that can be used on Java classes to generate helpful constructs like getters and setters. It aims at freeing you from writing quite a number of the ceremonial boilerplate code that you sometimes need to write as part of your everyday use of Java. 

How To Consume and Return Data In YAML In Jakarta REST

YAML is a simple, human-friendly data serialization language for all programming languages. It is the main format for working with Docker. As a language agnostic format, there are many bindings for all the major programming languages. You can easily consume and return data in the YAML format in your Jakarta REST application using message body readers and writers.

Watch the video: A Developer Guide to MongoDB with Morphia & Jakarta EE

MongoDB is one of the most popular NoSQL databases in the market, with its flexible data model, scalability, and rich query capabilities. When combined with Morphia, a powerful Java library for MongoDB, Jakarta EE developers can achieve even greater flexibility in creating modern applications that deliver exceptional user experiences. Watch this webinar recording to learn how to use MongoDB with Jakarta EE and the Morphia library!

How To Get Resource Method Information With ResourceInfo In Jakarta REST

Oftentimes in a Jakarta REST application, you may need to access some metadata about a given resource method matched by the Jakarta REST runtime, outside of a resource class. This could be so as to dynamically alter the client's request based on some custom business requirement, or for informative purposes. For example, in a Jakarta REST component like an exception mapper, you might want to get the currently matched resource method and get its HTTP method. 

Make Your Voice Heard In The 2023 Jakarta EE Developer Survey

Are you an Enterprise Java Developer? Or even a Java developer? If yes, then here is your chance to make your voice heard in the2023 Jakarta EE Developer Surveythat is currently on-going. The survey is organized by the Jakarta EE Working Group, the body responsible for steering the development and advancement of cloud native Java development at the Eclipse Foundation.

What's New in the April 2023 Payara Platform Release?

From the Payara Engineering hutch comes a number of quality of life improvements in the April 2023 Payara Platform Releases.  Payara Platform Community 6.2023.4 comes with a bug fix, 4 component upgrades and 1 improvement. Payara Platform Enterprise 6.1.0 comes with 2 improvements, 1 bug fix and 4 component upgrades. Payara Platform Enterprise 5.50.0 also comes with 1 improvement, 1 bugfix, 1 security fix and 1 component upgrade.

Watch the video: Jakarta EE NoSQL with Google Cloud Firestore

In this code-focused webinar we took a look at how you can use the Google Cloud Firestore NoSQL database service in a Jakarta EE application. The recording is now available to watch - see below or head over to our YouTube Channel.

NoSQL has become a popular RDMS alternative for enterprise applications. There are a myriad of options available for developers to choose from. With advantages such as flexible data models, generally faster queries, support for horizontal scaling and easier developer experience, NoSQL is a great alternative to have in your developer toolbox.

Getting Started With Jakarta EE 10 - Jakarta CDI

Jakarta EE 10, the first major release of the platform since it was transferred to the Eclipse Foundation, did come with a slew of changes and updates to many of its constituent specifications. One such specification that received updates is the Jakarta Contexts and Dependency Injection specification. The specification release version for Jakarta EE 10 is Jakarta CDI 4.0, which came with major changes.

Two of such major changes are the split of the specification into a Lite and Full profiles and the change in default behaviour for an empty beans.xml file. In this blog post, we take a quick look at getting started with Jakarta CDI, in my view, the single most influential specification on the Jakarta EE Platform.

March 2023 Payara Platform Release: Payara 6 Enterprise!

A lot. Hot out of the Payara engineering furnace, we bring you the latest Payara Platform Community and Enterprise releases for the month of March 2023. Payara Platform Enterprise 6.0 gives you a production optimized and commercially supported runtime for your mission-critical projects, combining our top-rated support and 10 year software lifecycle with the very latest version of Jakarta EE.

Payara Platform Community 6.2023.3 is out with 4 improvements, 6 bug fixes and 3 component upgrades. Payara Platform Enterprise 5.49.0 also comes with 4 bug fixes, 3 component upgrades and 1 improvement.

Using UUID As Entity Primary Key In Jakarta EE 10

In prior versions of Jakarta EE, the use of UUID as entity ID or database primary key type was a vendor specific feature. So even though you could use it, you had to rely on vendor specific constructs to get the mapping right. With the release of Jakarta EE 10 however, the Jakarta Persistence specification now provides native support for using UUID as entity ID type.

The jakarta.persistence.GenerationType now has a UUID option that indicates to the persistence provider to generate and assign RFC 4122 UUID to the annotated field. The HelloEntity below shows how to use this new feature.

Getting Started With Jakarta EE 10 - Jakarta REST

Jakarta EE 10 was released in September of 2022 as the first major release of the venerable Enterprise Java development platform since it was moved to the Eclipse Foundation. As a major release, it did come with a slew of updates to almost all the major specifications, including Jakarta REST. In this blog post, we take a look at how to get started developing RESTful web services on the Jakarta EE Platform using the Jakarta REST API.

Intercepting REST Requests With Jakarta REST Request Filters

Oftentimes in web applications, there is the need to intercept a request from the client to resource methods. Sometimes this interception must take place even before the request is matched to a resource method. For such needs, Jakarta REST provides the jakarta.ws.rs.container.ContainerRequestFilter interface. This interface is a Jakarta REST extension that can be used to intercept requests to resource methods. 

An implementation of this interface can decide if requests should be intercepted before they’re matched to resource methods through the @PreMatching annotation. A pre-matched request filter will be invoked by the container before the request is matched to its intended resource method. 

For this blog post, let us look at two use cases for request filters. One is a situation where for security reasons, certain HTTP methods are not allowed. For example an organisation can have a security rule in its firewall that disallows HTTP PUT methods. In this case, either all methods have to be POST or request filters can be used to workaround the restriction. 

The second situation is for the custom implementation of authentication. Of course you absolutely should NOT hand-roll your own security setup unless you know in detail exactly what you are doing. You are better off using tried and tested security frameworks and services out there. But for this blog post, assuming we need to implement custom security, we can use a pre matching request filter. The following code snippet below shows a ContainerRequestFilter implementation that implements the two scenarios above.

How to prevent runtime type erasure using GenericEntity in Jakarta REST in Jakarta EE 10

Java generics is a great feature that allows you to have compile time checks for generics. However, due to historical reasons of backward compatibility, type information for generics is erased at runtime. A lot of the time this shouldn’t be of much concern. But there are a few cases where type information is needed at runtime for some kind of decision. 

One such situation is in Jakarta REST when the jakarta.ws.rs.core.Response object is used to return a generic collection of a specific type. For example the code below shows the creation and return of a Response object that has a list of HelloEntity as the return payload to the client. 

Returning Beautiful Validation Error Messages In Jakarta REST With Exception Mappers

All non-trivial enterprise applications have some sort of constraints on the data the application processes. These constraints could range from the simplest to the most complex custom built types. The default validation API on theJakarta EEPlatform, Jakarta Bean Validation has excellent out of the box support for constraining bean fields. Then with its @Valid annotation, you can trigger automatic validation of constrained objects in certain points of an application. 

🔥NoSQL Persistence on The Jakarta EE Platform With Google Firestore🔥

SQL isn't your only option! 
 
Document NoSQL databases store data as document objects, much like JSON objects. Google Firestore is a document database, a NoSQL database offering from Google’s Firebase service. You store your data in documents that are collected into collections.

This guide will introduce you to incorporating Firestore NoSQL database into your Jakarta EE application.

Payara Hackathon - Build an app with Jakarta EE 10 and Payara Platform

We are excited to announce that registrations are now open forPayara Hackathon, running 2-6 March 2023. 

Build an app with Jakarta EE 10 and Payara Platform for a chance to win £3,000 in prize money for the winner, with £2,000 and £1,000 prizes for runners up. 

Get your work reviewed by our judging panel of Java and Jakarta EE experts including Java Champions Ivar Grimstad and Otavio Santana.

5 Jakarta EE (Formerly Java EE) Myths That Need To Die

The Jakarta EE Platform has come a long way since its debut as J2EE back the days of Sun Microsystems. Over the years, it has had its fair share of challenges. A natural consequence of this is that some notions about the platform arising from some of the past challenges that may have been true about past iterations have stuck. This blog post aims to dispel some of these deeply rooted misconceptions about the Jakarta EE Platform, especially after the last major release.

Payara is Part of the MicroProfile Working Group!

Payara is part of the MicroProfile Working Group! 

MicroProfile is a set of Enterprise Java APIs and technologies, designed to help with the challenge of building microservices architectures in Java. 

The MicroProfile Working Group develops these APIs in a collaborative process, and is comprised of passionate individuals, and representatives from different vendors and Java User Groups. 

Join our Webinar: Leave GlassFish Problems Behind: A Guide to Migrating Away From GlassFish

If you’re running GlassFish in your production or development environment and are worried about the lack of support, infrequent application server releases, security issues, lack of bug fixes and patches – then migrating off GlassFish might be the best option for you.

In this webinar (register here), Fabio Turizo (Head of Payara Service Team), together with Jon Weatherhill (Payara Customer Support Team), will explain all the things you need to consider in order to make a migration as smooth as possible.

A Business Guide to NoSQL on the Jakarta EE Platform

Traditionally, enterprises stored their SQL data in relational database management systems (RDBMS). However, the strict and rigid SQL data format is not always fit for purpose...

This has led to the rise of schemaless databases and NoSQL. The distributed, non-relational model of NoSQL database technology made it the almost perfect choice for companies like Twitter, Google and Facebook that had amassed massive datasets from their web applications. 

But is it right for your enterprise? And will it work with Jakarta EE?

An Opinionated Guide To Getting Started With Jakarta EE Development in 2023

This post is inspired by Gunnar Morling'sposton a similar theme for the Java SE Platform. It is an opinionated guide to getting started developing applications on the Jakarta EE Platform. As an opinionated post, there may be some recommendations that you disagree with. That is natural. The post is directed at people just getting started and feel overwhelmed by all the options out there for getting started with enterprise Java. The post is broken down into the following sections;

What's New in the January 2023 Payara Platform Release?

It's January, and the Payara engineering bakery has been busy with the first release of the year. The Payara Platform Community 6.2023.1 release is hot out of the oven with 8 component upgrades, 1 improvement and 1 security fix. Payara Platform Enterprise 5.47.0 also comes with 14 component upgrades, 2 improvements, 3 bug fixes and 1 security fix. 

Jakarta MVC In Jakarta EE 10

Jakarta EE has action and component based frameworks for building web applications using the model view controller architecture pattern. The much older Jakarta Faces is a component based framework while the much newer Jakarta MVC is an action based one. This blog starts by defining the two types, then takes a look at Jakarta MVC, what it is and how to get started.

Webinar Series - What's New in Jakarta EE 10

In September 2022, the Jakarta EE community achieved a huge milestone with Jakarta EE 10 being released (read more here). The key goals of the Jakarta EE 10 release are simplicity, modernization and ensuring it is lightweight. It's been a few months since this major release, so we thought it's a good time now to do a bit of a recap. We invite you to join our series of fast-paced, no slides webinars that will bring you up to speed with Jakarta EE 10!

What Java Versions and Tools Do Payara Users Prefer?

Using Payara Platform? You might be interested in what tools, OpenJDK versions and Jakarta EE releases our global community choose! 

We regularly conduct surveys to learn what technologies are most commonly used with Payara Platform, so we can work on our integrations and plug-ins.

This survey was promoted in October/November 2022 via social media, emails, blogs and our Payara Forum.

Enterprise Batch Processing with Jakarta Batch - Part 1

Batch processing is an integral part of enterprise applications. Reading, processing and storing vast amounts of data is mostly suited to batch processing runtimes that are optimized for such workloads. Inventory processing, payroll, report generation, invoice/statement generation, data migration, data conversion among others are all tasks that are suitable to batch processing.

Batch processing typically involves breaking data loads to be processed into smaller "chunks," which are also broken down into even smaller units for processing. The batch processing is then carried out on a single unit of the data, one at a time, without any human intervention. This makes the processing of a significantly large amount of data very efficient and fast. Batch processing can also be parallelized to take advantage of the hardware capabilities of the underlying computer. 

This blog series will show you how to create batch processing tasks on the Jakarta EE Platform. The blog is broken down into a series of posts, each blog covering a specific part of the batch specification. This blog introduces you to the Jakarta Batch specification and gives a high level overview of what constitutes a batch task.

Remote CDI Events in Payara Platform

The Jakarta Contexts and Dependency Injection API is the standard dependency injection framework on the Jakarta EE Platform. The latest version of the CDI specification that shipped withJakarta EE 10 is CDI 4.0. This release features a split of the core CDI API into Lite and Full. CDI Lite is designed to run in more restricted environments, and features a subset of the original features. CDI Full contains the Lite and all other features that were in core CDI in previous Jakarta EE releases.

A Guide To Contributing to Jakarta EE 11

Therelease of Jakarta EE 10marked the dawn of a new era for the platform. This release is the first major, community driven release of the platform since it was transferred to the Eclipse Foundation. As a community driven project, the platform is open for everyone to contribute to. One of the advantages of using Jakarta EE for your projects is that you can directly have a say in the direction and future of the platform. With Jakarta EE 10 out of the way, the focus will soon shift to the next release, Jakarta EE 11.

What Is Jakarta Data?

The defacto way of accessing relational data in a Jakarta EE application is through the use of the Jakarta Persistence API. For NoSQL data access, one can now use the much newerJakarta NoSQL API. Jakarta Persistence especially has worked quite well and been serving its purpose with both its support for native queries, JPQL and Criteria queries. However, modern data access paradigms have meant having to pull in third party libraries to enjoy some more abstractions. 

What’s New in Eclipse MicroProfile 6.0?

The Eclipse MicroProfile project is a Jakarta EE based project that augments the platform with cloud-native APIs for developing applications for the cloud. MicroProfile has had five previous version releases, with the latest being 6.0. Versions prior to 6.0 were built on the Jakarta Contexts and Dependency Injection, Jakarta RESTful Web Services and Jakarta JSON APIs. 

What's New in the December 2022 Payara Platform Release?

It's the final release of the year and the final release of Payara 5 Community!

Payara Platform Community 6.2022.2 brings 20 component upgrades, 8 bug fixes, 2 security fixes and 4 improvements. Payara Platform Enterprise 5.46.0 brings 45 component upgrades, 13 bug fixes, and 2 security fixes.

Payara Platform Community 5.2022.5 is the final release of the Payara 5 Community stream.

All releases contain a key fix for a vulnerability in web applications deployed as the default module of an instance's virtual server configuration. Read more details below!

Jakarta EE 10: Frequently Asked Questions (FAQs)

Introduction to Jakarta EE Frequently Asked Questions (FAQs)

Jakarta EE (formerly Java EE)  is a software development platform built on top of the Java Standard Edition, for creating modern applications of all types and sizes for the cloud or in-house. It has gone through a number of evolutions to its present Jakarta EE incarnation. The goal of this blog post is to answer commonly and frequently asked questions about Jakarta EE and enterprise Java software development in general. There are a number of old preconceived notions out there about the platform. This blog post seeks to shed light on a number of these notions within the context of the current platform. 

Payara Platform Deployment Issues? Try Switching Off XML Validation

During deployment of Jakarta EE applications to the Payara Server, all the xml files (e.g. web.xml, persinstence.xml) are verified against its schema.

Payara Platform includes all standard Jakarta EE schema, so there is typically no reason to download external schema to check against xml files. However, if the application uses external schema, in very rare cases, there may be an error during deployment. In this blog, I describe a quick fix to avoid this. 

What’s New in Jakarta REST 3.1 in Jakarta EE 10?

The Representational State Transfer or RESTful architecture is a stateless, HTTP based communication standard for modern applications. It was originally proposed by Dr. Roy Fielding in hisPhD thesis. It has, over the years, become the default, programming language-agnostic means of enabling machine-to-machine communication. An application written in the Django framework in Python can have REST resources that are consumed by another application written in Java with Jakarta EE. Similarly, a Jakarta EE application can create resources that can be consumed by a C# application.  

What is An Application Server? In 3 Minutes

Low on time and want to know what an 'application server' really is?

We offer our explanation. This video covers the difference between application servers and web servers, what an application server can do to make your life as a developer easier, and more, all in less time than your average pop song!

This is a high-level view that might be helpful to pass on to managers and procurement teams who aren't sure what an application server is.

What's New in the November 2022 Payara Platform Release?

The November 2022 Payara Platform release is here and ALL versions are getting a new release!

Payara Platform Community 6.2022.1 is the first stable release of the Payara 6 Community stream. This is certified against the Jakarta EE 10 Platform, Web Profile, and Core Profile. Payara 6 will now be the updated, current version of Payara Platform Community. 

Payara Platform Enterprise 5.45.0 is also out, containing 5 bug fixes, 1 security fix and 2 improvements.

Payara Platform Community 5.2022.4 has been released today as the penultimate Payara 5 Community release, and there is also a release of Payara Platform 4 for Enterprise customers.

All releases contain an important fix for a 0-day vulnerability. 

Read more details below!

Use Jakarta EE Identity Store With Payara and RDBMS

In my previous blog post,here,I examined the JSR-375 specifications and their implementation by Jakarta EE and, more specifically, by the Payara Platform (Server and Micro).

I presented a brief overview of the JSR-375 specifications and their new features, focusing on the notion of Identity Store and illustrating, with a simple example, one of the most common use cases: the LDAP (Lightweight Directory Access Protocol) based authentication and authorization process.

Payara Monthly Catch: September Was Huge!

September was a BIG month in Java. 

Jakarta EE 10 came out - alongside the first compatible products certified against the Jakarta EE 10 platform. Payara 6 Community was one of them!

Also this month = one of the biggest Java conferences in the community, JConfDev, took place in Chicago; and we hosted our webinar with Azul, where we examined AOT vs JIT compilation (video to come). 

We also saw the GA of Java 19! Phew...

Why Jakarta EE is Better than the Competition

Jakarta EE is the most popular Java server-side framework, way ahead its alleged competitors such as Spring, Quarkus, Micronaut or Dropwizard. With the industry-wide adoption of microservices based architectures, its popularity is skyrocketing and, during these last years, it has become the preferred framework for professional software enterprise applications and services development in Java.

In this blog, I'll explain more about Jakarta EE from my perspective as a Senior Java software architect/developer and why Jakarta EE and its runtimes beat the competition, in my opinion!

Using Jakarta EE Identity Store With Payara

These days the world-wide open-source community celebrates the advent of Jakarta EE 10. It is then a good time to look at one of its most relevant and, at the same time, unknown parts: security!

In this blog, I'll give an introduction to Jakarta EE Security, and then explain how Payara Platform builds on Jakarta EE Security with built-in identity stores for RDBMS (Relational Database Management System) and LDAP (Lightweight Directory Access Protocol).

What's New in Jakarta EE 10?

Jakarta EE 10 will be released on September 22! It's almost here...

While the previous releases of Jakarta EE have been focussed on the much-feared namespace change and updating everything with support for Java 11, this is the first major release of Jakarta EE to start introducing new features for developers to use. I’ll cover some of them here.

Deploying to Payara Cloud from a GitHub Action Workflow

Payara Cloud provides an easy-to-use user interface to allow your application to run in a managed cloud environment. While this is very convenient for configuration and troubleshooting work, integration in continuous deployment pipelines calls for something else. Our answer is deploying to Payara Cloud using a GitHub Action Workflow and Payara Cloud Command Line (PCL). 

The Payara Monthly Catch: August 2022

August is typically a quiet month, and whilst this is the case in terms of industry announcements, there have been incredible learning resources and general Java articles created. Here, we have rounded up some of the best of them, covering DevOps, cloud computing, Java, Jakarta EE, MicroProfile and open source.

August Payara Enterprise Release

Payara Platform Enterprise 5.42.0 brings 5 bug fixes, 1 improvement, 1 component upgrade and 1 key security fix - of a 0-day vulnerability in all distributions of the Payara Platform that affects web applications that are deployed in the default context root(/).  

A release of Payara 6 Community (Alpha 4) and Payara Community Version 5.2022.3 will follow next week. This will bring the fix to Community users, providing they update to these versions.

Payara Enterprise = A More Bespoke Solution

Payara Enterprise is an alternative to WildFly, JBoss EAP, WebSphere and more. 

With Payara Enterprise, you have everything offered by Payara Community - regular releases, a global community of 80,000 active users, cutting edge Jakarta EE technology - with the added benefits of support from our engineers, special features like a tool for upgrading and a 10-year software lifecycle. 

Ignore Infrastructure and Concentrate on Code with Jakarta EE and Payara Cloud

Java EE, now Jakarta EE, makes it possible for developers to focus purely on the development of a Java enterprise application, solving the business logic without needing to think about infrastructure and operations when writing code. Payara Cloud extends this philosophy by also eliminating the need to worry about infrastructure and operations when preparing your application to run in the cloud. Together, Jakarta EE and Payara Cloud let you focus on writing code and delivering solutions to business challenges from the moment you write your first piece of code to the day people are using your application successfully on the cloud.

We are currently offering limited free previews of Payara Cloud to businesses - follow the link below:


What is MicroProfile?

Java programming language can be enhanced with specifications. An specification is a baseline platform definition - a framework - to guide concrete implementations. 

One of these specifications is called MicroProfile. But what is MicroProfile specification, what is it used for and why might you need it? 

This blog explains all. 

What's New in the July 2022 Payara Platform Release?

The Enterprise-only 2022 July Payara Platform release is here!

Payara Platform Enterprise 5.41.0 brings 2 bug fixes, 2 component upgrades, and 2 improvements.

This month, this includes improving the functionality of the Upgrade Tool, which is available to Payara Enterprise customers only. Also only for Enterprise users is Azul's supported OpenJDK build for enterprises, Azul Platform Core. In this release, we've updated our Docker images to support new versions of Azul Platform Core. We've also updated our Docker images of previous releases with these new versions of Azul Platform Core.

An Enterprise subscription means you can access special benefits like the Upgrade Tool and bundled Azul Platform Core support, as well as being able to continue using earlier Jakarta EE versions after Jakarta EE 10 is released this month (see below).  All these benefits mean an Enterprise subscription can be more cost-effective in the long-run!