Jwaala created its MoneyTracker online personal finance management solution using Ruby on Rails development tools for deployment on a Linux operating system, Apache Web server, and MySQL stack. When the company found that its banking and credit union customers, who use MoneyTracker to give users a richer online banking experience, were more comfortable with the Microsoft Application Platform, Jwaala rewrote its application using ASP.NET MVC (a downloadable addition to the Microsoft .NET Framework 3.5) for deployment using Microsoft SQL Server 2008 Enterprise (64-bit) database software running on the Windows Server 2008 Enterprise for 64-Bit Systems operating system. While Jwaala developers were fans of Ruby on Rails, they have found that ASP.NET MVC, Microsoft Visual Studio 2008, and other Microsoft tools and technology combine to create a more efficient development environment.
Situation
Jwaala, creator of the MoneyTracker online banking solution, prides itself in helping to change the face of Internet banking with its personal finance management innovations. The company, based in Austin, Texas, chose as its name the Hindi word for passion. A passion for online banking and personal financial management is seen throughout MoneyTracker, which includes integrated account
 |
When we were deploying our solution on Linux, Apache, and MySQL, some of our customers acted as if we were placing a spaceship in their IT center. They were afraid to touch it. |
 |
|
Andrew Taylor Chief Executive Officer and Chief Technical Officer, Jwaala |
|
|
aggregation, natural language searching, personal financial management, consumer remote deposit, secure document repository, widgets, and infinitely customizable alerting options.
Banks and credit unions across the United States deploy MoneyTracker to enable their users to add a layer of intuitive, easy-to-use online banking and personal financial management tools on top of their financial institution’s core banking infrastructure. Users enjoy the single dashboard-like controls of MoneyTracker, which behind the scenes is uniting separate, and often disparate, applications and data stores to provide users with a unified online banking experience.
Jwaala created MoneyTracker using the Ruby on Rails development environment, and designed it for deployment on the Linux operating system, Apache Web server, and the MySQL database platform (sometimes referred to as the LAMR stack).
Developers at Jwaala liked working with Ruby on Rails because it provides a framework and tools for creating Web-based applications, and because of its use of the Model-View-Controller (MVC) architecture that simplifies application programming. However, the company found that many of its potential customers in the financial industry had limited experience about deploying an application that required the LAMR stack.
“The combination of Ruby on Rails and Linux, Apache, and MySQL had served us well,” says Andrew Taylor, Chief Executive Officer and Chief Technical Officer of Jwaala. “But by early 2008 we were seeing that more of our customers in the financial industry preferred the Windows Server operating system. To better match their needs, we decided to look into moving our application to the Microsoft Application Platform, including Microsoft SQL Server 2008.”
Solution
Before making the move, the company needed to determine whether the development tools of the Microsoft Application Platform—Visual Studio 2008 and the Microsoft .NET Framework 3.5 could meet the needs of Jwaala developers as well as had Ruby on Rails.
“About the time we started looking at the Microsoft Application Platform, we saw two new developments that simplified our decision to move away from Ruby on Rails and the LAMR stack,” Taylor says. “Microsoft released its ASP.NET MVC [a downloadable addition to the Microsoft .NET Framework 3.5] which provided a very similar development framework to what we were used to using with Ruby on Rails; and we discovered Microsoft LINQ [Language Integrated Query, a Microsoft .NET Framework component] that provides native data querying capabilities. The combination of ASP.NET MVC and LINQ really made it easy for us to make the switch.”
As part of its due diligence, Jwaala chose some representative components from its existing Money Tracker solution and rewrote them using ASP.NET MVC and LINQ. “The code conversion went easily and we felt as if what we ended up with was in some ways even better than what we had before,” Taylor notes. “So we began the process of completely rewriting all of our code. We were leaving Linux, Apache, MySQL, and Ruby on Rails. The effort took about four months, and we feel as if we are now much better positioned for the future.”
Deployment scenarios differ according to customer preference and existing infrastructure, but the recommended deployment architecture includes:
- Presentation Tier. Customers access MoneyTracker using a browser, avoiding the need for downloading client-side applications. The presentation tier uses Window Server 2008 Internet Information Services (IIS) 7.0 Web server technology (the solution also supports Windows Server 2003). The presentation tier is hosted on a Web farm using Windows Server 2008 Network Load Balancing to dynamically distribute traffic across server computers.
- Application Tier. MoneyTracker is deployed on a dedicated platform using two server computers configured as a 2-node cluster. MoneyTracker seamlessly interoperates with the financial institution’s core banking applications, which are frequently also deployed on the Microsoft Application Platform, though MoneyTracker can interface with core systems deployed using other solution stacks. The application works by passing user instructions to the core banking system and confirming results as transactions or queries are completed on the core system. The MoneyTracker application was created using Visual Studio 2008, the Microsoft .NET Framework 3.5, ASP.NET MVC, and LINQ.
- Database Tier. MoneyTracker stores records of user interactions with the core system (but not the actual core data) using a dedicated relational database hosted on Microsoft SQL Server 2008 (it also supports SQL Server 2005).
- Reporting Tier. Currently Jwaala exposes interfaces for customers to use in connecting their own reporting solutions, though the company plans to take advantage of SQL Server 2008 Reporting Services and SQL Server 2008 Analysis Services to enable financial institutions to create recurring and ad hoc reports and to generate analytics to better monitor and refine their service delivery.
Benefits
Moving its MoneyTracker application from Ruby on Rails and the rest of the LAMR stack to code created using ASP.NET MVC and LINQ for deployment on the Microsoft Application Platform has given Jwaala the easier sales cycle it had hoped for and faster deployments at customer sites. The company has seen a reduced need for customer support because its banking and credit union customers
 |
Our customers are financial institutions, which means they are already well-acquainted with the Microsoft Application Platform and reluctant to introduce another technology such as Linux and MySQL into their enterprise environment. |
 |
|
Kelly Dowell Chief Operating Officer, Jwaala |
|
|
already are familiar with Windows Server and the Microsoft Application Platform. Jwaala has benefited from the efficient development environment it has found with Microsoft development tools, and ease of interoperability with backend infrastructure.
Easier Sales Cycle
Jwaala has found that its sales cycle is easier and faster since migrating its development and deployment infrastructure to the Microsoft Application Platform.
“The move from Linux and MySQL to Windows Server and SQL Server has greatly smoothed out the sales cycle for us,” says Kelly Dowell, Chief Operating Officer at Jwaala. “Our customers are financial institutions, which means they are already well acquainted with the Microsoft Application Platform and reluctant to introduce another technology such as Linux and MySQL into their enterprise environment. Our sales people are reporting back to us that sales are closing easier and more quickly simply because they no longer have to make the case about why an organization should deploy Linux and MySQL to support our application. Removing that conversation really speeds things up.”
The enterprise-grade performance of SQL Server and Windows Server made it easy for Jwaala to migrate its existing customer base from a LAMR stack to the Microsoft Application Platform.
“All but two of our existing customers have already migrated from Linux, Apache and MySQL to our new solution, and the final two will be migrated by the end of the year,” says Dowell. “The response from existing customers was very positive. We went to them and said, ‘This is a decision we’ve made, and here’s why. Let’s put together a plan to migrate you over to the new environment.’ Our assumption was that banks and credit unions would be more comfortable with SQL Server and Windows Server than with MySQL and Linux, and that has proven to be true.”
Faster Deployment
Solution deployments are easier to accomplish and go faster since moving MoneyTracker from the LAMR stack to the Microsoft Application Platform because customers are already familiar with the operating system, database, and the other infrastructure that the solution is being deployed to.
“Moving MoneyTracker to the Microsoft Application Platform places the responsibility for the first part of the deployment cycle onto the customer—which is the way they prefer to have it,” Taylor says. “Each organization has its own procedures for preparing new server computers for deployment to their Windows-based infrastructure. They can set up the operating system and everything else to their own criteria, and then we load our solution.”
This is a pleasant change for Jwaala and its customers. “When our solution was based on Linux, Apache, and MySQL, we usually had to do the entire initial infrastructure configuration for them because they weren’t used to supporting these technologies,” Taylor says. “This was fine with us, but the customer would feel uncomfortable having to support an operating system, database, and other technology they weren’t accustomed to. Deploying MoneyTracker on the Microsoft Application Platform makes life easier for us and for them.”
Reduced Need for Customer Support
Jwaala and its customers benefit from the easy systems administration that comes with deploying MoneyTracker on the Microsoft Application Platform. The company immediately noticed it had fewer systems administration calls from customers because they were already used to working with Windows Server, SQL Server, and other elements of the Microsoft Application Platform.
“Now our customers can self-support their MoneyTracker deployment, but this often wasn’t the case when we were deploying a Ruby on Rails application on a platform of Linux, Apache, and MySQL,” Taylor says. “We used to have to do a lot of platform troubleshooting with our LAMR stack. Customers didn’t know how to do simple things like database backups, certificate renewals, and operating system monitoring. There’s a whole class of support-related issues that we don’t get involved with anymore because the customers already know how to work with the Microsoft Application Platform.”
 |
About the time we started looking at the Microsoft Application Platform, we saw two new developments that simplified our decision to move away from Ruby on Rails and the LAMR stack. . . . The combination of ASP.NET MVC and LINQ really made it easy for us to make the switch. |
 |
|
Andrew Taylor Chief Executive Officer and Chief Technical Officer, Jwaala |
|
|
The familiarity that Jwaala customers have with the Microsoft Application Platform is a big relief to all parties involved. “When we were deploying our solution on Linux, Apache, and MySQL, some of our customers acted as if we were placing a spaceship in their IT center,” Taylor says. “They were afraid to touch it. Every minute that we used to spend helping someone with routine IT functions in the Linux environment was a minute we didn't spend enhancing, developing, deploying, supporting, and selling our product.”
Efficient Development Environment
ASP.NET MVC and LINQ were enabling factors for Jwaala. “We couldn’t have switched deployment platforms without a development environment that was at least as good as Ruby on Rails,” Taylor says. “We couldn’t have done this without ASP.NET MVC and LINQ, which have proven to be equal to and in some areas superior to what we could do with Ruby on Rails.”
“Every developer on our team has had extensive experience with all of the major environments, because without that experience you can’t appreciate what Rails did,” Taylor says. “Java has had MVC Web-based environments for a long time, for example. But when you say MVC there’s MVC that’s hard to work with and MVC that is smooth and productive. With that background we respected Ruby on Rails and fully appreciated the efficiency of ASP.NET MVC.”
The Jwaala development team found that in addition to an excellent MVC implementation, they gained a number of development tools that were either absent from Ruby on Rails, or present but not as well developed.
“For the most part, Ruby is extremely loosely typed, which has benefits but these benefits start to fade away as your code base grows,” Taylor says. “You need the strong typing provided by LINQ and other parts of the platform. When your code base gets larger, there's just more and more to remember. Without the kind of features Visual Studio provides—such as IntelliSense technology for automatic code completion, compile-time checking, and a powerful debugger—your project can get bogged down. Ruby on Rails has debugging, but nothing that is as easy to use and as proactive as what Visual Studio has. Visual Studio is a powerful development environment that can really boost productivity.”
In addition, Jwaala is very open with their technology, to the point where about 25 percent of their customers license the actual source code. All of these customers are already experienced Windows and .NET shops.
Jwaala developers also like the visibility into ASP.NET MVC code that Microsoft provides. “Microsoft makes its ASP.NET MVC source code available so developers actually can see and debug into the framework that they’re relying on,” Taylor says. “This is important to us because when you're building a Web-based application, the framework you're riding on is about as important as it gets. The ability to look inside the code to see what's going on helps you to figure things out.”
Ease of Interoperability
Rewriting the MoneyTracker application code for deployment on the Microsoft Application Platform has made it easier for Jwaala to interoperate with the backend infrastructure of its financial services customers to create optimal solutions.
“Our solution blends online banking with personal finance management so that when a user logs into his or her bank or credit union, instead of just seeing a list of transactions they are provided with a rich view into—and tools to simplify—their personal finance management,” Taylor says. “Now to get all that data into a single application for the user to work with, we have to interoperate with all sorts of other systems at the bank or credit union—transaction processing systems, credit card systems, document management systems. These applications and data stores tend to be all over the place. Some information might be coming from a UNIX server or from any number of database management systems. We’ve found it is a lot easier to communicate with these other systems using the .NET Framework and the Microsoft Application Platform than it is when working from within a Linux environment.”
Summary
In summary, moving its MoneyTracker application code from Ruby on Rails to ASP.NET MVC, and moving its deployment environment from the LAMR stack to the Microsoft Application Platform has helped Jwaala provide its banking and credit union customers with a solution that better meets their needs.
Microsoft ASP.NET MVC
ASP.NET MVC is a free, fully supported framework that enables developers to quickly build standards-based, SEO-friendly Web sites by offering complete control over the HTML and URLs. It also eases collaboration, development and management by enabling a clean separation of the functional areas, providing Visual Studio tooling support and facilitating test driven development. ASP.NET MVC runs on top of the existing ASP.NET 3.5 runtime, enabling developers to take advantage of Model-View-Controller design patterns. The Microsoft .NET Framework 3.5 is Microsoft’s managed-code programming model for developing software on the Windows platform.
For more information about the .NET Framework , please go to:
www.microsoft.com/netframework
For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers in the United States and Canada who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
www.microsoft.com
For more information about Jwaala products and services, call (888) 361-2603 or visit the Web site at: www.jwaala.com
This case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Document published March 2010