HomeSitemapContact Us

Push Server

ICEfaces provides comprehensiveAjax Push capabilities for JSF applications, and the Push Server automatically configures your run time environment for simple and effective deployment of applications and portlets under a single domain name. The Push Server manages a single Ajax Push blocking connection with the client browser and shares that connection between the deployed applications. It also utilizes native Asychronous Request Processing (ARP) capabilities to provide single node scalability to Ajax Push deployments. A basic deployment of the the Push Server is illustrated below, and shows how a single blocking connection is shared between multiple ICEfaces applications, multiple views onto the same application, and portal pages with multiple ICEfaces portlets.


Push Server

Zero Configuration

You simply need to deploy and run the Push Server as a standalone web application, and at startup your ICEfaces applications will automatically detect and utilize it to manage the blocking connections associated with Ajax Push. There is no other configuration required to make it work.

Browser Connection Limits Be Gone

The primary purpose of the Push Server is to eliminate the browser connection limit associated with a single web domain. Each ICEfaces application, application view, or portlet requires a blocking connection for the long polling mechanism used at the heart of Ajax Push, but if each page in the browser maintained its own blocking connection, the browser connection limit would be rapidly exceeded as new page views were opened. The ICfaces Ajax Bridge performs connection sharing in the client browser, and the Push Server manages that single blocking connection at the server, sharing it between the deployed ICEfaces applications and portlets. Regardless of the number of deployed applications, and the number of page views onto those applications, only two connections are required, so the browser connection limit will never be exceeded.

Native Asynchronous Request Processing

Because Ajax Push requires a blocking connection per client session, and because threads are consumed for each of these connections during the entire request/response lifecyle, the mechanism suffers from a thread scalability issue under the standard Servlet model. Various application servers overcome this deficiency in the Servlet specification by augmenting the web container with an ARP mechanism capable of freeing up threads for the duration of the blocking period. When configured to do so, the Push Server automatically detects and utilizes the native ARP mechanism in the application server, to provide a thread scalable implementation for Ajax Push in a single node deployment. The following open source application servers are supported:

  • Tomcat/JBoss - APR provided through Comet Processor
  • GlassFish - ARP provided through Grizzly
  • Jetty - ARP provided through Continuations

For other commercial application servers, you will need to upgrade to theEnterprise Push Server to take advantage of their respective ARP mechanisms.

Need An Enterprise-strength Deployment?

The Push Server provides simple and effective Ajax Push support in a single node deployment. If your enterprise requires a more scalable clustered deployment with failover support, you will need to upgrade to theEnterprise Push Server . It provides the same features as the Push Server, but fully supports clustered deployments with failover. It also provides complete integration with commercial application servers like WebSphere and WebLogic.

 

 

© COPYRIGHT 2009 ICESOFT TECHNOLOGIES INC. POWERED BY  ICEfaces
Overview |Architecture |Component Suite |Ajax Push |Demos |Documentation |Tutorials |Case Studies |WebinarsPrivacy Policy |Support |Training |Services |Contact Us
Powered by ICEfaces