By woodjr on Jul 03, 2007
The University of North Carolina has a history of leading. It was founded in 1789 and opened to students in 1795, making it the first public university in the United States (and the only one to offer degrees during the eighteenth century). This trailblazing spirit continues today, albeit with a few twenty-first century twists.
So when they needed to manage the knowledgebase for the Chapel Hill campus' IT infrastructure, the university's Information Technology Services personnel weren't afraid to chart their own path. They set out to build a new document management system, using a few key questions to define its architecture.
As Adam Constabaris describes:
A fundamental question for us in building this application was whether to use Tomcat and "soup it up" by using Spring to add services Tomcat doesn't provide itself, or whether to use a full Java EE container. We could have made it work with the servlet container approach, since our application isn't heavily "enterprisey" and we were initially reluctant to pay the complexity price of EJBs. After looking at the Java EE 5 specification, though, we saw a lot of ways we could simplify and standardize things, such as using JSF 1.2 and coding to the Java Persistence API rather than using Hiberrnate APIs directly.
So where they had assumed Java EE would bring complexity, investigation showed that it actually offered simplification. As you might expect, that made for a pretty obvious choice. And once they'd chosen to use a Java EE container, one question remained: which one? As Adam notes: "Glassfish was the only production quality Java EE compliant container that fit our budget, and so, well, here we are."
Here they are, indeed. The system is now deployed in production, and uses many popular open source frameworks: "Spring and Acegi, Facelets, Tomahawk JSF components, Nux and XOM, Abdera (AtomPub implementation in incubation at Apache), AspectJ, SVNKit, the Sesame RDF Framework... it goes on."
Want more info? Try these resources: