With the growing popularity of smart phones and tablet computers, consumers are coming to expect that software solutions will be presented as “apps” on their mobile devices. The challenge for most application developers is to find ways to make their existing solutions run on modern mobile platforms without incurring the delay and cost of a complete rewrite.
This paper will describe the approach taken by HAPO Community Credit Union when they adapted their online banking application, developed on InterSystems’ high performance object database system called Caché, for use with mobile devices. It serves to illustrate the principle that designing solutions “from the data outward” will allow developers to tailor their user interface to meet customer demands without major revision of the underlying business logic or data structures.
HAPO’s online banking Website
Headquartered in Richland, Washington, HAPO Community Credit Union has offered online banking services to their members for more than a decade. From a secure Website, members can review account histories, transfer funds, pay bills,and view cleared checks and e-statements.When initially designing their system, HAPO did not, for regulatory and security reasons, wish to expose their core Caché-based banking system to the Web. Therefore,they established a standalone customer Website (written in PHP) on a server outside their firewall.
Whenever a customer does something on the client Website:
- The PHP code opens a TCP socket to the Caché server inside the firewall
- It sends the request to the Caché server (which has been listening for requests).
- The banking application on the Caché server performs the requested action, and creates a response page.
- The response is sent back to the Website, which displays the result to the user and closes the TCP socket.
In this design, the user interface is isolated from the business logic and data. Only static Web pages are exchanged between the servers.
HAPO’s design proved to be an asset when members started asking for access from their smart phones and tablet computers. Rather than write multiple “apps” that would run natively on various mobile platforms, HAPO merely adapted their existing Web interface to work with the browsers found on modern devices. The resulting Website can be bookmarked with an icon on a user’s smart phone – from a user’s perspective it looks and behaves just like a native app.HAPO was able to quickly leverage their existing Caché backend to provide the“app” that their members needed. development time from start to finish was just a few weeks, and most of that time was spent learning the CSS and Java script tricks necessary for working with mobile phones. The resulting solution looks and works like a native app on each different type of mobile device, but there is only one server-side code base to maintain. HAPO can add or change functionality at anytime by changing their Caché code and/or the customer Website, without having to push new versions of applications to users’ devices.
HAPO Community Credit Union was able to give their members online banking access via smart phones and tablet computers by re-designing the Web interface to their existing Caché-based solution. Their approach illustrates the principle that designing “from the data outward” allows developers to quickly adapt existing solutions to run on new devices.