MicroBJ: in-browser data analytics

MicroBJ: in-browser data analytics using Iodide and OfficeJS

Data analytics and decision support tools for Industry 4.0

  • Increasing importance of analytics and decision support tools
  • Industry 4.0 convergence to a decentralized ecosystem
  • Human - machine interaction with interactive dashboards and notebooks
Decentralized decision support for intelligent manufacturing in Industry 4.0 (2017)

Architecture

Adapted from: jupyter.readthedocs.io/en/latest/architecture/how_jupyter_ipython_work.html#notebooks

Architecture

Complete Iodide Architecture

Adapted from: jupyter.readthedocs.io/en/latest/architecture/how_jupyter_ipython_work.html#notebooks

Easier sharing of notebooks

Jupyter like model

Local

Install conda, Jupyter, then project-specific dependencies

Remote

Deploy in a container (binder etc.)

Easier sharing of notebooks

Jupyter like model

Local

Install conda, Jupyter, then project-specific dependencies

Remote

Deploy in a container (binder etc.)

Iodide model

Local

Deploy to a static webserver Just open it in your browser

Remote

Share a single file containing data, report, code and dependencies Just open it in your browser

Pyodide

The Python “language plugin” for Iodide

  • usable without Iodide as well

Upstream CPython

  • numpy, pandas, matplotlib

WebAssembly

  • A fast way to run compiled code on the web

Related projects

  • pypyjs
  • brython

Supported packages

Supported Packages Part0

Supported packages

Supported Packages Complete

Iodide Future Directions

Language Interoperability

Iodide included in the OfficeJS App Store

  • online and offline use
  • synchronization with Dropbox, WebDAV, ERP5 possible with JIO library
  • can be embedded into any business application
OfficeJS Logo OfficeJS App Store

MicroBJ

Goal: provide an easy to deploy business intelligence tool that is integrated with ERP5

  • inventory reporting
  • best sales reporting
  • inventory prevision

Constraints

  • China network prevents easy use of WebSockets or WebRTC
  • China cloud is 20x more expensive than in Europe Solution

run in the browser

  • use JIO to download data from ERP5 to OfficeJS Iodide

Development

Iodide / Pyodide projects

  • Brendan Colloran
  • Hamilton Ulmer
  • William Lachance
  • Michael Droettboom

OfficeJS Integration

  • Richard Szczerba

Thank you!

Questions