This section provides an overview of the architecture of Canvas Technology with a quick view of the key modules / layers that enables the Canvas App Store functionality. Canvas Technology utilizes a simple JEE architecture for achieving the functional and feature rich goals. The following schematic diagram provides a view of its architecture:
Canvas Technology follows a layered architecture that can be deployed in different layers within the network or co deployed based on the target deployment architecture of the bank. A brief description of the various layers is provided below –
- UI Definition Framework – This is the layer that executes on the browser and provides the device specific rendition. This includes the App Render sub layer that provides the rendition based on the configuration.
- Intellect ARX – This is a pluggable security component (not bundled within Canvas Technology) from Intellect's product suite. This provides inbuilt support for managing passwords / PINs as well as pluggable adapters to various vendor systems present in the industry (like RSA, Entrust, Vasco, etc.) for second factor authentication. It also provides SSO services for any third party application to get current logged in user.
- Web Layer – This layer is a standard JEE Web layer that includes a Request controller along with Session Management, Security Filters and a configurable validation engine that provides the means to validate any request coming into the system. The mobility middleware is a key sub layer that enables the ability to adapt to different communication protocol / message formats that may be needed across devices. It also provides with an Export engine that allows for the configured App to be exported.
- Service Layer – This layer contains the various service components, libraries and frameworks that enable the processing on the server side.
- FT Message Hub – This layer acts as the configurable integration layer that provides configuration support for wide variety of message formats as well as communication protocols support. This is not bundled with Canvas Technology by default.
Canvas Technology enables functionality across multiple devices using an approach that relies on Configuration as the key basis of enabling functionality. All extensions / hooks provided are kept in a very neutral manner (simple Java Interfaces on server side, or plain JavaScript on browser). This concept is termed as Configure Once Run Anywhere (CORA).
For the purpose of distribution through the public Stores provided by the OS vendors (like App Store, Play Store, etc.), Canvas Technology uses Cordova as the tool to package the application into a Hybrid App.
Packaging/Deployment for mobile/tablet – To package a product for a target mobile platform (like iOS, Android etc.), the app-rendering framework and Apache Cordova device APIs & plug-ins for the target platform are packaged together in the form of a hybrid app. |
Canvas Technology provides a fine grained entitlement modeling that allows for varied functionality to be modeled. Entitlement definition is layered –
This nature of layering provides the ability to create reusable solution packages that can be targeted at Customer segment level or event at specific Customer level. And since all the Apps are also tied to the entitlement model, automatic targeting of Apps based on the entitlement profile falls in place.
The entitlement itself gets configured at 4 levels –
This layered configuration allows for a wide variety of functionality to get modeled and the Data level entitlement addresses the key need for having to control access based on various fields that may be present as part of the functionality. A key benefit that the entitlement engine enables is to support multiple data level entitlements to be associated.
The typical deployment architecture in which applications built using Canvas Technology is provided below –
Few salient points to note –
- The web servers typically have a reverse proxy setup and there is a load balancer between the web and application servers for enabling clustered node access.
- The application servers can be in Active-Active or Active-Passive mode.
- Cluster management is enabled through the application server.
- Session Replication and / or Session stickiness is enabled as a configuration through the Application server.
- Applications built using Canvas Technology can be deployed on cloud-environment as well.
Canvas Technology by itself ensures that any content added to Session in the JEE Web container are Serializable and hence will not hamper Session Replication setup. But there could be cases where the end application may choose to add content in the Session. In such cases, it is the responsibility of the end application to ensure that the content they add is Serializable. |
Canvas Technology uses the following technology stack for enabling its functionality –
Devices / Platform support matrix is provided in the following image –
Note: Internet Explorer's compatibility mode is not supported by Canvas Technology.