| By Paul Maurer | Article Rating: |
|
| August 19, 2003 12:00 AM EDT | Reads: |
11,523 |
In my spare time I participate in a nonprofit entity along with a number of other busy colleagues. Most of the hard work is done in our spare time and we occasionally meet to polish the work.
We started out collaborating in the endeavor in the typical ad hoc fashion, using e-mail for discussion, activity coordination, and file sharing. This mechanism quickly became awkward and unworkable. Long e-mail conversations lack context, unless of course you include the previous message. But then, after a few exchanges, distinguishing the response from the context becomes awkward.
It quickly became clear that some sort of collaboration tool was in order.
Enter Groove
Then a colleague recommended Groove Workspace, a peer-to-peer collaboration product from Groove Networks. The Groove Workspace (see Figure 1), or just "Groove," allows users to create a workspace that can contain a number of tools such as Calendar, Contact Manager, Discussion Manager, File Sharing, and more. Once the workspace is created, the owner can share the workspace with others by sending them an invitation. When a user accepts a Groove Workspace invitation, the workspace is replicated to their local Groove desktop. Users can then work in the environment and Groove manages the synchronization among all users of the workspace.

Features
Here are a few of the features you'll find in Groove 2.5 Workspace:
Enterprise Integration Server
Groove Networks has created an integration server that allows companies to deliver enterprise information through the Groove Workspace environment, allowing automated discovery and connection to users on the desktop. This feature is delivered through agents (Bots in Groove terminology) that plug into this server.
Agents can be developed to manage communications between Groove shared spaces and a variety of external systems such as ERP, CRM, and knowledge management systems.
The Web Service Groove
You may ask, "What does this have to do with Web services?" Well, as Groove Workspace has moved into the enterprise workplace, it has become clear that, although the integration server works well at bringing enterprise resources into the workspace, the ability to expose Groove's capability to other applications on the desktop and in the enterprise is still needed.
Enter Web services. Groove has decided to expose its core functionality as Web services for access by other parties through SOAP. This makes it possible to access Groove data from a separate process using any number of SOAP-enabled toolsets.
Local Versus Remote
The current version of Groove Workspace allows Web service access from the same machine as the running workspace - called Local Groove Web Services. This release also includes a preview version of Remote Groove Web Services, which allow access from other network endpoints. The Remote version is considered a preview because Groove Networks has not fully worked out the security model and should therefore not be used in production environments. I'll focus on the local Web services.
Getting Started
In order to start developing a local client you'll need to install a copy of the Groove Workspace application as well as the free Groove Web Services GDK (Groove Developers Kit). The GDK comes with ample documentation, sample SOAP clients, WSDL and XSD files, and utilities. Support for developers is provided through the Groove "devzone" site.
The samples provided with the GDK are written in C# and Perl. I was able to compile and run the C# Groove Explorer client quickly and without a hitch. Keep in mind that you'll need to have the Groove Workspace running in order for the clients to work. Otherwise, they'll just time out with a connection error. If the workspace is running but you aren't logged in, the authentication panel will pop up when a SOAP request is sent to the GrooveAccounts Service. This may seem odd initially but makes sense since only local clients in the same Windows account can send requests to the GrooveAccounts Service and are likely to have come from an integrated desktop application.
The Groove Explorer shown in Figure 2 gives you a good feeling for the types of information you can request by showing a hierarchical view of the Groove Environment.

Security
The Groove Environment enforces Local Web Service access restrictions by requiring a special Groove Header in the SOAP request that must contain a "WebServicesNonce" value. This value is generated and stored in the Windows registry each time the Groove Workspace starts. SOAP clients must retrieve this value from the registry and pass it in the Groove Header along with each SOAP request. The Groove Environment checks this value for each request and rejects those that don't match. The mechanics of the access to Windows registry data ensure that the request has come from a client running under the same Windows account. As a developer who favors the Java programming environment this led to some consternation. Java doesn't provide for Windows registry access (it's not portable) so I would need to write a small native method and call it through JNI (Java Native Interface, Yuk!). Luckily the Groove Developers Zone provides sample JNI code to assist with this requirement.
SOAP Endpoints
Since the Groove Workspace is a very fluid environment, workspaces, tools, and other features can appear or disappear from the environment due to changes by its members. This means that SOAP endpoints also become moving targets and must be generated on the fly. Most Groove services return URIs that can be used to generate POST URLs for SOAP requests. For example, The GrooveAccounts Service returns URIs for all GrooveSpaces for an account. Each URI is appended to "http://localhost:port-number" and used as the SOAP endpoint for a GrooveSpaces SOAP request. This method propogates as each space will return the list of Tools (URIs) contained by it for use as endpoints for SOAP requests to the GrooveTools service.
Conclusion
The Groove Workspace product makes clever use of the peer-to-peer model to facilitate on-the-fly collaboration while making setup and administration almost nonexistent. The enterprise features allow corporations to develop Bots that allow Groove users to access corporate resources from within its collaboration environment. Finally, SOAP access to Groove services allows developers to incorporate and control Groove's features from core business applications.
Company Information
Groove Networks, Inc.
100 Coummings Center
Suite 535Q
Beverly, MA 01915
Phone: (978) 720-2000
Fax: (978) 720-2001
Web: www.groove.net
E-mail: info@groove.net
Download information
Groove Workspace 2.5: www.groove.net/downloads/groove
Web Services GDK: www.groove.net/devzone/default.cfm?pagename=GWS_GDK
Licensing Information
Developer Licenses:
Groove Developer Kits Free
Developer Partner (Premium Support) $1495
Groove Networks recommends that developers purchase the Professional Workspace Edition (see below)
Runtime License:
Groove Professional Workspace Edition $149
Groove Workspace Professional Edition Upgrade $105
Groove Workspace Standard Edition $69
Testing Environment
OS: Windows-XP Professional (Service Pack 1)
Hardware: Intel Pentium III: 996MHz - 512MB RAM
Published August 19, 2003 Reads 11,523
Copyright © 2003 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Paul Maurer
Paul Maurer is a principal in the financial services practice of a leading consulting services company.
- Big Data in Telecom: The Need for Analytics
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- Amazon to Fix Some Kindle Fire Problems
- What Motivates Open Standards in the Cloud?
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- Ten Hot Trends in Cloud Data for 2012
- Oracle Disaster Recovery Site Hosted by Amazon Cloud
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- The Future of Cloud Computing: Industry Predictions for 2012
- Make Customer On-Boarding Easy as Paint-by-Numbers for Cloud Services
- Gartner Hype Cycle for Emerging Technologies 2011
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Big Data in Telecom: The Need for Analytics
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- The Next Web Architecture
- Cloud Computing: A Comparison of Computing Models
- The i-Technology Right Stuff
- The Top 150 Players in Cloud Computing
- Who Are The All-Time Heroes of i-Technology?
- Where Are RIA Technologies Headed in 2008?
- Get the Message
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- Five Reasons Why Web 2.0 Matters















