Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

 JBoss has not been accepted to GSoC for the 2025 program. Thank you everybody for your interest.


The JBoss Community is planning to participate in Google Summer of Code in 2025.

...

MENTORS: Red Hat employees can change this page directly to add ideas. Please be extra careful to not get other mentormentors' s edits discarded.
Red Hatters should have linked their jboss.org account with Red Hat and can be checked on https://sso.jboss.org/login

...

Associated JBoss community project: EAT (https://github.com/EAT-JBCOMMUNITY/EAT)

JWS Operator

Summary of idea:

  • JWS operator is an Openshift operator which makes deploying web applications in a containerized environment easier. The operator was developed for JWS, but it can be used with other container images with Tomcat. This project aims to extend the test suite to use images with Apache Tomcat, improve tests, and test coverage and ensure the operator runs smoothly on Kubernetes clusters.

Features:

  1. Check the existing dependencies on JWS images in the test suite.
  2. Replace JWS image usages with a public image based on Apache Tomcat
  3. Check the current operator feature coverage
  4. Add new tests if the coverage is not sufficient

Knowledge prerequisites: 

  • Languages: Golang or other programming language
  • Technologies: general concept of containerized applications and kubernetes

Github repo: https://github.com/web-servers/jws-operator.git

Project size: ~175 hours

Skill level: Intermediate

Contacts / potential mentors:

Associated JBoss community project: https://github.com/web-servers/jws-operator

Transactuations in ArjunaCore

...

This project explores how ArjunaCore’s flexibility can be utilised to implement and expand the Transactuations abstraction, with a focus on applications in cloud environments.

Reading: Narayana ; Transactuations

Possible features for this project:

...

Contact / potential mentor: Manuel Finelli (jfinelli@redhatjfinelli@redhat.com)

Associated JBoss community project: Narayana (https://www.narayana.io/)

...


Transaction interoperability in WebAssembly

Summary of idea:

  • JWS operator is a project which makes web application deployment easier in a containerized environment. Primarily, it was developed for JBoss Web Server and OpenShift, however these days it can also maintain other container images with Tomcat. The aim of this project is to extend the test suite with tests which use images with Apache Tomcat and check that the operator runs smoothly on kubernetes clusters.

Features:

  1. Check the existing dependencies on JWS images in the test suite.
  2. Replace JWS image usages with a public image based on Apache Tomcat
  3. Check the current operator feature coverage
  4. Add new tests if the coverage is not sufficient

Knowledge prerequisites: 

  • Languages: Golang or other programming language
  • Technologies: general concept of containerized applications and kubernetes

WebAssembly provides a compilation target for code written in multiple languages including C, C++, and Rust, and uniquely standardizes the mechanism for function call interoperability and data sharing regardless of the component languages used.

Transaction standards define how components and business logic from different vendors can interoperate to guarantee data integrity. XA, a C-based API specification, is widely implemented by databases, message queues and application runtime platforms.

As an emerging platform, WebAssembly lacks such transaction support at present, limiting its usefulness in enterprises accustomed to this functionality.

In this project, with a focus on the premium open-source transaction manager Narayana, you will investigate how XA distributed transactions can be provided in the WebAssembly ecosystem, with a emphasis on interoperation between components written in different languages.

Reading: WebAssembly ; Extism ; Narayana

Possible features for this project:

  • Develop a database driver

Knowledge prerequisites: polyglot programming, distributed transactions, database drivers, virtual machines

Github repo: https://github.com/jbosstm/narayana

Project Size: Large (~350 hours)

Skill level: Intermediate

Contact / potential mentor: Manuel Finelli (jfinelli@redhat.com)

Associated JBoss community project: Narayana (https://www.narayana.io/)


Transactional Microservices in Webassembly

Summary of idea:

WebAssembly (WASM) is emerging as a language neutral compilation target for server-side microservices frameworks, offering good portability and small deployment footprints. Its web and database support is evolving rapidly, building on WASI, WASIX and the WASM component model. At this early stage many opportunities exist to add further foundational capabilities to the platform and shape its future.

MicroProfile’s Long-Running Action (LRA) protocol provides an open, interoperable standard for implementing transactional microservices. Enhancing existing WASM web support with LRA capabilities would increase its utility for business applications.

In this project, the student will craft an LRA participant in a language of their preference and use WebAssembly to make it available on the web, providing the world's first such example of using the platform in this way.

Reading: WebAssembly ; Spin ; Narayana ; LRA

Possible features for this project:

  • LRA participant

Knowledge prerequisites: polyglot programming, web services, distributed transactions, LRA protocol.

Github repo: Github repo: https://github.com/web-servers/jws-operator.gitjbosstm/narayana

Project sizeSize: Medium (~175 hours)

Skill level: Intermediate

Contacts Contact / potential mentors:

...

mentor: Manuel Finelli (jfinelli@redhat.com)

...

Associated JBoss community project: Narayana (https://githubwww.narayana.com/web-servers/jws-operatorio/)