Bank of America
Bank of America Corporation, through its subsidiaries, provides various banking and financial products and services for individual consumers, small and middle market businesses, institutional investors, corporations, and governments in the United States and internationally. The company’s Consumer & Business Banking segment offers traditional and money market savings accounts, CDs and IRAs, checking accounts, and investment accounts and products, as well as credit and debit cards; and lending related products and services, working capital management, and treasury solutions. This segment provides its products and services through operating 5,500 banking centers, 16,300 ATMs, call centers, and online and mobile banking platforms. Its Consumer Real Estate Services segment offers consumer real estate products comprising fixed and adjustable-rate first-lien mortgage loans for home purchase and refinancing needs, home equity lines of credit, and home equity loans. The company’s Global Banking segment provides various commercial loans, leases, commitment facilities, trade finance, real estate and asset-based loans, and consumer loans; treasury management, foreign exchange, and short-term investing options; and debt and equity underwriting and distribution, and merger-related and other advisory services. Its Global Markets segment offers sales and trading services for securities and derivative products in primary and secondary markets; market-making, financing, securities clearing, settlement, and custody services to institutional investor clients; and risk management products. The company’s Global Wealth & Investment Management segment provides investment and brokerage, estate and financial planning, fiduciary portfolio management, cash and liability management, and specialty asset management services; and retirement and benefit plan, philanthropic management, and asset management services. The company was founded in 1874 and is based in Charlotte, North Carolina.
The internal users of the IBM I (AS/400) system were highly dependent upon the RPG applications. These applications were highly customized and had been developed by Bank of America over many years as the needs of the users changed and interfaces became more important and sophisticated.
The applications had been developed for the IBM AS/400 system which was stable, but expensive to operate, and very proprietary. As banking has evolved over the years, maintaining large numbers of interfaces with third party applications internally and externally became more and more cumbersome. The unique communications protocol and database made interoperability nearly impossible and very slow.
The team responsible for resolving this situation had been tasked with finding solutions for these applications that would open them to the web, a standardized data format and allow them to operate in an environment outside the IBM AS/400.
Internal Demands for an Open Environment Demand Platform Independence
Bank of America is an in-house provider of critical, complex software for the financial services industry and have clearly defined, internal goals to expand the capabilities of the legacy applications that have been developed. In the long-term, the bank required scalability, an open system environment, and the ability to execute the applications via the web graphical, web-enabled and to be able to utilize web services from those applications by building web grids of reusable services for the other applications in our enterprise.
Bank of America realized that a rewrite of the billing applications might be accomplished but the time it would take to complete the complete redevelopment of over 8 million lines of code seemed an unreasonable undertaking. It was ruled out as a likely possibility.
A packaged software solution seemed likely and since there are several well-accepted systems in the marketplace, they engaged vendors in a discussion of their offerings. What seemed quickly apparent was that the internal customization was so specific to Bank of America’s unique needs.
When Bank of America decided to update their custom AS/400-based applications they looked at three different types of solutions: 1) Replace the applications with web-based COTS applications that would meet their business objectives, 2) rewrite the applications in Java, which was their preferred language or 3) Migrate the existing applications.
After months of analyzing the possibilities in each category, the team decided that there was no off-the-shelf system that would perform the functions of the existing system. While there were several excellent choices in the marketplace that might come close, all of them would require a great deal of modification to the existing workflow. In the end, the changes in process were deemed too disruptive to be a viable consideration.
While the team was looking at COTS applications, they were simultaneously working with consulting firms to analyze a rewrite strategy. The existing RPG code had over six million lines of code and is both extensive and sophisticated. After breaking down the processes and individual functions, the costs and time required to perform a rewrite of the code were astronomical.
The last solution the team considered was the possibility of migrating the applications to an open platform. In this scenario, it was important that the integrity of the original source code be maintained because the internal Bank of America team would be responsible for supporting it once migrated. After the experience of analyzing the rewrite solution, it was considered very important that the team would have the ability to continue to develop and maintain the applications as they had on the AS/400.
In the end, the migration option using Infinite I provided the fastest, least costly, and least risky option to achieve the stated objectives. Bank of America chose Infinite and the migration alternative.
After the decision
After the decision was made to implement Infinite i, the Infinite team installed the software on the Bank of America AIX server in one day. In the following weekend, they migrated the two most strategic applications with Infinite i.
Over the next 60 days, our teams migrated the remaining applications. The migration support and assistance from Infinite has been exceptional. Infinite I created an environment that was easily understood by the existing support team for the applications.