A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A
Outline Background and Related Work Background and Related Work Collaborative Web Services and Peer- to-Peer Grids Environments Collaborative Web Services and Peer- to-Peer Grids Environments Structure of Our Demonstration Structure of Our Demonstration Mechanism and Roles of the Collaborative Applications Mechanism and Roles of the Collaborative Applications Conclusions and Future Work Conclusions and Future Work
Background and Related Work Web Services are building blocks for modern applications, enabling developers to integrate functionality across businesses and organizations. Web Services are building blocks for modern applications, enabling developers to integrate functionality across businesses and organizations. Peer-to-Peer Grids is a new trend in scientific computing and collaboration. Peer-to-Peer Grids is a new trend in scientific computing and collaboration. Grids computingGrids computing offers robust, structured, security services that scale well in pre- existing hierarchically arranged enterprises or organizations offers robust, structured, security services that scale well in pre- existing hierarchically arranged enterprises or organizations it is largely asynchronous and allows seamless access to supercomputers and their datasets it is largely asynchronous and allows seamless access to supercomputers and their datasets Peer-to-PeerPeer-to-Peer is more convenient and efficient for the low-end clients to advertise and access the files on the communal computers is more convenient and efficient for the low-end clients to advertise and access the files on the communal computers is more intuitive, unstructured, and largely synchronous is more intuitive, unstructured, and largely synchronous
Collaborative Web Services and Peer-to-Peer Grids Environments
Structure of Our Demonstration Collaborative PowerPoint and IE applications for distance education, e-learning, and online conferencing Collaborative PowerPoint and IE applications for distance education, e-learning, and online conferencing One of which is a Master client, the others are participantsOne of which is a Master client, the others are participants The Master client sends messages to participants during its presentation so that they render and share the screens synchronouslyThe Master client sends messages to participants during its presentation so that they render and share the screens synchronously Narada Message Broker as the underlying message communication system Narada Message Broker as the underlying message communication system It transmits event messages between collaborative PowerPoint and IE applications’ clientsIt transmits event messages between collaborative PowerPoint and IE applications’ clients Web Services as building blocks of collaborative applications Web Services as building blocks of collaborative applications Instant Messenger Web ServicesInstant Messenger Web Services Event metadata as Web ServicesEvent metadata as Web Services
Mechanism and Roles of the Collaborative Applications A Collaborative Web Service Model A Collaborative Web Service Model Collaboration Architecture Collaboration Architecture The Master Client Application The Master Client Application The Participating Client Application The Participating Client Application The Event Models The Event Models Narada Message Broker Narada Message Broker Instant Messaging and Metadata Web Services Instant Messaging and Metadata Web Services
A Collaborative Web Service Model (1) A Shared Input Port Model for Collaborative Applications and Web Services A Shared Input Port Model for Collaborative Applications and Web Services The user-facing input, output ports pass control information by the user, and supply information for constructing the user interfaces. The user-facing input, output ports pass control information by the user, and supply information for constructing the user interfaces. The resource-facing input/output ports supply the information to define the state of the Web Service The resource-facing input/output ports supply the information to define the state of the Web Service Use XGSP (XML General Session Protocol) information to set up sessions with a session server Use XGSP (XML General Session Protocol) information to set up sessions with a session server
A Collaborative Web Service Model (2) Shared Input Port Model for Collaborative Applications and Web Services
Collaboration Architecture Master Client Connectable Object Sink NaradaBrokering Message Service User 1 User 2 User n
The Master Client Application (1) The master client is the one that captures events during a PowerPoint presentation and sends messages to participating clients for rendering. It plays a role as a Peer in the Peer-to-Peer Grids. Technologies used: Automation enables applications to expose functionality through interfaces, which can be reused by other applications through wrapper classes. Automation enables applications to expose functionality through interfaces, which can be reused by other applications through wrapper classes. Connectable objects manage Connection Point objects where events are defined, and therefore are the event source. Connectable objects manage Connection Point objects where events are defined, and therefore are the event source.
The Master Client Application (2) The sink interface is where the handlers of events are implemented; the Master client handles events fired from the connectable object through the sink. The sink interface is where the handlers of events are implemented; the Master client handles events fired from the connectable object through the sink.
The Participating Client Application (1) The participating client is the one that receives messages from Narada message broker, and renders the presentation display. Each participating client plays a role as a Peer in the Peer-to-Peer Grids. 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.
The Participating Client Application (2) The cooperation between the message broker and the participating client, and the mechanism of it.
The Event Models (1) Three levels of events: 1. Physical events mouse over, mouse clicking, keyboard stroking, etc. 2. Semantic events meaningful instructions such as change slides, change windows, etc. 3. Rendering events Rendering of presentation displays via automation, according to the semantic event messages received.
The Event Models (2) Events that are posted in “EApplication” interface of PowerPoint and that can be captured and processed.
Narada Message Broker (1) It transmits event messages between collaborative PowerPoint and IE applications’ clients It can be deployed as a Grid in Peer-to-Peer Grids, using robust, secure, structured and powerful machines and resources. It supports messaging in Peer-to-Peer Grids It 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 firewalls It handles dynamic protocol choice, tunneling through firewalls It supports TCP, UDP, multicast, SSL and RTP It supports TCP, UDP, multicast, SSL and RTP It is error tolerate, supports dynamic routing, secure message, and full scalability. It is error tolerate, supports dynamic routing, secure message, and full scalability.
Narada Message Broker (2) It can run in client-server mode like JMS (Java Message Service) or in distributed Peer-to-Peer mode like JXTA It can run in client-server mode like JMS (Java Message Service) or in distributed Peer-to-Peer mode like JXTA It can be used in real-time synchronous collaborations It can be used in real-time synchronous collaborations
Instant Messaging and Metadata Web Services (1) Instant Messaging and Metadata Web Services are building blocks in Peer-to-Peer Grids computing. Web Services along with Peer-to-Peer Grids play important roles in collaboration. Web Services enable developers to integrate functionality across businesses and organizations. 1. The structure of Web Service Publish, Find, and Bind Publish, Find, and Bind URI (Universal Resource Identifier), WSDL (Web Service Description Language) and UDDI (Universal Discovery, Deployment and Integration) URI (Universal Resource Identifier), WSDL (Web Service Description Language) and UDDI (Universal Discovery, Deployment and Integration) 2. The elements of Instant Message XML (eXtensible Markup Language) tags XML (eXtensible Markup Language) tags DOM (Document Object Model) format DOM (Document Object Model) format SOAP (Simple Object Access Protocol) protocol SOAP (Simple Object Access Protocol) protocol 3. Metadata as a Web Service
Instant Messaging and Metadata Web Services (2) The structure of Web Service in general, and the Instant Messaging Web Service with the applications in particular
Conclusions The Collaborative PowerPoint and IE applications integrate the master and participating client processes; cooperate with the NaradaBrokering message service; leverage the Instant Messaging and Event Metadata web services. The Collaborative PowerPoint and IE applications integrate the master and participating client processes; cooperate with the NaradaBrokering message service; leverage the Instant Messaging and Event Metadata web services. It can be used in distance learning, lecturing, conferencing, etc. It can be used in distance learning, lecturing, conferencing, etc. It gives a good demonstration of the usage of collaborative Web Services and Peer-to-Peer Grids. It gives a good demonstration of the usage of collaborative Web Services and Peer-to-Peer Grids.
Future Work Deploy the collaborative applications to a session server or session servers that act as roles of Grids, making them available to users in a systematic way by using XML-based protocols like XGSP. Deploy the collaborative applications to a session server or session servers that act as roles of Grids, making them available to users in a systematic way by using XML-based protocols like XGSP. Explore the applications to include functions that enable dynamic Metadata Web Services’ generation and deployment with the session server(s) during presentations. Explore the applications to include functions that enable dynamic Metadata Web Services’ generation and deployment with the session server(s) during presentations. The IE part of the participating clients’ applications is under development and it is a potential port to the explorations of the usage of portable devices like PDA, which would also be Demonstrations of Collaborative Web Services and Peer-to- Peer Grids. The IE part of the participating clients’ applications is under development and it is a potential port to the explorations of the usage of portable devices like PDA, which would also be Demonstrations of Collaborative Web Services and Peer-to- Peer Grids.