November 01, 2002

Extending Groove

Groove Web Services will allow PDAs and Web apps to share in Groove collaboration

The current solution to this problem is to create a bot, install it on the Groove EIS (Enterprise Integration Server), and then invite the bot into a shared space. This is a good way to mediate securely between Groove spaces and external partners, but the activation threshold is awfully high for ad hoc internal integration. GWS should lower that activation threshold dramatically. And when secure remote access to GWS does become available, it promises to flip the model on its head. EIS pushes data to external systems, notes Jack Ozzie, vice president of development, "but with GWS, it's a reach-into-Groove model, which means your integration logic can stay where it belongs."

Developers will find GWS to be a textbook example of a style that has come to be called "RESTful SOAP." REST (Representation State Transfer) describes the architectural style of the Web. What that means for SOAP, as recommended in the W3C working draft for SOAP 1.2, is that interfaces should "use URIs [Universal Resource Identifiers] in a Web-architecture compatible way -- that is, as resource identifiers."

For example, the root of GWS is a SOAP service with an address like http://localhost:9080/GWS/Groove/1.0/Accounts. Since a Groove account is a container of identities, a Read operation on this resource produces an XML document that enumerates them. Each identity includes an element like /GWS/Groove/1.0/Spaces/grooveIdentity/123...xyz -- that is, the URI of the SOAP service that enumerates the shared spaces for that identity. Traversal of spaces, tools, and data proceeds in a similar fashion. It's all organized as a web of linked XML documents controlled by a handful of verbs such as Create, Read, Update, and Delete.

This exceptionally elegant and productive Web services API is a second try. The first version, which was set to debut with the release of Groove 2.0 in April, was much closer to Groove's internal API. Recognizing that it might not appeal to a broader audience, Groove sensibly went back to the drawing board. Peter Drayton, a leading Web services educator, was recruited to review and help redesign the schemas and WSDL interfaces. "This is a big thing," Ozzie says, "and we had to get it right." The results are nothing short of spectacular.

As we watched GWS technical lead John Burkhardt build a WinForms GWS client in Visual Studio .Net, we realized that we needed no further explanation to do exactly the same thing in wxPython on a Macintosh or in PHP on a Web page. "I've wanted a search service that will troll through my Groove spaces," Burkhardt says. "We've talked about building that into Groove, but now I can write it externally -- both quicker and with more flexibility." The proof's in the pudding, of course, but GWS's architecture lends much credence to the claim.

Note that Groove tools must still mediate GWS access to the core services. These tools are signed components, installed into shared spaces, that people (and now GWS clients) use to read or update shared-space data. GWS cannot reach directly into, for example, the RecordSet engine, to make direct use of the distributed XML object store. What's more, existing and new tools must be adapted for use with GWS.

However, as Pope points out, the existing "tool surface area," when exposed by GWS, will create a wealth of options. For example, GWS includes an event model, which means that a GWS client should be able to subscribe to change alerts issued by any GWS-aware tool.

Six months ago, at the O'Reilly Emerging Technology Conference, advocates of REST (Representational State Transfer) pointedly asked a panel of SOAP experts: "What does Web services have to do with the Web?" The blunt answer was, to paraphrase, "Nothing." As we noted then (see "Hyperlinks matter," http://www.infoworld.com/articles/pl/xml/02/05/20/020520pllinks.xml ), a linked web of XML documents is a potent architecture that Web services can and should exploit. Happily, GWS does.

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.