Versions Compared

Key

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

...

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)

...