200 likes | 315 Vues
This document delves into the evolution and significance of web services in heterogeneous systems, focusing on protocols like CORBA, DCOM, and .NET across different operating systems. It discusses critical components such as UDDI, WSDL, and SOAP, highlighting the advantages of web services including ease of discovery and loose coupling. The transition to Peer-to-Peer (P2P) networking is examined, emphasizing protocols like JXTA, Pastry, and Chord, outlining their role in creating decentralized applications. The paper argues for the symbiosis between web services and P2P networks, positing that both fields can enhance each other.
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