200 likes | 306 Views
Web Services and Peer-to-Peer Networking. By Dushyant Bansal Shoshin Research Lab May 15, 2003. Why Web Services now?. Heterogeneous systems CORBA, DCOM, .NET Windows, Linux, Solaris Java, C++, C# 2-tiers to n-tiers; client-server to ? Business case Re-implement vs extend.
E N D
Web Services and Peer-to-Peer Networking By Dushyant Bansal Shoshin Research Lab May 15, 2003
Why Web Services now? • Heterogeneous systems • CORBA, DCOM, .NET • Windows, Linux, Solaris • Java, C++, C# • 2-tiers to n-tiers; client-server to ? • Business case • Re-implement vs extend
Web Services – What? • “An architecture that allows applications to talk to each other” = A2A • Specifies protocol instead of API • Provides means for • Discovering Web services • Determining the description of the Web service – method names, args, returns • Specifying the data presentation format
Components of Web Services • UDDI • Universal Description, Discovery and Integration • Service discovery • XML advertisements • WSDL • Web Service Description Language • Service description • Layout of accepted SOAP messages • Message format • SOAP • Data format • XML over HTTP
Other WS Specs • WS-Routing • Specify the next intermediate node • Routing header contains logic • WS-Security • Access control – what and who • Logging • Monitoring
Advantages of WS • Self-describing messages • Ease of control and routing • Varying loads • Loose coupling • XML and SOAP • Asynchrony • Messaging
Web Services – What’s missing? • Fault tolerance • Centralized registry • Security • Can tunnel through port 80 • Port forwarding • Using ssh or https • Require “edge” security • Firewalls on workstations and servers • Close unused ports • Access restriction to functions and objects
Web Services – What’s missing? • Poor performance • Lack of high-performance broadcast • Distributed garbage collection • WS processes run longer, more expensive • Killing processes and orphans • Queryable data structures
The Transition to Peer-to-Peer • Said earlier • “2-tiers to n-tiers; client-server to ?” • “?” = P2P, amongst others • Protocols include JXTA, Pastry and Chord • Powerful machines on edge of network
Edge Characteristics • Heterogeneity • Volatile connections • Entering, exiting physical network • Ad hoc networking • True Application-to-Application • Machine interpretable semantics • Interface changes • Wide range of protocols • Failure • changes • Implementation changes • Capacity planning
JXTA • P2P framework made of 3 layers • Core layer • routing and peer establishment • Service layer • Higher-level concepts of indexing, searching and file sharing • Application layer • Applications such as email, auctioning, and storage systems
JXTA • Node roles • Providers • Provide services to be consumed • Consumers • Look for services to consume • Search hubs • Mini UDDI registries of XML advertisements • Communicate using SOAP or arbitrary XML • Organized in groups
JXTA • Set of protocols • Peer Discovery Protocol • Advertise and discover content • Peer Resolver Protocol • Send query, receive response • Rendezvous Protocol • Propagate messages in the network • Peer Endpoint Protocol • Find a route from one peer to another • Pipe Binding Protocol • Create a communication path • Peer Information Protocol • Obtain peer status information
JXTA • Independent of • Computer language or operating system • Network transport or topology • Authentication, security or encryption model
Pastry and PAST • Pastry • Scalable and distributed routing protocol for wide-area P2P • Specifies a routing table • PAST • File system on top of Pastry • Each node and data or service object has an ID • Node discovery • Expanding ring multicast • Content discovery • Hypercube routing • Messages move from hop to hop • Can take advantage of WS-Routing
Chord • Routing protocol for wide-area P2P overlays • Uses a “finger-table” to determine the next hop • Can also take advantage of WS-Routing
Conclusions • Web Services and P2P are tackling very similar problems • Both can benefit from each other
References • Mastering JXTA by Joseph D. Gradecki • ACM Queue, March 2003 • Reducing Bandwidth Utilization in P2P Networks, by Dushyant Bansal and Paul A.S. Ward