<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Social Glass &#187; RubyOnRails</title>
	<atom:link href="http://www.socialglass.com/tags/rubyonrails/feed" rel="self" type="application/rss+xml" />
	<link>http://www.socialglass.com</link>
	<description>All Things Relevant to a Technologist</description>
	<lastBuildDate>Tue, 25 May 2010 16:22:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Hear the Enterprise RoR</title>
		<link>http://www.socialglass.com/hear-the-enterprise-ror</link>
		<comments>http://www.socialglass.com/hear-the-enterprise-ror#comments</comments>
		<pubDate>Wed, 30 Jan 2008 18:04:56 +0000</pubDate>
		<dc:creator>Jeremy Thomas</dc:creator>
				<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[enterprise 2.0]]></category>

		<guid isPermaLink="false">http://www.socialglass.com/archives/188</guid>
		<description><![CDATA[Susan Scrupski recently wrote about how the likes of Tim Bray feel that Ruby on Rails is a great option for the enterprise. I couldn&#8217;t agree more with Tim. I&#8217;ve been working closely with the framework in recent times and also built some demos with it back in my consulting days. Once I got over [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" alt="rails.png" id="image187" title="rails.png" src="http://www.socialglass.com/wp-content/uploads/2008/01/rails.png" />Susan Scrupski <a href="http://susanitsa.wordpress.com/2008/01/29/rails-rules-for-the-enterprise/" onclick="pageTracker._trackPageview('/outgoing/susanitsa.wordpress.com/2008/01/29/rails-rules-for-the-enterprise/?referer=');">recently wrote</a> about how the likes of <a href="http://en.wikipedia.org/wiki/Tim_Bray" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Tim_Bray?referer=');">Tim Bray</a> feel that <a href="http://rubyonrails.org/" onclick="pageTracker._trackPageview('/outgoing/rubyonrails.org/?referer=');">Ruby on Rails</a> is a great option for the enterprise.   I couldn&#8217;t agree more with Tim.  I&#8217;ve been working closely with the framework in recent times and also built some demos with it back in my consulting days.  Once I got over the differences between Java and Ruby I began to see the magic of how Rails makes it easy to build web pages, REST services and interact with databases.  A decent programmer can stand up a Ruby on Rails app much quicker than he can a Java or .NET app.  Period.</p>
<p>There are concerns, however, over RoR&#8217;s ability to scale. Last year, <a href="http://www.al3x.net/" onclick="pageTracker._trackPageview('/outgoing/www.al3x.net/?referer=');">Alex Payne</a>, developer at Twitter, <a href="http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/" onclick="pageTracker._trackPageview('/outgoing/www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/?referer=');">was asked</a> &#8220;How has Ruby on Rails been holding up to the increased load?&#8221;. One of the things Alex said was &#8220;All the convenience methods and syntactical sugar that<br />
makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise&#8221;.  In other words, &#8220;magic&#8221; = &#8220;slow&#8221;.</p>
<p>But these are issues that can be solved with conventional measures.  David Heinemeier of loudthinking.com <a href="http://www.loudthinking.com/arc/000479.html" onclick="pageTracker._trackPageview('/outgoing/www.loudthinking.com/arc/000479.html?referer=');">points out</a>:</p>
<blockquote><p>I&#8217;ve said it before, but it bears repeating: There&#8217;s nothing interesting about how Ruby on Rails scales. We&#8217;ve gone the easy route and merely followed what makes Yahoo!, LiveJournal, and other high-profile LAMP stacks scale high and mighty.  Take state out of the application servers and push it to database/memcached/shared network drive (that&#8217;s the whole Shared Nothing thang). Use load balancers between your tiers, so you have load balancers -> web servers -> load balancers -> app servers -> load balancers -> database/memcached/shared network drive servers. (Past the entry point, load balancers can just be software, like haproxy).  In a setup like that, you can add almost any number of web and app servers without changing a thing.</p></blockquote>
<p>Ruby on Rails faces the same scalability issues as other frameworks.  The solution to the problem, then, becomes relatively standard.  Share session information, load balance web servers, load balance application servers.</p>
<p>And let&#8217;s face it, enterprise applications will never need to contend with as many users as a web site like Twitter does.  The largest organizations have hundreds of thousands of people.  Not millions (and viral web sites need to scale to millions).</p>
<p>Given the speed of development and agility of the framework, I Ruby on Rails apps will increasingly disseminate across next generation enterprises &#8211; enterprises looking to implement Enterprise 2.0.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.socialglass.com/hear-the-enterprise-ror/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Google Enterprise Search XML API and Ruby on Rails</title>
		<link>http://www.socialglass.com/the-google-enterprise-search-xml-api-and-ruby-on-rails</link>
		<comments>http://www.socialglass.com/the-google-enterprise-search-xml-api-and-ruby-on-rails#comments</comments>
		<pubDate>Thu, 25 Oct 2007 03:42:40 +0000</pubDate>
		<dc:creator>Jeremy Thomas</dc:creator>
				<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://www.socialglass.com/archives/138</guid>
		<description><![CDATA[I&#8217;m a Java and C# guy. I&#8217;ve grown to be very comfortable with the two languages and associated frameworks (J2EE, ASP.NET), and can write programs that at least compile in each without having to search through the internet for examples. Hence my hesitation to learn Ruby &#8211; the language required for me to indulge in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a Java and C# guy.  I&#8217;ve grown to be very comfortable with  the two languages and associated frameworks (J2EE, ASP.NET), and can write programs that at least compile in each without having to search through the internet for examples.  Hence my hesitation to learn Ruby &#8211; the language required for me to indulge in <a href="http://rubyonrails.org" onclick="pageTracker._trackPageview('/outgoing/rubyonrails.org?referer=');">Ruby on Rails</a>.  But everybody&#8217;s doing it, and I don&#8217;t want to be left behind.</p>
<p>I decided to build a Ruby on Rails-based enterprise search application leveraging the <a href="http://code.google.com/enterprise/documentation/xml_reference.html#results_xml" onclick="pageTracker._trackPageview('/outgoing/code.google.com/enterprise/documentation/xml_reference.html_results_xml?referer=');">Google Search Appliance (GSA) REST API</a>.  My aim was to show that A) Ruby on Rails is an agile framework leading to quick application development and B) the extensibility of the Search API (being that it can be leveraged from virtually any programming framework).</p>
<p>Here&#8217;s what I did:</p>
<p>I created controller class called Search Controller that manages the API invocation.  This is done in an action handler method called <em>on_search</em>.  This method invokes the GSA API, then converts the XML response into a REXML::Document object (part of the Ruby on Rails library.<br />
<img id="image139" alt="on_search.gif" src="http://www.socialglass.com/wp-content/uploads/2007/10/on_search.gif" /></p>
<p><em>url_escape</em> is a nifty little method I found here that converts a search term like, say &#8220;technology integration&#8221; into &#8220;technology%20integration&#8221;.  If you don&#8217;t do this things will break. <em>params[:query]</em> contains the search term the user enters into the search box on my <em>search.rhtml</em> page.  Last the <em>@search_results</em> object is stored in the session and is a container for a collection of search results plus some global information about the search (like result_count and search_time).  This object is bound back to my <em>search.rhtml</em> page to display the search results.<br />
Next, I had to pull relevant information out of the XML response and add it to user-friendly objects that are then used to display the results on the view:</p>
<p><img alt="parse_search_results.gif" id="image140" src="http://www.socialglass.com/wp-content/uploads/2007/10/parse_search_results.gif" /></p>
<p>This method leverages &#8216;rexml/document&#8217; to parse XML, i.e. <em>search_response.elements["GSP/RES/M"].text</em>.  &#8220;GSP&#8221; is the root node in the GSA XML API response document, and in this example I&#8217;m pulling out the result count, appropriately called &#8220;M&#8221;, inside the &#8220;RES&#8221; element under the document root.  Parsing continues where I iterate through each search result, pull out the relevant information (snippet, url, title), add it to a <em>SearchResult</em> object, then add said object to the <em>results</em> collection in the <em>SearchResults </em>object (which, again, is stored in the session).</p>
<p>That&#8217;s it.  In two quick and easy methods I can invoke the GSA XML API and parse its response into usable objects that I bind to my view.  There is a lot that I&#8217;m not doing (i.e. good error handling), but I&#8217;ve at least proven what I wanted to.  I&#8217;ve done this before in Java, and it took me less time to do it in Ruby even though I was learning the framework as I went.</p>
<p>I love Ruby on Rails.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.socialglass.com/the-google-enterprise-search-xml-api-and-ruby-on-rails/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ruby is Slow</title>
		<link>http://www.socialglass.com/ruby-is-slow</link>
		<comments>http://www.socialglass.com/ruby-is-slow#comments</comments>
		<pubDate>Fri, 13 Apr 2007 02:52:42 +0000</pubDate>
		<dc:creator>Jeremy Thomas</dc:creator>
				<category><![CDATA[JEE]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[adoption]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.socialglass.com/archives/55</guid>
		<description><![CDATA[I find it interesting as a blogger that, several months after a post is written, I get a flurry of comments on it. One tends to think that people only read the latest posts, but the evidence seems to contradict this perception. Anyway, I found the recent post at rc3.org about RubyonRails being slow very [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" alt="SlowTurle" id="image56" title="SlowTurle" src="http://www.socialglass.com/wp-content/uploads/2007/04/images.jpg" />I find it interesting as a blogger that, several months after a post is written, I get a flurry of comments on it.   One tends to think that people only read the latest posts, but the evidence seems to contradict this perception.</p>
<p>Anyway, I found the recent post at <a href="http://rc3.org/2007/04/twitter_develop.php" onclick="pageTracker._trackPageview('/outgoing/rc3.org/2007/04/twitter_develop.php?referer=');">rc3.org</a> about RubyonRails being slow very interesting.  I <a href="http://www.socialglass.com/archives/24">posted a few months ago</a> about Java&#8217;s ability to scale with the long tail and recently received some well put <a href="http://www.socialglass.com/archives/24#comment-752">comments</a> indicating that the speed of Java is just fine, and that speed issues are generally caused by bad architecture.  I argued that the popularity of PHP and Rails over Java in the Web 2.0 space seemed to show that those languages/platforms were perceived to scale well with the long tail (whereas Java seems to be king inside the Enterprise, which tends to have a much lower user base).  It seems that, at least with Ruby on Rails, the perception was based more on hype than fact.<br />
Twitter&#8217;s recent popularity has been a good Stress and Volume Testing ground for Rails, which is a relatively new platform, and it seems that Rails is much slower than Java, PHP or Python platforms.  This idea is raised at rc3.org, where Rafe Colburn writes:</p>
<blockquote><p>I do wonder, though, if this kind of information [Twitter's statement that Rails is slow] is going to push some startups over to PHP or Java, even if they&#8217;d prefer the development efficiencies offered by Rails.</p></blockquote>
<p>I&#8217;m pulling for Java.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.socialglass.com/ruby-is-slow/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Project Management 2.0</title>
		<link>http://www.socialglass.com/basecamp</link>
		<comments>http://www.socialglass.com/basecamp#comments</comments>
		<pubDate>Mon, 26 Mar 2007 08:42:30 +0000</pubDate>
		<dc:creator>Jeremy Thomas</dc:creator>
				<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[adoption]]></category>
		<category><![CDATA[enterprise 2.0]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[use case]]></category>

		<guid isPermaLink="false">http://www.socialglass.com/archives/47</guid>
		<description><![CDATA[There&#8217;s been a lot of discussion about 37 Signal&#8217;s Basecamp over the past few months. I was curious, and from a timing perspective it just so happened that I was leading up a new project, so I went over to the site and created a new account. I&#8217;ve got a team of about 5 or [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="basecamplogo-small.png" id="image46" src="http://www.socialglass.com/wp-content/uploads/2007/03/basecamplogo-small.png" /> There&#8217;s been a lot of discussion about 37 Signal&#8217;s <a href="http://basecamphq.com/" onclick="pageTracker._trackPageview('/outgoing/basecamphq.com/?referer=');">Basecamp</a> over the past few months.  I was curious, and from a timing perspective it just so happened that I was leading up a new project, so I went over to the site and created a new account.  I&#8217;ve got a team of about 5 or 6 young and enthusiastic people working for me on the Strategy phase and the first thing I did was set them up.  The second thing I did was migrate the Milestones from my project plan to Basecamp, and I also added a few TODOs.</p>
<p>Within about an hour my RSS aggregator was buzzing with updates.  My team started posting messages (blogging), comments and content through the Writeboard (kind of like a wiki).</p>
<p>&#8220;Is this Enterprise 2.0?&#8221;, I asked myself.</p>
<p>Not quite, but close.</p>
<p>Basecamp is perhaps more structured than I&#8217;d expect an Enterprise 2.0 solution to be as it&#8217;s centered around project management (the notion of &#8220;Milestone&#8221; and &#8220;TODO&#8221; seems to me to be project oriented).  But the collaboration and capture of tacit knowledge elements are certainly there, and the signals, boy do I love the signals.  Maybe we can call this &#8220;Project 2.0&#8243;.</p>
<p>Anyway, I think the folks at 37 Signals have done a great job and I&#8217;m eager to try out their other products.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.socialglass.com/basecamp/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Can JEE Scale with the Long Tail?</title>
		<link>http://www.socialglass.com/can-jee-scale-with-the-long-tail</link>
		<comments>http://www.socialglass.com/can-jee-scale-with-the-long-tail#comments</comments>
		<pubDate>Wed, 24 Jan 2007 11:28:55 +0000</pubDate>
		<dc:creator>Jeremy Thomas</dc:creator>
				<category><![CDATA[JEE]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.socialglass.com/archives/24</guid>
		<description><![CDATA[I wrote a post a few weeks ago about styling JEE (aka J2EE, some people can&#8217;t shake the &#8220;2&#8243; even though we&#8217;re up to Java version 5 now) applications to give them a web 2.0 look and feel. Since then I got to thinking about JEE and whether or not it&#8217;s really relevant to the [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote a <a href="http://www.socialglass.com/archives/14">post</a> a few weeks ago about styling JEE (aka J2EE, some people can&#8217;t shake the &#8220;2&#8243; even though we&#8217;re up to Java version 5 now) applications to give them a web 2.0 look and feel.  Since then I got to thinking about JEE and whether or not it&#8217;s really relevant to the Web 2.0 world.</p>
<p>The issue is scalability.</p>
<p>I&#8217;ve spent the better part of my career with my head down, headphones on, techno music thumping, banging out J2EE-based (and some .NET) EAI solutions for large enterprises.   These applications, at best, were scoped to target a user base of 10,000, and we never expected to have more than a couple hundred concurrent web-based user sessions.</p>
<p>Contrast that to google.com which deals with a couple million concurrent user sessions.  And I know google.com is not JEE-based.  It&#8217;s likely built with a light-weight scripting language (probably Pearl or Python give my experience with Google and their enterprise applications) with a lot of load-balanced servers behind it.</p>
<p>I haven&#8217;t done any official research, but in my experience most of the web 2.0 sites I&#8217;ve come across have not been JEE-based either.  Most seem to run PHP (<a href="http://www.digg.com" onclick="pageTracker._trackPageview('/outgoing/www.digg.com?referer=');">digg.com</a>).  Some seem to run <a href="http://rubyonrails.org" onclick="pageTracker._trackPageview('/outgoing/rubyonrails.org?referer=');">Ruby on Rails</a>.  There&#8217;s one web 2.0 site that I know of that&#8217;s run on the JEE platform, and that&#8217;s <a href="http://zoho.com" onclick="pageTracker._trackPageview('/outgoing/zoho.com?referer=');">zoho.com</a> (the &#8220;.do&#8221; at the end of some of the links on zoho.com, i.e. http://wiki.zoho.com/jsp/ wikilogin.jsp?targetURL=%2Fregister.do,  is a &#8220;verb&#8221; in <a href="http://struts.apache.org/" onclick="pageTracker._trackPageview('/outgoing/struts.apache.org/?referer=');">Struts</a>, an opensource JEE model view controller from Apache).</p>
<p>The question is, can JEE scale with the <a href="http://www.web2journal.com/read/250062.htm" onclick="pageTracker._trackPageview('/outgoing/www.web2journal.com/read/250062.htm?referer=');">Long Tail</a>?  With internet access being nearly ubiquitous, websites will potentially have to handle hundreds of thousands of simultaneous transactions.  Is JEE, a framework that&#8217;s great for the enterprise where there are a relatively small amount of simultaneous transactions, appropriate for coping with world-wide scale?</p>
<p>I hope so.  But maybe lighter-weight, narrow-purposed scripting languages are more ideal.</p>
<p>Anyway, if you have experience with JEE dealing with &#8220;internet-sized&#8221; volumes, or if you know of any other JEE-based web 2.0 sites, please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.socialglass.com/can-jee-scale-with-the-long-tail/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>JEE and Web 2.0</title>
		<link>http://www.socialglass.com/jee-and-web-20</link>
		<comments>http://www.socialglass.com/jee-and-web-20#comments</comments>
		<pubDate>Wed, 20 Dec 2006 22:03:07 +0000</pubDate>
		<dc:creator>Jeremy Thomas</dc:creator>
				<category><![CDATA[JEE]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.socialglass.com/archives/8</guid>
		<description><![CDATA[It&#8217;s difficult not to mention Rich Internet Applications (RIAs) when talking about Web 2.0 or Enterprise 2.0. There&#8217;s one particular framework that stands out, and that&#8217;s Ruby on Rails. I have a lot of experience building enterprise applications in J2EE (or JEE as it&#8217;s called now) and .NET and wanted to understand what Ruby on [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s difficult not to mention <a href="http://en.wikipedia.org/wiki/Rich_Internet_application" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Rich_Internet_application?referer=');">Rich Internet Applications</a> (RIAs) when talking about Web 2.0 or Enterprise 2.0.  There&#8217;s one particular framework that stands out, and that&#8217;s <a href="http://rubyonrails.org/" onclick="pageTracker._trackPageview('/outgoing/rubyonrails.org/?referer=');">Ruby on Rails</a>.  I have a lot of experience building enterprise applications in J2EE (or JEE as it&#8217;s called now) and .NET and wanted to understand what Ruby on Rails was all about.</p>
<p>So, I bought <a href="http://www.pragmaticprogrammer.com/titles/rails/index.html" onclick="pageTracker._trackPageview('/outgoing/www.pragmaticprogrammer.com/titles/rails/index.html?referer=');">Agile Web Development with Rails &#8211; Second Edition</a>.  I read every page and did every tutorial (building a shopping cart application with a little AJAX magic).</p>
<p>Rails impressed me.  Ruby did not.  Ruby was invented in Japan in 1992 and was used without Rails until <a href="http://www.basecamphq.com/" onclick="pageTracker._trackPageview('/outgoing/www.basecamphq.com/?referer=');">Basecamp </a>came along and built Rails to &#8220;webify&#8221; Ruby.  From what I&#8217;ve seen thus far, the Rails (and GEM and Rake) framework could have been created for any language.  It seems that Basecamp had a bunch of Ruby programmers who one day decided to make Rails for Ruby because that&#8217;s what they knew.  If instead Basecamp had a bunch of Java programmers we could be dealing with Java on Rails (although Java requires compilation, Ruby does not, so Rails might have ended up a little different).</p>
<p>What don&#8217;t I like about Ruby?  For one thing, the method naming convention drives me nuts.  In Java the convention is to use camel-casing, i.e. <em>getCustomer()</em>.  But in Ruby, the convention is to use an &#8220;_&#8221;, i.e. <em>get_customer</em>.  Furthermore, I can optionally insert the &#8220;()&#8221; (<em>get_customer()</em>), it doesn&#8217;t matter.  Unbridled, the free-form and &#8220;flexible&#8221; nature of Ruby syntax could lead to unwieldy code, where one Ruby programmer finds it difficult to maintain another Ruby programmer&#8217;s code due simply to style differences (i.e. optional use of the <em>return</em> statement, optional use of <em>{}</em>).  Furthermore, it is always better to detect and debug errors at compiletime rather than runtime, as runtime errors can often go unnoticed or be the result of something that happened 3 method calls ago (Ruby is a scripting language and is thus not compiled).</p>
<p>Ok, perhaps I&#8217;m just stuck in my ways. But, after reading my book I wanted to see if I could implement some of the cool AJAX and <a href="http://script.aculo.us/" onclick="pageTracker._trackPageview('/outgoing/script.aculo.us/?referer=');">Scriptaculous</a> features in a JEE application.</p>
<p>The first MVC (model view controller) I learned was ASP.NET.  After 2 years of that I switched the JEE world and found a roughly comparable framework in Java Server Faces (JSF), and specifically Apache&#8217;s <a href="http://myfaces.apache.org/" onclick="pageTracker._trackPageview('/outgoing/myfaces.apache.org/?referer=');">MyFaces</a> implementation.  JSF has a lot of support from the heavyweights in the software engineering industry including Sun, Oracle and IBM.</p>
<p>As of version 1.1.4 of MyFaces, AJAX does not come with it out of the box.  So I found a great opensource project called <a href="https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/" onclick="pageTracker._trackPageview('/outgoing/ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/?referer=');">Ajax4Jsf</a> which essentially AJAXifies JSF applications.  After resolving some version conflicts I was away, AJAX and all.  Last I added visual effects with Scriptaculous and I was away.</p>
<p>The moral of the story is it is certainly possible to build <a href="http://f6design.com/journal/2006/10/21/the-visual-design-of-web-20/" onclick="pageTracker._trackPageview('/outgoing/f6design.com/journal/2006/10/21/the-visual-design-of-web-20/?referer=');">Web 2.0-style interfaces</a> using JEE, so there&#8217;s no need to abandon your Java programming skills just because people say &#8220;AJAX&#8221;, &#8220;visual effects&#8221; and &#8220;Ruby on Rails&#8221; in the same sentence.  And certainly with mainstream adoption of data access frameworks like <a href="http://www.hibernate.org/" onclick="pageTracker._trackPageview('/outgoing/www.hibernate.org/?referer=');">Hibernate</a> it&#8217;s possible to simplify the process of database interaction in Java.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.socialglass.com/jee-and-web-20/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
