Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.
Eclipse Piranha Cloud
Piranha was created to explore new levels of modularity in a Jakarta EE runtime, specifically exploring a runtime that implements Jakarta EE, but is not necessarily an application server.
Eclipse Piranha Cloud provide a composable Jakarta EE runtime, on which Jakarta EE applications can run. Eclipse Piranha Cloud provides a minimal amount of glue code to compose Jakarta EE implementation components. Such implementation components are intended to be, as much as possible, the same as those used by the GlassFish project. Eventually Piranha should pass one or more Jakarta EE profile TCKs.
Eclipse Piranha Cloud is not intended to compete with GlassFish, and things like its own administration console or clustering support are not within the scope of the project.
Traditional Jakarta EE implementations are application servers; which are software products mostly intended to be installed. They have the ability to deploy and undeploy one or more applications on them, and typically contain support for monitoring, clustering and many additional features. GlassFish is one example of such implementation.
Eclipse Piranha Cloud intends to provide an implementation of Jakarta EE without being an application server. It focuses on being highly composable, both in regards to the Jakarta EE implementation components being used, as with regard to some of the features that are provided.
A special focus is on embedded use, where a runtime composition can be used that commits functionality not necessarily used for embedded use. E.g. Eclipse Piranha Cloud could be used to just render a Jakarta Faces page into a String, so such composition would not need an HTTP server. The code embedding such Eclipse Piranha Cloud instance would only include the Mojarra lib and the embedding code would programmatically create and pass an object representing an HTTPServletRequest in.
Eclipse Piranha Cloud is essentially a companion project to GlassFsh. It uses the same components, but the glue code (server code) is completely different. As such sitting next to GlassFish is a logical thing. It allows existing GlassFish users, as well as developers working on GlassFish and various implementation components, to take advantage of the highly modular nature and small nature of Eclipse Piranha Cloud within a well known context.
One of the most important future milestones we would like to achieve is certifying for the Jakarta EE Core Profile. Another milestone is alligning the Jakarta Transaction implementation back with GlassFish (the current implementation was extracted from GlassFish, but GlassFish does not use the extracted code itself).
The one component where we diverge from GlassFish is in the EJB container. This one is too entangled in GlassFish and unlikely to be extractable into a separate component. For this we would like to implement a mapping of the EJB annotations to CDI and CDI based functionality. Would that succeed, Web Profile certification might be feasible.
We intend to seed the project with the initial contribution within a month. From there on, we will strive for a release every two months approximately.
The initial contribution will come from https://github.com/piranhacloud/piranha
This project has been in development for about 5 years now, and has been on a monthly release cadence. We regularly talk about Piranja during conferences (most recently during JCON 2025 in Cologne) and we have had various contributors.
All the existing code is fully owned by "Manorrock.com", who have agreed to the transfer of all materials and copyright to the Eclipse Foundation.
A list of third party libraries is listed here:
- https://github.com/piranhacloud/piranha/blob/current/bom/pom.xml
- https://github.com/piranhacloud/piranha/blob/current/pom.xml
Note that due to the composable approach of Piranha and its system of extensions, many of the third party libraries are optional.
- Log in to post comments
Traditional Jakarta EE implementations are application servers; which are software products mostly intended to be installed. They have the ability to deploy and undeploy one or more applications on them, and typically contain support for monitoring, clustering and many additional features. GlassFish is one example of such implementation.
Eclipse Piranha Cloud intends to provide an implementation of Jakarta EE without being an application server. It focuses on being highly composable, both in regards to the Jakarta EE implementation components being used, as with regard to some of the features that are provided.
A special focus is on embedded use, where a runtime composition can be used that commits functionality not necessarily used for embedded use. E.g. Eclipse Piranha Cloud could be used to just render a Jakarta Faces page into a String, so such composition would not need an HTTP server. The code embedding such Eclipse Piranha Cloud instance would only include the Mojarra lib and the embedding code would programmatically create and pass an object representing an HTTPServletRequest in.
- Log in to post comments