• No results found

Presentation

N/A
N/A
Protected

Academic year: 2020

Share "Presentation"

Copied!
31
0
0

Loading.... (view fulltext now)

Full text

(1)

Collaboration and

Web Services

[email protected]

Geoffrey Fox

Professor of Computer Science, Informatics, Physics

and Director PTLIU Laboratory for Community Grids

Indiana University, Bloomington IN 4740

(2)

Collaborative Web Services

n

First note that there are two distinct concepts

n

Collaboration as a Web Service

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

“Text Chat as a Web Service”

n

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)

There is an

overall framework

(part of collaboration as a web

(3)

Why Web Services for Collaboration

n

Well

everything is meant to be a Web Service

but also:

n

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”

n

The elegance of collaborative web services suggest that

it could be easiest to make object X (such as

(4)

Types of Collaboration I

n

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

n

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

n

Collaborative Web Service Access:

here one has

multiple clients accessing a single instance of a web

(5)

Types of Collaboration II

n

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

n

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

(6)

Collaboration: Shared Display

n

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

Objec

t

Object

Object’

Object

Displa

y

Object

Viewer

Object

Displa

y

Object

Displa

y

Even

(Message

Service

Shared Display shares

framebuffer with event

corresponding to change

pixels in master client.

Master

Share

Display

Share

Web Service

Share

Event

Shared

Export

(7)

Collaboration: Shared Export I

n

Another point on object to display pipeline

Objec

t

Object

Drivin

Appl.

Object

Displa

y

Object

Viewer

Object

Displa

y

Object

Viewer

Even

(Message

Service

Shared Export shares

client side viewer with

events corresponding to

user interactions o

information from drivin

application

Master

Object

Displa

y

Object

Viewer

Share

Display

Share

Web Service

Share

(8)

Collaborative Web Service Access

n

Web Service either supports collaboration directly or uses event service

Objec

t

We

Servic

e

Object

Displa

y

Object

Viewer

Object

Displa

y

Object

Viewer

Even

(Message

Service

Web Service has a por

on which collaborativ

modes set

Web Service can b

“front-end” (in middl

tier) to complex

back-end object

Master

Object

Displa

y

Object

Viewer

Web Service Intercepto

(9)

Web Service Interceptor

n

Collaborative Web Services are implemented “just” by

replicating the messages that are output by the Web service

n

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

n

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

n

There are ports on the interceptor allowing specification of

Collaboration Session and giving event service access to

(10)

Collaborative Web Service Access

n

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

Collaborative We

Service

Maste

Client

Clien

t

Even

(Message

Service

Web Service has a por

on which collaborativ

modes set

Web Service can b

“front-end” (in middl

tier) to complex

back-end object

Clien

t

Web Service Intercepto

Providing General Services

Set Collaboration

and Message Mode

Collaboratio

as a We

(11)

Collaborative Replicated Web Services I

n

This uses event multicast to support replicated web services

Objec

t

Object

Displa

y

Object

Viewer

Object

Displa

y

Object

Viewer

Even

(Message

Service

Master

Object

Displa

y

Object

Viewer

We

Servic

e

Web Service Intercepto

Providing General Services

Set Collaboration Mode

(12)

n

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)

n

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)

n

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

(13)

Collaboration: Shared Export II

n

One can use replicated “driver” for shared export

Objec

t

Object

Drivin

Appl.

Object

Displa

y

Object

Viewer

Even

(Message

Service

Master

Object

Displa

y

Object

Viewer

Drivin

Appl.

Object

Displa

y

Object

Viewer

Drivin

Appl.

Share

Display

Share

Web Service

Share

(14)

Collaboration: Shared Event I

n

Object must be changed in object (application) specific fashion

Even

(Message

Service

Shared Event share

State change events

Master

Objec

t

Object’

Object

Displa

y

Objec

t

Object’

Object

Displa

y

Objec

t

Object’

Object

Displa

(15)

Collaboration: Shared Event II

n

Object events can be shared at any point in pipeline

Even

(Message

Service

Shared Event share

State change events

Master

Objec

t

Object’

Object

Displa

y

Object’

Object

Displa

y

Object’

Object

Displa

(16)

Collaborative Portlets I

n

When one has multiple components in the UI one must extend

Web Service picture to include Portal and Portlets

Application o

Content

source

WSD

L

Web Service

S

R

W

P

Application as a WS

General Application Port

Interface with other We

Services

User Face o

Web Servic

WSRP Ports define

WS as a Portlet

Portal

User Profil

Aggregat

UI

Fragments

Clien

t

Integrate Multiple Portlets

User Customizatio

(17)

Collaborative Portlets II

n

Collaboration is gotten by extending the WSRP

Interface

Application o

Content

source

WSD

L

Web Service

S

R

W

P

Even

(Message

Service

Collaboratio

as a We

(18)

Shared Display Collaboration

Shared Displa

WS

WSD

L

Web Service

S

R

W

P

Even

(Message

Service

Collaboratio

as a We

Service

Maste

Client

Local or Remot

Application to Shar

(maybe from

Portal)

Display Updates

Multi resolutio

(19)

CollabWS: Collaboration as a Web Service

n

This includes Audio-Video conferencing, Instant

Messengers, shared applications and tools

n

There are basic standards

H323

and

SIP

n

There are peer to peer collaboration approaches like

JXTA

from Sun

n

There are various commercial products –

Groove

Networks

effectively defines some shared application

interfaces

n

CollabWS

defines a superset of collaboration

properties and subservices in XML/WSDL

n

Then you provide several bindings of

collabws.wsdl

(20)
(21)

SI

H323

JXTA

H323

JXTA

(22)

A Typical SIP Message

n

REGISTER

sip:registrar.biloxi.co

Via:

SIP/2.0/UDP 10.4.1.4:506

To:

Bob (sip:[email protected]

From:

Bob (sip:[email protected]);tag=45624

Call-ID:

84381763

[email protected]

CSeq: 1826

REGISTE

Contact:

(sip:[email protected]

Expires:

720

Contact-Length:

0

n

Initially build a wrapper that accepts such

(23)
(24)

SIP as XML

n

<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>

n

So this is either an internal format to which we map SIP

(25)
(26)

Messaging/Events as a Web Service

n

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

n

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

n

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

(27)

Event Web Service

n

Filter is mapping to PDA or slow communication

channel (universal access) – see our PDA adaptor

n

Workflow natural as all messages “intercepted” by

Event Web Service

n

Routing illustrated by JXTA

n

Destination-Source matching illustrated by JMS

Web

Service 1

(Virtual

Queue

Service 2

Web

Destinatio

Source Matching

Filter

Routin

g

workflo

w

WSD

(28)

Broker Network

Data

base

Reso

urce

Broker

Broker

Broker

Broker

Broker

Broker

Software multicast

(29)

Narada JXTA/JMS Integration

n

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

n

I

s a network of event brokers which can

reliably deliver XML

specified

events

n

Using

openJMS

selection module, becomes a distributed or

conventional Java Message Service

n

Linking special JXT

proxies, it can link

JXTA communities

n

Think of

JXTA JMS an

Narada

as differen

bindings t

(30)

Education as a Web Service

n

Can link to Science as a Web Service and substitute educational

modules

n

Learning Object

” XML standards already exist from IMS/ADL

h

ttp://www.adlnet.org –

need to update architecture

n

Web Services for

virtual university

include:

n

Registration

n

Performance

(grading)

n

Authoring

of Curriculum

n

Online laboratories

for real and virtual instruments

n

Homework submission

n

Quizzes

of various types (multiple choice, random parameters)

n

Assessment

data access and analysis

n

Synchronous Delivery

of Curricula

n

Scheduling

of courses and mentoring sessions

(31)

CMS (Content Management)

as a Web Service

n

For

meta-data

, build

federated database as a Web

Service

Storage, update, lookup of objects

Registration of different control engines

n

For

content

, if W3C DOM and Java API as for SVG

and “decent” XHTML browsers, then can

wrap DOM

as a web service

for all interface functions

Can of course do this for IE5 but document object model

unreliable

n

Build collaboration systems as

sharing Web Service

References

Related documents

- Absolutely No Application Code Changes. - Focus on

Atmos Object API Policy Engine File Share File Share File Management Appliance Archive NetWorker Backup Web Application Data Services. Web Services

We distinguish between classical (de novo) entry and reciprocal entry (incumbent entering the neighbouring market), and analyse how such public policy measures as (i) publication

The study found that there was no significant interaction between the effects of e-government and administrative decentralization (p=0.119&gt;0.001).Consequently, the study failed

Adaptation Limit T ype Australia Ov erseas References Sno wmaking Cost exceeds guest willingness to pay Econ/Social Potential Potential 1 ,2 , 3 , 4 , 5 , 6 , 10 , 11 , 15, 18, 23 ,

Sync &amp; Share allows users to set up joint cloud storage workspaces in the form of 'cloud folders' for collaborating with colleagues, including the following features:.. 

Cash flow from operating activities increased relative to the prior- year quarter to EUR -6.1 million, primarily due to the reduction in working capital 1 by the close of march

In addition, the comparison of cumulative larval mortalities between three different parts of Ipomoea cairica extracts indicates that the leaves and petal extracts provide