2. Architecture Overview

WebApp was developed to provide possibilities for third-party developers to add new or build upon existing functionality. These developers have the choice to build a plugin or a widget, but all components are easily extensible and allow easy and fast integration with WebApp.

The base framework for WebApp is Ext JS 3.4 framework, a Javascript toolkit built by Sencha. The Ext JS toolkit was founded on a solid object-oriented inspired design, using classes and inheritance, which makes it particularly suitable for a complex application as this. WebApp is developed using the same extensible structures as those provided by Ext JS, so that the WebApp code integrates well with existing Ext JS components.

“WebApp architecture overview” shows the rough architecture of WebApp. The application framework, provided by Kopano, builds on the Ext JS library to provide all the functionality that is needed across the application. As you can see, even the Mail, Calendar, etc. contexts are plugins building on the core UI and model frameworks.

WebApp architecture overview

The framework also provides a user interface infrastructure, with a main screen that carries the standard components that are used by all contexts. The framework supplies a communications API that allows for both low-level and high-level interaction with the server-side back-end.

A more advanced explanation of the architecture of WebApp can be found in MAPI, Ext JS and OO-Javascript and Data Models.