Mobile // Mobile Applications
News
8/7/2008
11:00 AM
Roger Smith
Roger Smith
Features
Connect Directly
RSS
E-Mail
50%
50%

A Simpler Approach To SOA

Web-oriented architectures are easier to implement and offer a similar flexibility to SOA.

AMAZON'S STORE
Developers have shown their enthusiasm for lightweight REST-based Web services by voting with their mouse clicks. When Amazon.com first tested the popularity of SOAP versus REST interfaces to its Amazon Web Services, in 2003, more than 85% of developers chose the REST/ WOA interface, says Jeff Barr, Amazon's chief Web services evangelist.

"REST is easy to demo--just load a URL into a browser," Barr says. "The results are self-evident, and the mental wheels start to turn when people see this in action."

Amazon's strategy since then has been to give developers almost unlimited access to its product database, whether they're inside or outside the company's firewall, and the result is that Amazon Web Services has been growing like gangbusters. In January, Amazon CEO Jeff Bezos announced that AWS now consumes more bandwidth than does the entire global network of Amazon retail sites.

Further proof that Amazon's Web services platform fuels innovation among developers and partner retailers can be found in recent product offerings, including Amazon Simple Storage Service (S3), an online storage service that startups and enterprise clients alike use for Web and image hosting as well as backup, and Amazon Mechanical Turk, which coordinates small units of work among large groups of people over the Web and which has been used to do things like scour satellite data for prominent missing people, including computer scientist Jim Gray and aviator Steve Fossett.

Externally, Amazon Light, created by former Amazon programmer Alan Taylor, is one of thousands of independent sites incorporating Amazon's product data and programming tools. Other examples of innovative new sites that use AWS include WeoGeo, which sells customized maps and aerial imagery, and TuneCore, which lets indie musicians upload and deliver their music for a flat fee to iTunes, Amazon MP3, and a dozen other digital retailers. Pay a small yearly maintenance fee for access to the service, which can also include an online merchandise store to sell CDs and T-shirts, and voila! You're ready to put your college garage band back together.

In addition to using a REST design philosophy, these last two sites, TuneCore and WeoGeo, were developed using Ruby on Rails, one of several frameworks, including Restlet (for Java) and Django (for Python), that incorporate REST-based modes and features. All these frameworks make it easy to do basic database operations while incorporating Web resources. The latest version of the Rails framework, for example, has REST baked in at very low levels, including tools to help with HTML, route incoming requests, and make it simpler to parse URLs, XML, and JavaScript Object Notation. JSON is a lightweight data interchange format that's very big on the Web and with startups, but it hasn't yet developed a large following with big companies. As a lightweight alternative to XML, JSON is especially useful to store data to disk or transmit it over a network without the need for a verbose markup language.

These capabilities have led to great mindshare for Ruby on Rails. Developers especially like Rails because it can analyze a local or enterprise database schema and automatically generate most of the methods needed to work with data on the Web. Rails is a good choice for building WOA services that follow the REST application architecture, but it's not as strong for developing Web services based on SOAP and the WS-* standards.

SCALING RAILS APPS
WOA applications are often typecast as useful only for simple database operations, and not able to scale for enterprise-class performance. Both of these problems seem to be facing Twitter, the popular on-the-fly social networking site, which was developed with Rails. After Twitter failed repeatedly during Steve Jobs' keynote address at the Macworld Expo in San Francisco earlier this year, prompting frustration from end users and concern about the staying power and future of the company, more than a few pundits suggested Twitter should abandon Rails as its Web framework and start from scratch with PHP or Java.

One person who isn't advising Twitter to jump ship with Rails is Bruce Tate, a Java and Ruby on Rails expert and author who says REST applications can scale with Rails just fine. "Developers should not concentrate on scale first. It's the wrong problem," Tate says. "Developers should focus on productivity. Rails got Twitter to the point where they have to worry about scale."

While acknowledging that Rails will likely never scale as well as Java, Tate maintains that Rails is getting better, and quickly. "Work on new virtual machines will help tremendously," he says. "My main advice is to solve the problem in front of you. If you don't have a problem with productivity, then don't use Rails. If your problems are not related to technology, don't look for a technological solution. But if you're looking for better productivity and you're building new database-backed Web apps that will have some SOA implications, Rails and REST can help tremendously."

Previous
3 of 4
Next
Comment  | 
Print  | 
More Insights
Building A Mobile Business Mindset
Building A Mobile Business Mindset
Among 688 respondents, 46% have deployed mobile apps, with an additional 24% planning to in the next year. Soon all apps will look like mobile apps and it's past time for those with no plans to get cracking.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest - July 22, 2014
Sophisticated attacks demand real-time risk management and continuous monitoring. Here's how federal agencies are meeting that challenge.
Flash Poll
Video
Slideshows
Twitter Feed
InformationWeek Radio
Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.