Service provider frameworks come in all shapes and sizes. The two most common types are language/architecture specific and language/architecture neutral. COM+ and EJB's are examples of a service framework that are specific to a programming language (EJB + Java). XML-RPC and "Web Services" are examples of language/architecture neutral facilities. In the latter case, XML-RPC and Web Service frameworks use language neutral meta-data descriptors that are mapped to language/architecture specific systems.
Currently, most of the service frameworks are designed to provide high-throughput of transactions on highly reliable networks. In the peer/decentralized world, this is usually not the case. Peers will usually reside on a person's desktop rather than in a locked, temperature-controlled computing facility. At the end of the day, the person is likely to turn off the computer, making it unavailable to other peers on the network.
Modern peer frameworks use adaptive techniques to keep peer topologies balanced and maintain efficient means to create connections between companies overcoming firewalls, NATs' and other obstacles. Unfortunately, virtually all web service providers have not taken advantage of the new resilient networks that are being created. The current generation of web services is deployed on top of HTTP and SMTP. This significantly limits the breadth of nodes that one can communicate with. Jockey provides a common API that allows web service providers to leverage peer networks, thus extending their reach beyond the firewall and into the enterprise. This also facilitates the creation of "personal web services" that can cross the artificial business boundaries.
Examples of Service Provider Frameworks:
In addition, most of the aforementioned products also contain XML-RPC or SOAP extensions enabling inter programming language communication. Most of these products were initially designed to handle high-volume traffic.
We are beginning to see a new wave of "personal application servers" that are lightweight, not incurring the burden of clustering, load-balancing and other high-end features found in their server-side counterparts. Examples are: