Contact Information:

Product Inquiry:

ACE Component Library FAQ

What are the ACE Components?

The all-new Advanced Component Environment (ACE) component library is entirely open-source and features over 40+ new components including a new industry-leading data table. The ACE Components utilize a blend of server-side and client-based rendering techniques, and are fully optimized to leverage the advanced new capabilities of JSF 2.

The ACE library includes custom components developed by ICEsoft as well as “best-of-breed” components sourced from popular third party open source libraries such as jQuery, YUI and PrimeFaces.

What are some of the typical changes and enhancements made to 3rd party components that are leveraged by the ACE Components?

In general, modifications and enhancements are made to better integrate with ICEfaces and JSF architecture, and to meet the component functionality, reliability, and performance expectations of our enterprise users.

The nature of the modifications vary from component to component, but in general they fall into one or more of the following categories:

  • ICEfaces Framework Integration: Code changes were made to nearly all imported components in order to enable them to leverage the unique features and benefits of the ICEfaces 2 framework (Automatic Ajax, Ajax Push, EPS, etc.)
  • Build Process Integration: Code changes were implemented so that customers could integrate the components seamlessly into the ICEfaces build process.
  • Leverage ACE utilities, tools and APIs: The ACE Components are further supported by an Advanced Development Environment (ACE) of utilities, tools, and APIs, which enable developers to implement a consistent approach to component authoring, meta-data management, and automation and optimization of common component development tasks.
  • ThemeRoller Skin Integration: All ACE components support the jQuery ThemeRoller CSS-based theming system. In cases where 3rd party components are leveraged by ACE, they are modified as necessary to support ThemeRoller themes.
  • QA Process Integration: Modifications were made to the components allowing them to be rigorously tested during the QA process. Comprehensive QA and regression tests have been developed for each component. All components are submitted to nightly regression testing.
  • Supported Platforms: The ICEfaces framework and component libraries are certified and supported against an extensive matrix of Supported Platforms. Components were modified as required to ensure consistent performance across the support matrix.
  • IE 7 Support: ICEfaces is one of only RIA technologies to warrant performance, and to provide support for Internet Explorer (IE) 7. Modifications were made to a number of components to ensure IE 7 compatibility, performance, and support.
  • Feature Enhancements: Community and customers define our roadmap, so we continue to enhance functionality and modify behavior of imported ACE Components. More specifically, the ACE datatable component has benefited from the greatest number of feature enhancements, and is now the most comprehensive datatable component on the market today. ACE datatable enhancements include:
    • Stackable Columns
    • Advanced Data Export
    • Draggable Columns
    • Single / Multicolumn Sort and Filtering
    • Data Table Nesting
    • Table Configuration Panel

How are the ACE Components licensed?

The ACE Component Library is made available under the Apache 2 Open Source License. All code modifications and component enhancements are free for developers to use, distribute and modify.

Can ACE Components be mixed and matched with other components?

ACE components will be fully interoperable at a page and project level with both the ICE Components and the enterprise EE Components. At present, however, some ICE components fail to meet this objective. Work is ongoing to modify API and renderer compatibilities associated with these components in order to ensure full mix and match interoperability in the near future. JSF 2 facilitates interoperability between third party component libraries. While third party component libraries may successfully integrate with the ACE Components, ICEfaces is not tested for compatibility with third party libraries, so such integrations are not formally supported.

When should I use ACE vs. ICE Components?

The ICE Components have been re-engineered to ensure ICEfaces 1.X compatibility with ICEfaces 2, providing easy migration of ICEfaces 1.x applications to ICEfaces 2.

In contrast to the ACE Components, the ICE Components predominantly leverage server-side rendering techniques providing superior performance on older web browsers with less efficient JavaScript engines.

Use ICE Components under the following circumstances:

  • Migrate existing ICEfaces 1.X to ICEfaces 2.X. The ICE components have been re-engineered in ICEfaces 2.X to be tag compatible with previous 1.X releases. This greatly simplifies the migration from 1.X applications to ICEfaces 2.X.
  • Support older browser versions such as Internet Explorer 6/7. Older browsers typically have significantly less efficient JavaScript processing engines. The ICE Components predominantly exercise server-side processing therefore yielding better performance on earlier browsers.
  • Maximize server-side processing. For security reasons, developers may wish to minimize client-side processing. If this is the case, ICE Components may be better suited.

Use ACE Components library under the following conditions:

  • Use richer JSF 2-based components. Future development of ICEfaces components will focus on ACE rather than ICE. The ACE Components will continue to evolve rapidly, continuously introducing new features and capabilities.
  • Faster client-side component rendering. More recent browsers have highly optimized JavaScript processing capabilities. The ACE Components generally implement more client-side JavaScript, relying on the client browser to do more of the rendering. The ACE Components will yield faster rendering times over the ICE components, especially on more recent browsers

Can ACE Components be backported to earlier ICEfaces releases?

In short, no. ACE components rely on the Advanced Component Environment which is itself closely aligned with ICEfaces 2.1 level core framework features that do not exist in the ICEfaces framework prior to the 2.1 release.

What is a “preview” status?

From time to time users may come across an ACE component that we designate as being in a “preview” status. This means that the component has completed initial integration with the ICEfaces Advanced Component Environment and received light testing against the ICEfaces framework in some environments but has not yet been certified or guaranteed to operate across our full support matrix or fully integrated into our QA process. It should work in most cases but performance is not guaranteed and the component is not yet formally supported. Rather than hold the component back until we can complete its certification across a broad list environments we felt that there might be value to community members to access it in its pre- certified form. The rational being that a user looking to use the component in a simple application running on Tomcat might not care that it hadn’t been fully upgraded to run on IBM WebSphere Portal 8.