...
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:
...
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:
...
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: https://github.com/jbosstm/narayana
Project Size: Medium (~175 Hourshours)
Skill level: Intermediate
Contact / potential mentor: Manuel Finelli (jfinelli@redhat.com)
...