Monday, January 14, 2008

WSO2 Web services framework builds bridge between Ruby and enterprise apps

WSO2 has built a bridge between Ruby-based applications and enterprise-class Web services with the introduction of its Web Services Framework for Ruby (WSF/Ruby) 1.0.

WSF/Ruby, an open-source framework for providing and consuming Web services in the Ruby object-oriented programming language, offers support for the WS-* stack, allowing developers to combine Ruby with security and messaging capabilities required for enterprise SOAP -based Web services. Disclosure: WSO2 is a sponsor of BriefingsDirect podcasts.

WSO2 Chairman/CEO Sanjiva Weerawarana explained the bridging capabilities in a pre-release interview with Infoworld:

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 WSF/Ruby, developers can also consume Web services with Representational State Transfer (REST). WSF/Ruby also provides a fully open-source Ruby extension based on Apache Axis2/C, Apache Sandesha2/C, and Apache Rampart/C.

WSF/Ruby features both client and service APIs. The client uses the WSClient class for one-way and two-way service invocation support. The service API for providing Web services used the WSService class with support for one-way and two-way operations. Both APIs incorporate WSMessage class to handle message-level options.

WSF/Ruby 1.0 supports basic Web services standards, including SOAP 1.1 and SOAP 1.2. It also provides interoperability with Microsoft .NET, the Apache Axis2/Java-based WSO2 Web Services Application Server (WSAS), and other J2EE implementations. Key features of WSF/Ruby 1.0 are:

  • Comprehensive support for the WS*- stack, including the SOAP Message Transmission Optimization Mechanism (MTOM), WS-Addressing, WS-Security, WS-SecurityPolicy, and WS-Reliable Messaging.
  • Secure Web services with advanced WS*-Security features, such as encryption and signing of SOAP messages. Users also can send messages with UsernameToken and TimeStamp support.
  • Reliable messaging for Web services and clients.
  • REST support, so a single service can be exposed both as a SOAP-style and as a REST-style service. The client API also supports invoking REST services using HTTP GET and POST methods.
  • Class mapping for services, enabling a user to provide a class and expose the class operations as service operations.
  • Attachments with Web services and clients that allow users to send and receive attachments with SOAP messages in optimized formats and non-optimized formats with MTOM support.
According to WSO2, WSF/Ruby has been tested on Windows XP with Microsoft Visual C++ version 8.0, as well as with Linux GCC 4.1.1.