Horizontal Fusion

Document Sample
Horizontal Fusion Powered By Docstoc
					                                APPROVED

         Horizontal Fusion
 Collaboration Service Specification




          Department of Defense Assistant Secretary of Defense for
             Networks and Information Integration/DOD CIO


                                        September 16, 2004




Collaboration Service Specification   September 16, 2004 - Version 1.01   1
Revision Sheet
 Release No.    Date         Revision Description
 0.1               3/3/2004  First Version by Richard Persche
 0.2               3/5/2004  Review and additions by Mattias Moser
 0.3               3/5/2004  Changes by Richard Persche
 0.4              3/10/2004  Added gerProvider method (Richard Persche)
 0.5              4/26/2004  Updated refined specification (Richard Persche)
 1.0              4/28/2004  Updated document uses document template provided by Horizontal
                             Fusion (Richard Persche)
 1.01              9/16/2004 Improved formatting and corrected small errors (Mattias Moser) – no
                             change to specification




Collaboration Service Specification   September 16, 2004 - Version 1.01                            i
                                            TABLE OF CONTENTS

1      INTRODUCTION .................................................................................................................. 1
    1.1      Overview......................................................................................................................... 1
       1.1.1      Horizontal Fusion.................................................................................................... 1
       1.1.2      Horizontal Fusion Portfolio Initiative..................................................................... 1
       1.1.3      Quantum Leap Demonstrations .............................................................................. 2
    1.2      Purpose............................................................................................................................ 2
    1.3      Architecture..................................................................................................................... 2
    1.4      Collaboration Service WSDL ......................................................................................... 4
       1.4.1      Web Service Data Types......................................................................................... 4
       1.4.2      Web Service Methods ............................................................................................. 5
    1.5      WSDL in XML Spy Format ......................................................................................... 11




Collaboration Service Specification               September 16, 2004 - Version 1.01                                                             ii
1    INTRODUCTION

1.1 Overview
1.1.1   Horizontal Fusion

Horizontal Fusion is a Net-Centric capability that enables ad hoc access by all echelons of users
to data that is cross-functional and provides for decision superiority in the transformed
battlespace.

Horizontal Fusion is a direct response to operationalize, integrate, and optimize technology and
operations to achieve “Power to the Edge” in the new battlespace. Horizontal Fusion is made
possible by the new technology context that includes Wideband Satellite Communications
(SATCOM), the Global Information Grid Bandwidth Expansion (GIG-BE), and the Joint
Tactical Radio System (JTRS). The increased bandwidth these capabilities will provide will
deliver significant improvement in battlefield operations including real-time access to critical
knowledge and enhanced situational awareness, informed and expeditious command decision-
making, and operational and tactical response.

Moving beyond former concepts of “plug-and-play” wiring diagrams, “one-to-one” interfaces, or
“push” technology, Horizontal Fusion is built on a foundation of transforming the ways in which
knowledge is available in the battlespace.

The exploration of Net-Centric capabilities and the process necessary to provide them is the
substance of Horizontal Fusion.

1.1.2   Horizontal Fusion Portfolio Initiative

The Horizontal Fusion Portfolio Initiative is a management process with an emphasis on
outcome-based performance intended to accelerate the transition of Net-Centric warfighting
capabilities into the operational inventory.

The Horizontal Fusion Portfolio is a set of technologies and processes that have been selected to
demonstrate their interoperability with other members of the Portfolio and their contribution to
the overall concept of Net-Centricity.

The intent is to accelerate the transition of Net-Centric warfighting from vision to reality. The
Portfolio Initiative emphasizes outcome-based performance. Goals are closely aligned with the
Department of Defense (DoD) vision of Transformation to Net-Centricity, with the objective of
building practical solutions. The Portfolio composition is guided by the overarching criteria of
Fit, Balance, and Impact.


Collaboration Service Specification   September 16, 2004 - Version 1.01                        1
1.1.3   Quantum Leap Demonstrations

In August of each Fiscal Year, the Horizontal Fusion Portfolio conducts a demonstration of Net-
Centricity, Interoperability, and Transformation capabilities that have been developed. Each
year builds on the previous years’ capabilities, continuously expanding the technology capability
and increasing the decision superiority that is available to the Edge User.

1.2 Purpose
The Collaboration Service in the Horizontal Fusion environment is provided by a collaboration
server based on the Commercial-Off-The-Shelf (COTS) product Hyperwave eConferencing
Suite (eCS). The collaboration service exposes a set of operations of the collaboration server
through a web service API. This document describes the operations of this API.

A detailed description on how to use the individual calls can be found in the Horizontal Fusion
Developer’s Guide for the Collaboration Service.

1.3 Architecture
Figure 1 below shows the architecture of the Collaboration Service in the Horizontal Fusion
environment. A user connects to the MARS portal using a browser. Portlets in the MARS portal
such as the collaboration portlet (or the expert search portlet) use the Collaboration Web Service
API to get the online status of users. The portlets are the entry point to the collaboration
functionality by displaying the online status of users and providing links to launch the
collaboration client and start collaboration sessions. By clicking on such a link, a user can launch
the ActiveX-based collaboration client, which connects directly to the collaboration server and
handles the actual real-time collaboration communication, such as text-based chat, audio/video
conferencing or application sharing. Alternatively, an XMPP client can be used for
communication with the collaboration server.




Collaboration Service Specification   September 16, 2004 - Version 1.01                           2
                                                 Figure 1


Note: This document describes the specification of the web service that allows the integration of
the Collaboration Service in portlets – the part of figure 1 labeled “Web Services API”. It is
important to understand that the transport of the actual collaboration data streams (text-based
chat data, audio/video data, and application sharing data) is sent between the collaboration client
and the collaboration server using the eCS protocol or between an XMPP client and the
collaboration server using XMPP, but not over a web-service based protocol. The web services
interface described in this document provides functionality that allows to launch the
collaboration client which then in turn handles the real-time collaboration data streams.




Collaboration Service Specification   September 16, 2004 - Version 1.01                          3
1.4 Collaboration Service WSDL
The current WSDL for the Collaboration Services is available via the following URL:
https://hf.us.hyperwave.com/kmince/services/Collaboration?wsdl. The following section
describes the data types and operations defined by the WSDL. Section 1.5 shows the WSDL in
XML Spy format.

1.4.1   Web Service Data Types

1.4.1.1 ECSUser
A user of the collaboration system.

 Property                         Description
 String    userId                 unique user id
 String    firstName              user’s first name (includes middle initials or middle name)
 String    lastName               user’s last name
 String    status                 online status of user
 String    statusIconURL          URL to an icon representing the online status

In addition to the name and the id of the user, the data type holds information about the online
status and a hyperlink to the icon representing the online status.
When the Collaboration Web Service is used, the developer has the option to reuse the icons
represented by the “statusIconURL” or to use local icons. An example of such a URL is:
                  http://hf.us.hyperwave.com/wavemaster.internal/ecs/Offline.gif

The URL is composed in this manner: <prefix> + <status> + “.gif”


1.4.1.2 ProviderType
Information about the service provider

 Property                         Description
 String name
                        the name of the data provider in terms recognizable by
                        that provider's customers
 String description
                        a short (less than 81 characters) description of the
                        provider
 String endPoint        the web service endpoint information
                        the web service version - a provider is required to
 VersionType version
                        correctly interact with API's meeting any version that has
                        the same major and minor value and a revision value
                        equal to or lesser than its own
 String longDescription a paragraph description of the provider


Collaboration Service Specification   September 16, 2004 - Version 1.01                         4
 String smallIcon                 URL to a 16x16 pixels size icon (jpeg, gif, or png format)
 String mediumIcon                URL to a 32x32 pixels size icon (jpeg, gif, or png format)
 String largeIcon                 URL to a 64x64 pixels size icon (jpeg, gif, or png format)

1.4.1.3 VersionType
Describes the version of the service

 Property                         Description
 Integer major                    Major release number
 Integer minor                    Minor release number
 Integer revision                 Major release number


1.4.1.4 Arrays
The WSDL uses String array and array of ECSUser as datatypes.


1.4.2   Web Service Methods

1.4.2.1 getLoginToken
The getLoginToken method returns a token (a random string) that can be used with the
collaboration ActiveX component to log the user into the collaboration server. The token is valid
for 20 seconds.

 Argument                                 Description
 String userId                            user id of user to request the token for

 Return Value                             Description
 String getLoginTokenReturn
                                          token to be passed to collaboration ActiveX
                                          component for single sign-on


1.4.2.2 insertUser
Adds a new users to the collaboration server database.

 Arguments                                Description
 String    userId                         user id of user to request the token for
 String    description                    full name of user
 String    group                          group id for users to be added to
 String    ou                             organizational unit of user (for user interface)
 String rights
                                          rights for this user - e.g. “AVCW”: Audio (A),
                                          Video (V), Chat (C), Whiteboard (W)

Collaboration Service Specification   September 16, 2004 - Version 1.01                         5
 Return Value                             Description
 void



1.4.2.3 createSession
Starts an immediate or a scheduled session on the collaboration server. All participants will be
notified automatically via their collaboration client.

 Arguments                                Description
 String sessionName                       name of the session as it will appear in the client
                                          encodes all participants of the session including
                                          their roles and rights. E.g. "rpersche:HCWVA
 String userList
                                          creeves:CW" means: user rpersche is host (H) and
                                          can use chat (C), whiteboard (W), video (V) and
                                          audio (A); user creeves can use chat and
                                          whiteboard
 Boolean isPublic                         a public session is visible to everybody
 Boolean isManaged                        a managed session has a designated host
 Boolean isScheduled
                                          a scheduled session has specific start time; a non-
                                          scheduled session starts immediately
 String sessionStart                      start time and date of a scheduled session
 String deltaTime
                                          amount of minutes while users can still join a
                                          session after start of the session
 String inviteMessage
                                          text that is sent out to users who are invited to the
                                          session
 String agenda                            agenda for session

 Return Value                             Description
 Void



1.4.2.4 getStatus
Retrieves the online status of a user

 Argument                                 Description
 String userId                            user id of user

 Return Value                             Description
 String getStatusReturn                   online status of user




Collaboration Service Specification   September 16, 2004 - Version 1.01                            6
1.4.2.5 getOnlineUsers
Retrieves all users online including their online status

 Argument                                 Description
 String userId                            user id of user

 Return Value                             Description
 Array of ECSUser                         list of all users online
 getOnlineUsersReturn


1.4.2.6 sendAlert
Sends a message to one or more online users. The message will pop up on the users’ screens
immediately.

 Arguments                                Description
 String userId                            user id of user who sends the message
 Array of String userIds                  list of users to receive the message
 String header                            header text for message windows
 String message                           message text

 Return Value                             Description
 void



1.4.2.7 getClientURL
Retrieves the URL of the collaboration ActiveX component CAB file.

 Argument                                 Description
 String userId                            user id of user

 Return Value                             Description
 String getClientURLReturn                URL to download the ActiveX component


1.4.2.8 getScheduledSessions
Returns all scheduled sessions a user can participate in

 Argument                                 Description
 String userId                            user id of current user

 Return Value                             Description

Collaboration Service Specification   September 16, 2004 - Version 1.01                      7
 Array of String                          list of descriptions of scheduled sessions
 getScheduledSessionsReturn




1.4.2.9 getGroups
Gets all groups within the a user’s friends list

 Argument                                 Description
 String userId                            user id of current user

 Return Value                             Description
 Array of String                          list of all groups within the user’s friends list
 getGroupsReturn


1.4.2.10 getFriendList
Retrieves all users of a friends list group with their online status

 Argument                                 Description
 String userId                            user id of current user
 String group                             name of friends list group to retrieve

 Return Value                             Description
 Array of ECSUser                         list of all users of this group including their online
 getFriendsListReturn                     status


1.4.2.11 getUserStates
Retrieves the online status of a given list of users.

 Argument                                 Description
 String userId                            user id of current user
 Array of String userIds                  user ids of users for which to get online status

 Return Value                             Description
 Array of ECSUser                         list of users including their online status
 getUserStatesReturn


1.4.2.12 addFriends
Adds one of more users to a user’s friends list group

 Argument                                 Description

Collaboration Service Specification   September 16, 2004 - Version 1.01                            8
 String userId                            user id of current user
 String group                             name of group which users should be added to
 Array of String userIds                  user ids of users for to be added

 Return Value                             Description
 void



1.4.2.13 removeFriends
Removes one of more users from a friends list group

 Argument                                 Description
 String userId                            user id of current user
 String group                             group id for users to be removed from
 Array of String userIds                  user ids of users to be removed

 Return Value                             Description
 void



1.4.2.14 addGroup
Adds a groups to the friends list of a specific user

 Argument                                 Description
 String userId                            user id of current user
 String group                             name of new group

 Return Value                             Description
 void



1.4.2.15 removeGroup
Removes a group from the friends list of a specific user

 Argument                                 Description
 String userId                            user id of current user
 String group                             name of new group

 Return Value                             Description
 void




Collaboration Service Specification   September 16, 2004 - Version 1.01                  9
1.4.2.16 getProvider
Retrieves information about the web service provider

 Argument                                     Description
 void

 Return Value                                 Description
 ProviderType getProviderReturn               information about the web service provider




Collaboration Service Specification   September 16, 2004 - Version 1.01                    10
1.5 WSDL in XML Spy Format

WSDL collaboration.wsdl

WSDL location:         C:\java\projects\fusion\etc\wsdl\collaboration\collaboration.wsdl
targetnamespace:       http://hf.us.hyperwave.com/axis/services/Collaboration




Services                   bindings                       porttypes          messages
CollaborationService       CollaborationSoapBinding       Collaboration      addFriendsRequest
                                                                             addFriendsResponse
                                                                             addGroupRequest
                                                                             addGroupResponse
                                                                             createSessionRequest
                                                                             createSessionResponse
                                                                             getClientURLRequest
                                                                             getClientURLResponse
                                                                             getFriendListRequest
                                                                             getFriendListResponse
                                                                             getGroupsRequest
                                                                             getGroupsResponse
                                                                             getLoginTokenRequest
                                                                             getLoginTokenResponse
                                                                             getOnlineUsersRequest
                                                                             getOnlineUsersResponse
                                                                             getProviderRequest
                                                                             getProviderResponse
                                                                             getScheduledSessionsRequest
                                                                             getScheduledSessionsResponse
                                                                             getStatusRequest
                                                                             getStatusResponse
                                                                             getUserStatesRequest
                                                                             getUserStatesResponse
                                                                             insertUserRequest
                                                                             insertUserResponse
                                                                             removeFriendsRequest
                                                                             removeFriendsResponse
                                                                             removeGroupRequest
                                                                             removeGroupResponse
                                                                             sendAlertRequest
                                                                             sendAlertResponse




service CollaborationService


Collaboration Service Specification         September 16, 2004 - Version 1.01                               11
        ports     Collaboration
                    binding impl:CollaborationSoapBinding
                     extensi    <wsdlsoap:address location="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                       bility
      source     <wsdl:service name="CollaborationService">
                  <wsdl:port name="Collaboration" binding="impl:CollaborationSoapBinding">
                   <wsdlsoap:address location="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                  </wsdl:port>
                 </wsdl:service>




binding CollaborationSoapBinding
         type    impl:Collaboration

 extensibility   <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

  operations      createSession
                     extensi <wsdlsoap:operation/>
                       bility
                       input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://DefaultNamespace"/>
                      output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

                  getGroups
                    extensi     <wsdlsoap:operation/>
                      bility
                       input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://DefaultNamespace"/>
                      output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

                  removeGroup
                    extensi <wsdlsoap:operation/>
                      bility
                       input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://DefaultNamespace"/>
                      output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

                  getStatus
                    extensi     <wsdlsoap:operation/>
                       bility
                       input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://DefaultNamespace"/>
                      output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

                  addGroup
                    extensi     <wsdlsoap:operation/>
                      bility
                       input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://DefaultNamespace"/>
                      output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>



Collaboration Service Specification         September 16, 2004 - Version 1.01                                           12
               insertUser
                  extensi    <wsdlsoap:operation/>
                    bility
                    input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                  output     <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

               getLoginToken
                 extensi <wsdlsoap:operation/>
                    bility
                    input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                  output     <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

               addFriends
                 extensi <wsdlsoap:operation/>
                   bility
                    input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                  output     <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

               getClientURL
                 extensi <wsdlsoap:operation/>
                    bility
                    input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                  output     <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

               getFriendList
                 extensi <wsdlsoap:operation/>
                    bility
                    input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                  output     <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

               getOnlineUsers
                 extensi <wsdlsoap:operation/>
                   bility
                    input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                  output     <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

               getUserStates
                 extensi <wsdlsoap:operation/>
                   bility
                    input    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                  output     <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>




Collaboration Service Specification     September 16, 2004 - Version 1.01                                     13
                getScheduledSessions
                  extensi <wsdlsoap:operation/>
                    bility
                     input   <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                   output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

                removeFriends
                  extensi <wsdlsoap:operation/>
                    bility
                     input   <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                   output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

                sendAlert
                  extensi    <wsdlsoap:operation/>
                    bility
                     input   <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                   output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>

                getProvider
                  extensi <wsdlsoap:operation/>
                     bility
                     input   <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://DefaultNamespace"/>
                   output    <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                             namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
     used by    Service CollaborationService in Port Collaboration

     source    <wsdl:binding name="CollaborationSoapBinding" type="impl:Collaboration">
                <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
                <wsdl:operation name="createSession">
                 <wsdlsoap:operation/>
                 <wsdl:input>
                  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="http://DefaultNamespace"/>
                 </wsdl:input>
                 <wsdl:output>
                  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                 </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="getGroups">
                 <wsdlsoap:operation/>
                 <wsdl:input>
                  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="http://DefaultNamespace"/>
                 </wsdl:input>
                 <wsdl:output>
                  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                 </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="removeGroup">
                 <wsdlsoap:operation/>
                 <wsdl:input>


Collaboration Service Specification      September 16, 2004 - Version 1.01                                    14
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="getStatus">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="addGroup">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="insertUser">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="getLoginToken">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="addFriends">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="getClientURL">
                <wsdlsoap:operation/>


Collaboration Service Specification     September 16, 2004 - Version 1.01                                 15
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="getFriendList">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="getOnlineUsers">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="getUserStates">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="getScheduledSessions">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="removeFriends">
                <wsdlsoap:operation/>
                <wsdl:input>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://DefaultNamespace"/>
                </wsdl:input>
                <wsdl:output>
                 <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                </wsdl:output>
               </wsdl:operation>
               <wsdl:operation name="sendAlert">


Collaboration Service Specification     September 16, 2004 - Version 1.01                                 16
                 <wsdlsoap:operation/>
                 <wsdl:input>
                  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="http://DefaultNamespace"/>
                 </wsdl:input>
                 <wsdl:output>
                  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                 </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="getProvider">
                 <wsdlsoap:operation/>
                 <wsdl:input>
                  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="http://DefaultNamespace"/>
                 </wsdl:input>
                 <wsdl:output>
                  <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="http://hf.us.hyperwave.com/axis/services/Collaboration"/>
                 </wsdl:output>
                </wsdl:operation>
               </wsdl:binding>




porttype Collaboration
  operations    createSession




Collaboration Service Specification      September 16, 2004 - Version 1.01                                 17
                   output    impl:addFriendsResponse

                getClientURL
                    input impl:getClientURLRequest
                   output    impl:getClientURLResponse

                getFriendList
                     input impl:getFriendListRequest
                   output    impl:getFriendListResponse

                getOnlineUsers
                    input impl:getOnlineUsersRequest
                   output    impl:getOnlineUsersResponse

                getUserStates
                    input impl:getUserStatesRequest
                   output    impl:getUserStatesResponse

                getScheduledSessions
                    input impl:getScheduledSessionsRequest
                   output    impl:getScheduledSessionsResponse

                removeFriends
                    input impl:removeFriendsRequest
                   output    impl:removeFriendsResponse

                sendAlert
                    input    impl:sendAlertRequest
                   output    impl:sendAlertResponse

                getProvider
                    input impl:getProviderRequest
                    output impl:getProviderResponse
     used by    binding CollaborationSoapBinding

     source    <wsdl:portType name="Collaboration">
                 <wsdl:operation name="createSession" parameterOrder="sessionName userList isPublic isSecured isManaged
               isScheduled sessionStart deltaTime inviteMessage agenda">
                  <wsdl:input name="createSessionRequest" message="impl:createSessionRequest"/>
                  <wsdl:output name="createSessionResponse" message="impl:createSessionResponse"/>
                 </wsdl:operation>
                 <wsdl:operation name="getGroups" parameterOrder="userId">
                  <wsdl:input name="getGroupsRequest" message="impl:getGroupsRequest"/>
                  <wsdl:output name="getGroupsResponse" message="impl:getGroupsResponse"/>
                 </wsdl:operation>
                 <wsdl:operation name="removeGroup" parameterOrder="userId group">
                  <wsdl:input name="removeGroupRequest" message="impl:removeGroupRequest"/>
                  <wsdl:output name="removeGroupResponse" message="impl:removeGroupResponse"/>
                 </wsdl:operation>
                 <wsdl:operation name="getStatus" parameterOrder="userId">
                  <wsdl:input name="getStatusRequest" message="impl:getStatusRequest"/>
                  <wsdl:output name="getStatusResponse" message="impl:getStatusResponse"/>
                 </wsdl:operation>
                 <wsdl:operation name="addGroup" parameterOrder="userId group">
                  <wsdl:input name="addGroupRequest" message="impl:addGroupRequest"/>
                  <wsdl:output name="addGroupResponse" message="impl:addGroupResponse"/>
                 </wsdl:operation>


Collaboration Service Specification      September 16, 2004 - Version 1.01                                            18
                <wsdl:operation name="insertUser" parameterOrder="userId description group ou rights">
                 <wsdl:input name="insertUserRequest" message="impl:insertUserRequest"/>
                 <wsdl:output name="insertUserResponse" message="impl:insertUserResponse"/>
                </wsdl:operation>
                <wsdl:operation name="getLoginToken" parameterOrder="userId">
                 <wsdl:input name="getLoginTokenRequest" message="impl:getLoginTokenRequest"/>
                 <wsdl:output name="getLoginTokenResponse" message="impl:getLoginTokenResponse"/>
                </wsdl:operation>
                <wsdl:operation name="addFriends" parameterOrder="userId group userIds">
                 <wsdl:input name="addFriendsRequest" message="impl:addFriendsRequest"/>
                 <wsdl:output name="addFriendsResponse" message="impl:addFriendsResponse"/>
                </wsdl:operation>
                <wsdl:operation name="getClientURL" parameterOrder="userId">
                 <wsdl:input name="getClientURLRequest" message="impl:getClientURLRequest"/>
                 <wsdl:output name="getClientURLResponse" message="impl:getClientURLResponse"/>
                </wsdl:operation>
                <wsdl:operation name="getFriendList" parameterOrder="userId group">
                 <wsdl:input name="getFriendListRequest" message="impl:getFriendListRequest"/>
                 <wsdl:output name="getFriendListResponse" message="impl:getFriendListResponse"/>
                </wsdl:operation>
                <wsdl:operation name="getOnlineUsers" parameterOrder="userId">
                 <wsdl:input name="getOnlineUsersRequest" message="impl:getOnlineUsersRequest"/>
                 <wsdl:output name="getOnlineUsersResponse" message="impl:getOnlineUsersResponse"/>
                </wsdl:operation>
                <wsdl:operation name="getUserStates" parameterOrder="userIds">
                 <wsdl:input name="getUserStatesRequest" message="impl:getUserStatesRequest"/>
                 <wsdl:output name="getUserStatesResponse" message="impl:getUserStatesResponse"/>
                </wsdl:operation>
                <wsdl:operation name="getScheduledSessions" parameterOrder="userId">
                 <wsdl:input name="getScheduledSessionsRequest" message="impl:getScheduledSessionsRequest"/>
                 <wsdl:output name="getScheduledSessionsResponse" message="impl:getScheduledSessionsResponse"/>
                </wsdl:operation>
                <wsdl:operation name="removeFriends" parameterOrder="userId group userIds">
                 <wsdl:input name="removeFriendsRequest" message="impl:removeFriendsRequest"/>
                 <wsdl:output name="removeFriendsResponse" message="impl:removeFriendsResponse"/>
                </wsdl:operation>
                <wsdl:operation name="sendAlert" parameterOrder="userId userIds header message">
                 <wsdl:input name="sendAlertRequest" message="impl:sendAlertRequest"/>
                 <wsdl:output name="sendAlertResponse" message="impl:sendAlertResponse"/>
                </wsdl:operation>
                <wsdl:operation name="getProvider">
                 <wsdl:input name="getProviderRequest" message="impl:getProviderRequest"/>
                 <wsdl:output name="getProviderResponse" message="impl:getProviderResponse"/>
                </wsdl:operation>
               </wsdl:portType>




message removeGroupRequest
       parts    userId
                      type   xsd:string

                group
                      type xsd:string
     used by    PortType Collaboration in Operation removeGroup

     source    <wsdl:message name="removeGroupRequest">
                <wsdl:part name="userId" type="xsd:string"/>
                <wsdl:part name="group" type="xsd:string"/>
               </wsdl:message>




Collaboration Service Specification       September 16, 2004 - Version 1.01                                       19
message addGroupRequest
       parts    userId
                      type      xsd:string

                group
                      type xsd:string
     used by    PortType Collaboration in Operation addGroup

     source    <wsdl:message name="addGroupRequest">
                <wsdl:part name="userId" type="xsd:string"/>
                <wsdl:part name="group" type="xsd:string"/>
               </wsdl:message>




message insertUserResponse
       parts


     used by    PortType Collaboration in Operation insertUser

     source    <wsdl:message name="insertUserResponse">
                </wsdl:message>




message insertUserRequest
       parts    userId
                      type      xsd:string

                description
                      type xsd:string

                group
                         type   xsd:string

                ou
                         type   xsd:string

                rights
                      type xsd:string
     used by    PortType Collaboration in Operation insertUser

     source    <wsdl:message name="insertUserRequest">
                <wsdl:part name="userId" type="xsd:string"/>
                <wsdl:part name="description" type="xsd:string"/>
                <wsdl:part name="group" type="xsd:string"/>
                <wsdl:part name="ou" type="xsd:string"/>
                <wsdl:part name="rights" type="xsd:string"/>
               </wsdl:message>




Collaboration Service Specification          September 16, 2004 - Version 1.01   20
message sendAlertResponse
       parts


     used by    PortType Collaboration in Operation sendAlert

     source    <wsdl:message name="sendAlertResponse">
                </wsdl:message>




message sendAlertRequest
       parts    userId
                      type   xsd:string

                userIds
                      type   impl:ArrayOf_xsd_string

                header
                     type    xsd:string

                message
                      type xsd:string
     used by    PortType Collaboration in Operation sendAlert

     source    <wsdl:message name="sendAlertRequest">
                <wsdl:part name="userId" type="xsd:string"/>
                <wsdl:part name="userIds" type="impl:ArrayOf_xsd_string"/>
                <wsdl:part name="header" type="xsd:string"/>
                <wsdl:part name="message" type="xsd:string"/>
               </wsdl:message>




message getOnlineUsersResponse
       parts    getOnlineUsersReturn
                      type impl:ArrayOf_tns1_ECSUser
     used by    PortType Collaboration in Operation getOnlineUsers

     source    <wsdl:message name="getOnlineUsersResponse">
                <wsdl:part name="getOnlineUsersReturn" type="impl:ArrayOf_tns1_ECSUser"/>
               </wsdl:message>




message getUserStatesResponse
       parts    getUserStatessReturn
                      type impl:ArrayOf_tns1_ECSUser
     used by    PortType Collaboration in Operation getUserStates

     source    <wsdl:message name="getUserStatesResponse">
                <wsdl:part name="getUserStatessReturn" type="impl:ArrayOf_tns1_ECSUser"/>
               </wsdl:message>




Collaboration Service Specification       September 16, 2004 - Version 1.01                 21
message getFriendListRequest
       parts    userId
                      type   xsd:string

                group
                      type xsd:string
     used by    PortType Collaboration in Operation getFriendList

     source    <wsdl:message name="getFriendListRequest">
                <wsdl:part name="userId" type="xsd:string"/>
                <wsdl:part name="group" type="xsd:string"/>
               </wsdl:message>




message getOnlineUsersRequest
       parts    userId
                      type xsd:string
     used by    PortType Collaboration in Operation getOnlineUsers

     source    <wsdl:message name="getOnlineUsersRequest">
                <wsdl:part name="userId" type="xsd:string"/>
               </wsdl:message>




message getUserStatesRequest
       parts    userIds
                      type impl:ArrayOf_xsd_string
     used by    PortType Collaboration in Operation getUserStates

     source    <wsdl:message name="getUserStatesRequest">
                <wsdl:part name="userIds" type="impl:ArrayOf_xsd_string"/>
               </wsdl:message>




message getProviderResponse
       parts    getProviderReturn
                      type tns1:ProviderType
     used by    PortType Collaboration in Operation getProvider

     source    <wsdl:message name="getProviderResponse">
                <wsdl:part name="getProviderReturn" type="tns1:ProviderType"/>
               </wsdl:message>




message addGroupResponse
       parts


     used by    PortType Collaboration in Operation addGroup




Collaboration Service Specification       September 16, 2004 - Version 1.01      22
     source    <wsdl:message name="addGroupResponse">
                </wsdl:message>




message getGroupsResponse
       parts    getGroupsReturn
                      type impl:ArrayOf_xsd_string
     used by    PortType Collaboration in Operation getGroups

     source    <wsdl:message name="getGroupsResponse">
                <wsdl:part name="getGroupsReturn" type="impl:ArrayOf_xsd_string"/>
               </wsdl:message>




message getStatusRequest
       parts    userId
                      type xsd:string
     used by    PortType Collaboration in Operation getStatus

     source    <wsdl:message name="getStatusRequest">
                <wsdl:part name="userId" type="xsd:string"/>
               </wsdl:message>




message removeGroupResponse
       parts


     used by    PortType Collaboration in Operation removeGroup

     source    <wsdl:message name="removeGroupResponse">
                </wsdl:message>




message getFriendListResponse
       parts    getFriendListReturn
                      type impl:ArrayOf_tns1_ECSUser
     used by    PortType Collaboration in Operation getFriendList

     source    <wsdl:message name="getFriendListResponse">
                <wsdl:part name="getFriendListReturn" type="impl:ArrayOf_tns1_ECSUser"/>
               </wsdl:message>




message createSessionResponse
       parts


     used by    PortType Collaboration in Operation createSession



Collaboration Service Specification       September 16, 2004 - Version 1.01                23
     source    <wsdl:message name="createSessionResponse">
                </wsdl:message>




message getStatusResponse
       parts    getStatusReturn
                      type xsd:string
     used by    PortType Collaboration in Operation getStatus

     source    <wsdl:message name="getStatusResponse">
                <wsdl:part name="getStatusReturn" type="xsd:string"/>
               </wsdl:message>




message getLoginTokenRequest
       parts    userId
                      type xsd:string
     used by    PortType Collaboration in Operation getLoginToken

     source    <wsdl:message name="getLoginTokenRequest">
                <wsdl:part name="userId" type="xsd:string"/>
               </wsdl:message>




message getLoginTokenResponse
       parts    getLoginTokenReturn
                      type xsd:string
     used by    PortType Collaboration in Operation getLoginToken

     source    <wsdl:message name="getLoginTokenResponse">
                <wsdl:part name="getLoginTokenReturn" type="xsd:string"/>
               </wsdl:message>




message getProviderRequest
       parts


     used by    PortType Collaboration in Operation getProvider

     source    <wsdl:message name="getProviderRequest">
                </wsdl:message>




message createSessionRequest
       parts    sessionName
                      type xsd:string

                userList


Collaboration Service Specification       September 16, 2004 - Version 1.01   24
                        type   xsd:string

                isPublic
                      type     xsd:boolean

                isSecured
                     type      xsd:boolean

                isManaged
                     type xsd:boolean

                isScheduled
                     type xsd:boolean

                sessionStart
                      type xsd:string

                deltaTime
                      type     xsd:int

                inviteMessage
                      type xsd:string

                agenda
                      type xsd:string
     used by    PortType Collaboration in Operation createSession

     source    <wsdl:message name="createSessionRequest">
                <wsdl:part name="sessionName" type="xsd:string"/>
                <wsdl:part name="userList" type="xsd:string"/>
                <wsdl:part name="isPublic" type="xsd:boolean"/>
                <wsdl:part name="isSecured" type="xsd:boolean"/>
                <wsdl:part name="isManaged" type="xsd:boolean"/>
                <wsdl:part name="isScheduled" type="xsd:boolean"/>
                <wsdl:part name="sessionStart" type="xsd:string"/>
                <wsdl:part name="deltaTime" type="xsd:int"/>
                <wsdl:part name="inviteMessage" type="xsd:string"/>
                <wsdl:part name="agenda" type="xsd:string"/>
               </wsdl:message>




message removeFriendsResponse
       parts


     used by    PortType Collaboration in Operation removeFriends

     source    <wsdl:message name="removeFriendsResponse">
                </wsdl:message>




message addFriendsRequest
       parts    userId

                        type   xsd:string

Collaboration Service Specification         September 16, 2004 - Version 1.01   25
                group
                group
                        type   xsd:string

                userIds
                      type impl:ArrayOf_xsd_string
     used by    PortType Collaboration in Operation addFriends

     source    <wsdl:message name="addFriendsRequest">
                <wsdl:part name="userId" type="xsd:string"/>
                <wsdl:part name="group" type="xsd:string"/>
                <wsdl:part name="userIds" type="impl:ArrayOf_xsd_string"/>
               </wsdl:message>




message addFriendsResponse
       parts


     used by    PortType Collaboration in Operation addFriends

     source    <wsdl:message name="addFriendsResponse">
                </wsdl:message>




message getScheduledSessionsRequest
       parts    userId
                      type xsd:string
     used by    PortType Collaboration in Operation getScheduledSessions

     source    <wsdl:message name="getScheduledSessionsRequest">
                <wsdl:part name="userId" type="xsd:string"/>
               </wsdl:message>




message getScheduledSessionsResponse
       parts    getScheduledSessionsReturn
                      type impl:ArrayOf_xsd_string
     used by    PortType Collaboration in Operation getScheduledSessions

     source    <wsdl:message name="getScheduledSessionsResponse">
                <wsdl:part name="getScheduledSessionsReturn" type="impl:ArrayOf_xsd_string"/>
               </wsdl:message>




message getClientURLRequest
       parts    userId
                      type xsd:string
     used by    PortType Collaboration in Operation getClientURL

     source    <wsdl:message name="getClientURLRequest">
                <wsdl:part name="userId" type="xsd:string"/>

Collaboration Service Specification         September 16, 2004 - Version 1.01                   26
               </wsdl:message>




message removeFriendsRequest
       parts    userId
                      type     xsd:string

                group
                        type   xsd:string

                userIds
                      type impl:ArrayOf_xsd_string
     used by    PortType Collaboration in Operation removeFriends

     source    <wsdl:message name="removeFriendsRequest">
                <wsdl:part name="userId" type="xsd:string"/>
                <wsdl:part name="group" type="xsd:string"/>
                <wsdl:part name="userIds" type="impl:ArrayOf_xsd_string"/>
               </wsdl:message>




message getGroupsRequest
       parts    userId
                      type xsd:string
     used by    PortType Collaboration in Operation getGroups

     source    <wsdl:message name="getGroupsRequest">
                <wsdl:part name="userId" type="xsd:string"/>
               </wsdl:message>




message getClientURLResponse
       parts    getClientURLReturn
                      type xsd:string
     used by    PortType Collaboration in Operation getClientURL

     source    <wsdl:message name="getClientURLResponse">
                <wsdl:part name="getClientURLReturn" type="xsd:string"/>
               </wsdl:message>




WSDL documentation generated with XMLSPY WSDL Editor http://www.altova.com/xmlspy




Collaboration Service Specification         September 16, 2004 - Version 1.01       27