Monday, January 15, 2007
Can Ruby on Rails do what I want?
The solution we have been brainstorming has two different problem spaces that I have been busting my brains on figuring out exactly how to accomplish. The first problem is how to externalize authorization from Ruby on Rails applications. There doesn't seem to be a great place to build the hooks, or at least it isn't obvious to me.
The second problem that I can't quite figure out is how to build an application that requires reflexive questioning. For example, let's say I wanted to create a Rails application to track the responses of folks in large enterprises who believe that use Smalltalk, Java, Ruby on Rails, COBOL and other languages. On the first screen, I would like to ask them to choose which langagues they use and then click on submit. On the following page, for each of the languages chosen, I would then like to ask them if they are using it for enterprise applications, utility functions, or downstream support systems. Depending on which combinatio of answers they choose for each application, I would then like to ask them the characteristics of the folks using them. The ideal solution would not be for me to code every possible branch but to somehow declare reflexive relationships within a markup language.
If anyone in the Ruby on Rails community has ideas, I would love to know how they could be accomplished. On another note, I did learn that Netbeans recently added support for Ruby. Kudos to folks at Sun.
One aspect in using Rails that I really, really, really wish were discussed within an enterprise context has absolutely zero to do with developer productivity but the other aspects of Ruby on Rails that is where enterprises spend a vast majority of their time.
Software developers writing code is increasingly becoming less and less of the overall time spent on a software project. Quality assurance increases as software complexity increases and Ruby on Rails may be the answer. Ruby and its dynamic nature goes well beyond the JUnit stuff us Java types use by providing an infrastructure to do functional tests, create mock objects and even do integration tests without all the hassle of check-in/check-out.
Another capability that should be amplified is in its support for AJAX. We don't have to either go out and buy a multitude of frameworks and have that painful integration conversation when Rails includes everything you need in the box. The funny thing is that within many enterprises who have gone buckwild buying into SOA, they have went out and bought wonderful books, overpriced ESBs, etc and having sold their executives that everything they need to better integrate now have to revisit this situation now that folks realize that REST may be the better model. So, minimally even if Java is open source, Rails may save monies from a procurement perspective.
Awhile back, I asked if Ruby on Rails is enterprise ready and folks disagreed not as a matter of fact, but as a matter of opinion. One of the disagreements that folks raised was in terms of one of my questions regarding whether large consulting firms were publicly talking about it. Some folks felt that this was the wrong question. I can now say as a matter of fact that if you aren't familiar with Zak Mandhro of Bearingpoint, you should be as now he has invalidated several of my earlier hypothesis. He is also the project lead for RORXML and UDDI4R in which I think has the potential of making some analyst noise. If you happen to see him, please give him a round of applause.
I hope others step up and continue to prove me wrong as the world will be a better place when this happens. Maybe folks in the Rails community while ignoring us enterprisey folks didn't realize that they are really helping us in disguise...
Links to this post: