<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Is the Enterprise world Rails ready?	</title>
	<atom:link href="https://programmingzen.com/is-the-enteprise-world-rails-ready/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/</link>
	<description>Meditations on programming, startups, and technology</description>
	<lastBuildDate>Sat, 26 Apr 2008 01:43:53 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		By: nick		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3538</link>

		<dc:creator><![CDATA[nick]]></dc:creator>
		<pubDate>Sat, 26 Apr 2008 01:43:53 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3538</guid>

					<description><![CDATA[The real criticism I can hold against the Rails core team is their failure to provide solutions for large rails applications (in complexity). Enterprise apps tend to be large with lots of special cases and crazy requirements, and Rails doesn&#039;t have anything to help with this problem. It&#039;s still better (in my opinion) than anything else out there, but it needs some help.
&lt;br/&gt;
Ever try coding an application with 50 controllers and 75 models? Then you&#039;ll know what I&#039;m talking about.
&lt;br/&gt;
We just need some sort of conventions to deal with it. So its still easy to create a todo list, but also easy to package pieces of functionality up into self contained entities.
&lt;br/&gt;
But since the Rails core team and 37 signals targets simplistic, stripped down web applications (which I like!), they have no use for these types of features in the framework. 
&lt;br/&gt;
In fact, the Rails core is downright hostile to Engines, a Rails framework extension that seriously tried to deal with the problem. They also added components in, screwed up the implementation, then told us all that no one should ever need components anyways and just use spaghetti code consisting of before_filters everywhere and partials. 
&lt;br/&gt;
If Rails core cared about the issue enough, they would have integrated Engines or built their own alternative in order to allow Rails applications to be packaged up as components and working. There&#039;s a reason the Django community is taking off, its because they solved this problem. Django apps are extremely scalable in functionality because you can partition pieces off into components that encapsulate large chunks of functionality and work well together.
&lt;br/&gt;
But the state things are in now, Rails Engines is unusable, Rails is difficult for large apps, and people would rather blame the enterprises for not adopting the attitude that all web apps should be variations on todo lists and blogs.]]></description>
			<content:encoded><![CDATA[<p>The real criticism I can hold against the Rails core team is their failure to provide solutions for large rails applications (in complexity). Enterprise apps tend to be large with lots of special cases and crazy requirements, and Rails doesn&#8217;t have anything to help with this problem. It&#8217;s still better (in my opinion) than anything else out there, but it needs some help.<br />
<br />
Ever try coding an application with 50 controllers and 75 models? Then you&#8217;ll know what I&#8217;m talking about.<br />
<br />
We just need some sort of conventions to deal with it. So its still easy to create a todo list, but also easy to package pieces of functionality up into self contained entities.<br />
<br />
But since the Rails core team and 37 signals targets simplistic, stripped down web applications (which I like!), they have no use for these types of features in the framework.<br />
<br />
In fact, the Rails core is downright hostile to Engines, a Rails framework extension that seriously tried to deal with the problem. They also added components in, screwed up the implementation, then told us all that no one should ever need components anyways and just use spaghetti code consisting of before_filters everywhere and partials.<br />
<br />
If Rails core cared about the issue enough, they would have integrated Engines or built their own alternative in order to allow Rails applications to be packaged up as components and working. There&#8217;s a reason the Django community is taking off, its because they solved this problem. Django apps are extremely scalable in functionality because you can partition pieces off into components that encapsulate large chunks of functionality and work well together.<br />
<br />
But the state things are in now, Rails Engines is unusable, Rails is difficult for large apps, and people would rather blame the enterprises for not adopting the attitude that all web apps should be variations on todo lists and blogs.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Lasse Durucz		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3505</link>

		<dc:creator><![CDATA[Lasse Durucz]]></dc:creator>
		<pubDate>Thu, 24 Apr 2008 09:27:13 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3505</guid>

					<description><![CDATA[The question whether the enterprise is ready for Rails is interesting and relevant. My company started out evaluating Rails and did a rather systematical analysis. We concluded that Rails would outperform our existing web development which is java, but we needed to adapt to the existing infrastructure to use it for more than simple standalone webapps.
&lt;br/&gt;
The biggest challenge was how Rails would integrate with existing (legacy) systems. These are all java (pojo) and oracle, with a lot of stored procedures and prepared statements. The system architecture is layered with frontend (web and java) clients and backend servers all behind firewalls and proxy’s.
&lt;br/&gt;
Layers: browser &#124; proxy &#124; web clients &#124; backend servers &#124; database
&lt;br/&gt;
For security reasons there is no way we will put a Rails client directly in front of the database. The rails client has to be connected to a backend server, and most transactions between the client and server must be cryptographically encrypted and signed.
&lt;br/&gt;
Another requirement is that the business logic must be available between the backend servers through transaction handlers.
&lt;br/&gt;
We examined 3 different solutions in a pragmatic way, all with the mindset of keeping as much good Rails stuff as possible. These include migrations, Rspec and CI, MVC and AR.
&lt;br/&gt;
1)	Jruby backend and REST client. Declined, because jruby on the backend side is not trivial to intergrate with the existing java servers. REST client doesn’t support relationship like has_many.&lt;br/&gt;
2)	DRB (jruby) backend and Rails client. Declined, because DRB backend and java ingeneration does not work properly. RPC creates lot of traffic between client and server.&lt;br/&gt;
3)	Rails (jruby) client and java server. This works fine, with a twist!
&lt;br/&gt;
To elaborate a bit on 3. To be able to use as much as possible of Rails we created a “java adapter”. Most of Rails is “in memory” operations and all the good stuff in MVC and html-helpers is nice. But the beauty lies in AR. Ultimately AR is persisting data with normal CRUD operations. Our “java adapter” hooks in on these operations, and connects to a java (socket) server which “knows” what to do base upon naming conventions. The persistence is all prepared statements in the java server, and the server handlers are available in pure java to all the other backend servers. We can use our secure transaction framework for encryption and signing as well.
&lt;br/&gt;
To be able to use the full Rails stack during development, the developers have the usual mysql local database and uses migrations. These are handed over to the DBA which performs the art of database refactoring. We developed utilities that create code for the java server handlers. This is done by parsing the SQL created by AR in combination with the CRUD operation.
&lt;br/&gt;
The first application based upon this “framework”, a rich UI RBAC client, is going live in June.
&lt;br/&gt;
So my conclusion must be that “our enterprise” is ready and so is Rails !]]></description>
			<content:encoded><![CDATA[<p>The question whether the enterprise is ready for Rails is interesting and relevant. My company started out evaluating Rails and did a rather systematical analysis. We concluded that Rails would outperform our existing web development which is java, but we needed to adapt to the existing infrastructure to use it for more than simple standalone webapps.<br />
<br />
The biggest challenge was how Rails would integrate with existing (legacy) systems. These are all java (pojo) and oracle, with a lot of stored procedures and prepared statements. The system architecture is layered with frontend (web and java) clients and backend servers all behind firewalls and proxy’s.<br />
<br />
Layers: browser | proxy | web clients | backend servers | database<br />
<br />
For security reasons there is no way we will put a Rails client directly in front of the database. The rails client has to be connected to a backend server, and most transactions between the client and server must be cryptographically encrypted and signed.<br />
<br />
Another requirement is that the business logic must be available between the backend servers through transaction handlers.<br />
<br />
We examined 3 different solutions in a pragmatic way, all with the mindset of keeping as much good Rails stuff as possible. These include migrations, Rspec and CI, MVC and AR.<br />
<br />
1)	Jruby backend and REST client. Declined, because jruby on the backend side is not trivial to intergrate with the existing java servers. REST client doesn’t support relationship like has_many.<br />
2)	DRB (jruby) backend and Rails client. Declined, because DRB backend and java ingeneration does not work properly. RPC creates lot of traffic between client and server.<br />
3)	Rails (jruby) client and java server. This works fine, with a twist!<br />
<br />
To elaborate a bit on 3. To be able to use as much as possible of Rails we created a “java adapter”. Most of Rails is “in memory” operations and all the good stuff in MVC and html-helpers is nice. But the beauty lies in AR. Ultimately AR is persisting data with normal CRUD operations. Our “java adapter” hooks in on these operations, and connects to a java (socket) server which “knows” what to do base upon naming conventions. The persistence is all prepared statements in the java server, and the server handlers are available in pure java to all the other backend servers. We can use our secure transaction framework for encryption and signing as well.<br />
<br />
To be able to use the full Rails stack during development, the developers have the usual mysql local database and uses migrations. These are handed over to the DBA which performs the art of database refactoring. We developed utilities that create code for the java server handlers. This is done by parsing the SQL created by AR in combination with the CRUD operation.<br />
<br />
The first application based upon this “framework”, a rich UI RBAC client, is going live in June.<br />
<br />
So my conclusion must be that “our enterprise” is ready and so is Rails !</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Maximilian Schulz		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3477</link>

		<dc:creator><![CDATA[Maximilian Schulz]]></dc:creator>
		<pubDate>Mon, 21 Apr 2008 14:51:18 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3477</guid>

					<description><![CDATA[Thank you Antonio...]]></description>
			<content:encoded><![CDATA[<p>Thank you Antonio&#8230;</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jeff Self		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3476</link>

		<dc:creator><![CDATA[Jeff Self]]></dc:creator>
		<pubDate>Mon, 21 Apr 2008 13:12:23 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3476</guid>

					<description><![CDATA[I don&#039;t believe Rails is or will ever be a good fit in the &quot;enterprise&quot;.  Why?  The enterprise is where existing data lives.  While Rails is fantastic for writing standalone web apps, it sucks when trying to use legacy data.  Rails strengths are its weaknesses in the enterprise.  This is why I can&#039;t understand how big business latched onto Rails so quickly.  Rails also won&#039;t fit it in well at my company.  Besides the fact it doesn&#039;t work well with legacy data, it also doesn&#039;t work with our development process.  DBA&#039;s have control over the databases.  They create them.  Rails migrations would never fly here.

I believe Django has a better chance at working in the enterprise.  Unfortunately, we don&#039;t have a DB2 driver yet for Django (thats for another discussion that I brought up last month on the django-developers site) but I think Django works much better with existing data than Rails does.  Django does have one glaring weakness however.  It only supports a single database at a time.  This needs to be addressed.

I&#039;m currently using ColdFusion at work and it definitely works good in my company.  Our data is in DB2 that sits on IBM mainframe.  I can connect to as many databases as I want.  I just wish Django had this capability as I find it much more productive than ColdFusion.

So it really comes down to use the right tool for the job.  Is Rails enterprise ready?  Not in my company.  But thats not a criticism.  Its not a fault with Rails, its just that Rails wasn&#039;t designed for my environment.  And thats fine.  If I need a standalone web app, I won&#039;t hesitate to consider Rails.]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t believe Rails is or will ever be a good fit in the &#8220;enterprise&#8221;.  Why?  The enterprise is where existing data lives.  While Rails is fantastic for writing standalone web apps, it sucks when trying to use legacy data.  Rails strengths are its weaknesses in the enterprise.  This is why I can&#8217;t understand how big business latched onto Rails so quickly.  Rails also won&#8217;t fit it in well at my company.  Besides the fact it doesn&#8217;t work well with legacy data, it also doesn&#8217;t work with our development process.  DBA&#8217;s have control over the databases.  They create them.  Rails migrations would never fly here.</p>
<p>I believe Django has a better chance at working in the enterprise.  Unfortunately, we don&#8217;t have a DB2 driver yet for Django (thats for another discussion that I brought up last month on the django-developers site) but I think Django works much better with existing data than Rails does.  Django does have one glaring weakness however.  It only supports a single database at a time.  This needs to be addressed.</p>
<p>I&#8217;m currently using ColdFusion at work and it definitely works good in my company.  Our data is in DB2 that sits on IBM mainframe.  I can connect to as many databases as I want.  I just wish Django had this capability as I find it much more productive than ColdFusion.</p>
<p>So it really comes down to use the right tool for the job.  Is Rails enterprise ready?  Not in my company.  But thats not a criticism.  Its not a fault with Rails, its just that Rails wasn&#8217;t designed for my environment.  And thats fine.  If I need a standalone web app, I won&#8217;t hesitate to consider Rails.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: szeryf		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3466</link>

		<dc:creator><![CDATA[szeryf]]></dc:creator>
		<pubDate>Mon, 21 Apr 2008 09:32:05 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3466</guid>

					<description><![CDATA[There&#039;s another way you didn&#039;t mention: quit your boring, frustrating job at Big Enterprise Co. and start working at New Exciting Startup company :)]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s another way you didn&#8217;t mention: quit your boring, frustrating job at Big Enterprise Co. and start working at New Exciting Startup company 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Antonio Cangiano		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3465</link>

		<dc:creator><![CDATA[Antonio Cangiano]]></dc:creator>
		<pubDate>Mon, 21 Apr 2008 09:03:06 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3465</guid>

					<description><![CDATA[Here you go, Stefan: http://www.scribemedia.org/2006/06/30/dave-thomas]]></description>
			<content:encoded><![CDATA[<p>Here you go, Stefan: <a href="http://www.scribemedia.org/2006/06/30/dave-thomas" rel="nofollow ugc">http://www.scribemedia.org/2006/06/30/dave-thomas</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Stefan Tilkov		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3463</link>

		<dc:creator><![CDATA[Stefan Tilkov]]></dc:creator>
		<pubDate>Mon, 21 Apr 2008 08:47:53 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3463</guid>

					<description><![CDATA[I wanted to take a look at the Dave Thomas keynote to see how many of his concerns have been addressed in the meantime, but couldn&#039;t find it online. Anybody have a link?]]></description>
			<content:encoded><![CDATA[<p>I wanted to take a look at the Dave Thomas keynote to see how many of his concerns have been addressed in the meantime, but couldn&#8217;t find it online. Anybody have a link?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: This Week in Ruby (April 21, 2008) &#124; Zen and the Art of Programming		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3462</link>

		<dc:creator><![CDATA[This Week in Ruby (April 21, 2008) &#124; Zen and the Art of Programming]]></dc:creator>
		<pubDate>Mon, 21 Apr 2008 08:20:42 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3462</guid>

					<description><![CDATA[[...] the more philosophical side, I published an article called Is the Enterprise world Rails ready? in which I discuss Rails&#8217; origins and their consequences on Rails&#8217; applicability within [...]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] the more philosophical side, I published an article called Is the Enterprise world Rails ready? in which I discuss Rails&#8217; origins and their consequences on Rails&#8217; applicability within [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Antonio Cangiano		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3460</link>

		<dc:creator><![CDATA[Antonio Cangiano]]></dc:creator>
		<pubDate>Mon, 21 Apr 2008 07:12:06 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3460</guid>

					<description><![CDATA[@chromatic, I see where you&#039;re coming from but I assure you that there isn&#039;t any intention of distorting history. In fact, I believe we are saying the same thing (more or less). Yes, MVC existed before Rails, yes there were plenty of skilled web developers who were aware of the architectural pattern before 2004/2005. Read my sentence carefully though: &quot;it made the MVC paradigm an accepted and almost expected reality in other web frameworks that come out later&quot;. Most of the web frameworks created after Rails were influenced into adopting the MVC pattern because Rails did so very successfully. The pattern was accepted and well understood before 2005, but that doesn&#039;t mean that it was as common and expected in other frameworks, like it is today. ActiveRecord wasn&#039;t a new pattern either, but Rails made it more popular/mainstream as well. In any case, this is a tiny detail out of a larger article whose main point has nothing to do with MVC. Do you have any comments on Rails and the Enterprise?
&lt;br/&gt;
@Joe: a modular framework makes life easier in the sense that you can rewrite a single component, and still take advantage of the rest of the framework. You also take advantage of more possible combinations for the ORM, template engine, etcetera. Merb is a promising framework, and I&#039;ve been watching it closely. But it will still require that the crucial components that can be plugged in, are written with enterprise needs in mind.]]></description>
			<content:encoded><![CDATA[<p>@chromatic, I see where you&#8217;re coming from but I assure you that there isn&#8217;t any intention of distorting history. In fact, I believe we are saying the same thing (more or less). Yes, MVC existed before Rails, yes there were plenty of skilled web developers who were aware of the architectural pattern before 2004/2005. Read my sentence carefully though: &#8220;it made the MVC paradigm an accepted and almost expected reality in other web frameworks that come out later&#8221;. Most of the web frameworks created after Rails were influenced into adopting the MVC pattern because Rails did so very successfully. The pattern was accepted and well understood before 2005, but that doesn&#8217;t mean that it was as common and expected in other frameworks, like it is today. ActiveRecord wasn&#8217;t a new pattern either, but Rails made it more popular/mainstream as well. In any case, this is a tiny detail out of a larger article whose main point has nothing to do with MVC. Do you have any comments on Rails and the Enterprise?<br />
<br />
@Joe: a modular framework makes life easier in the sense that you can rewrite a single component, and still take advantage of the rest of the framework. You also take advantage of more possible combinations for the ORM, template engine, etcetera. Merb is a promising framework, and I&#8217;ve been watching it closely. But it will still require that the crucial components that can be plugged in, are written with enterprise needs in mind.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Joe		</title>
		<link>https://programmingzen.com/is-the-enteprise-world-rails-ready/#comment-3459</link>

		<dc:creator><![CDATA[Joe]]></dc:creator>
		<pubDate>Mon, 21 Apr 2008 06:36:36 +0000</pubDate>
		<guid isPermaLink="false">http://antoniocangiano.com/2008/04/20/is-the-enteprise-world-rails-ready/#comment-3459</guid>

					<description><![CDATA[Is there a better way?

What about a framework that merely encourages choice of ORM, View Engine, etc, like Merb?  That would solve many of the issues mentioned in this article.]]></description>
			<content:encoded><![CDATA[<p>Is there a better way?</p>
<p>What about a framework that merely encourages choice of ORM, View Engine, etc, like Merb?  That would solve many of the issues mentioned in this article.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
