Collaboration and web services
Download
1 / 26

Collaboration and Web Services - PowerPoint PPT Presentation


  • 230 Views
  • Updated On :

Collaboration and Web Services. Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN 47404 http://grids.ucs.indiana.edu/ptliupages/presentations. [email protected] Collaborative Web Services.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Collaboration and Web Services' - johana


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Collaboration and web services

Collaboration and Web Services

Geoffrey Fox

Professor of Computer Science, Informatics, Physics

and Director PTLIU Laboratory for Community Grids

Indiana University, Bloomington IN 47404http://grids.ucs.indiana.edu/ptliupages/presentations

[email protected]

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaborative web services
Collaborative Web Services

  • First note that there are two distinct concepts

  • Collaboration as a Web Service

    • Such as “Audio-Video Conferencing” as a Web Service or “Text Chat as a Web Service”

  • Collaborative Web Services

    • Here we view a Web Service as specifying a (distributed) object and wish to share an object

    • Object could be a Web page, a Job status form, a scientific visualization, a PowerPoint slide etc. (not all of these are Web Services but all should be)

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Why web services for collaboration
Why Web Services for Collaboration

  • Well everything is meant to be a Web Service but also:

  • Web Services are MUCH EASIER to make collaborative than other objects because all input and output is defined by uniform XML messages

    • You need to teach your message service about collaboration!

    • Note local applications are NOT Web Services – input is things like “user mouse click” represented by “method events” (UI program interrupts) not “XML message events”

  • The elegance of collaborative web services suggest that it could be easiest to make object X (such as PowerPoint or SVG) collaborative not by traditional direct methods but by converting to a Web Service

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Types of collaboration i
Types of Collaboration I

  • Shared Display: here one shares the rendering of a Web Service. No modification is needed of the web service. Rather this is handled by the portal controlling the user interface

  • Collaborative Replicated Web Services: here one replicates several instances of a web service and the task is to keep these copies consistent. This synchronizes inputs to multiple Web Services

  • Collaborative Web Service Access: here one has multiple clients accessing a single instance of a web service and obtaining consistent views. This multicasts output of a single Web service to multiple clients

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Types of collaboration ii
Types of Collaboration II

  • Shared Export is built on synchronizing the viewers (PDF HTML SVG Browsers) of standard formats. It differs from Shared Web Services in that user inputs (mouse clicks, keyboard) and not (XML Web service) messages are shared

    • One can share export with either a single or replicated back-end engine

    • The most elegant shared export models are built around viewers of documents sharing W3C DOM

    • It would be interesting to convert W3C DOM to a Web Service

  • Shared event is like shared Web service but is a custom “implementation” for each application

    • One can often choose between sharing user inputs or sharing implied change in specification of object state

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaboration shared display

SharedWeb Service

SharedDisplay

Shared Export

Shared Event

Object Viewer

Object Display

Object

Object’

Object’’

In these and following diagrams, we havethree collaborating clients; is masterwhile and are non-masters

Collaboration: Shared Display

  • Sharing can be done at any point on “object” pipeline

Master

Event(Message)Service

Object Display

Shared Display shares

framebuffer with eventscorresponding to changedpixels in master client.

Object Display

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaboration shared export i

SharedWeb Service

SharedDisplay

Shared Export

Shared Event

Object Viewer

Object Display

Collaboration: Shared Export I

  • Another point on object to display pipeline

DrivingAppl.

Object

Object’

Master

Shared Export shares

client side viewer with

events corresponding to

user interactions orinformation from drivingapplication

Event(Message)Service

Object Viewer

Object Display

Object Viewer

Object Display

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaborative web service access

Object Viewer

Object Display

Collaborative Web Service Access

  • Web Service either supports collaboration directly or uses event service

Web Service InterceptorProviding General Services

Set Collaboration Mode

Master

WebService

Object

Object Viewer

Object Display

Web Service has a porton which collaborativemodes set Web Service can be“front-end” (in middletier) to complex back-end object

Event(Message)Service

Object Viewer

Object Display

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Web service interceptor
Web Service Interceptor

  • Collaborative Web Services are implemented “just” by replicating the messages that are output by the Web service

  • This replication is provided by the event service which needs both client and service dependent information

    • The service specific message function is provided by an interceptor or an adaptor which takes care of issues like security, collaboration, management, service information, which message service to use

    • The client specific function specifies the client profile telling event service how to filter events for each client

  • Depending on system implementation, the interceptor is either built into web service or a wrapper provided by event service

    • The latter implies that all messages between clients and (all) web services are handled by event service

  • There are ports on the interceptor allowing specification of Collaboration Session and giving event service access to information needed for appropriate filtered (as per profile) message delivery to clients

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaborative web service access1
Collaborative Web Service Access

  • This shows how the “Collaboration Web service” supports collaborative web services

Web Service InterceptorProviding General Services

Collaborationas a WebService

Collaborative WebService

Set Collaboration and Message Mode

MasterClient

Web Service has a porton which collaborativemodes set Web Service can be“front-end” (in middletier) to complex back-end object

Event(Message)Service

Client

Client

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaborative replicated web services i

WebService

WebService

WebService

Object Viewer

Object Display

Collaborative Replicated Web Services I

  • This uses event multicast to support replicated web services

Web Service InterceptorProviding General Services

Set Collaboration Mode

Master

Object

Object Viewer

Object Display

Event(Message)Service

Object Viewer

Object Display

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaborative replicated web services ii
Collaborative Replicated Web Services II

  • The event service now replicates the messages INPUT to the master web service (In Collaborative Web Service Access we replicated messages OUTPUT to the client)

  • Again we use a special “collaboration” port on the Web Service to set up links between clients

    • Note publish/subscribe mechanism in the events service supports the late joiners (in other collaboration models as well)

  • The event service can also handle messages between Web services and clients and provide the user customization service but this is not shown on previous foil

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaboration shared export ii

SharedWeb Service

SharedDisplay

Shared Export

Shared Event

Object Viewer

Object Display

Collaboration: Shared Export II

  • One can use replicated “driver” for shared export

DrivingAppl.

Object

Object’

Master

DrivingAppl.

Object Viewer

Object Display

Event(Message)Service

DrivingAppl.

Object Viewer

Object Display

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaboration shared event i

Object Display

Object Display

Object Display

Object

Object

Object

Object’’

Object’’

Object’’

Collaboration: Shared Event I

  • Object must be changed in object (application) specific fashion

Master

Shared Event sharesState change events

Event(Message)Service

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaboration shared event ii

Object Display

Object

Object’’

Collaboration: Shared Event II

  • Object events can be shared at any point in pipeline

Master

Shared Event sharesState change events

Event(Message)Service

Object Display

Object’’

Object Display

Object’’

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collabws collaboration as a web service
CollabWS: Collaboration as a Web Service

  • This includes Audio-Video conferencing, Instant Messengers, shared applications and tools

  • There are basic standards H323 and SIP

  • There are peer to peer collaboration approaches like JXTA from Sun

  • There are various commercial products – Groove Networks effectively defines some shared application interfaces

  • CollabWS defines a superset of collaboration properties and subservices in XML/WSDL

  • Then you provide several bindings of collabws.wsdl to new transports and old ones (binary H323)

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


H323 sip jxta
H323 SIP JXTA

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Sip h323 jxta
SIPH323 JXTA

SIP

H323

JXTA

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


A typical sip message
A Typical SIP Message

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Collaboration as a web service now
Collaboration as a Web service - now

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Sip as xml
SIP as XML

  • <sipasxml><register> sip:registrar.biloxi.com</register><via> SIP/2.0/UDP 10.4.1.4:5060</via><to> Bob (sip:[email protected]) </to><from tag="456248" > Bob (sip:[email protected]) </from><call-id> [email protected]</call-id><cseq> 1826 REGISTER </cseq><contact> (sip:[email protected]) </contact><expires> 7200 </expires><contact-length> 0 </contact-length></sipasxml>

  • So this is either an internal format to which we map SIP messages or it is an external format used for Collaboration Web Service

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Future collaboration web service
Future Collaboration Web Service

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Messaging events as a web service
Messaging/Events as a Web Service

  • We can implement messaging subsystem (between WSDL resources) with either direct messages or by a queued system where you publish messages to queues and subscribe as receiver to particular queues

  • There are many different publish/subscribe models

    • JMS is a cluster of central servers

    • JXTA is a very dynamic Peer to Peer model where pipes are queues and topics (metadata) are service advertisements

  • Implement JMS API with JXTA protocol – different WSDL bindings here have different fault tolerance/reliability semantics

    • Could use JMS as long distance “carrier” between JXTA peers

    • JXTA provides higher performance than JMS for nearby recipients

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Event web service

Destination Source Matching

Routing

Filter

workflow

Web Service 1

Web Service 2

(Virtual)Queue

WSDLPorts

WSDLPorts

Event Web Service

  • Filter is mapping to PDA or slow communication channel (universal access) – see our PDA adaptor

  • Workflow natural as all messages “intercepted” by Event Web Service

  • Routing illustrated by JXTA

  • Destination-Source matching illustrated by JMS

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Broker network

Resource

Data

base

Broker Network

Software multicast

P2P: Brokers are clients

Broker

Broker

Broker

Broker

Broker

Broker

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"


Narada jxta jms integration
Narada JXTA/JMS Integration

  • http://grids.ucs.indiana.edu/ptliupages/projects/narada/

  • Is a network of event brokers which can reliably deliver XML specified events

  • Using openJMS selection module, becomes a distributed or conventional Java Message Service

  • Linking special JXTAproxies, it can link JXTA communities

  • Think of JXTA JMS andNarada as differentbindings toevent/messagingweb service

uri="http://grids.ucs.indiana.edu/ptliupages/presentations/collabwsncsamar02" email="[email protected]"