web connectivity on ericsson labs
DESCRIPTION
The Web Connectivity API is a means to easily connect and send messages between web applications, pages and servers.TRANSCRIPT
Web
Connectivity
A labs.ericsson.com APIhttp://labs.ericsson.com/apis/web-connectivity/
© Ericsson AB 2010 | Page 2
Web Connectivity
› Web applications in browsers or as widgets benefit from bi-directional communication with other applications running in servers or clients
› The Web Connectivity API allows you to connect and send messages between your web applications, pages and servers, using a unified addressing and messaging system
© Ericsson AB 2010 | Page 3
Why Web Connectivity?
› The Web connectivity API provides a transparent way for developers to facilitate connectivity between web applications and web servers
› Normally, web applications utilize HTTP for communication over TCP/IP networks, which is inherently unidirectional. The server cannot reach the client and transfer information to it whenever there is new data available
© Ericsson AB 2010 | Page 4
Main Features
› Warp is a short name for the Web Connectivity API
› Warp is an overlay network providing its own addressing and messaging semantics
› The key features on the Warp overlay network are
– Addressability: it allows entities on the network to know more precisely who they are talking to, other than a given "host”
– Reachability and asynchronous messaging: provides both clients and servers with the ability to initiate conversation to each other without waiting for one or the other to take the initiative
© Ericsson AB 2010 | Page 5
Overview
© Ericsson AB 2010 | Page 6
Client side development
› No download or installation is required to use the API. The
library is loaded by including the following line in the web application:<script type="text/javascript"
src="http://ergo.labs.ericsson.net:8080/TunnelView/loader/wheelbox-loader.js">
</script>
› Resources are central to the Warp library. Each resource is represented by an active object, and they form a tree hierarchy. When messages are received they are propagated through the resource structure.
› Sending messages: use the sendTo(toAddress, method, data, contentType) method of a resource
› Receiving messages: define a resource.onmessage handler function or add an event listener using resource.addEventListener, for example:resource.onmessage = function(evt) {
// Do something
// "Bubble" the event to the parent resource for further handling
return true;
}
© Ericsson AB 2010 | Page 7
Client side development
› Advanced applications may require a server side for various forms of data processing and/or storage.
– Developers can use any external HTTP-capable server as an application server for Warp applications
› The Warp HTTP interface can be used to send Warp messages to Warp Clients, and receive Warp messages from Warp Clients at your HTTP server
– A simple PHP example is available that sends a Warp message
– A Warp Ruby on Rails plugin is available to facilitate building Warp-enabled Rails applications
– By default, Warp Clients ask the end user to provide authentication information. By using your own custom authentication, you can automatically log in users, providing for a smoother end-user experience, while maintaining access control
© Ericsson AB 2010 | Page 8