LANGUAGES: C# | VB .NET
TECHNOLOGIES: SQL Server | SharePoint Portal Server | ADO.NET
Case Study: The Annie E. Casey Foundation
ASP.NET saves time and money for this philanthropic organization - and that means faster grants for those who need them.
By Ron Schwarz
In an economy that daily challenges even the stoutest of hearts, it's crucial that established philanthropic organizations squeeze every last bit of value out of their increasingly precious funding resources.
The Annie E. Casey Foundation (AECF) - established in 1948 by Jim Casey, founder of United Parcel Service - has a primary mission of fostering public policies, human-service reforms, and community supports that meet the needs of vulnerable children and families more effectively.
Working out of its Baltimore, Md., headquarters with a staff of under 200 employees, AECF - the 14th-largest private foundation in the nation, with an endowment of more than $2.6 billion - balances an endless supply of needs with a finite supply of assistance. It distributes more than $250 million per year to organizations that work with disadvantaged children or assist in the changes needed to support children.
The foundation's grant-making process generally is started by program staff, and it involves people in the social services field: juvenile justice experts, education experts, those who address teen pregnancy and health care issues, and "the whole gamut of areas we get involved in: financial planning, government services, and so forth," according to Henry Dennig, AECF's director of Technology and Information Management.
About 120 staff members work on the program side of the foundation, working with other organizations and making grant requests for them. Those "other organizations" can be very large, including household names such as United Way, Boy Scouts of America, and Girl Scouts of the USA. They also assist individual city and town communities and faith-based organizations, and they are involved with policy-making bodies such the New York City Child Welfare Advisory Panel.
AECF's technology situation is typical of many companies: Its applications work - even work well - but simply can't scale and evolve successfully with the organization's needs. Every organization in this position eventually must face the need either to conform (and restrict) its work practices to its existing software, or make the leap to a different application set.
Casey's first decision was simple. The foundation had worked with Ajilon Consulting two years ago to deliver the application AECF now has in place named Request Initiation Forms (RIF). AECF was pleased enough with the results to work with the company again.
RIF - a front end to its legacy grant-making system - gave Casey a taste of what was possible. It used Outlook Forms and Exchange Server in an effort to extend and improve the legacy system's design and inflexible functionality. The goal was a system that modeled the foundation's actual workflow more closely.
Dennig describes the rationale for going with the original RIF project: "In an effort to achieve better data integrity and consistency, we chose about 18 months ago to create a front end to collect the data up front before it goes into the legacy software. That's where we got involved with Ajilon Consulting and the RIF project. RIF runs Outlook in public folders, allowing our staff to put in requests and grant activity, which is then reviewed by the grant management team."
Unfortunately, Dennig discovered that the Outlook Forms were not sufficiently robust or functionally capable. "Public folders and public forms didn't allow the users to do some of the necessary workflow and didn't allow data validation or data flow that was hoped for," Dennig says. But "by doing it in .NET, they were able to start from a clean sheet of paper and redesign it from top to bottom."
For nearly two years, RIF has done what it was designed to do. But AECF has outgrown the system. "In light of the intranet that we've set up and the SharePoint server and Knowledge Management we're planning to set up, we wanted a grant-making application that was more capable than RIF," he says. "And, quite honestly, storing all that information in the public folder message store probably wasn't the best data container. We liked the idea of storing it in a SQL back end."
Dennig points out that in addition to the Outlook Forms stability and productivity issues, "there were many functionality requests that we simply couldn't program that way." The shortcomings of the Outlook Forms context created an increasing pace of revision requests. So AECF sat down with Ajilon and reviewed what they had and what they wanted to do. After a series of meetings with users and the grant management team, they came up with an approach to create the new system using the .NET Framework.
Major software projects develop on several concurrent levels. At the top level, customer needs and desires - often frustratingly intertwined - command a nontrivial amount of developer attention. In Casey's case, the main objective was clear and obvious: The foundation needed to reduce the amount of time needed to deliver grant funds to the recipients. At the lowest core level, developers wrestle with technical issues and often with conveying technical considerations to users who are by nature fixated on more ephemeral matters such as fonts, layout, colors, and other screen appearance elements.
In fairness to the users, interface "trivia" does matter. Bad interfaces hamper good programs, which leads to lessened productivity. "User groups can get bogged down with minutia," says Jim Lane, a senior .NET solutions developer at Ajilon and lead architect for the AECF project. "For us, however, it was important to maintain a rich and productive user interface and application."
Developers sometimes lose focus on the fact that the user interface is the first and sometimes only portion of any application users see. In the real world, developers must balance the demands for a robust interface with the needs of a well architected solution - fail on either end of the scale and an application can be destined for collapse.
Combining Microsoft's ASP.NET and Infragistics' NetAdvantage Suite created a synergy that gave Lane the ability to balance both ends of that scale successfully (see Figure 1). ASP.NET's elegant underpinnings provided the horsepower that made the application work, and the Infragistics tools made it possible to satisfy the users' interface demands - without taking development time away from critical tasks.
Figure 1. Ajilon used NetAdvantage Suite's Tree control to create an elegant navigation hierarchy. Users appreciate the classic interface's familiar look and feel.
On behalf of AECF, Ajilon evaluated all the main options on the market before concluding that ASP.NET was best suited to the foundation's needs. Ajilon chose .NET because it was the most scalable platform and projected to be the lowest cost to develop and maintain. As a full-service solutions provider, Ajilon has extensive knowledge and experience with all the major platforms, including Java. This was important because in addition to the core grant-making functionality, a legacy system also included a custom-built Java-based portal system that handled announcements, communications, messaging, and so forth.
Early in the project's analysis phase, the developers recognized that the client's needs required a Web interface. One of the recognized advantages to the original RIF project was, however, its traditional Rich Client/Server interface. Lane knew he needed to implement a similar front end for the new eRIF package, but he didn't want the nightmare of coding a Windows-style interface in HTML. The Infragistics package's kit of interface elements - the grid, tab, and other screen controls - let him deliver the slick interface users demanded while focusing his efforts on the project's "under the hood" aspects.
A project of this scope was projected to require eight to 12 months of work by a team of three to four developers if delivered as a traditional ASP solution. Using ASP.NET and the NetAdvantage Suite, Lane delivered the solution in five months working by himself.
Part of the development time savings was attributed to ASP.NET's ability to use an XML/SOAP Web service to interface to the legacy Java-based portal system. The Infragistics tools also accounted for major development efficiency. The XML Web service enabled near real-time messaging between the new application and the legacy portal, which combined with COM+ Component Services ensured message integrity and delivery. In addition, Lane implemented a completely object-oriented architecture throughout the application, anticipating it would ease future maintenance efforts.
The development process began with a series of meetings with users to analyze the existing workflow and methodology and map out an implementation plan. Lane worked closely with Brad McCabe, technology evangelist for Infragistics, to maximize the NetAdvantage Suite's capabilities. The suite's ability to expose and inherit functionality - unlike typical "black box" toolkits - provided the sort of transparency that translated into significant development efficiencies. Lane was able to extend the Infragistics controls to suit AECF's unique needs.
There was more at stake than mere user convenience. The foundation is subject to compliance with IRS regulations and is obligated to ensure the money they grant is benefiting the intended end goals. Therefore, the system needed to deliver a variety of reports, some of which are text-intensive and - previously - labor-intensive. But the overriding concern was delivering the final product: the check. Checks must be delivered to the intended recipient in a timely manner. Dennig describes AECF's goal as "reducing the grant approval time and making the dispensing of funds as quick and painless for our grantees as possible."
The eRIF package also needs to work with the existing legacy grant-making system. In addition to the legacy system's contractual issues, Lane struggled with data-porting tasks because of the database's proprietary nature and its lack of any facility to enable external interfaces. Although the database was stored in SQL Server 2000, it was impractical to access it directly.
Future growth is a significant consideration. Lane says AECF "wants to be able to make some of the information available to their grantees so that they can track the progress of their requests, track the progress of their grants, and other information."
Lane decided on a standard ASP.NET architecture on top of the .NET Framework, with a SQL Server 2000 back end (see Figure 2). All I/O is handled by stored procedures. The system uses three servers: one for the main Web application, a second for Microsoft's SharePoint Portal Server, and the third handling the XML Web Service and COM+ Component Services.
Figure 2.The eRIF project is a compendium of .NET C# code, third-party controls, legacy Java applications, and COM+ components. The Infragistics NetAdvantage Suite's controls made it possible to deliver the product in rapid time with a high level of user satisfaction.
The workflow begins with program officers, who generate new grant requests. From there, it is routed to senior managers who make a preliminary determination on whether or not to authorize a grant. This is an iterative process. The next step is to route the approved requests to the Grants Management and Finance departments to process the grant. After final approval, various documents and reports are generated for the president for signature and routing to the grantees.
In addition to the essential functionality, Lane was able to implement a series of productivity features, including spell and grammar check and usage of Microsoft Web Storage technology for document management within the Web application (he used COM+ to access Microsoft Office components on the server side). He also was able to enhance the UI cosmetics via the Microsoft DirectX and WEFT technologies.
Figure 3. Ajilon leveraged ASP.NET to deliver a Windows Rich Client interface in a Web application. He implemented features such as pull-down menus without the grunt work necessary in a traditional ASP project.
Once "under the hood," Lane experienced major benefits from being able to use the Infragistics NetAdvantage Suite's controls to integrate directly with ADO.NET. Because it could consume and bind to ADO.NET datasets, he was able to employ a highly customized UI and code in a manner that will ease future maintenance tasks. He praises ADO.NET's ability to expose datasets' internal structures, eliminating the need for custom-built data objects.
Beat the Wrap
Lane also wrapped the legacy Java portal so users could access messaging and message broadcasting without changing the underlying message system. The eRIF will also interface with the Grant Tracker Online - the finance application that will verify budget balances as the process proceeds. A typical scenario he describes under the new system involves grant traffic handling: A manager in the field who needs approval for a grant process wants to hit the portal and see a message saying, "Mr. Jones, we need approval for preliminary funding for a grant for ABC ..." The new eRIF system sends a signal to the Java portal using Web Services, which is possible because the portal can "talk XML." "We were able to work to smooth communication with the new software," Lane says.
Still, because of Java's scaling issues, he was concerned with the probability of the new application waiting on the legacy messaging code. He used MSMQ and COM+ to work with the Web service to talk to the Java portal, synchronizing operations with the message queue.
There are two tentative plans for Phase Two. First, Ajilon will beef up eRIF's reporting functionality. Lane wants to let end users and administrative groups see where their money is going and get away from the current data-driven administrative interface. He plans on designing the necessary administration screens to address the needs so nontechnical staffers can manage common administrative tasks.
Microsoft has taken note of AECF's use of ASP.NET in migrating its system. "XML Web services are breaking down barriers for enterprises and charitable organizations alike," says John Montgomery, Microsoft's director of the Developer Platform and Evangelism Division. "We're extremely gratified to see that AECF has chosen .NET for building new, highly integrated applications that enable the organization to focus on serving the needs of children."
With eRIF, AECF projects a 25 percent reduction in turnaround time from grant proposal to funds disbursal. By using ASP.NET, Ajilon reduced the development cost by approximately a 5-to-1 ratio. End-user satisfaction improves because the new UI and workflow provide a tight match to the way they perform their work, as well as a reduced complexity by eliminating multiple interfaces during each grant application's data-gathering phase. ".NET can help stretch IT budgets and help make the cut from current systems ASAP," Lane says. In the case of AECF, this means more money -sooner - into the hands of those who need it.
Ron Schwarz is a programmer who left New York City for the wilds of rural Michigan, where he writes the occasional article and program. He welcomes your comments at http://www.clubvb.com.
Tell us what you think! Please send any comments about this article to [email protected]. Please include the article title and author.