WSO2 Releases Web Services Framework for Ruby
- By John K. Waters
Web developers who use the increasingly popular combo of the Ruby programming language with the Rails framework, better known as Ruby on Rails, now have an open source framework for providing and/or consuming Web services. WSO2's newly released Web Services Framework for Ruby (WSF/Ruby) is the first Ruby extension to support the WS-* specifications, which include the SOAP Message Transmission Optimization Mechanism (MTOM), WS-Addressing, WS-Security, WS-SecurityPolicy, and WS-Reliable Messaging.
WSF/Ruby is a binding of the company's flagship Web Services Framework for C into Ruby. It's based on three technologies:
- Apache Axis2/C Web services engine;
- Apache Sandesha2/C, IBM's C implementation of the WS-ReliableMessaging spec; and
- Apache Rampart/C security policy spec.
WSF/Ruby comes with both a client API (for consuming Web services) and a service API (for providing Web services). The client API uses the WSClient class for one-way and two-way service invocation support. The service API uses the WSService class with support for one-way and two-way operations. Both APIs incorporate the WSMessage class to handle message-level options.
This release supports the SOAP 1.1 and SOAP 1.2 Web services standards, and it allows developers to expose a single service as both a SOAP-style and as a REST-style service. It also supports class mapping.
The new product reflects WSO2's focus on "the confluence of SOA and Web 2.0," according to CEO Dr. Sanjiva Weerawarana.
"All of the products we build are middleware, but we're trying to bring some of the community concepts of Web 2.0 into those products," Weerawarana said. He added that service-oriented architecture (SOA) is opening possibilities for enabling Web 2.0 applications.
"For a long time now, middleware has been the property of the IT guys, because all of enterprise IT has been controlled and managed by them," Weerawarana said. "But SOA is causing a significant decentralization of that, to the point where different groups within a company will now offer services to other parts of the company without going through the IT guys. When you get to that point, the company becomes a social network. And that brings Web 2.0 into the stodgy enterprise world of middleware. All of our technologies are designed to work this kind of human-centric middleware."
Weerawarana is a former IBMer who coauthored many Web services specifications, including WSDL, BPEL4WS, WS-Addressing, WS-RF and WS-Eventing. He founded WSO2 two and a half years ago, starting with a platform for Java. The company then developed a core infrastructure in C, which underlies all of its framework products. WSO2 now offers Web services frameworks for C and three popular scripting languages: PHP, Perl, and with this release, Ruby on Rails.
"Our basic strategy is ubiquitous enablement of SOA, from whichever language environment you're in," Weerawarana said.
WSF/Ruby is designed to work with Microsoft .NET, the Apache Axis2/Java-based WSO2 Web Services Application Server (WSAS), and other J2EE implementations.
The 1.0 version of WSO2's Web Services Framework for Ruby is available now for free under the Apache License 2.0. WSO2 maintains its own developer portal, called The Oxygen Tank, and WSF/Ruby is listed on the portal's download page.
John K. Waters is a freelance journalist and author based in Palo Alto, CA.