What's on Twitter?
david_krebs Great! @edorasware named a Gartner Cool Vendor for Business Process Management! Grats from @mimacom! See why here: http://t.co/vTQl0ti7pg
Friday, May 24, 2013 8:05 AM
jfclercx RT @mimacom: Besuchen Sie mimacom am 28. Mai am Alfresco Meet the Experts Event in Wien! Mehr Informationen unter: http://t.co/A2MGvnTjNB
Friday, May 24, 2013 7:55 AM
joscha_jenni RT @mimacom: Join mimacom @swissICT! http://t.co/kPrSQtmFe0
Thursday, May 23, 2013 1:15 PM
joscha_jenni RT @mimacom: Our partner edorasware named as Gartner Cool Vendor for BPM 2013! Here you’ll find the pressrelease: http://t.co/wd1CokwkNN
Thursday, May 23, 2013 1:15 PM
jfclercx Flying back to Valencia after the successful event with @aemruli @michakiener and congrats to @jan_gregor and team for the organisation
Thursday, May 23, 2013 4:04 AM
mick_fagan Using icepdf to render pdf pages as images. @ICEtalk
Wednesday, May 22, 2013 10:07 PM
Joel_Back J2EE Video Tutorial: jQuery Integration with JSF 2 Libraries : Richfaces , Primefaces and Icefaces http://t.co/JnkNxrC1Kq
Wednesday, May 22, 2013 9:07 PM
oracle_jobs Enterpise Java data management application using JSF/IceFaces by pqj3 - http://t.co/HD7FJUSpad
Wednesday, May 22, 2013 8:31 PM
top_java_jobs Enterpise Java data management application using JSF/IceFaces by pqj3: Essentially, the project is... http://t.co/8kjDJJWPge #Java #Jobs
Wednesday, May 22, 2013 8:27 PM
mostafa_khattab Enterpise Java data management application using JSF/IceFaces by pqj3 http://t.co/eaZJXvtUEN #Job #career #freelance
Wednesday, May 22, 2013 7:59 PM
ullohjobs #Java Enterpise Java data management application using JSF/IceFaces by pqj3: Essentially, the project is a sim... http://t.co/ocnQVFVhVb
Wednesday, May 22, 2013 7:54 PM
viswajithv Enterpise Java data management application using JSF/IceFaces by pqj3 http://t.co/cq64Ng1ZUy
Wednesday, May 22, 2013 7:52 PM
icefaces Mobilize your ICEfaces Applications with ICEmobile - Webinar. Thurs May 23, 2013, 12-1 PM EST (GMT -5). http://t.co/bdbjERZmqi
Wednesday, May 22, 2013 9:42 AM
jfclercx Design by doing or start small and continuously improve @michakiener #edorasware
Wednesday, May 22, 2013 5:31 AM
namnvhue RT @cagataycivici: PrimeFaces vs RichFaces vs IceFaces on Google Trends as of Q1 2013. http://t.co/zj7kQWpWUw
Wednesday, May 22, 2013 3:58 AM
jfclercx Let's have a drink with @michakiener http://t.co/vWoSPb2qcl
Tuesday, May 21, 2013 12:56 PM
JAXenterCOM Getting the most out of your mobile UI? @ted_goddard tells you how to get a little bit extra with ICEmobile http://t.co/yDvS1znwZk
Monday, May 20, 2013 2:48 PM
isidromerayo javaHispano - RichFaces vs PrimeFaces vs IceFaces http://t.co/kqlF7lC7Kf
Monday, May 20, 2013 10:31 AM
JAXenterCOM From JAX Magazine, @ted_goddard adds some mobility to JSF and JSP in @ICEmobile http://t.co/yDvS1znwZk
Monday, May 20, 2013 9:02 AM
gabrielmonreal RT @michakiener: Our latest edorasware GA releases are out! Ping us, if you want to try out edoras one in the Cloud! http://t.co/A1KX4hHbV1
Saturday, May 18, 2013 9:36 AM
ogalcoceba ICEfaces 3.3 ya disponible http://t.co/cTQlKl2W0R
Saturday, May 18, 2013 2:10 AM
close

Contact Information:

Product Inquiry:

ICEpush Overview

ICEpush is a foundational technology that provides Ajax Push capabilities to ICEfaces and ICEmobile. ICEpush is based on a lightweight, asynchronous Notification Core that leverages long polling over HTTP, and standard browser capabilities to enable Ajax Push. The Core handles all intricacies associated with long polling, including connection management/sharing, and ARP - allowing developers to focus on the application of Ajax Push, not it's underlying implementation.

Architecture
The diagram below illustrates the basic architecture of ICEpush. Central to it is the ICEpush Core, which implements an asynchronous notification mechanism capable of triggering client-side JavaScript logic from server-based triggers. As a pure notification mechanism, the Core delivers no application-specific payload, leaving this to either an integration layer or application-specific business logic. This payload-free approach has key advantages related to scalability and security.

ICEpush Architecture

Notification Core
The ICEpush core implements the asynchronous notification mechanism using long polling over HTTP. Key characteristics of the mechanism are:

  • Lightweight: The mechanism is purely for notification and carries no application-specific payload, making it extremely lightweight, and massively scalable.
  • Reliable: The mechanism guarantees delivery of notifications, and supports fault-tolerant/high-availability deployments.
  • Secure: Because the mechanism carries no application data, it is not readily exploitable.

Long polling introduces a number of idiosyncrasies related to inversion of the HTTP protocol, and the need to maintain blocking connections capable of returning asynchronous notifications. The core handles all the intricacies related to management of the required blocking connections, including:

  • Connection Sharing: ICEpush ensures that the browser only uses a single blocking connection for notifications. When multiple browser windows are connected to push-enabled web applications in the same domain, the blocking connection is shared between all windows.
  • Connection Refresh: The reliability of a blocked connection can deteriorate over time, so it is necessary to continuously refresh that connection when idle. The ICEpush mechanism periodically forces a reconnect on the blocking connection to ensure it remains healthy.
  • ARP: Servlet 3.0 includes optional Asynchronous Request Processing that is fully integrated with the ICEpush mechanism, and can improve the scalability of blocking connections under certain deployment scenarios.

Integration Layer
The low-level notification core provides basic push capability to an application, but must be integrated with the application business logic differently, depending on what technology that business logic is implemented with. An integration layer provides the glue between the core mechanism and the particular web development technology used to implement the application. Integration required to support ICEfaces and ICEmobile includes:

  • Servlet: The ICEpush core provides a Servlet 3.0 compliant servlet that handles all ICEpush related connections, including optional ARP support.
  • JSF: ICEfaces provides a JSF integration layer to the ICEpush core, and exposes push capabilities through the ICEfaces Ajax Push APIs. For JSF, ICEmobile leverages the ICEfaces core and inherits Ajax Push capabilities from it.
  • JSP: ICEpush provides a JSP tag library that exposes Ajax Push Capabilities to JSP-based applications. ICEmobile integrates ICEpush capabilities along side JSP/Spring MVC integration to provide a comprehensive mobile development platform for JSP/Spring MVC developers.

Cloud Push
For mobile clients, ICEpush augments the basic HTTP-based notification mechanism with Cloud Push - an alternate transport mechanism for asynchronous notifications. Different cloud push connectors support platform-specific asynchronous notification for Android, Apple, and Blackberry devices, ensuring that critical notification can always be delivered to users, even when they are not actively engaged with the web application. Learn more...