a demonstration of collaborative web services and peer-to-peer grids minjun wang department of...

21
A Demonstration of A Demonstration of Collaborative Web Collaborative Web Services and Peer- Services and Peer- to-Peer Grids to-Peer Grids Minjun Wang Minjun Wang Department of Electrical Engineering and Computer Department of Electrical Engineering and Computer Science Science Syracuse University, U.S.A Syracuse University, U.S.A [email protected] [email protected]

Upload: sibyl-briggs

Post on 18-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

A Demonstration of A Demonstration of Collaborative Web Collaborative Web

Services and Peer-to-Peer Services and Peer-to-Peer GridsGrids

Minjun WangMinjun WangDepartment of Electrical Engineering and Department of Electrical Engineering and

Computer ScienceComputer ScienceSyracuse University, U.S.ASyracuse University, U.S.A

[email protected]@syr.edu

Page 2: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

OutlineOutline

Background and Related WorkBackground and Related Work Collaborative Web Services and Peer-Collaborative Web Services and Peer-

to-Peer Grids Environmentsto-Peer Grids Environments Structure of Our DemonstrationStructure of Our Demonstration Mechanism and Roles of the Mechanism and Roles of the

Collaborative ApplicationsCollaborative Applications Conclusions and Future WorkConclusions and Future Work

Page 3: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Background and Related WorkBackground and Related Work Web Services are building blocks for modern applications,Web Services are building blocks for modern applications,

enabling developers to integrate functionality across enabling developers to integrate functionality across businesses and organizations.businesses and organizations.

Peer-to-Peer Grids is a new trend in scientific computing Peer-to-Peer Grids is a new trend in scientific computing and collaboration. and collaboration. • Grids computingGrids computing

offers robust, structured, security services that scale well in pre-offers robust, structured, security services that scale well in pre-existing hierarchically arranged enterprises or organizationsexisting hierarchically arranged enterprises or organizations

it is largely asynchronous and allows seamless access to it is largely asynchronous and allows seamless access to supercomputers and their datasets supercomputers and their datasets

• Peer-to-PeerPeer-to-Peer is more convenient and efficient for the low-end clients to advertise is more convenient and efficient for the low-end clients to advertise

and access the files on the communal computersand access the files on the communal computers is more intuitive, unstructured, and largely synchronous is more intuitive, unstructured, and largely synchronous

Page 4: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Collaborative Web Services and Collaborative Web Services and Peer-to-Peer Grids EnvironmentsPeer-to-Peer Grids Environments

Page 5: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Structure of Our DemonstrationStructure of Our Demonstration Collaborative PowerPoint and IE applications for distance Collaborative PowerPoint and IE applications for distance

education, e-learning, and online conferencingeducation, e-learning, and online conferencing• One of which is a Master client, the others are participants One of which is a Master client, the others are participants • The Master client sends messages to participants during its The Master client sends messages to participants during its

presentation so that they render and share the screens presentation so that they render and share the screens synchronouslysynchronously

Narada Message Broker as the underlying message Narada Message Broker as the underlying message communication systemcommunication system• It transmits event messages between collaborative PowerPoint It transmits event messages between collaborative PowerPoint

and IE applications’ clientsand IE applications’ clients Web Services as building blocks of collaborative Web Services as building blocks of collaborative

applicationsapplications• Instant Messenger Web Services Instant Messenger Web Services • Event metadata as Web ServicesEvent metadata as Web Services

Page 6: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Mechanism and Roles of the Mechanism and Roles of the Collaborative ApplicationsCollaborative Applications

A Collaborative Web Service ModelA Collaborative Web Service Model Collaboration ArchitectureCollaboration Architecture The Master Client ApplicationThe Master Client Application The Participating Client ApplicationThe Participating Client Application The Event ModelsThe Event Models Narada Message BrokerNarada Message Broker Instant Messaging and Metadata Web Instant Messaging and Metadata Web

ServicesServices

Page 7: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

A Collaborative Web Service Model A Collaborative Web Service Model (1)(1)

A Shared Input Port Model for Collaborative A Shared Input Port Model for Collaborative Applications and Web ServicesApplications and Web Services

The user-facing input, output ports pass control The user-facing input, output ports pass control information by the user, and supply information information by the user, and supply information for constructing the user interfaces.for constructing the user interfaces.

The resource-facing input/output ports supply the The resource-facing input/output ports supply the information to define the state of the Web Serviceinformation to define the state of the Web Service

Use XGSP (XML General Session Protocol) Use XGSP (XML General Session Protocol) information to set up sessions with a session information to set up sessions with a session server server

Page 8: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

A Collaborative Web Service Model A Collaborative Web Service Model (2)(2)

Shared Input Port Model for Collaborative Shared Input Port Model for Collaborative Applications and Web Services Applications and Web Services

Page 9: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Collaboration ArchitectureCollaboration Architecture

MasterClient

ConnectableObject

Sink

NaradaBrokering Message Service

User1

User2

Usern

Page 10: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

The Master Client Application (1)The Master Client Application (1)

The master client is the one that captures events The master client is the one that captures events during a PowerPoint presentation and sends during a PowerPoint presentation and sends messages to participating clients for rendering.messages to participating clients for rendering.

It plays a role as a Peer in the Peer-to-Peer Grids.It plays a role as a Peer in the Peer-to-Peer Grids.

Technologies used:Technologies used: Automation enables applications to expose Automation enables applications to expose

functionality through interfaces, which can be functionality through interfaces, which can be reused by other applications through wrapper reused by other applications through wrapper classes. classes.

Connectable objects manage Connection Point Connectable objects manage Connection Point objects where events are defined, and therefore objects where events are defined, and therefore are the event source.are the event source.

Page 11: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

The Master Client Application (2)The Master Client Application (2)

The sink interface is where the handlers of events The sink interface is where the handlers of events are implemented; the Master client handles are implemented; the Master client handles events fired from the connectable object through events fired from the connectable object through the sink.the sink.

Page 12: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

The Participating Client Application The Participating Client Application (1)(1)

The participating client is the one that receives The participating client is the one that receives messages from Narada message broker, and messages from Narada message broker, and renders the presentation display. renders the presentation display.

Each participating client plays a role as a Peer in Each participating client plays a role as a Peer in the Peer-to-Peer Grids.the Peer-to-Peer Grids.

Technologies used:Technologies used: JNI (Java Native Interface)JNI (Java Native Interface) Cooperation between Java and C/C++Cooperation between Java and C/C++ Wrapper Classes, Dispatching and Automation.Wrapper Classes, Dispatching and Automation.

Page 13: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

The Participating Client Application The Participating Client Application (2)(2)

The cooperation between the message broker and The cooperation between the message broker and the participating client, and the mechanism of it.the participating client, and the mechanism of it.

Page 14: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

The Event Models (1)The Event Models (1)

Three levels of events:Three levels of events:

1.1. Physical eventsPhysical eventsmouse over, mouse clicking, keyboard stroking, etc.mouse over, mouse clicking, keyboard stroking, etc.

2.2. Semantic eventsSemantic eventsmeaningful instructions such as change slides, change meaningful instructions such as change slides, change

windows, etc. windows, etc.

3.3. Rendering eventsRendering eventsRendering of presentation displays via automation, Rendering of presentation displays via automation,

according to the semantic event messages according to the semantic event messages received.received.

Page 15: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

The Event Models (2)The Event Models (2)

Events that are Events that are posted in posted in “EApplication” “EApplication” interface of interface of PowerPoint and PowerPoint and that can be that can be captured and captured and processed. processed.

Page 16: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Narada Message Broker (1)Narada Message Broker (1)

It transmits event messages between collaborative PowerPoint It transmits event messages between collaborative PowerPoint and IE applications’ clients and IE applications’ clients

It can be deployed as a Grid in Peer-to-Peer Grids, using It can be deployed as a Grid in Peer-to-Peer Grids, using robust, secure, structured and powerful machines and robust, secure, structured and powerful machines and resources.resources.

It supports messaging in Peer-to-Peer GridsIt supports messaging in Peer-to-Peer Grids It uses a generalized publish-subscribe mechanism It uses a generalized publish-subscribe mechanism It handles dynamic protocol choice, tunneling through It handles dynamic protocol choice, tunneling through

firewallsfirewalls It supports TCP, UDP, multicast, SSL and RTP It supports TCP, UDP, multicast, SSL and RTP It is error tolerate, supports dynamic routing, secure It is error tolerate, supports dynamic routing, secure

message, and full scalability.message, and full scalability.

Page 17: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Narada Message Broker (2)Narada Message Broker (2) It can run in client-server mode like JMS (Java It can run in client-server mode like JMS (Java

Message Service) or in distributed Peer-to-Peer Message Service) or in distributed Peer-to-Peer mode like JXTAmode like JXTA

It can be used in real-time synchronous It can be used in real-time synchronous collaborationscollaborations

Page 18: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Instant Messaging and Metadata Instant Messaging and Metadata Web Services (1)Web Services (1)

Instant Messaging and Metadata Web Services are building Instant Messaging and Metadata Web Services are building blocks in Peer-to-Peer Grids computing.blocks in Peer-to-Peer Grids computing.

Web Services along with Peer-to-Peer Grids play important Web Services along with Peer-to-Peer Grids play important roles in collaboration. Web Services enable developers to roles in collaboration. Web Services enable developers to integrate functionality across businesses and integrate functionality across businesses and organizations.organizations.

1.1. The structure of Web ServiceThe structure of Web Service Publish, Find, and BindPublish, Find, and Bind URI (Universal Resource Identifier), WSDL (Web Service URI (Universal Resource Identifier), WSDL (Web Service

Description Language) and UDDI (Universal Discovery, Description Language) and UDDI (Universal Discovery, Deployment and Integration) Deployment and Integration)

2.2. The elements of Instant MessageThe elements of Instant Message XML (eXtensible Markup Language) tagsXML (eXtensible Markup Language) tags DOM (Document Object Model) formatDOM (Document Object Model) format SOAP (Simple Object Access Protocol) protocolSOAP (Simple Object Access Protocol) protocol

3.3. Metadata as a Web ServiceMetadata as a Web Service

Page 19: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Instant Messaging and Metadata Instant Messaging and Metadata Web Services (2)Web Services (2)

The structure of Web Service in general, and the Instant The structure of Web Service in general, and the Instant Messaging Web Service with the applications in particularMessaging Web Service with the applications in particular

Page 20: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

ConclusionsConclusions

The Collaborative PowerPoint and IE The Collaborative PowerPoint and IE applications integrate the master and applications integrate the master and participating client processes; cooperate participating client processes; cooperate with the NaradaBrokering message with the NaradaBrokering message service; leverage the Instant Messaging service; leverage the Instant Messaging and Event Metadata web services. and Event Metadata web services.

It can be used in distance learning, It can be used in distance learning, lecturing, conferencing, etc.lecturing, conferencing, etc.

It gives a good demonstration of the usage It gives a good demonstration of the usage of collaborative Web Services and Peer-to-of collaborative Web Services and Peer-to-Peer Grids.Peer Grids.

Page 21: A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,

Future WorkFuture Work Deploy the collaborative applications to a session server or Deploy the collaborative applications to a session server or

session servers that act as roles of Grids, making them session servers that act as roles of Grids, making them available to users in a systematic way by using XML-based available to users in a systematic way by using XML-based protocols like XGSP.protocols like XGSP.

Explore the applications to include functions that enable Explore the applications to include functions that enable dynamic Metadata Web Services’ generation and dynamic Metadata Web Services’ generation and deployment with the session server(s) during presentations. deployment with the session server(s) during presentations.

The IE part of the participating clients’ applications is under The IE part of the participating clients’ applications is under development and it is a potential port to the explorations of development and it is a potential port to the explorations of the usage of portable devices like PDA, which would also be the usage of portable devices like PDA, which would also be Demonstrations of Collaborative Web Services and Peer-to-Demonstrations of Collaborative Web Services and Peer-to-Peer Grids. Peer Grids.