Friday, March 12, 2010
You are here:  Blog
 
Search Blogs Minimize
FinFolio Blogs Minimize
Blog_Archive Minimize
FinFolio Blog
Aug 31

Written by: Matt Abar
8/31/2009 3:15 PM



The bulk of the work we've been doing over the last month has been cleaning up our SOA layer so  FinFolio can run in a web browser. It was much trickier than I'd anticipated but we're finally ready to go. When you set up FinFolio, you will have three choices of configuration:

1. Desktop Client/Server - The FinFolio desktop client connects directly to the database. The business logic executes mostly on the client, although pieces of it run on the database server. Everybody who has the beta installed right now is using client/server mode. We're recommending this for smaller firms who don't run FinFolio over an Internet connection because the setup is simpler, requiring only a database server.

2. Desktop N-Tier - The FinFolio desktop client connects to an SOA/object server which in turn connects to the database. The desktop clients and SOA server both process business logic. This is my favorite configuration because the SOA server is also a Web server, and you can put it on the Internet, allowing your users to run the desktop software over the web. If I were a FinFolio user, this is how I would use it. You get the power of a desktop client with the convenience of being able to run it anywhere--at work, at home, or on the road from your hotel's wireless connection.

3. Web Browser  - In this configuration, users go to a web site and run FinFolio inside a web browser without installing anything on their machine. There are a few prerequisites, like Adobe Acrobat and the Microsoft .NET framework. But after the initial setup, any updates or changes are applied to your web server without having to touch client desktops. The web app works in Internet Explorer and Firefox and it will work on a Mac inside a Windows emulator.

...

The architecture allows you to mix modes. Your ops team can use client/server mode (which is slightly faster and daily imports won't clog up the SOA servers) and your reps in the field can use the Web Browser app. If you're running a service bureau, you can cut down on your costs by having employees work from home using the Desktop N-Tier client, doing imports and cleaning up data just like they could in your office.

As you can see above, the browser app looks identical to FinFolio on the desktop. We toyed with the idea of making the browser app have more of a web-style look and feel but changed our minds once we saw Microsoft Web Office 2010. Microsoft retained a desktop UI and I feel that as web apps continue to evolve, they'll gravitate toward the power-user style of UI currently used on the desktop.



FinFolio's hybrid desktop/browser product is made possible by new UI technology from Microsoft called XAML. We'd originally targeted Silverlight but ended up on the full Windows Presentation Framework--both use XAML but Silverlight would have been a shorter initial installation and could have run on a Mac without an emulator. Unfortunately, Silverlight was missing some of the framework pieces we needed to make our plug-in layer work.

One requirement for an n-Tier setup was building a Service Oriented Architecture (SOA) layer. An SOA layer is important because it provides a web-based API for a particular service or product. It's the web equivalent of using an open database; it allows users to hook into the underlying data and business logic to build custom applications on top of the platform.

For developers, the best way to use the FinFolio SOA layer is to use our Service object, which is a wrapper around the SOA that returns rich .NET objects (like Household, Security, Account, etc.). You don't have to worry about any of the specifics of hooking into the SOA. There are examples of using the Service object in the FinFolio Examples project, and there will eventually be examples showing how to extend our service layer to incorporate your own objects.

One last observation, this mixed-mode approach should be appealing to outsourcing shops and other firms like broker/dealers and large advisory shops with reps who log in remotely. We've talked to several firms over the last year who are (a) using virtualization (like GoToMyPC or Remote Desktop) with desktop software, or (b) using a custom-written web app that foregoes much of the desktop functionality. We feel that a powerful but nimble desktop/browser combo is a big missing piece that should eliminate some headaches.

Tags:
Privacy Statement | Terms Of Use