Session
Look who's talking!
Give super powers to Java with WebAssembly
Philippe Charrière - GitLab
WebAssembly (WASM) promises to run code in the browser from a binary (coded in Rust, Go, C, …) are fulfilled. Its qualities (speed, efficiency, security, polyglot) meant that WebAssembly could be run on a wide variety of platforms (other than the JavaScript VM) for many use cases, such as:
Plugins for applications (for example, Zellij) Filters for proxies (for example, Envoy) User-defined functions for databases (for example ScyllaDB) Functions for FaaS (for example, Fermyon Platform) This is made possible by the WASI (WebAssembly System Interface) specification, which allows WASM code to be executed in various contexts. The execution of WASM modules by a Java application was until recently almost impossible or “acrobatic”, and this, even if GraalVM provides WASM support (too light and poorly or not documented).
This gap is now filled by the Extism project, which allows writing WASM plugins in various languages for your Java applications.
In this presentation, I will explain how to develop a Vert-x application with WASM plugins in Rust, Go and Zig. The first steps to develop a FaaS.