Contributor
Alexander Fischer

Building an injectable IoC centric, small and lightweight HTTP server and making it runnable as a native executable [Jira: OWB-1319]


Mentors
Thomas Andraschko
Organization
The Apache Software Foundation

CDI (Contexts and Dependency Injection) is an IoC (Inversion of Control) container, that is implemented in Apache OWB (OpenWebBeans). Even though there is an existing micro HTTP server that supports CDI capabilities in the Apache world (Meecrowave), it is not IoC centric and it has a lot more features than the basics. Furthermore, it is not runnable as a native executable – there’s always the big JVM necessary. The proposal is to build a much slimmer HTTP API and implement it in a project with CDI (OpenWebBeans) as the starting point and webserver components (Netty) on top. This can then be injected as a managed bean in the web application. It would be an even more minimalistic microserver and IoC centric. Making this then natively runnable as a native executable for Windows is delivering important work for future JakartaEE projects within Apache, that need to be turned into a native image (via GraalVM). At the moment, there is little to none such experience in the project.