While the coming Rack 1.0 has been proven useful for small sites, it is by no means sufficient for the requirements of today's Enterprise. I therefore propose Rack 2.0, where we adopt several important design decisions from J2EE:
* Rack applications now need to subclass from Org::Chneukirchen::Rack::AbstractApplication and implement these methods: #init, #service, #destroy. Instead of getting an env hash and returning a tuple, #service now gets two opaque objects, instances of Org::Chneukirchen::Rack::AbstractRequest and Org::Chneukirchen::Rack::AbstractResponse. To generate output, simply run response.getWriter.println("foo"). Imperative programmers will love it! Don't forget to #close the writer, though.
* Rackup, which obviously was just a quick hack, gets converted from a DSL to a proper XML configuration file, for example:
* For deployment, we now use .rar files that contain Rubygems and the stuff generated by raven. Just stuff everything in there and pay people to deploy it to you. This will create a whole new Ruby industry.
I hope you'll enjoy these new features and Rack 2.0 will become popular in The Enterprise.
> While the coming Rack 1.0 has been proven useful for small sites, it > is by no means sufficient for the requirements of today's Enterprise. > I therefore propose Rack 2.0, where we adopt several important design > decisions from J2EE:
> * Rack applications now need to subclass from > Org::Chneukirchen::Rack::AbstractApplication and implement these > methods: #init, #service, #destroy. Instead of getting an env hash > and returning a tuple, #service now gets two opaque objects, > instances of Org::Chneukirchen::Rack::AbstractRequest and > Org::Chneukirchen::Rack::AbstractResponse. To generate output, > simply run response.getWriter.println("foo"). Imperative > programmers will love it! Don't forget to #close the writer, though.
> * Rackup, which obviously was just a quick hack, gets converted from a > DSL to a proper XML configuration file, for example:
> * For deployment, we now use .rar files that contain Rubygems and the > stuff generated by raven. Just stuff everything in there and pay > people to deploy it to you. This will create a whole new Ruby > industry.
> I hope you'll enjoy these new features and Rack 2.0 will become > popular in The Enterprise.
+1 on the fluent interface provided by that custom xml dsl. Much safer than executing ruby code, especially considering it could be used to override methods on built in classes. I know its early, but maybe we should start thinking about rack 3.0 development. I think automatic deployment in the cloud should be the focus, preferably on the azure platform, which is built on top of the rock-solid .NET framework. The browsers are the cloud!