Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

WSO2 Dashboard Server (WSO2 DS) is a gadget container that allows users a gadget container. WSO2 DS includes a portal application, which is a web application, that allows users with editor permission to create dashboards via the Dashboard Designer, which is a web applicationand also allows users with viewer permission to view dashboards via the dashboard view mode. The  Dashboard Designer allows WSO2 DS users to customize dashboard layouts, add pages to a dashboard, configure inter-gadget communication based on the Pub/Sub mechanism, add dashboard banners, and much more.

The WSO2 Dashboard Server also provides a programming model based on the OpenSocial specification that allows users  to create customized gadgets, which are a sharable UI component, based on their own requirements. As the Dashboard Server allows the users to create each gadget as an isolated unit, gadgets can be developed in parallel.

When a dashboard editor creates or updates a dashboard via the Dashboard Designer, the data is stored in the original registry space that is allocated for the dashboard. However, when a dashboard viewer personalizes a dashboard, the data is stored in the space allocated to that particular user in the registry. Thereby, enabling per-user dashboard customization; while, also preserving the dashboard editors preferences.

The following diagram illustrates the high level architecture of WSO2 DS:

Image RemovedHigh level architecture in DSImage Added

At the core of WSO2 Dashboard Server is the WSO2 Carbon Server, which is based on the WSO2 Carbon Kernel, and the WSO2 Carbon WSO2 Carbon Dashboard platform, which is packaged is packaged with Jaggery and  and Apache Shindig to support the Dashboard Designer applicationportal application. As the WSO2 Dashboard Server is based on the WSO2 Carbon Kernel, all the features the features provided by the Kernel (e.g., user management, resource management, etc.) are available in WSO2 DS. In addition, WSO2 DS also supports Single supports Single Sign-on (SSO), which can be enabled for internal or external identity providers, so that users can can access the Dashboard Designer portal application and also communicate with third-party APIs, which are used by various gadgets, provided the third-party APIs have a mechanism to validate the OAuth token with the WSO2 Dashboard Server.

The following diagram illustrates the low level architecture of WSO2 DS:

Image RemovedLow level architecture in DSImage Added

The various components that make-up the Dashboard Server architecture are explained as follows:

APIs and Pages

The WSO2 Dashboard Server includes the following three routers: API router, page router and tenant router

The tenant router filters all the incoming requests to the Dashboard Designer, by analyzes by analyzes the request URL context, and redirects those requests to either the API or page router, which are routers in WSO2 DS used to used to  differentiate the incoming API and page requests. 

Controllers

The WSO2 Dashboard Server maintains separate maintains separate controllers for the API and page requests. If the request is a page request, the controllers process the request and directs the user to the respective web page. When the request is an API request, the controllers carryout the corresponding process and return a result.

...

Modules contain the functionality that the WSO2 Dashboard Server uses to handle the registry transactions and to perform business logic related to user requests.

Store

The WSO2 DS Store contains the dashboard layouts and gadgets, which the WSO2 DS users make use of when creating dashboards. The tenant needs to create a separate directory, based on their tenant name, inside the <DS_HOME>/repository/deployment/server/jaggeryapps/portal/store directory to maintain their customized gadgets and layouts.  

Theme

The WSO2 DS theme, which is located within the <DS_HOME>/repository/deployment/server/jaggeryapps/portal directory, contains the following two directories: image and templates. The image directory contains the images that are used in the web pages and the templates directory contains web views.

Jaggery

The Jaggery module in the server contains the Jaggery compiler and features.

...

Apache Shindig is the server that the Dashboard Server uses to render gadgets based on the OpenSocial specification.