Best known for its grassroots environmental protection activities, the Sierra Club also helps thousands of members get outdoors each year with trips that span the globe. Sierra Club has offered these worldwide adventures for more than a century, but in recent years its IT team has focused on streamlining the trip-reservation process by enabling members to sign up online.
With the club's database growing to more than 3 million members and interest in its outings on the rise, the reservation process was becoming increasingly complex. The Sierra Club estimates that about 70% of the 4,000 members who go on club outings each year sign up online. The program brings in some $5 million annually, so an efficient, easy-to-use online reservation process was key, says Mark Maslow, who heads up a five-developer team as lead programmer analyst at the Sierra Club in San Francisco.
About two years ago, Maslow and his team began looking for ways to enhance the reservation application without complicating the process for end users. What they settled on was a Java-based application development project rooted in open source products: the Jakarta Struts Web application framework, Hibernate object/relational mapping software for database information storage and retrieval, the Eclipse development environment and the Tomcat Web server.
Maslow needed to tightly link the application with the organization's Sybase Adaptive Server Enterprise (ASE) database. The architecture includes a Sybase EAServer application server running on a Dell PowerEdge 1650 that connects via a Gigabit Ethernet LAN to the database, which runs on a Dell PowerEdge 4400.
The Sierra Club development team had used Sybase database tools in the past. "We still use Sybase tools for a lot of things. But for the Web application, it was not flexible enough for our particular needs," Maslow says. "We needed something that was powerful and also something that we could get into and do our own customization the way we wanted to. . . . We didn't want to be limited by the tools."
One of the main complexities of the new system is its ability to handle reservations under a single household or membership number, a feature that requires a tight link with the database. With the old system, the Sierra Club had to contact trip participants by telephone to determine to which household they belonged.
"The necessity for contacting participants is much less with [Hibernate] and the new system, plus it is much easier to enforce the membership rule for all participants," Maslow says. "The challenge was to capture the additional information about households and memberships while still keeping the system relatively simple to use."
With open source, Maslow found the balance he was looking for: power, flexibility and simplicity.
"We didn't want to be tied into a particular methodology," he says. "The most attractive thing about open source is that the good ones play together. You've got your choice of whatever database connection mechanism, whatever database access mechanism and whatever Web framework. And all of these things play together. . . . A key benefit is the ability to really tailor the application."
While many IT managers might think cost savings when they think open source, Maslow says cost wasn't the driving factor. In fact, training and consulting demands likely offset any savings in the software, he says.
"The driving consideration was being able to have the most appropriate solution tailored specifically to what we needed, and to do that on every level of the application," he says.
But Maslow cautions that open source development can be tough. He began his project a little more than a year ago, settling on Struts and Hibernate as the foundation for the application. But bringing in the open source tools was a little more challenging than he had banked on, he says.
Looking for help
"I realized pretty quickly that I needed some help," Maslow says. "There are other programmers here, but I'm the only person doing Java and Web applications. It was a lot to pick up on my own."
So he brought in Exadel, which became an extension of his development team. Maslow uses Exadel's consulting services and Exadel Studio Pro, a Web application development environment built on Eclipse.
"It was very helpful in organizing the project," says Maslow, who began the project with Exadel late last year and had the system up and running in January, a three-month turnaround. "As a beginner, a little bit of prompting [from Exadel Studio] to put the right parameters in the right places was a big help."
"The application is fully meeting all of our expectations, but I wasn't at all sure how I was going to do that before bringing in Exadel," he says. "Certainly I could have gotten to the same place, but it would have taken me a lot longer to get there, that's for sure."
Maslow was so happy with the results of the reservation system that he's now using Exadel to help him develop another open source application for the Sierra Club's nearly three-dozen field offices to use in organizing political activities.
Although the reservation system was developed on Tomcat, it is being run on Sybase EAServer for production. Maslow says he expects to run the new internal application entirely on Tomcat.
As for the database, Maslow says he's happy with the Sybase database he's running and has no plans to switch to open source there.