Summary | EU1. I developed a processor that compiles user scripts into WebAssembly files and executes them efficiently on a WASM runtime. |
Problem | - Need for User-Defined Functions: Users required the ability to integrate their own custom scripts (Python, Go, Rust, etc.) into the workflow engine to extend its functionality.
- Lack of Extensibility for Custom Scripts: The existing engine lacked a mechanism to easily incorporate and execute these user-provided scripts.
|
Mission | Enable Custom Script Execution via WebAssembly: My mission was to extend the workflow engine to securely execute user-defined scripts by compiling them to WebAssembly (WASM). |
Action | - Developed the WASM Extension:
- WASM Compilation Process: I designed and implemented a compilation process that transformed user scripts into .wasm files.
- WASM Runtime Integration: I integrated a WebAssembly runtime into the engine to execute the compiled .wasm scripts.
|
Challenge | Ensuring Secure Execution Environment: A key challenge was to provide enough flexibility for users' custom scripts while strictly controlling the execution environment to prevent unintended operations and potential security risks. |
Overcome | Secured Wasm Execution with a Well-Defined API: I designed a well-defined API for the Wasm guest modules. This API strictly controlled how data (like variables) was passed and how host functions could be called, ensuring user scripts operated only within a secure and appropriate scope. |
Result | Significantly Enhanced System Extensibility: This feature greatly enhanced the workflow engine's extensibility, empowering users to efficiently customize their workflows with their preferred scripting languages. |
Skill | Feature Development |