How'd this get started?:
Kasper Jeppesen: I was getting very tired of writing sites in PHP... its a very easy
platform to get started with, but as someone who absolutely loves
Java, I just got more and more annoyed by the non object oriented
nature of most of its libraries and the constant stream of unnoticed
bugs that follow with loose typing. At one point I just got fed up,
and started looking at J2EE.... what a wonderfully detailed standard.
However before I even got started on my first site, I spend far too
many nights reading books on the subject, followed by far to many
days configuring web services and my build environment. Once I had it
all running and started developing it just didn't seem worth the
effort.. sure it would allow me to write stable, transaction secure,
scalable sites, but so would assembler if I put enough time into it.
So at some point by the end of 2004, we sat down for a developer
meeting at Solido Systems and talked the idea of developing our own
web server through. It should be as easy to get started in as PHP and
hopefully as efficient for developing database backed websites in as
Ruby on Rails.
What do you think are its best features?
The number one feature right now, is definitely its ease of use. All
you need to do to get started is download the distribution, run the
install script, and you are ready to begin developing. There is no
need to spend hours configuring your site, setting up a build
environment and reading documentation. If you know Java, and have
previously done just a little bit of development in PHP, you are
ready to start writing code immediately.
The second best feature is its ability to provide developers with a
strong MVC based development model, without forcing it upon them. You
can still write plain pages with code embedded into your HTML, and
you can even mix the two models when it suits you.
What is cooking for future releases?
We are currently focused on three major development areas:
clustering, database access and live statistics.
The first step in our clustering plan is to provide shared user
sessions, simply by adding a list of ip's to the configuration of
each server. The next step will be the ability to specify the
document root of a virtual host as an FTP URL, thus making Ravenous
automatically mirror the content of a base server in your setup.
The current release of Ravenous has full database support through a
JDBC connection pool, but we are currently discussing different ways
of implementing automated database encapsulation. This will off
course once again follow the convention over configuration philosophy
and will pave the way for some great simplifications of common user
interface code, much in the way of scaffolding in Rails.
The final new feature we are currently working on is an integrated
incremental statistics engine. This engine will collect ordinary http
access data, but also data on the resources spend on individual
requests. This data will be available to site developers through a
simple object oriented structure, allowing them to integrate it into
the administration interfaces for their websites. Furthermore, it
will allow us to develop a standard server-status site for Ravenous
which will provide system administrator with an extremely detailed
live view of activity on their server.
What do you consider its biggest challenger?
Well.. its still a very young project, but we figure that people
looking at Ravenous will also be looking at either J2EE for Java
development, or Ruby on Rails for MVC style development. Hopefully, a
lot of users will be attracted by the idea of developing their
websites in Java, while still favoring the "convention over
configuration" approach and MVC model we share with Rails.
Is this stable?
Absolutely... the primary ravenous website has been running on
Ravenous since the beginning of February 2005, without any problems.
Furthermore, we are actively developing several commercial projects
on Ravenous, in house at Solido Systems, so we are very dedicated to
fixing any stability or security problems that may occur.