<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Angelo Rubini on foojay.io - Friends Of OpenJDK</title><link>https://foojay.io/today/author/angelo-rubini/</link><description>Articles written by Angelo Rubini on foojay.io - Friends Of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 29 Aug 2026 19:22:52 +0000</lastBuildDate><atom:link href="https://foojay.io/today/author/angelo-rubini/index.xml" rel="self" type="application/rss+xml"/><item><title>Jakarta Faces, Java Web Framework, Stateless Edition: Marketplace AliFaces</title><link>https://foojay.io/today/jakarta-faces-java-web-framework-stateless-edition-marketplace-alifaces/</link><pubDate>Sat, 29 Aug 2026 19:22:52 +0000</pubDate><guid>https://foojay.io/today/jakarta-faces-java-web-framework-stateless-edition-marketplace-alifaces/</guid><description>&lt;h3 id="a-fully-stateless-jakarta-faces-marketplace-with-server-side-rendering--no-httpsession-no-saved-viewstate-no-sticky-sessions"&gt;A Fully Stateless Jakarta Faces Marketplace with Server-Side Rendering — No HttpSession, No Saved ViewState, No Sticky Sessions&lt;/h3&gt;&#10;&lt;p&gt;(see the poc on: &lt;a href="http://129.152.31.253:8080/alifaces" title="AliFaces POC Run On Oracle OCI" target="_blank" rel="noopener noreferrer"&gt;AliFaces POC Run On Oracle OCI(Nanos Unikernel)&lt;/a&gt;)&lt;/p&gt;&#10;&lt;p&gt;Jakarta Faces still carries a few persistent assumptions: it is stateful, it requires &lt;code&gt;HttpSession&lt;/code&gt;, it needs sticky sessions to scale horizontally, and its server-side rendering model belongs to an older generation of web applications.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;AliFaces&lt;/strong&gt; challenges those assumptions with running code — not a Hello World, but a marketplace-style application with catalog, search, filters, cart, checkout, orders, browsing history, themes, responsive layouts and a JSON API for mobile clients.&lt;/p&gt;</description></item><item><title>AWS Nitro and CPU Graviton Meets Unikernels</title><link>https://foojay.io/today/aws-nitro-and-cpu-graviton-meets-unikernels/</link><pubDate>Fri, 10 Apr 2026 16:26:25 +0000</pubDate><guid>https://foojay.io/today/aws-nitro-and-cpu-graviton-meets-unikernels/</guid><description>&lt;h2 id="aws-nitro-and-cpu-graviton-meets-unikernels-java-and-quarkus-on-arm64-aws-graviton-with-nanos-unikernel"&gt;AWS Nitro and CPU Graviton Meets Unikernels: Java and Quarkus on ARM64 AWS Graviton with Nanos Unikernel&lt;/h2&gt;&#10;&lt;p&gt;&lt;img src="https://foojay.io/today/aws-nitro-and-cpu-graviton-meets-unikernels/2c957ea8-2c6b-4caa-86f8-5adeb9e8bedc-619d4e1c.jpg" alt="image" width="1536" height="1024" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;h2 id="java-and-jakarta-ee-truly-meet-unikernels"&gt;Java and Jakarta EE Truly Meet Unikernels&lt;/h2&gt;&#10;&lt;p&gt;The key message of this article is simple and strong:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;any Java or Jakarta EE application is already ready&lt;/strong&gt; to benefit from the advantages of unikernels.&lt;/p&gt;&#10;&lt;p&gt;Java and Jakarta EE, including modern frameworks such as Quarkus, can immediately take advantage of the unikernel model &lt;strong&gt;without waiting for new languages, new runtimes, or radical rewrites&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Unikernel: Profiling and Troubleshooting JVM on Nanos Unikernel</title><link>https://foojay.io/today/unikernel-profiling-and-troubleshooting-jvm-on-nanos-unikernel/</link><pubDate>Wed, 11 Feb 2026 13:50:41 +0000</pubDate><guid>https://foojay.io/today/unikernel-profiling-and-troubleshooting-jvm-on-nanos-unikernel/</guid><description>&lt;h3 id="profiling-a-java-application-running-inside-an-unikernel-with-jprofiler"&gt;Profiling a Java Application Running Inside an Unikernel with JProfiler&lt;/h3&gt;&#10;&lt;p&gt;Unikernels are often associated with minimalism and tight resource control.&lt;/p&gt;&#10;&lt;p&gt;But can we profile a Java application running inside a unikernel using a standard JVM profiler?&lt;/p&gt;&#10;&lt;p&gt;The answer is yes.&lt;/p&gt;&#10;&lt;p&gt;In this guide, we will walk step by step through profiling a Quarkus&lt;/p&gt;&#10;&lt;p&gt;application running inside a Nanos unikernel using &lt;strong&gt;JProfiler&lt;/strong&gt; and&lt;br&gt;&#10;&lt;strong&gt;IBM Semeru JRE 25 (OpenJ9)&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;No special hacks. Just standard JVM tooling.&lt;/p&gt;</description></item><item><title>Java and Jakarta EE and the Evolution of the Cloud with Nanos Unikernel</title><link>https://foojay.io/today/java-jakarta-ee-and-the-evolution-of-the-cloud-with-nanos-unikernel/</link><pubDate>Tue, 06 Jan 2026 20:51:09 +0000</pubDate><guid>https://foojay.io/today/java-jakarta-ee-and-the-evolution-of-the-cloud-with-nanos-unikernel/</guid><description>&lt;p&gt;The evolution of the Java and Jakarta Enterprise ecosystem is converging toward an increasingly simple, efficient, and scalable architecture that improves security, delivers higher performance, and reduces hardware and infrastructure costs.&lt;/p&gt;&#10;&lt;p&gt;For years, Kubernetes has been considered the de‑facto standard for modernizing Java applications in a cloud‑native direction. However, Kubernetes is not the only way to achieve scalability, continuous upgrades, and isolation. An alternative approach — often underestimated — is to leverage the &lt;strong&gt;hypervisors already included and fully managed by major cloud providers&lt;/strong&gt; , using &lt;strong&gt;Unikernel&lt;/strong&gt; images based on &lt;a href="https://nanovms.com" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Nanos&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>