The Payara Monthly Catch for August 2020

Photo of Jadon Ortlepp by Jadon Ortlepp


I hope you enjoy this month's catch. You may notice I made an effort to try and search for content by authors we had not featured before (and are a little less known), as well as including a few of our prolific favourites. There was also a slight lean towards Kubernetes themed content this month as well.

In this blog you will find a curated list of some of the most interesting news, articles and videos from the last month. Can't wait until the end of the month? Visitour Twitter page where we post all these articles as we find them! 

Monthly Catch Social Media


How Tencent PCG Uses Apache Kafka to Handle 10 Trillion+ Messages Per Day - This very interesting article discusses how Tencent uses Apache Kafka as a gigantic, real-time, multi-tenant pub/sub system to process hundreds of Gb/s of data and 10 trillion+ messages per day.

Micro optimizations in Java. String.equals() - Dmytro Dumanskiy is writing a series of articles dedicated to Java micro optimizations. Small, almost invisible, tiny changes within popular Java code constructions that improve the performance of your code.

Part 2 of: Micro optimizations in Java - String.equalsIgnoreCase() - Some simple, but powerful changes you can make to the code you write everyday.

Micro optimizations in Java. Good, nice and slow Enum - Reviewing the performance downsides of the important and ever present "Enum" and makes some suggestions with benchmarks to improve performance.

Deconstructing Kubernetes Networking - A very interesting and entertaining blog from Emanuel Evans on "Deconstructing Kubernetes Networking". Setting up an basic Kubernetes cluster with one node. Then going a step further to multi-node.

QuakeKube - More proof that Kubernetes makes everything better. QuakeKube is a Kubernetes-ified version of QuakeJS that runs a dedicated Quake3 server in a Kubernetes Deployment, and then allow clients to connect via QuakeJS in the browser.

51 Best Tools for Small Businesses in 2020 - A huge guide of amazing (Free or Inexpensive) software useful for small business in 2020! 

How to write your own Maven plugins - In this excellent article, Arjan Tijms shows how creating custom plugins for the Maven build tool is probably easier than you might think.

"Cloud-like" Infrastructure at Home - Part 1: LoadBalancers on the Metal - Calum MacRae outlines how he achieved "Cloud-like" application deployments on personal servers. 

Taking the Open Service Mesh for a test drive - In this article, Nills Franssens looks at the open service mesh. OSM is a new service mesh, using envoy proxies and follows the SMI-spec completely. He deploys a demo application, and a few policies.

Arquillian for Java EE testing - Jeroen Steenbeeke gives a brief introduction into using Arquillian. Arquillian, at its core, is a testing framework that allows JUnit tests to be run on Java EE application servers.

Factorio and Software Engineering - A fun comparison between the popular game "Factorio" and Software Engineering. If you work in Tech you already know at least a few people who have been addicted to this game.

Spring Boot or Jakarta EE – What’s Better? - Ralph Soika discusses his views between Spring Boot & Jakarta EE and why one should keep an open mind to choosing their tools.

Introducing Domain-Oriented Microservices Architecture -  "Our goal with DOMA is to provide a way forward for organizations that want to reduce overall system complexity while maintaining the flexibility associated with microservice architectures." - Uber Engineer, Adam Gluck

Maven Update Dependencies Automatically - In this post Rhys Arkins explains how to use modern tooling & automation to keep your Maven dependencies updated.

Seeing Register Allocation Working in Java - Register allocation may seem like a complex concept, but in this short post Chris Seaton shows how you can relate the original Java code first to the theory, then to how the compiler sees it & then to the resulting machine code.

The Kubernetes Handbook - By Farhan Hasin Chowdhury - This excellent resource from Free Code Camp will help you to: Get a solid understanding of the fundamentals, create and manage Kubernetes clusters, deploy an application to a Kubernetes cluster. 

Minimal self-contained examples of standard Kubernetes features and patterns in YAML - A reference repository of YAML with canonical and as-simple-as-possible demonstrations of kubernetes functionality and features.

Developing a Simple Web Service with Jakarta EE 8 - In this post, Josh Juneau creates example web service application. Starting with the Jakarta EE starter project and then opening & developing within Apache NetBeans 12 and deploying to Payara Micro.

The Java Version Almanac: Collection of information about the history and future of Java. Created by Java Champions Marc R. Hoffmann and Cay Horstmann. A very useful centralised hub of info!

What You Need to Know About the Jakarta EE 9 General Availability Release - Steve Millidge, summarises everything you need to know about the Jakarta EE 9 full release — how you can help finalise the release, Java release priorities, namespace change roadmaps, and how to start sharing your ideas for Jakarta EE 10. 

How To Write Unmaintainable Code - This tongue in cheek article by Roedy Green, humorously explores how you can improve the maintainability of your code. Either that or he just wants to see the world burn.

Comic Of The Month


Videos & Podcasts

How to Create a Secure JSF JPA Application - This popular video demonstrates how to create a secure web app using multiple Java EE/ Jakarta EE APIs and connect it to a MySQL 8 database in this detailed tutorial.
This great Microservices Architecture introduction playlist covers: Monolithic Architecture, Functional Decomposition, Scale Cube, API Gateway, Service Registry, Inter Microservices Communication, Circuit Breaking, Deployment Strategies
GitHub Arctic Code Vault - 2020 may be looking pretty dicey, but at least Payara and many other open source projects are now protected for the next 1000 years!
You don't need microservices - Maybe you just don't need microservices after all?
COBOL to serverless Java | Episode 1 - In this interesting video series, Jesse Williams from AWS takes a journey transforming a monolithic COBOL app to a Serverless Java app. 
25 Years of Java: From JDK 1.0 to JDK 1.1 - A nostalgic look at the past 25 years of Java with Adam Bien and Wolfgang Weigend.
Episode 92. Not your Grandpa’s Serialization! -  The gang dive into Java Serialization (and not the old objectstreams but instead JaxB and Json)... they dive into the pros/cons of these. 

Community News

Microsoft introduces Open Service Mesh for Kubernetes, plans quick donation to CNCF - “Today this is an open source project, it is early days. Our goal is to develop a community around it, to help harden it and get it ready for production." 

Jakarta EE 9 release has been postponed to - most likely - late November.

JDK/JDK repository transitions to Git, GitHub and Skara: September 5 - If you are an OpenJDK Author, Committer or Reviewer, then please make sure you that you are ready for the transition by following the "Getting Started" guide on the Skara wiki.

ARM CPUs are coming to Java. Amazon offers cloud instances based on ARM-compatible processors. - And there is now a new JEP to create an OpenJDK port for Windows on ARM. Thomas Krieger explains the differences between ARM & x86 when we program in Java.

Programming pioneer Fran Allen dies aged 88 after a career of immense contributions to compilers. First woman to win the Turing Award and be made an IBM Fellow.

We have a big announcement coming soon. So we created a little teaser trailer. - With Payara Cloud, you simply select your war, click deploy, & watch your apps run on the cloud – automatically, like magic.