Web-oriented architectures are easier to implement and offer a similar flexibility to SOA.
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.
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."
Building A Mobile Business MindsetAmong 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.