What is WebRPC?

WebRPC is an online registry for SOAP and REST services. It allows you to search, test, monitor, and easily include services in your applications and mashups.

Who is WebRPC for?

WebRPC is geared towards all developers that want to leverade a 3rd party SOAP or REST service, no matter which client language they're using.

How does it work?

WebRPC allows you to choose from a large service repository. You can find, customize, and test services online at www.webrpc.com. Choose a target language such as Java or JavaScript and include it in your solution by simply copying & pasting the code into your aplication or mashup.

How can I include the generated JavaScript into my mashup?

Using Ajax and XMLHttpRequest in a mashup introduces a significant limitation: For security reasons, requests can only be made back to the host where the script was loaded from. There are three ways to work around this limitation:

  • 1) Require clients to explicitly grant this right to the script
  • 2) Have your mashup site proxy the 3rd party service
  • 3) Use ways of communication other than XMLHttpRequest such as on-demand scripting

A more elaborate discussion can be found here: http://ajaxpatterns.org/Cross-Domain_Proxy.

Why does the online JavaScript on www.webrpc.com work? Doesn't it also face the cross-site limitation?

The "Test using WebRPC's cached XML result" button loads the generated JavaScript from www.webrpc.com. This script is set to access the XML result document cached at www.webrpc.com. Therefore, this script is not affected by the cross-site limitation since it loads the data from it's origin host. For your mashup you must still use a mechanism desscribed above in order to be able to specify arbitrary inputs. WebRPC will not proxy requests for you.

Where are the SOAP stubs?

There are no stubs, no client version dependencies, no static code, and no stub compilation. WebRPC simply leverages standard XML libraries to directly access the service and its output. Service Oriented Architecture (SOA) are not about complex and error prone mappings of XML to objects. Instead, XML trees are perfectly fine to work with. SOA workflows written in WS-BPEL already use this paradigm.

Why should I use WebRPC?

Four reasons:
(1) Simplicity - find, inspect and test services online, copy and paste the code, and you're done,
(2) Performance - thin fast client code,
(3) Flexibility - quickly respond to changes in the service,
(4) Control - be in charge of your client code and get rid of unnecessary libraries.

Is WebRPC is free?

Yes, www.webrpc.com is free.

What is the tag cloud good for?

You can define and search for tags which are attached to services, service inputs, and service outputs. Besides searching, tags can also help you to assemble composite servcies, i.e. taking the output of service A as the input of service B.

Can I use WebRPC in my Intranet?

Not yet, because WebRPC cannot access sites behind a corporate firewall. We're working on a version of WebRPC that can be installed locally.

How do you handle services that require a developer key?

The WebRPC team usually sign up for developer keys for services hosted by Google or Amazon. This key works as long as you simply work with the service via this site. Once you generate the client code for your application, you'll have to sign up for a key of your own. The WebRPC site provides you with the links for the respective signup pages.

Isn't WebRPC the same as Dapper?

No. WebRPC is the ideal complement to Dapper. Dapper allows to easily create a new REST service. WebRPC helps to use services.