It's that time again, our March monthly catch! The "fishes" in our "net" are Java, Jakarta EE, Open Source and Microprofile articles, news stories, videos and podcasts we've found useful and interesting, as well as a few Payara Services updates.
Big news this month is the General Availability release of Java 16. Articles under the 'Java EE' subheading in our Community news section below provide expert opinions on what's new in this release.
As more developers continue to move to Jakarta EE 9, our own Rudy De Busscher has provided guides to getting started with the new namespace on Gradle and Maven; find this also in the Community section.
In the articles we've chosen, you will see security as a recurring theme. An SD Times article this month discussed how developers are taking a larger role in security, so hopefully these pieces will come in useful! Brian Vermeer at Snyk, who we've worked with on apanel discussionand our joint guide previously, has been particularly prolific with Java-focused security content.
At Team Payara, our Cloud product gathered more momentum and buzz, with Java expert Adam Bien trying it out, see Using Payara below. We also conducted a fun experiment to see how easy it really is to operate this next generation application server runtime - using a member of our Marketing team as a guinea pig!
For AirHacks, Adam Bien provided his initial evaluation of Payara Cloud (timestamp 43.00 - 46.48) - "You can just push WARs to this, and everything is managed for you. This will be like heaven of all clouds... this is true serverless."
"What I really like is Payara Cloud separates infrastructure from business logic, meaning I can push my application to the cloud without caring about servers." - Adam Bien's first impression of our new product, this time in a dedicated video, having been involved in testing.
A Better way to write Complex SQL queries for Programmers - This clear, methodical blog goes through three different techniques for writing SQL queries: good, better and best! What do you think?
Kubernetes Is Not Your Platform, It's Just the Foundation - Manuel Pais for InfoQ urges you to rethink your approach to Kubernetes - advocating a DevOps strategy that takes a team-centric approach to adoption.
Java configuration: prevent Java Misconfiguration - Brian Vermeer for Snyk discusses common issues - like the misconfiguration of the XML parsers in Java - and how they can be prevented, to avoid the security breaches they allow.
Monitoring Deserialization to Improve Application Security - Chris Hegarty introduces the new Deserialization Event in JDK 17, and describes how it can be enabled and leveraged.
Payara on Foojay covers converting 3rd party libraries to the new Jakarta EE namespace - Frameworks/libraries like MicroProfile and Arquillian need testing and eventually converting, Rudy De Busscher tells you how.
SQL JOIN or EXISTS? Chances Are, You’re Doing it Wrong - Lukas Eder provides clarity on the difference between JOIN and SEMI-JOIN , as well as how to use these relational operators with the jOOQ framework.
Simplest Possible Asynchronous Method Invocation with MicroProfile - Adam Bien provides a method using MicroProfile Fault Tolerance. The annotation is similar to EJB 3.1 and can be used in migrations from Java EE / Jakarta EE to MicroProfile runtimes.
Open source usage continues to grow at 28.6 per cent year-on-year finds Open UK, with research published in Computing News. We are proud to be an Open Source business, with the community and collaboration that brings.
Top 20 Dockerfile best practices for security- This blog by Álvaro Iradier is a useful curated list of Docker security best practices - focused on Dockerfiles and container security but also covering related topics like image optimization.
Group by and Having Clauses in SQL - In this Vikram Gupta blog, you'll learn what are Group by and Having clauses, when to use these clauses and how they are different from the where clause.
10 best practices to build Java containers with Docker - Brian Vermeer provides a cheat sheet for building a production-grade Java container with Docker. He provides 10 succinct points & then goes into more detail, a really useful resource!
Calculating Pagination Metadata Without Extra Roundtrips in SQL - Lukas Eder helps you avoid unnecessary twists and turns when paginating results in SQL. You can do it in a single query!
How Industrial Edge Fuels Real-Time IoT Processes - Lauren Horwitz discusses the future of edge computing where resources are brought closer to the user. Alex West at Omdia also explains more about the link between edge and cloud.
We love debunking myths at Payara! - In 2018 Gartner suggested that less than 10% of enterprise-generated data was created using edge computing, but this will reach 75% by 2025. Victorio Duran III from Ring Central addressed edge computing misconceptions for our blog.
Monica Beckwith discusses enabling Java on Windows and Arm64 as part of her work to optimise the JVM at Microsoft - As part of our Azul partnership we offer Zulu Enterprise OpenJDK builds for Payara Enterprise Server on aarch64 architecture.
Why Java Is so Young After 25 Years: An Architect’s Point of View - Dr.Magesh Kasthuri & Suresh Perumal provide their perspective on why Java is going strong! We love this history & evolution of Java diagram.
The Evolution of Distributed Systems on Kubernetes - Bilgin Ibryam discussed the evolution of #distributedsystems with K8s. This is now written up for InfoQ - what IS next for Microservices?
7 Basic AWS Cloud Security Practices You Should Follow - Payara Server and Payara Micro can be used on any cloud platform that provides an IAAS type of offering, with AWS used often. This article provides best DevSecOps practives for use with AWS.
A (Definitive?) Guide to Lazy Initialization Exception - On Foojay, Nicolas Frankel from Hazelcast provides a definitive guide to this Java Hibernate exception.
The Dev Wears Prada? - "Continuous need for novelty drives cyclical tastes, both in hemlines & in software architecture." Holly Cummins uses as an example microservices as the newly fashionable version of service orientated architecture. Do you agree?
Where Is The Payara Fish This Month?
Last month it was pancakes for Shrove Tuesday:
This month another event, Red Nose Day, saw us re-creating our fish logo. To generate money for charity Comic Relief, we had our logo painted on the rugby pitch close to our UK office.
This was part of a huge pitch painting that created the iconic Red Nose Day logo alongside that of other sponsoring businesses, and could be seen from the sky! Read more and see drone footage in our blog on the subject.
Videos and Podcasts
Effective Kubernetes for Jakarta EE & MicroProfile Developers - Reza Rahman provided a high level overview of K8s techniques, covering tools like Prometheus and Grafana and how clustering and load balancing are different using Kubernetes.
Coding the Future Coders - Angie Jones provides ways to bring the joy of coding to younger people - including techniques to introduce complex topics such as ML, mobile dev, game design and web animation.
Modern Java: Beyond Version 8 - Angie Jones also delivered this informative talk, demonstrating some of the newer features of Java - her favourites! - and how you can take advantage of them.
Modern Cloud Native Jakarta EE Frameworks: tips, challenges, and trends - This video by Otávio Santana provides an overview of Java tools and frameworks and how they behave in the native cloud age including how they affect the new world of Jakarta EE.
NoSQL design pitfalls with Java - Using MongoDB or Jakarta NoSQL? Otávio Santana helps you avoid mistakes and dispels common misconceptions.
Contributing to Open Source is a great way of improving your programming skills!- Catalin in this video teaches code beginners how to make their first-time contributions, covering the knowledge needed to get started on GitHub.
Foojay's virtual JUG Tour - As members of the advisory board, we helped announce this, with quotes from Open Source project director at Azul Geertjan Wielenga and JUG leader Christian Stein on how the tour will benefit JUG Bonn.
GlassFish 6.1 Milestone released! - Massive congratulations to everyone involved! GlassFish with Eclipse Foundation continues to grow and develop.
Vaadin assembled the Fantastic Four of Java - Dalia Shea, Helen Jo Scott, Adam Bien and Alejandro Duarte all tell Mikael Sukoinen what they wished they'd known at the beginning of their careers.
67 New Features in JDK 16 - Simon Ritter provides his summary of new features, covering language changes, library additions, JVM related updates and more! He also gives some commentary on their potential impact on Java application development.
Definitive Guide To Java 16 - Java SE 16 came out this month, Nicolai Parlog provides a guide to records, type patterns, sealed classes; Stream and HTTP/2 additions, Unix domain socket support; Project Panama previews, packaging tool, performance improvements, and more.
Java Artifacts Just Got Better With jPackage - JFrog explains how the old javapackager tool got cleaned up, documented, and given a proper API - with JEPs 343 & 392: Packaging Tool in this week's Java 16 release the clean rewrite.
From the vector API to records to elastic metaspace, there’s a lot packed into Java 16 - Java legends Gunnar Morling, Ian Darwin, Monica Beckwith, Mohamed Taman, Josh Juneau and Ben Evans offer thoughts on JDK 16 following last week's general availability:
Java 16 and IntellijIdea - Mala Gupta describes new features of @Java 16, including sealed classes & pattern matching - as well as how to start using them in IntelliJIDEA. She assures current Java 8 users - there's lots to be excited about!
Ivar Grimstad's round-up provides his opinion on JDK 16 - for him, Records (JEP 395) is the most important feature. Do you agree?
Eclipse IDE update
Out this month! 2021-03 Eclipse Java IDE release! - Payara Platform provides the Payara Tools plugin to integrate Payara Server Enterprise and Payara Micro Enterprise into Eclipse IDE. Holger Voormann summarises improvements.
"The Eclipse 2021-03 release train has reached the station with version 4.19 of the #EclipseIDE in tow..." - Thisarticle summarises changes in the latest edition of the Java editor, mainly code clean-ups.