The Enterprise Push Server builds on the basic capabilities of thePush Server
, which manages a singleAjax Push
blocking connection with the client browser, sharing it between any number of deployed ICEfaces applications and portlets. The Enterprise Push Server delivers key additional features targeted at large-scale and high-availability enterprise deployments. Specifically, the Enterprise Push Servers provides:
Distributed management of blocking push connections across the cluster
Load-balancing of Ajax Push connections
Fail over of Ajax Push connections
Asynchronous Request Processing (ARP) integration for thread-level scalability.
Clustered Deployments
The Enterprise Push Server fully supports clustered deployments of ICEfaces applications that use Ajax Push. Multiple servers coordinate to perform shared management of all blocking connections associated with Ajax Push. A basic clustered deployment utilizes standard web server load balancing with sticky sessions, and JMS for interprocess communication, as illustrated below.
High Availability
The Enterprise Push Server enables high-availability deployments based on session replication and fail over. Each deployed server will automatically follow sessions that migrate between nodes in the cluster. Failover of the Enterprise Push Server itself is also supported, so if one server fails, the sessions being managed there will be automatically redistributed between the other running servers.
Application Server Deployment Configuration
Fully-tested and documented deployment configurations are included for all major open source and commercial application servers, including:
Tomcat/ActiveMQ
JBoss
WebLogic
WebSphere
Glassfish
Asynchronous Request Processing
Supporting thread-scalable deployments of the Enterprise Push Server is achieved through integration of the Ajax Push mechanism with an ARP implementation. Enterprise Push Server supports supports several native ARP mechanisms, including:
Tomcat
WebLogic
Glassfish
HTTP Server Integration
The Enterprise Push Server supports a range of commercial HTTP servers and connectors for clustered load balancing and fail over. Supported servers include: