BankHOST Develops Gateway Using Model Driven Architecture®
This paper describes how BankHOST used MDA™ to create a flexible Internet banking platform to deliver international banking services. Sample diagrams and screen shot provide insight into how MDA is actually used to create a comprehensive system of alerts throughout the application.
TOOLS USED:
Software: | MDE by M1 Global Solutions; Rational Rose Modeler Edition |
Hardware/Servers: | Various |
Platforms: | Microsoft Windows™ app server or J2EE |
Languages: | Java |
DESCRIPTION:
International banking services are difficult to deliver profitably. Customers expect a wide range of products, a high level of service, and rapid, error-free transaction processing. These requirements can only be met profitably with a high level of automation and a strong technology platform. Functionality and integration are especially important with client-access products. Having an attractive client access front-end creates expectations that the data the customer enters will automatically pass to the bank’s back-office systems. If operations staff re-keys transactions, errors and delays can put the bank’s business at risk. Yet at many banks, client-access applications are only partially integrated with the back-office systems. Most banks do not have a sufficient volume of international services to cost-justify large investments in technology infrastructure, along with the related integration expense, that have been required to solve this dilemma.
PROBLEM:
Banks seeking to address this problem with the first generation of browser-based applications did not meet expectations. Product lines were delivered in separate smokestacks, so that customers had to re-enter information about their suppliers and customers multiple times. Application and integration costs exceeded forecasts, and the application’s architecture and platform became obsolete more quickly than expected. Vendors have been reluctant to upgrade their products or offer them in multiple platforms, not seeing sufficient payback to cover the costs of developing a scalable enterprise solution. BankHOST saw this gap as an opportunity, and decided to build Gateway, an application that encapsulates our decades of international business experience with banks such as Bank of America and its predecessors.
BankHOST needed to get to market quickly with an application that could be deployed on a variety of platforms. We could not afford the time and mistakes hand-coding for multiple platforms would entail. We also decided to differentiate ourselves by providing a fully documented application. We had seen implementation and integration costs for banking applications run 5 to 10 times the initial license fee, in large part due to poor documentation. Our approach had to include documentation that could dramatically reduce integration and customization expenses, so that banks with less transaction volume could afford to integrate the application into their back-office.
SOLUTION:
We chose the Unified Modeling Language™ (UML®) as a standards-based tool to document our business knowledge, and started researching application servers and code generation tools. At first we did not think the code generation tools were flexible enough for our purposes. Then we discovered the Meta Development Environment (MDE) from M1 Global Solutions. Consistent with OMG’s MDA, MDE let us capture the business logic of BankHOST Gateway in a Platform Independent Model (PIM) using UML. The visual representation looks like a series of flow charts, making it easy for technical and non-technical personnel to understand the business logic. MDE translates the PIM into an enterprise scalable implementation on both Microsoft’s application server (Windows DNA and soon to be .Net) as well as application servers meeting Sun’s J2EE specifications. This development approach lets us offer Gateway on these two dominant platforms for significantly less than using traditional methods to develop it on just one of those platforms.
Ease of customization is a key benefit. In today’s fast paced environment, both the business and technical requirements change frequently. Vendors who built their applications using the traditional methods have a difficult time delivering such changes on time and fully tested. Using UML and MDE allows us to model requirements and provide a visual "walk-thru" to our clients on a fairly rapid basis. In addition to "seeing" the application, clients can actually navigate the application and provide immediate feedback.
"UML lets me communicate very clearly what the application should do and how it will look. The code generated is very clean, eliminating 90% of the errors created by hand coding. The capability of generating the screens with sample data creates user buy-in early in the process, without the investment in server-side coding," said Mike Nagavalli, CTO of BankHOST.
Since BankHOST Gateway is targeted at international banking, it is very important to include multi-lingual and multi-currency support. MDE generates Gateway on an architecture that allowed us to easily modify static HTML and resource files to translate the application into any language that customers may want.
BENEFITS:
Both large and small banks, along with their customers, benefit from access to an application that incorporates functionality suitable for large corporate customers, but with an easy installation and customization process. Functionality includes integrated Purchase Order processing, batch uploads, and a collaborative processing environment. The intuitive screen flows reduce support costs for the banks, and training costs for their customers. BankHOST Gateway is modular, both from a systems architecture and business processes perspective. The core processes are first modeled and built, and then product lines are layered onto them. This means that customer and party information just has to be entered once, that messaging and alert functionality is consistent in every product, and purchase orders are accessible throughout the application. Banks with strong back-office processing capabilities can also benefit by using Gateway to provide white-label processing for correspondent banks.
The MDA development approach using MDE allows us to quickly and economically customize Gateway to the exact business and technology requirements of our customers. And by modeling Gateway in a PIM and having MDE generate the implementation on the architecture of our choice, we have truly "future-proofed" Gateway. As technology platforms change, BankHOST will use the Gateway PIM and MDE to migrate Gateway to those new platforms.
BankHOST Gateway application is completely expressed in a PIM with UML, from the UI to the database schema. The crisp shared understanding created by this approach facilitates customization, enhancements, and integration. Inheritance and polymorphism let us implement shared functions very quickly. From the PIM, MDE generates most of the code required to implement the various layers. The output is flexible in several ways. MDE is currently tuned to create code suitable for either a Microsoft application server or an application server meeting Suns’ J2EE specifications. The UI side is html/asp or html/jsp. Javascript is supported for appropriate purposes. If we have a new pattern that occurs regularly, we can customize MDE to generate the appropriate code.
BankHOST Gateway has been built to support complex B2B transactions, and that transaction set will expand. It is also architected to support back-office processing for banks, and will be expanded in that area as well.
Jim Jainauth, VP and COO of BankHOST concluded, "BankHOST’s model-driven development process puts me in the driver's seat. I can customize MDE to generate code that matches our business processes. Having clear documentation helps me get things done much more quickly. And using inheritance, I can make one change that can be realized across the application."
With MDA, all the alert functionality is available to any form by simply linking the Alerts View class to the new form within the UML model. The application generated by MDE includes a convenient set of User Defined Specifications within the generated code to customize requirements, such as which alerts to include for the current user and form. Updating the alerts table triggers an update to the Alerts Counts table, which updates the relevant counts in the navigation panel.
Acronyms | Resources | |
MDA® | Model Driven Architecture | |
PIM | Platform Independent Model | |
UML® | Unified Modeling Language | |
MDE™ | Meta Development Environment | www.m1global .com |
J2EE | Java™ 2 Enterprise Edition | www.java.sun.com/j2ee/ |
* All trademarks, tradenames and service marks mentioned and/or used belong to their respective owners