Andy Meyer
2008-Dec-13 11:23 UTC
Is Rails suitable for highly customized standard software
Hello, I am working in a small software company. We are developing business applications for a very niche industry. At the moment our software products are mainly fat client windows applications which are accessing different kinds of database servers. Now we plan to slowly move to web applications. We do not host the applications for our customers, so it is necessary that we ship a complete solution which is deployed at the customer site. In total we will have about 20 to 40 customers deploying our web application. Unfortunately every customer needs a specific customized user interface and sequence of dialogues, but the general business logic is the same. So my question: Is Ruby on Rails capable for this kind of requirements? A colleague of me has already begun to develop a complete new web application framework in pure java and servlets without using any existing web application framework technology. He has almost no background in web applications and is doing it all alone. My thinking is that this strategy is a big mistake. In 2008 it is essential to use a mature web application framework for a small company with not more than 3 web developers. Developing a own new framework makes no sense at all. Especially for a small company with a very niche market. Now I am looking for convincing arguments for a discussion with our boss. Any help would be very much appreciated. Regards, Andy -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Andrew Bloom
2008-Dec-13 20:50 UTC
Re: Is Rails suitable for highly customized standard software
I would say go for it. There are a number of ways to approach your situations. A simple solution might be to create plugins with models and controllers, and build a different app for each client, basically providing the views and configuration. More complex and powerful alternatives exist of course. On Dec 13, 5:23 am, Andy Meyer <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Hello, I am working in a small software company. We are developing > business applications for a very niche industry. > At the moment our software products are mainly fat client windows > applications which are accessing different kinds of database servers. > Now we plan to slowly move to web applications. We do not host the > applications for our customers, so it is necessary that we ship a > complete solution which is deployed at the customer site. > In total we will have about 20 to 40 customers deploying our web > application. > > Unfortunately every customer needs a specific customized user interface > and sequence of dialogues, but the general business logic is the same. > > So my question: Is Ruby on Rails capable for this kind of requirements? > > A colleague of me has already begun to develop a complete new web > application framework in pure java and servlets without using any > existing web application framework technology. He has almost no > background in web applications and is doing it all alone. > My thinking is that this strategy is a big mistake. In 2008 it is > essential to use a mature web application framework for a small company > with not more than 3 web developers. > Developing a own new framework makes no sense at all. Especially for a > small company with a very niche market. > > Now I am looking for convincing arguments for a discussion with our > boss. > Any help would be very much appreciated. > Regards, > Andy > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Andy Meyer wrote:> Hello, I am working in a small software company. We are developing > business applications for a very niche industry. > At the moment our software products are mainly fat client windows > applications which are accessing different kinds of database servers. > Now we plan to slowly move to web applications. We do not host the > applications for our customers, so it is necessary that we ship a > complete solution which is deployed at the customer site. > In total we will have about 20 to 40 customers deploying our web > application. > > Unfortunately every customer needs a specific customized user interface > and sequence of dialogues, but the general business logic is the same. > > So my question: Is Ruby on Rails capable for this kind of requirements?Absolutely, if you can set some ground rules. What you are selling is not a finished app, but a series of feature requests. To solve each feature request as soon as possible, you need a Capistrano account on your customers'' servers. That means, each time you finish a request, you enter ''cap deploy'', and the end users'' experience upgrades in real-time, right between page hits. On your side, to satisfy these feature requests, you need highly decoupled code, with absolutely saturating automated tests. That is what Model View Controller and unit testing are all about. Each time you make one tiny edit, you run all the tests for that model, view, or controller. If the edit is for a feature for one customer, the tests defend the user experience for all the other customers.> A colleague of me has already begun to develop a complete new web > application framework in pure java and servlets without using any > existing web application framework technology. He has almost no > background in web applications and is doing it all alone.Unless he is a supergenius who deserves to become our next overlord, he will epic-fail. Your goal now is to prevent the inevitable, as soon as possible.> My thinking is that this strategy is a big mistake. In 2008 it is > essential to use a mature web application framework for a small company > with not more than 3 web developers.Absolutely. You will spend all your time on the plumbing. May I ask if this guy is working alone, long hours, at home, and without unit tests or frequent releases?> Developing a own new framework makes no sense at all. Especially for a > small company with a very niche market.Rails is exactly what you need. Firstly, it is dynamic, so you can do much more stuff in much fewer lines of code than Java. Some guestimates place the ratio of code lines at 1 to 10. Next, Rails leverages unit tests, so you can write new tests that target high-level things, without reinventing _their_ plumbing. Next, Rails makes "metadata" rather easy. You will soon discover that each customer needs a different configuration. This topic is called "Software Product Lines" - look it up. As you add configurations, you will add unit tests that cross-check their methods. The more product lines the better, because the configurations and unit tests work together to cross-test everything, and soak-test all your code abilities. These techniques do not require heroism. They require small, co-located teams, typically pair-programmers, who work reasonable hours. A week of work like this consists of collating the feature requests with highest business value, knocking each one down, and deploying the application when each one is finish. Your colleague is raising the risk much higher than you need. -- Phlip --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---