Demo UI

The demo UI is an example implementation of the EaaS RESTful API.

User UI

The demo-ui is javascript-based and self-contained and the GIT master is usually in sync with the EaaS REST implementation. There are no specific technical requirements hosting the demo-ui, i.e. any basic web server should work.


A clean GIT checkout / download needs to be configured first. In the demo-ui/ folder create a new config.json from the provided config.json.template.


  "eaasBackendURL": "",
  • eaasBackendURL URL to the EaaS REST API
  • stopEmulatorRedirectURL demo-ui landing page


The EMiL Demo provides a simple catalog example, simulating a web-based library catalog. The catalog is acting as a starting point for users to access digital objects.

By choosing an object (left-click on the object or through the context menu), the EMiL access workflow is started. The catalog system passes the object ID to the EMiL EaaS framework using a HTTP request. The object is characterized on-the-fly, if no manually assigned emulation environments are found. The characterization process, if successful, provides a (list of) suitable emulation environment(s) for the object.


Emulation Access Landing Page

The result of the characterization process is a list of suitable rendering environments. The emulation access landing-page suggests a specific environment. If there are more suitable environments available (e.g. Windows/Mac hybrid CDs) the user is able to choose from a list of alternatives.


Object Rendering

By default, objects are rendered within the browser using HTML5 techniques. While the session is active, the user is able to use the object interactively as well as to control the emulation system (e.g. create a screenshot, change media if an object consists of multiple media and stop or restart a session).


User Sessions

EaaS provides the option to store user sessions, i.e. the user can store the state of its virtual machine and can resume the state within a given time frame.

** Precondition **: A user context (userId) is required.

Only a single session per {environment, object, user} is possible. A new session with the same {environment, object, user} will overwrite the old session.

The retention time needs to be set through the main EaaS configuration file eaas-config.yaml. The default retention time is emil.usersessionretention: 10080. The retention time is set in seconds.