P
Piergiuliano Bossi
We are on the way to start a new project, a web application with a bunch
of pages and the following features:
*) users are maintained within a persistent repository (it could be as
easy as a yaml file, we are talking about no more than 10 users); first
page is a login page, of course
*) through these pages (around 10, warning & error pages included) a
user can invoke a transaction on a legacy system ==> we already have
java code that encapsulate a transaction or we can rewrite it in ruby,
it is a simple text based protocol over sockets, just like a telnet session
*) some transactions may not be invoked directly through the webapp, but
they are scheduled instead for late night execution; of course, we can
store these info in a yaml file too, there is no real need of a
relational db
*) we are talking initially about 2-3 transactions per day (not very
hard, isnt'it?)
We have an (almost-)ready framework in java for building webapps.
Although that, we are asking ourselves if developing in ruby could be a
better choice, mainly in terms of development speed. Infact, having
around 2 or 3 transactions per day I don't think that application speed
really matters (as long as users will not complain). We are just ruby
newbies, but we like it. We are considering perl too, because in our
team there's a perl fan, sponsoring mason for this project.
We can develop:
*) everything in java
*) mix ruby (html-based frontend, maybe fastcgi or mod_ruby) and java
(transaction invocation)
*) everything in ruby,
*) mix perl and java (we have tried a 30' spike with Inline::Java, it
seems to work)
*) everything in perl.
If we mix ruby & java I was thinking about using rjni or rjava.
One thing to take into account is that the application will be deployed
on a Sun cluster (5500, I guess) and I am not sure that the customer
will permit to compile the ruby interpreter there. They are quite
"conservative", if you know what I mean.
I know that this depends on os version, but may I expect to find in any
"official" place an already compiled interpreter for Solaris /whatever/?
This thing may affect negatively the whole choice. Unfortunately the
customer is pretty rigid on things like that.
Apart from that, development speed is the most important thing in this
project: not very comfortable, but sometimes you have to do it. Even if,
or because of we are quite in a rush we follow an XP process, applying
the whole set of practices like TDD, continuous integration, small
releases, etc. We don't want just to hack some code together. We are
quite experienced in java, a lot less in ruby, and even less in perl,
but with the latter we have at least an experienced person.
I'm sharing this with you both for hearing your opinions and for letting
you understand which kind of silly things may encourage or prevent ruby
adoption.
Thanks!
Giuliano
of pages and the following features:
*) users are maintained within a persistent repository (it could be as
easy as a yaml file, we are talking about no more than 10 users); first
page is a login page, of course
*) through these pages (around 10, warning & error pages included) a
user can invoke a transaction on a legacy system ==> we already have
java code that encapsulate a transaction or we can rewrite it in ruby,
it is a simple text based protocol over sockets, just like a telnet session
*) some transactions may not be invoked directly through the webapp, but
they are scheduled instead for late night execution; of course, we can
store these info in a yaml file too, there is no real need of a
relational db
*) we are talking initially about 2-3 transactions per day (not very
hard, isnt'it?)
We have an (almost-)ready framework in java for building webapps.
Although that, we are asking ourselves if developing in ruby could be a
better choice, mainly in terms of development speed. Infact, having
around 2 or 3 transactions per day I don't think that application speed
really matters (as long as users will not complain). We are just ruby
newbies, but we like it. We are considering perl too, because in our
team there's a perl fan, sponsoring mason for this project.
We can develop:
*) everything in java
*) mix ruby (html-based frontend, maybe fastcgi or mod_ruby) and java
(transaction invocation)
*) everything in ruby,
*) mix perl and java (we have tried a 30' spike with Inline::Java, it
seems to work)
*) everything in perl.
If we mix ruby & java I was thinking about using rjni or rjava.
One thing to take into account is that the application will be deployed
on a Sun cluster (5500, I guess) and I am not sure that the customer
will permit to compile the ruby interpreter there. They are quite
"conservative", if you know what I mean.
I know that this depends on os version, but may I expect to find in any
"official" place an already compiled interpreter for Solaris /whatever/?
This thing may affect negatively the whole choice. Unfortunately the
customer is pretty rigid on things like that.
Apart from that, development speed is the most important thing in this
project: not very comfortable, but sometimes you have to do it. Even if,
or because of we are quite in a rush we follow an XP process, applying
the whole set of practices like TDD, continuous integration, small
releases, etc. We don't want just to hack some code together. We are
quite experienced in java, a lot less in ruby, and even less in perl,
but with the latter we have at least an experienced person.
I'm sharing this with you both for hearing your opinions and for letting
you understand which kind of silly things may encourage or prevent ruby
adoption.
Thanks!
Giuliano