About TelePort
Javeline Technologies
The first HTTP-based protocol was XML-RPC, a brainchild of Dave Winer. Its basic concept is to call a method on another server by encoding a request in XML, and then sent it to that server using HTTP POST. The response is encoded similarly and decoded again to give you the result, which can be anything from an object or an array to a string. XML-RPC describes how the call is encoded in XML.
Microsoft, IBM and others thought RPC was an excellent idea. It solved the very difficult IT problem of integrating different services. Within many organizations, different systems exist from all sorts of vendors, and it’s very difficult to connect these proprietary interfaces to each other (for example, a CRM application on Linux to an Oracle database on Windows). If both systems use some form of RPC with an agreed-upon format, suddenly the solution becomes simple; they speak the same language. These large companies, together with Dave, and the W3C among others, began working on a standard called SOAP (Simple Object Access Protocol), which is basically an enterprise version of XML-RPC.
Over time, several other protocols were created. A group of people doing a lot of JavaScript-based RPC decided it would be nicer to encode the messages using JavaScript itself. So they created JSON-RPC (JavaScript Object Notation), a lightweight data-interchange format that is easy for humans to read and write, and easy for machines to parse and generate. With all the hype around web services, the PHP developers felt it was too bloated. Why not just use REST to get the XML? If you want to call the method getUsers, just call http://www.example.com/rpc.php?func=getUsers and be done with it. No extra protocol needed. For non-enterprise solutions in particular, this is a very easy way.
Javeline TelePort is essentially a communication library that can handle all of these protocols. The way in which you specify the RPC definition is such that you can easily change the protocol or interface without impacting your application.
Watch an example on www.ajax.org
