Open source software company WSO2 seeks to bridge the Ruby programming language and the Ruby on Rails web framework with SOA.
The company is set to debut WSO2 WSF/Ruby (Web Services Framework for Ruby) 1.0, providing a Ruby extension to support the Web Services WS-* stack. WSO2 said that Ruby developers could incorporate security and reliable messaging capabilities needed for trusted, enterprise-class SOAP-based web services, while the product also supported the alternative REST (Representational State Transfer) Web services.
"Ruby, as you know, has become a very popular language the last few years, and what we are enabling is for Ruby to become part of an enterprise SOA architecture," WSO chairman and CEO Sanjiva Weerawarana said.
While Ruby has been popular in the Web 2.0 realm, sometimes it needs to talk to legacy architectures, he said. With the new framework, developers could build an application using Ruby and then hook into enterprise infrastructures, such as JMS (Java Message Service) queues. For example, a website might be built with Ruby that then needs to link to an order fulfillment system based on an IBM mainframe or minicomputer, Weerawarana said.
With the December release of Ruby on Rails 2.0, the builders of Rails swapped out a SOAP library and replaced it with REST capabilities. In doing this, David Heinemeier Hansson, the founder of Rails, stressed that that SOAP and its attendant WS-* stack had become too complex.
But Weerawarana stressed REST may not always be sufficient. "[The REST preference] is a perfectly fine position to take if you don't need any kind of these security and reliability infrastructure [capabilities]," he said. WSO2's framework would replace the SOAP capabilities removed in Rails 2.0, he said.
Weerawarana's stance was seconded by a user of the company's products, Stefan Tilkov, CEO of infoQ, a consulting firm near Duesseldorf, Germany. While saying he likes Rails because it picks and chooses technologies, such as opting for REST over SOAP, Tilkov said businesses may not be ready to welcome Rails and the lesser known REST web services at the same time, he said.
"Sometimes, you have to decide whether you want to fight all of the possible battles at once. Trying to introduce both Rails and [REST] at the same to a company can really be a challenge," he said. WSO2 is providing WS-* and SOAP capabilities for Rails, Tilkov stressed.
Still, Tilkov likes REST. "I'm a very big REST fan, and I [advocate] the use of REST whenever I can," he said.
WSF/Ruby 1.0 binds WSO2's Web Services Framework for C into Ruby to provide an extension based on three Apache projects. These include: Axis 2C, which is a web services runtime to support REST and SOA; Sandesha/C, supporting WS-Reliable Messaging; and Rampart/C, for WS-Security capabilities.
Also, WSF/Ruby 1.0 uses Ruby on Rails as its deployment model for providing services.
Client and service APIs are offered. Support is featured for SOAP 1.1 and SOAP 1.2. The software is interoperable with Microsoft .Net, the WS02 Web Services Application Server, and other J2EE implementations. SOAP Message Transmission Optimization and WS-Addressing capabilities are included as well.