Saturday, January 12, 2008

WSO2 bringing Ruby to SOA

With open-source software being formally introduced Monday, WSO2 seeks to bridge the Ruby programming language and the Ruby on Rails Web framework with the SOA and Web services spaces.
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. Ruby developers can incorporate security and reliable messaging capabilities needed for trusted, enterprise-class SOAP-based Web services, WSO2 said. But the product also supports 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/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 a Web application using Ruby and then hook into enterprise infrastructures, such as JMS (Java Message Service) queues. For example, a Web site 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 Dusseldorf, 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.

Downloadable here, WSF/Ruby 1.0 is offered under the Apache License 2.0. While it is free, WS02 does sell development and production services as well as training for it. Production support prices start at US$2,000, while development support begins at $2,500 for 10 hours. Training costs $400 per day per person with a minimum of five persons required.

WSO2's long-term strategy includes allowing scripting languages like Ruby, Perl, and PHP (Hypertext Preprocessor) to participate in an enterprise SOA.

No comments: