Interbank Electronic Payment System
Fast, Stable with Visual Basic .NET and SQL Server
The Central Bank of Costa Rica (BCCR) is responsible for mediating payments between local financial institutions. The Interbank Negotiation and Electronic Payment System (SINPE) permits the liquidation of payments between member entities (banks, finance companies, cooperatives, mutual funds, the ATH automatic teller network, the Ministry of Finance, the National Insurance Institute and the Costa Rican Social Security Fund) or against the Central Bank.
The System requires a fast and reliable platform to handle 175 billion colones (US$500 million) worth of daily transactions. The original SINPE system, written in Microsoft Visual Basic and SQL Server, was upgraded to Visual Basic .NET using the Visual Basic upgrade wizard. The new system is faster, more stable, and easier to maintain than the original. The cost of the upgrade was only 7% of the original development.
The Interbank Negotiation and Electronic Payment System (SINPE) is an automated real-time transaction clearinghouse for Costa Rican banks, automatic teller machines, and other financial entities, as part of the Central Bank of Costa Rica (BCCR). The initial version of SINPE, launched in 1997, was implemented in Microsoft® Visual Basic® 4.0 and Microsoft SQL Server™ 6.0, running on Microsoft Windows NT®. By 2002, the system was showing its age, even though the application had been upgraded to Visual Basic 6, the OS had been upgraded to Windows 2000 servers, the database had been upgraded to SQL Server 2000, and the Web servers were using COM+ services, MSMQ, XML, ASP, WMI, Active Directory® directory service, and SOAP. BCCR wanted to develop new services, but using Visual Basic 6 it was difficult even to develop the necessary improvements in security, reliability and performance for the existing services. Manually rewriting the 1.3 million lines of Visual Basic code in the system would have cost 90% of the value of the system; the obvious migration path for BCCR was to use the Microsoft .NET Framework, in order to leverage its existing code while taking advantage of the advanced capabilities in the .NET Framework.
|Number of man-months to build application||550|
|Number of man-months to port application||40|
|Millions of lines of code converted||1.3|
|Daily Transactions (billions of colones)||175|
|Transactions / second validated||1700|
|Number of connected client machines||250|
|Amount of money saved (% of system value||80%|
BCCR decided to upgrade the Visual Basic code using the Upgrade Wizard in Visual Basic .NET. The Wizard includes technology developed by ArtinSoft, a Costa Rican company. ArtinSoft supplied three consultants to assist 10 engineers from the bank’s staff with the upgrade. A smart client application, now implemented with Windows Forms and user controls, talks to a server that uses Serviced Components, Remoting, and Microsoft ADO.NET, which in turn executes transactions on the SQL Server 2000 database. The upgraded system has 40 total servers, all running Windows Advanced Server 2000. Five servers run SQL Server 2000, while the rest run Web servers and business logic. The business logic and database run on high-availability clustered servers. Out of the five servers running SQL Server, two (one cluster) belong to production, two (a second cluster) are located in the test center, and one is used for development. The development process proceeds in three stages: coding of improvements and updates on the development machines, evaluation in the test center, and finally deployment on the production system.
The upgrade was smooth and inexpensive, and the new system performs better than the original application. The Upgrade Wizard automated most of the process, which kept the time and cost down. In addition, the advanced capabilities of the Visual Basic .NET language and the .NET Framework have made it easy to add new features to the system.
"The development of the VB6 version of SINPE took 550 man-months" says ArtinSoft's Executive Vice-President, Federico Zoufaly. "The effort required to upgrade SINPE to use [the .NET Framework]—including the automatic upgrade, the manual touch up, the full re-test of the upgraded application and the deployment effort – was only 7% of the original development effort. With just a small incremental investment corporations like BCCR are able to move their systems to the latest technology and benefit from it in a very short period of time."
After the upgrade the system was capable of handling far more requests on the existing hardware. Carlos Melegatti, Director of Financial Services at BCCR: “We have seen improvements of 300% to 400% in the validation process. Before we could validate 400 records per second, now we validate 1,700 per second, without any additional changes.” Melegatti attributes this particular improvement to the efficiency of the classes in the System.XML namespace of the .NET Framework. Overall, the .NET Framework provides a far more efficient framework for application execution, with native support for XML providing critical improvements.
BCCR uses attributes and configuration files to simplify deployment issues on both the server and client. They use XCopy deployment and automatic updating on the client, which eases the rollout of new versions of SINPE to the 250 client machines in 91 institutions scattered throughout Costa Rica.
Melegatti: “The BCCR has several new projects that could have been developed using Visual Basic 6. In Visual Basic .NET they will be implemented much faster and with less effort, which will improve the productivity of our IT department. One example is our auxiliary custody project, which is software that will allow us to decentralize part of the reserves of the Central Bank to qualified financial institutions. Tracking the reserves in software rather than physically bringing them to the Central Bank will reduce the risk from moving the currency, and eliminate the transportation cost. The savings experienced by financial institutions from this will directly benefit the country.
“SINPE represents an investment of about US$12 million for the 20 services it supports today. If the bank had to go out and buy a similar system to support just one or two of these services, it would have to pay a similar amount. These are tremendous savings for the country.”
The Central Bank in a country dictates monetary policies in the economy and additionally is sort of the “bank of banks”. The Central Bank of Costa Rica (BCCR) is also responsible for mediating payments between local financial institutions.
The Interbank Negotiation and Electronic Payment System (SINPE) is an automated realtime transaction clearinghouse for Costa Rican banks, automatic teller machines, and other financial entities. The initial version of SINPE, launched in 1997, was implemented in Microsoft® Visual Basic® 4.0 and SQL Server™ 6.0, running on Windows NT®. By 2002, the system was showing its age.
Using ArtinSoft consultants and the Visual Basic upgrade wizard, BCCR upgraded 1.3 million lines of code to Visual Basic .NET. The database was migrated to SQL Server 2000, and the servers to Microsoft Windows® 2000 Advanced Server.
Learn more about our solutions to modernize legacy apps.
For more information about computer aided software modernization products and services from Mobilize.Net, or to request information on migrating your applications, contact us and a software modernization professional will get back to you. Please send an email to firstname.lastname@example.org