Download presentation
Presentation is loading. Please wait.
1
A Service-Oriented Peer-to-Peer System for University Library Resource Sharing Presented By: Chandana Kancherla Supervisor: Dr. Haiping Xu Spring 2005 UMass Dartmouth
2
Outlines Peer-to-Peer Systems Web Services System Requirements System Architecture UML Diagrams Implementation Future Scope
3
Peer-to-Peer Systems File sharing P2P applications focus on storing and retrieving information from various peers in the network The model that popularized this class of application is the content exchange model A P2P application should be able to locate other peers in the network. Once an application is able to locate other peers, it should be able to communicate with them using messages. P2P systems consider that all nodes or peers are equal for sharing information.
4
Peer-to-Peer Systems Contd. There are two types of P2P architectures: Pure and Hybrid. Pure P2P : In this model, there is no main server. Every peer is a client as well as a server. Hybrid P2P: In this model, there is a special server that maintains a database and performs some administrative functions.
5
Web Services A Web service is accessible over the web. Web services communicate using platform-independent and language-neutral web protocols. A Web service provides an interface that can be called from another program. The Web service interface acts as a liaison between the web and the actual application logic that implements the service. Web services support loosely coupled connections between systems. The web service interface adds a layer of abstraction to the environment that makes the connections flexible and adaptable.
6
Web Services Contd. Three XML-based technologies have emerged as the standards for Web services: Simple Object Access Protocol (SOAP) defines a standard communications protocol for Web services. Web Services Description Language (WSDL) defines a standard mechanism to describe a Web service. Universal Description, Discovery and Integration (UDDI) provides a standard mechanism to register and discover Web services.
7
Requirements Design and implement a service oriented Peer-to-Peer system for University Library Resource sharing. When the user wants to perform a remote search on a peer from another network then the peer can select a peer from a remote network and send a request and that respective remote peer will perform a local search within its network and return the result to the requestor. The result of a remote search will contain all the URLs and the names of the Universities (hosts) that have the requested resource and the user will be allowed to choose from where he/she wants to download the book. Pure P2P architecture is used here which is a major feature since it eliminates the risk of single point of failure.
8
Architecture
9
Class Diagram AdminI uploadBook() (from admin) PeerServerI searchBookLocally() searchBookRemotely() downloadBook() (from server) PeerServerImpl propertiesFile : String = "librarySettings.txt" clearTimePeriod : long = 10 * 100 * 60 properties : Properties requests : HashMap = new HashMap () lastClearTime : Date = new Date () localHostList : ArrayList = new ArrayList () PeerServerImpl() searchBookLocally() searchBookRemotely() downloadBook() readLocalHostList() loadProperties() isRequestDone() clearRequests() getProperties() (from client) AdminImpl propertiesFile : String = "librarySettings.txt" properties : Properties uploadBook() loadProperties() (from admin) Library Library() addBook() getBook() findBook() compareBookDetails() compareStringBookDetails() compareIntegerBookDetails() openLibrary() saveLibrary() getNextID() getBookDetailsFromNode() addBookDetailsToNode() getBookFile() (from MyP2P) -library NetworkServerImpl propertiesFile : String = "librarySettings.txt" properties : Properties nets : HashMap NetworkServerImpl() getHosts() loadProperties() readNetsList() readHostsList() (from server) NetworkServerI getHosts() (from network server)
10
Class Diagram Contd.
11
Sequence Diagrams Local Search user interface Implementation of ClientI on the hosts of the same network Implementation of PeerServerI on the hosts of the same network Library on the same host Library on the same network Search request with book details details of the books with URLs
12
Sequence Diagrams Contd. Remote Search user interface Implementation of ClientI on the host on the other network Implementation of PeerServerI on the host on the other network Hosts on the other network Hosts on the other network Search request with book details Result of the search with book details and URLs
13
Sequence Diagrams Contd. Upload
14
Sequence Diagrams Contd. Download User Interface Implementation of the ClientI interface Implementation of the PeerServerI interface Library on the Local/remote host URL of the book Book
15
Programming Platform - J2EE The J2EE platform uses a distributed multi-tiered application model for enterprise application Web services are web-based enterprise application that use open, XML-based standards and transport protocols to exchange data with calling clients The J2EE platform provides the XML APIs and tools you need to quickly design, develop, test, and deploy web services and clients running on Java-based or non-Java-based platform JAX-RPC stands for Java API for XML-based RPC. JAX-RPC is a technology for building web services and clients that use remote procedure calls (RPC) and XML.
16
Implementation Local Search The program gets the search details from the user interface. An object of the class Request is created with all the search details specified by the user. The object Request is then serialized into an XML string The Search method is called on the local hosts with the XML string as parameter The search call returns another string that contains the serialization of the Object Reply which contains details of the book. The program unserializes the string for the object Reply.
17
Implementation Contd. Remote Search Similar to Local search except that instead of the method local search the method Remote Search is called.
18
Implementation Contd. Upload An instance of the AdminI Interface for the local host is created. The method uploadBook is called with the string that contains the serialization of the object Book. The method returns the result of upload and the program displays the result to the user.
19
Implementation Contd.
20
Download The program retrieves the host of the book selected from the object Reply. An instance/local stub of the PeerServerI interface is created The method download of PeerServerI is called with the book id (retrieved from the object Book) as the parameter. The method call returns the string that contains the serialization of the object Book. The program unserializes it and stores it to the specified space.
21
Future Scope Ability to store (and search) CD’s and audio visual aids. Web based client interface for the library. A text viewer incorporated into the Client application. Add ratings of the books.
22
Thank You
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.