42 Lines

Technology

Bulding complex web sites involves a host of technologies, which are (like web sites themselves) ever evolving. Our primary tools for projects these last few years have been:

Languages

Java is our primary language for web site implementation. Its maturity, installed base, and framework ecosystem make it an easy choice. In addition, we have experience with C/C++, Perl, and various dynamic languages like Groovy and Ruby. 

View Frameworks

Wicket is our current favorite view framework for building Web 2.0 sites. It is well designed, and facilitates the construction of typesafe views that are refactorable. In addition we have extensive experience with JSF and Apache Struts, as well as RIA frameworks like Adobe flex

Dependency Injection

JBoss Seam, soon to be standardized as Web Beans, is our current choice for dependency injection as well as association services like an interception stack and making JSF livable. We also have experience with the Spring framework as well as Google Guice. 

Persistence

We use JPA for persistence, with hibernate as the provider. We typically use MySQL as a database where possible, and we have experience with Postgres, MS-SQL, and Oracle as well. We have experience with replicated sql systems for backups and scale-out.

Servers

We use Apache to serve static content, rewriting, proxying, and simple load-balancing, with Jboss AS as our typical JavaEE container. We have experience clustering for scaling, incremental deployment, and failover.