The mandate was to develop an application that could display different Sales data according to different user roles, and with access anytime, anywhere, for both Sales Representatives and the Management body.
The "commercial" department of a large Canadian Bank needed… well, just what most Banks need. They wanted to measure on a weekly basis the Performance of Sales representatives; per territory, per product and per department.
One must understand that in the field of Banks and Finance, ROI is part of the Business culture, it’s in the jargon. Performances are calculated, collected, compared, analyzed and predicted.
Worth knowing, data generally exists already, the challenge is more in gathering it from where it is, often disseminated across many heteroclite systems, isolated in silos (the culture of private ground is still very strong among many large sector of activities, including Banks and Finance).
Make the data talk, by putting into light its intelligence in the form of comparative analysis, performance schematics, ratios, sums, volumes, etc.; and that’s where the expertise and the experience of a solid application developer can make the whole difference in the world (some say, turning data into metrics is an art).
Nevertheless, one must know that although metrics are already available in many field of activities, they come at a price, which is very often the main obstacle to render competitive Business Intelligence available to Managers.
N.B. In fact, this is where the assessment exercise (often hard to estimate exactly) of the application ROI comes into play; is it worth it? Will this application become an important competitive advantage justifying the investment?
- Of course, for any Banking Institution, security is of the utmost importance. For the developer, it’s an important constraint which he has to cope with. The user environment is extremely controlled. For example, there are no personal computers but only VDI stations (Virtual Desktop Infrastructure) without USB port, no local file backup capability, and user sessions are re-initialized on a daily basis; therefore limiting drastically the possibility and potential impact of any illegal intrusion on the machine.
- Mobile devices used are diversified, both iOS and Android.
- For security reasons, only a Windows application can be allowed to interact with local storage sources to make data available, which application can only be activated from within the Bank walls, so to speak. Any Web application will be limited to data display functionalities because of the secured environment provided by the browser (Sand Box).
- Both application and data must be available, no matter the technology environment users utilize (devices, OS, browsers, etc.)
- The range of IP addresses that can connect to the Web application will be limited.
- Within the Web environment, administration functionalities are prohibited and therefore are removed, only Business Intelligence display functionalities will be present and available.
- To display Business Intelligence, data must be gathered from different sources, handled and kept in a secure environment, away from prying eyes.
- Just like in many other organizations, we like our Sales representatives more… when they’re not there, meeting clients. Mobility becomes a key component and we want mobile employees to access Business Intelligence from their mobile devices, Smartphone or Tablet. Hence, Mobility becomes a sine qua non condition of employees’ productivity to cope with, in spite of the strategic nature of data being displayed.
- Because of restrictions in the Bank technology environment, two applications were developed :
- A Windows application (a « Click Once » application downloaded on demand from the Azure environment) for administering system and data and for visualizing Business Intelligence on DVI workstations, according to different user roles.
- A Web application (Cloud Azure) for visualizing Business Intelligence, with the browser, on all non-DVI devices.
- An Azure SQL Service, independent from the Bank environment, to host data.
- An Azure Web Service to run the Web application and to store the Windows application used by DVI stations.
- Considering that Bank employees are using DVI stations, no application installation is permitted and no link to any external Web application is permitted. Therefore, we have developed a Windows application, being hosted on an Azure server, which is being downloaded and executed on a DVI station when being called. This way, while remaining totally secure, the Bank environment is still perfectly closed, and we have successfully composed with all environmental constraints imposed.
- This Windows application acts as a data exchange gateway with the SQL service of the Azure environment. Only, an employee with Administration role (rights) will be able (permitted) to upload the weekly data on Azure and the employees with « Sales » status will be allowed to visualize the Business Intelligence generated by the application.
- The Web application is hosted on Azure and it enables data display by accessing the SQL Azure service. This application is being used by any device that is not a DVI station.
- A limited range of IP addresses has been imposed, only devices operating and identified within this range of IP addresses can connect to the application.
- The SQL Azure service is only accessible through an API. So, an ill-advised employee can’t find the Azure Database address (URL) to do his things.
Design / UI
- Of course, from the moment an application is being used by a mobile device, it must have been designed to work on a « touch » mode; that is with a finger or a stylus.
- Of course, any application must have a nice display, no matter the device used, so it has to be « responsive », to fit any screen size.