Meet Chicory, exploit the power of WebAssembly on the server side! by Andrea Peruffo

Discover Chicory, a pure Java runtime for WebAssembly that enables secure, high-performance server-side applications. Learn about WASM integration, security features & use cases.

Key takeaways
  • WebAssembly (WASM) is a standardized binary format designed to be embedded in other languages and runtimes, offering sandboxed execution and memory control

  • Chicory is a pure Java runtime for WebAssembly that allows executing WASM modules within Java applications without external dependencies

  • Key benefits of WebAssembly include:

    • Sandbox execution with controlled capabilities
    • Granular memory control
    • Cross-language compatibility
    • Performance optimization potential
    • Standardized W3C specification
  • WASM modules can be written in various languages (Go, Rust, C) and compiled to WebAssembly for use in Java applications

  • Common use cases for server-side WebAssembly:

    • Custom authorization rules
    • Function-as-a-Service implementations
    • Application extensions
    • CLI tool integration
    • Native code transformations
  • WebAssembly provides bi-directional function calls:

    • Host language can call WASM functions
    • WASM can call imported host functions
  • Security features include:

    • No direct file system access
    • Controlled memory allocation
    • Thread interruption capability
    • Timeout implementation
    • Resource usage limitations
  • Applications can be made extensible through WASM modules that are:

    • Secure
    • Small in size
    • Language-agnostic
    • Easy to update and deploy
  • WebAssembly is already widely used in browser-based applications (Google Maps, Excel, Word) and is gaining traction in server-side implementations