Real-time data distribution
Home / Product

iPush Server

Push Technology for RIA

When you got iPush Server installed and run, you can choose any iPush client API to develop real-time rich internet applications (RIA).

iPush facilitates both web-based RIA (runs in browser) and standalone RIA (runs on OS or virtual machine).

For more detail, please refer to White Paper: Enabling Real-time RIA with iPush Server (HTML or PDF)

The download of a web-based iPush RIA can be completed by browser, then the iPush RIA initialized and starts to communicate with iPush Server in the respective run-time environment (sandbox), such as Java virtual machine or Flash Player plug-in.

How to adapt push technology for web-based RIA

There are two types of web-based iPush RIA: isolated and Ajax-like. They are differentiated in the way of with or without interaction with HTML codes. Ajax-like iPush RIA uses JavaScript to interact with HTML, isolated iPush RIA doesn't. Both developed with the same API and run in the respective sandbox plugged in the browser.

1. Isolated iPush RIA

Since the high installation base of Flash Player plug-in and Java Run-time Environment in variety of browsers, iPush Flash API and Java Package API should be significant choices for developing isolated iPush RIA. An experienced developer definitely can work out an iPush application within several hours.

Of course, developers can use iPush ActiveX Control API to develop push-enabled web application, but only IE can be major companionable browser.

streaming data flow of isolated iPush RIA

Figure 1. streaming data flow of isolated iPush RIA

Here are some demonstrations of isolated iPush RIA, all created with iPush Flash API:

2. Ajax-like iPush RIA - Pjax (Push technology for Ajax)

Pjax (Push technology for Ajax) is a light-weight, cross-browser, rapid-development methodology for Ajax-style web development, just like Steve and Jay McDonald's Fjax (thanks guys, we are so inspired). Actually, the working model of Pjax is very similar to that of Fjax, but developers can use Java to implement Pjax besides Flash. As long as the Flash Player plug-in or Java Run-time Environment can interact with browser through JavaScript, the Pjax works. IE, FireFox, Netscape, and Safari support such kind of co-operation, but so far Opera can't.

Typical Ajax uses XMLHttpRequest to pull the server-side data in background; Fjax leverages a variety of data access capabilities of Flash to get the server-side data, and Flash Player will play the role of XML parser when data come with XML format.

In Pjax, the iPush RIA use the iPush Flash API or Java Package API to subscribe streaming data, when the live data pushed by iPush Server, the iPush RIA can trigger off a JavaScript library to update any web page content in DHTML way.

The iPush RIA can be a Flash application (.swf) or Java Applet (.class or .jar), visible or invisible. In Pjax, we call the iPush RIA as Pjax flush agent. A Pjax flush agent is able to connect and bi-directionally communicate with iPush Server, and it can update the changed data in the web page without refreshing, in push, not pulling fashion.

streaming data flow of Ajax-like iPush RIA - Pjax

Figure 2. streaming data flow of Ajax-like iPush RIA - Pjax

Here comes demonstrations of Pjax, created with iPush Flash API:

Want to know how the Pjax works? Please read the article How to develop a Pjax application with Flash.