"Tax season comes whether you're ready or not," said Dan Cahoon, senior systems architect at H&R Block, who should know because he recently designed an Ajax-based enterprise portal that helped his company hire 100,000 preparers for this tax season.
Prior to the beginning of each year's tax preparation season, which runs roughly from Feb. 15 to April 15, H&R Block hires a huge seasonal workforce, Cahoon explained. The portal application known at MyBlock is SOA-based, using Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) to connect up to five back office systems to an Ajax Web portal.
Kevin Hakman, director of product marketing for General Interface Ajax tools at Tibco Software Inc., points to the H&R Block as the poster child for his contention that "enterprises are embracing Ajax for their core business applications, not just lightweight experiments." He offered the tax firm's Ajax portal as an example of the need for the new General Interface Test Automation Kit (GITAK) being unveiled by Tibco today.
The test tools being added to the General Interface product line are designed to speed Ajax application development by automating the quality assurance process. As Cahoon explained in a recent Webcast with Hakman, both quality and speed were important in delivering the H&R Block portal.
The portal was designed to not only speed the hiring process for the "largest seasonal employer in the United States," but to make it paperless, Cahoon said. With MyBlock, prospective tax preparers can apply for jobs online and hiring managers at 12,000 branch offices can handle the screening, interview scheduling, offers and the final hiring process via the portal. In addition, the portal handles the IT systems provisioning for all the new tax preparers, as well as the termination process for them at the end of the season.
To connect all the back office systems required for this to the portal Cahoon said, "we took a strategy of breaking apart key architectural functions that we needed to do this. So we had the ability to scale, monitor and manage each piece required for the process independently."
"We created a composite Ajax workspace," he explained. "So already on the backend, the architecture has been divided across a couple of discrete systems, but on the front end we wanted to present a unified view of the end-to-end hiring process."
For example, when a tax preparer is hired, the manager can create an employment package in the Adobe format using the enterprise document processing system. Regardless of the number of backend systems involved in the process it all looks like a single application with single sign-on from the user's point of view.
To achieve the unified look, Cahoon said, "We proxied it all through the same URL, so we might be interacting with five or six systems in the backend, and each has its own processes and databases scaling in the same way. Maybe they have different ways of connecting – SOAP, REST, straight HTTP – but from the end user perspective and for security we wanted to proxy that all through one connection, so it appeared to the browser and the user as if it were coming from one application."
To scale for the peaks of tax season and for anticipated year-to-year growth in use of the portal, it uses clustered inexpensive servers with load balancers.
"We relied on asynchronous processing," Cahoon said, "so this is where we used Tibco BusinessWorks (an enterprise services bus) to schedule jobs and to execute different pieces of the process in an asynchronous way so that we could scale based on a benchmark of throughput."
On the question of how long it takes to develop a portal like this, Cahoon said with the tax season deadlines breathing down his neck, it still took several months because "starting out there was a learning curve and it was tough." Once the development team learned to work with the SOA and Ajax tools, additional functionality for the portal was able to be added from development to final QA to deployment in "about a week," he said.