We use proprietary and third party's cookies to improve your experience and our services, identifying your Internet Browsing preferences on our website; develop analytic activities and display advertising based on your preferences. If you keep browsing, you accept its use. You can get more information on our Cookie Policy
Cookies Policy
Advanced Web UI Architecture - FIWARE Forge Wiki

Advanced Web UI Architecture

From FIWARE Forge Wiki

Jump to: navigation, search



In order to become widely visible and adopted by end users, the FIWARE Future Internet platform must not only offer server functionality but must also offer much improved user experiences. The objective of Advanced Web-based User interface (a.k.a. WebUI, formerly MiWi) is to significantly improve the user experience for the Future Internet by adding new user input and interaction capabilities, such as interactive 3D graphics, immersive interaction with the real and virtual world (Augmented Reality), virtualizing and thus separating the display from the (mobile) computing device for ubiquitous operations, and many more. The technology is based on the Web technology stack, as the Web is quickly becoming THE user interface technology supported on essentially any (mobile) device while already offering advanced rich media capabilities (e.g. well-formatted text, images, video). First devices are becoming available that use Web technology even as the ONLY user interface technology. The Web design and programming environment is well-known to millions of developers that allow quick uptake of new technology, while offering a proven model for continuous and open innovation and improvement.

Highly interactive (2D/3D) user interfaces that make use of service oriented architectures have strong latency, bandwidth, and performance requirements. An example is the synchronization service for real-time shared virtual worlds or the machine control on a factory floor that must use the underlying network and computing hardware as efficiently as possible. For this, Generic Enables are provided to make optimal use of the underlying hardware via Software Defined Networking in the Middleware (SDN, using the GEs of the Interface to Networks and Devices (I2ND) Architecture chapter) and the Hardware Support in the 3D-UI GE (see FIWARE.ArchitectureDescription.WebUI.3D-UI) that provides access to GPU and other parallel compute functionality that may be available.

Advanced Web-based User Interfaces originated from the chapter of Advanced Middleware and Web-based UI (MiWi) . Please find the former architecture description of MiWi here: Advanced Middleware and Web UI Architecture

Architecture Overview

The following diagram shows the main components (Generic Enablers) that comprise FIWARE Advanced Web-based User Interface chapter architecture.

WebUI Architecture Overview
Advanced Web-based User Interface Architecture Overview

Advanced Web UI Architecture

The Advanced Web-based User Interface (Advanced Web-UI) architecture consists of four main groups of GEs that together provide a comprehensive set of services for application to implement advanced, highly-interactive 2D and 3D user interfaces.

The entire Advanced Web-UI components are based on HTML and other standard web technologies as implemented by any modern Web browser. With the fast development over the last few years, the web has become the main application and UI platform. We leverage this development and extend HTML with a number of new capabilities that can be used to significantly enhance the UI capabilities and improve the user experience.

  • Client Core: The Client Core module provides the core functionality for creating HTML based user interfaces. These GEs run within the Web browser but can make use of external Web services where necessary.
    • The 3D-UI GE adds new HTML elements (using a polyfill implementation) for describing 3D scenes, including geometry, material, textures, lights, and cameras. A new functional dataflow mechanism is used to enable interactive animations, image processing, augmented reality, and other dynamic elements to a scene.
  • Server Core: The Server Core module mainly provides a scalable synchronization server.
    • The Synchronization GE allows multiple Advanced Web-UI instances running on different clients to synchronize in real-time. While this is mandatory for providing shared 3D environments (e.g. for games) it can also be applied for 2D functionality. A key element will be the use of a highly flexible and highly scalable design of the synchronization server architecture that will enable the dynamic repartitioning of the 3D environment for different server functionality like scripting , physics, and others. A SceneAPI is used to offer remote services to connect to a 3D environment and modify it in real-time.
  • Supporting Services: This module provides services that are commonly being used when creating Web-based user interfaces.
    • The GIS Data Provider GE offers access to 3D GIS data via geo-location queries which can be used by any application to render content in a virtual real world scenario.
    • The POI Data Provider GE provides access to advanced Point of Interest data that can be used to position 2D and 3D content in the context of a 3D scene. Besides the usual meta data the POI data specification allows for defining (dynamic) 3D scene elements relative to the POI, attach Augmented Reality markers relative to the POI and the 3D content, and other advanced functionality.
    • The Cloud Rendering GE is a service that connects to a synchronization server renders the scene based on a chosen camera view and streams the results using common video streaming functionality (e.g. in FIWARE).
  • Application-oriented Services: This module provides high-level GEs that operate more on the application level in the form of tools.
    • The Interface Designer GE is an interactive, web-based composition and editing tools that allows users to interactively edit 3D world in the same browser environment that is also used to run an application. It is not a fully 3D content creation tools but depends on pre-existing content that can be added to a scene, can be positioned, and whose parameters and animations can be modified.
    • The Virtual Characters GE allows application to add and control animated virtual characters in 3D scenes.
    • The Augmented Reality (AR) GE (INCUBATED) builds on top of the 3D-UI GE which provides the hardware-accelerated basic image and computer vision processing that is necessary for augmented reality and provides higher order AR functionality that can be used by applications and other services. This includes the registration and tracking with various forms of markers or features, the setup of such tracking based on data from various sources and in various formats, and finally the setup of the rendering of such tracked features.

Inter-dependencies and Interaction between GEs

Advanced Web-based User Interface GEs:

These GEs have been grouped into four modules that share different dependencies

  • The Client Core GEs provides the mechanisms to do interactive 2D and 3D rich-media graphics rendering and interaction based on HTML-5 and the Web. These GEs can run completely independently of any other GEs in any modern Web browser.
  • The Server Core GEs provide functionality for real-time synchronization between multiple client instances. It can also provide additional functionality to the clients.
  • The Supporting Service GEs provides additional services mostly to the Server Core GEs but some services may also be used directly from a client without a server for cases where the server may not otherwise be needed.
  • The Application-oriented GEs provide additional functionality to applications or the user directly. They require at least the client GEs but may offer additional features when the client is connected to a server (e.g. persistent scene editing).

The Web UI GEs will typically be used to implement the user interface of Web applications. Most of them will make also use of other FIWARE services either directly from within the client or through the server or any server tier that is running there.

Special Services

Some of the GEs in this chapter will typically not be running on a remote server or cloud setup. Instead they will commonly be deployed directly on an end users (mobile) device (e.g. through Javascript). This is true for example for the 3D-UI GE or the Augmented Reality GE as they need to operate on local data (3D scene data or local camara input) and provide very low-latency, real-time feedback to the user (image display or sound output). While these GEs could in principle also be deployed on remote servers, this would not provide the necessary user experience for interactive applications.

Architecture description of GEs

Basic Client GEs:

Basic Server GE:

Supporting Web Service GEs:

Application-oriented GEs:

This is an updated list of GE's. Please find the former list of GE's that were part of the Advanced Middleware and Web UI (MiWi) chapter here: Advanced Middleware and Web UI Architecture

Interfaces to other Chapters

Cloud Hosting

Advanced Web-based UI assets deployment and operations will take benefit of the dynamic resources allocation and monitoring functions supported in the Cloud chapter. In particular, recipes for automated deployment of several GEs in the Advanced Web-based UI chapter are going to be provided (see PaaS and SDC GEs in the Cloud chapter).

Internet of Things

The Advanced Web UI components are very well suited to dynamically visualize the data from the Internet of Things in user-friendly ways and by taking the context into account, e.g. by embedding the data in its Geographic context GISDataProvider or by using Augmented Reality to visualize the data and interact with it in the context of the real environment of the user.

Data / Context Management

The Advanced Web UI components are very well suited to visualize the data processed by that chapters GEs (e.g. via the BigData or ContextBroker GEs). It also provides the 2D and 3D UI functionality to present and interact in novel ways with the Streaming GE.

Applications and Services Ecosystem and Delivery Framework

The Advanced Web UI GEs extend the capabilities provided by the Service Mashup and in particular the Application Mashup GEs but can in turn be used by these GEs as building blocks for novel user experiences (e.g. 3D functionality).

Interface to Networks and Devices

GEs of this chapter make use of the middleware GEs of I2ND for highly efficient and secure communication, e.g. Synchronization for real time scene updates

Personal tools
Create a book