Wednesday, 16 February 2011

ICEfaces Enterprise Edition 2.0 Update

Development and certification work for ICEfaces Enterprise Edition (EE) 2.0 is nearing completion! With the Beta release approaching I wanted to take a moment to provide some details on the main features, supported platforms, and the current release timeline for ICEfaces EE 2.0.


Features

ICEfaces EE 2.0 will include the following key features not available in the open-source ICEfaces 2.0 release.

Enterprise Certified ICEfaces 2.0

Includes ICEfaces 2.0 that has been certified on commercial application servers and 3rd-party frameworks and portal containers.

Enterprise Components

The ICEfaces Enterprise Components for use with ICEfaces EE 2.0 are tag-compatible with the ICEfaces EE 1.8.2 Composite Components for easy migration to 2.0.

Enterprise Push Server (EPS)

Provides the following enterprise-grade push features to ICEfaces EE 2.0:
- Support for deploying multiple ICEfaces 2 push-enabled applications to the same application server, to be used on the same browser at the same time. In ICEfaces 2.0 open-source, the ICEpush library cannot support more than one push application from the same server (host-name) in the same browser instance.
- 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 on Servlet 3.0 servers for increased scalability.

Exclusive New ICEfaces EE-only Features

The all-new icefaces-ee.jar library provides EE customers with the following important EE-only features and workarounds:
- Solves critical issues with Mojarra JSF support for dynamic Ajax-updates of CSS styles and JavaScript on IE browsers.
- Adds configurable support for wrapping HTML markup in Facelets pages in components at runtime. This provides perfect backwards compatibility with ICEfaces 1.8 Facelets applications that otherwise would see adverse side-effects from differences in how Facelets processes embedded HTML markup between JSF 1 and 2.

Project Builder

Generates a working ICEfaces EE 2.0 application template based on developer Q&A inputs.

Sample Applications
- Composite Component Showcase
- EPS Poller

IDE Integrations

Custom IDE integrations for ICEfaces EE features for the following IDEs:
- Eclipse 3.6
- IBM RAD 8
- MyEclipse 9
- NetBeans 6.9 / 7.0

Testing Documentation and Tutorials

Provides valuable documentation, tutorials, and examples for functional testing with ICEfaces and Selenium, and in-depth details on how to load-test ICEfaces EE 2 applications using JMeter and other load-testing tools.


Supported Platforms

Browsers:
- Chrome 8+
- Firefox 3.x
- IE 6, IE 7, IE 8
- Safari 5.x

Mobile Browsers:
- Android Chrome
- iOS Safari

Application Servers:
- Glassfish v3.0, 3.1 (prerelease)
- Tomcat 6, 7
- WebSphere 7
- WebLogic 10.3
- JBoss 6

Portal Containers:
- Liferay 6
- WebSphere Portal 7 (provisionally planned)


Release Schedule

The ICEfaces EE 2.0 Beta release is planned for the end of February, with the EE 2.0 final release in late March.


For more information see the ICEfaces EE product page.

Technorati Tags:

Posted by ken.fyten at 11:21 AM in Entries by Ken Fyten

Thursday, 22 July 2010

The ICEfaces 2.0 Component Story

ICEfaces 2.0 will include two component sets; the existing ICEfaces 1.x Component Suite components (aka ICEfaces "Compat" Components in ICEfaces 2.0), and the all-new ICEfaces 2.0 Components.


ICEfaces "Compat" Components

ICEfaces 2.0 includes the ICEfaces 1.x Component Suite components in a "Compatibility" (or "Compat") library (icefaces-compat.jar). The purpose of the compatibility library is two-fold:

1. Provide key ICEfaces 1.x APIs on top of ICEfaces 2.0 to make porting existing ICEfaces 1.x applications easier. ICEfaces 2.0 uses different packaging and APIs than 1.x and is not directly backwards compatible. The Compatibility APIs basically provide key 1.x APIs as wrappers for the new 2.0 APIs.

2. Provide the ICEfaces 1.x Component Suite for use on ICEfaces 2.0. Since the ICEfaces 1.x Components also rely on many of the ICEfaces 1.x APIs internally, they also require using the Compatibility APIs to function on ICEfaces 2.0.

Note that there is nothing JSF 1.2 about the Compatibility APIs and Components, they are meant to run only on JSF 2.0 on top of ICEfaces 2.0. The "Compatibility" term refers to ICEfaces 1.8 compatibility, not JSF 1.2.


New ICEfaces 2.0 Components

There is also a new generation of ICEfaces components under development for ICEfaces 2.0, based on a new Component Development Platform (CDP). The goal of the new CDP is to greatly ease the effort required to create and maintain new ICEfaces 2.0 components, providing a sophisticated set of features to reduce code replication and the amount of code that must be hand-crafted and maintained, resulting in improved developer productivity, and more efficient components at runtime.

These components will be delivered gradually, with the initial set of new components arriving along with the new CDP in the ICEfaces Beta2 release. The initial set of new components will include new File Upload, Slider, DateTimeSelector, and TabPanel components. When ICEfaces 2.0 ships final in the fall we expect to have 5 - 10 new components ready. More new components will be delivered after that in 2.1, etc. The ultimate goal is to provide replacement component functionality for virtually the complete ICEfaces 1.x Component Suite (not necessarily in a one-to-one relationship with existing components), but this is going to take some time to achieve.

Another aspect of the new component initiative is to invite and support community involvement and contributions by hosting an ICEfaces 2 Community Component Showcase and repository on the www.icefaces.org site, allowing ICEfaces Contributor's to submit their own CDP-based components for use and review by the community. This will be in place around the time of ICEfaces 2.0 final release.

We expect that most early ICEfaces 2.0 applications will take advantage of the 1.8 Compat Components alongside std. JSF components and the new ICEfaces 2.0 Components, as required.


One of the great aspects of ICEfaces is that it provides a comprehensive set of framework-level features that provide substantial benefits over using stock JSF 2, regardless of the component-sets being used.

Technorati Tags:

Posted by ken.fyten at 7:13 PM in Entries by Ken Fyten

ICEfaces 2.0 Beta 1 & Beta 2

Release Schedule Update

The good news is that ICEfaces 2.0 Beta 1 is out! In Beta 1 release, the following aspects of ICEfaces 2.0.0 are considered feature-complete:

  • ICEfaces 2.0 Core (icefaces.jar)
  • ICEfaces 2.0 Compatibility Libraries (icefaces-compat.jar)
The not-as-good news is that we've had to add a second Beta release to the schedule ("Beta 2"). This second Beta release will introduce:
  • The new ICEfaces 2.0 Component Development Platform.
  • The initial set of new ICEfaces 2.0 components (Tab, Slider, DateTimeSelector, FileInput, and possibly more).
  • Support for Portlets via the PortletFacesBridge.
The planned timing for Beta 2 is late August / early September.

We would appreciate any feedback you may have with respect to success/issues/questions using the Beta 1 release!

Technorati Tags:

Posted by ken.fyten at 6:39 PM in Entries by Ken Fyten

Wednesday, 9 June 2010

ICEfaces 2.0 - Revised Release Timeline

As you may recall, back in March I presented a projected ICEfaces 2.0 release timeline that indicated a final release of ICEfaces 2.0 was possible by the end of June. Unfortunately, events have since transpired that have required us to adopt a more conservative release schedule.

During the ICEfaces 2.0 Alpha 2 development cycle the ICEfaces team had logged several important issues against Mojarra JSF 2.0.2 which were targeted to be fixed in the JSF 2.0.3 release. In early April, we learned that the Mojarra JSF 2.0.3 release was being pushed back to mid-June. Since the bugs were significantly detrimental to the normal operation of ICEfaces we decided to provide temporary workarounds in ICEfaces Alpha 3 itself wherever possible. In addition, a substantial time investment was made to ensure that the Mojarra JSF 2.0.2 unit-test suite passed with ICEfaces configured. This step was taken to verify that ICEfaces 2.0 had no negative impacts on the standard JSF lifecycle and behaviors, a key step towards easing future integration of ICEfaces with 3rd party frameworks, such as Spring WebFlow, Seam, etc.. ICEfaces 2.0 Alpha 3 shipped on May 31st.

Based on the nature of the changes being made to the Mojarra JSF internals in the upcoming 2.0.3 release, we expect that a substantial effort may be required to certify ICEfaces 2.0 Beta on that release. For this reason we are projecting that the ICEfaces 2.0 Beta release will follow the Mojarra JSF 2.0.3 release by approx. 2-3 weeks, making early-to-mid July likely. We then anticipate a 4-6 week Beta period between the ICEfaces 2.0 Beta and Final releases.

While we would all like to see ICEfaces 2.0 released as quickly as possible, it is important to remember that ICEfaces must exist within a supporting ecosystem of JSF runtimes, IDE tool support, etc. that must be in place to fully realize the potential of the JSF 2.0 / ICEfaces 2.0 platform.

In the meantime, I encourage you to download the ICEfaces 2.0 Alpha 3 release and give it a try. See where we are headed and give us valuable feedback as we move forward to ICEfaces 2.0 Beta!

Technorati Tags:

Posted by ken.fyten at 5:00 PM in Entries by Ken Fyten

Wednesday, 24 March 2010

ICEfaces 2.0 Roadmap Update


For those not familiar with what ICEfaces 2.0 is all about, it represents a "re-envisioning" of ICEfaces in terms of key features, architecture, and implementation and has the following notable characteristics:
  • Is the new feature development track for ICEfaces - ICEfaces 1.8 is now considered stable
  • Based exclusively on the JSF 2 specification and runtimes (does not support JSF 1.x runtimes)
  • Requires JDK 1.5+
  • Supports the existing ICEfaces 1.8 Component Suite, as well as an all-new ICEfaces 2.0 Component Suite which will offer an improved level of component richness, performance, accessiblity, and extensibility
  • Although ICEfaces 2.0 is not directly backwards compatible with ICEfaces 1.8 applications, they may be readily ported via the use of the ICEfaces 1.8 API and component compatibility library, which provides the most important legacy ICEfaces 1.8 APIs and components for use in ICEfaces 2.0 / JSF2 environments
There have been a lot of questions lately about the ICEfaces 2.0 development roadmap and release schedule, what will it include, when will it ship final, how many releases between now and then, etc. To try to answer some of those questions, here is an overview of the ICEfaces 2.0 development roadmap that we are currently working toward:

ICEfaces 2.0 - Alpha 1 (Released Oct. 30, 2009)

  • New packaging, org.icefaces.*
  • Simplified Configuration:
    • - 3rd party library dependencies have been minimized / eliminated for simplified configuration and deployment
    • - No need for a separate ICEfaces servlet configuration
    • - No custom ICEfaces view-handler is required thereby improving integration with "well-behaved" 3rd party JSF components
  • New ICEpush "Ajax Push" Library:
    • - New push architecture
    • - New push API, org.icefaces.application.PushRenderer
    • - Servlet 3.0 implementations are automatically detected to take advantage of asynchronous NIO features
  • Support for standard JSF2 components ("h:")

ICEfaces 2.0 - Alpha 2 (Released Jan. 22nd, 2010)

  • New "Window" Scope - scope beans for the life of the browser window
  • New client JavaScript APIs for ICEfaces bridge lifecycle notification and error reporting
  • New ICEfaces 1.8 compatibility library (eases migration of existing ICEfaces 1.8 applications to ICEfaces 2.0):
    • - Support for key legacy ICEfaces 1.8 APIs that are not directly supported in ICEfaces 2.0 (SessionRenderer, partialSubmit, etc.)
    • - Support for the ICEfaces 1.8 Component Suite on ICEfaces 2.0 / JSF2
  • New ICEfaces 2 Documentation
  • Support for Maven2
  • Preliminary NetBeans 6.8 integration support

ICEfaces 2.0 - Alpha 3 (April, 2010)

  • New automatic push initialization feature for reduced/optimized push overhead
  • New "Delta-submit" feature for greatly reduced bandwidth consumption with large forms
  • Complete support for partial-page processing and rendering via Direct-to-Dom rendering pipeline
  • Initial release of new ICEfaces 2.0 Component Suite:
    • - All-new ICEfaces component development platform that leverages JSF 2 and YUI JavaScript libraries for improved usability, accessibility, flexibility, and performance
    • - Initial set of new components (Tab, Calendar, Slider, inputFile)

ICEfaces 2.0 - Beta (May, 2010)

  • Packaging, APIs, core feature freeze
  • Additional ICEfaces 2.0 Component Suite components, component platform revisions
  • Near complete documentation

ICEfaces 2.0 - Final (June, 2010)

  • ICEfaces 2.0 Core
  • ICEfaces 2.0 Component Suite
  • ICEfaces 1.8 Compatibility Library (core APIs and complete ICEfaces 1.8 Component Suite)
  • Support for JSF2-enabled IDE tool integrations

We're all working hard to maximize the opportunity presented by ICEfaces 2.0 and JSF2 to ensure that the next-generation of ICEfaces continues to be the most productive and feature-rich JSF application development solution available.

Technorati Tags:

Posted by ken.fyten at 12:04 PM in Entries by Ken Fyten

Friday, 30 October 2009

ICEfaces 2.0 - Alpha 1 is out!


I'm very pleased to announce that ICEfaces 2.0 - Alpha 1 is now available for download.

This inaugural development milestone release of ICEfaces 2.0 provides the fundamental capability of running the next-generation ICEfaces core on the Mojarra JSF 2.0.1 runtime. You can plug the icefaces.jar into your existing JSF2 application and immediately receive some of the benefits of ICEfaces Direct-to-Dom rendering, such as providing incremental page updates without the need to specify the JSF 2 "f:ajax" tag. A sample application is included demonstrating ICEfaces 2 with JSF 2 ("h:") standard components, and Ajax Push.

Also included in this release is the initial implementation of the ICEfaces 1.x compatibility libraries, along with sample applications that demonstrate this capability. The ICEfaces 1.x compatibility libraries are used to readily port your existing JSF 1.2 / ICEfaces 1.8 applications to JSF 2.0 / ICEfaces 2.

See the Release Notes for all the details.

We are planning to have another significant ICEfaces 2 milestone release, featuring the beginnings of our all-new ICEfaces 2 component suite, before the end of this year, so stay tuned!


Technorati Tags:

Posted by ken.fyten at 3:52 PM in Entries by Ken Fyten

Tuesday, 27 October 2009

Countdown to ICEfaces 2.0 - Alpha 1


JSF 2, and soon ICEfaces too!

As you may know the Sun "Mojarra" JSF 2.0 GA release has just occurred. With the JSF 2.0 runtime in place we're now in the final days of preparation for the corresponding ICEfaces 2.0 Alpha 1 release.

ICEfaces 2.0 represents a truly next-generation Ajax / JSF / Push framework development. We're using everything we've learned from the ICEfaces community throughout the ICEfaces 1.x release cycle to rationalize the ICEfaces feature-set, keeping the stuff that worked well and finding better solutions for everything else. Certainly the new capabilities in JSF 2.0 provide a strong starting point, but there is a lot of work going on now to make ICEfaces 2.0 meet and exceed your expectations. Our goal is nothing less than to make ICEfaces 2.0 the most productive, easy-to-use, and powerful JSF framework anywhere.

Notables:

  • Represents a "re-envisioning" of ICEfaces in terms of key features, architecture, and implementation.
  • Based-on the JSF 2 specification and runtimes, will require JDK 1.5+
  • Is the ICEfaces platform for new feature development and emerging technologies support and integration.
  • Will (eventually) include an all new ICEfaces Component Suite with a consistently improved level of component richness, performance, accessibility, and extensibility.
  • Unfortunately, the price of great progress in this case is that ICEfaces 2 is not directly backwards compatible with ICEfaces 1.x applications. However, we are well into development of a compatibility library and porting strategy that will ease migration of existing applications, including support for existing custom components, to ICEfaces 2.0.

Ted has more thoughts on JSF 2 and ICEfaces 2.0 here.

...stay tuned for more details on the ICEfaces 2.0 - Alpha 1 release.

Technorati Tags:

Posted by ken.fyten at 6:38 PM in Entries by Ken Fyten

Thursday, 2 April 2009

Easy Ajax just got even easier - ICEfaces 1.8 is now available!

ICEfaces 1.8 is out!

If there is a theme to the ICEfaces 1.8 release, it is one of "refinement". Don't worry, we've added a bunch of new features too in the over 350 fixes and enhancements included in the release, but a lot of development time was spent looking at how we could make ICEfaces better, easier, and more robust than ever before. In that regard, we've made some impressive progress:

Richer & More Productive

  • All new confirmationPanel, dataExporter, and setEventPhase components.
  • Improved focus management via ice:outputBody value-binding.
  • Time entry is now supported by the selectInputDate component.
  • Keyboard and double-click support has been added to the rowSelector.
  • Popup components (menuBar, menuPopup, panelTooltip, selectInputDate) can now automatically position themselves to avoid displaying off the visible window.
  • The Input File component is now much easier to use, supports progress updates - even in synchronous mode.

Easy Robust Ajax Push

  • The new SessionRenderer API provides the simplest way to implement compelling Ajax Push features in any framework, and it's built on top of ICEfaces industry-leading push architecture.
  • The unique new Push Server provides a zero-configuration solution for deploying multiple asynchronous applications to the same server.
  • ICEfaces now supports deployment into clustered fail-over configurations for applications with high-availability requirements.
  • No other Ajax Push solution can approach this level of robustness, scalability, and ease-of use.

Faster & Leaner

  • Rendering performance has been improved up to 30%.
  • Java heap consumption has been reduced 30-50%.
Of course, there are many more improvements in the release. Check out the Release Notes for more details on what's new in 1.8.0.

In addition to all the great stuff that went into ICEfaces itself, we've been working hard to make it simpler than ever to get, install, and learn ICEfaces:

Many Thanks

Any release of this magnitude represents a massive effort to accomplish, and this one is no different. So thanks to the product team who invested the majority of their last 6 months into this release. A very special thanks to the ever-growing ICEfaces community for the large number of community contributions that went into 1.8. Everything from language translations for the components and Component Showcase, to countless smaller bug fixes, to complete new features, such as the new "Scatter Plot" chart type. In addition, community involvement in testing the development and release-candidate releases were invaluable in finding and eliminating bugs along the way.

Great job everyone - now go get 1.8!

Technorati Tags:

Posted by ken.fyten at 2:17 PM in Entries by Ken Fyten

Monday, 14 April 2008

ICEfaces 1.7 - Something for Everyone

ICEfaces 1.7 is here!

A lot of sweat and a few tears went into it, and it took a little longer to arrive than many of us would have liked, but I think you'll be very pleased with how it turned out. The culmination of over 45 enhancements, 110 improvements, and 300 bug fixes, there's no question that it's a major leap forward in the evolution of ICEfaces.  With significant enhancements and improvements in every direction you look, there is truly something here for everyone.

Perhaps the most visible changes are the 7 entirely new components (e.g. context menu, rich text editor, media player, Google map, split-pane, etc.), with an additional 6 subcomponents for Google Maps alone. Additionally, there have been a whopping 47 component enhancements made as well, including user-resizable table columns, multi-column / multi-row table headers, row-span grouping of table data, auto-positioning for popup panels - the list goes on and on. An entirely new theme has been added too, called "Rime", which provides a fresh new face for the  ICEfaces Component Suite.  I'm pleased to report that in this release we've been able to address most of the highest-ranked new component features as voted for by the ICEfaces community.

To better demonstrate all the new component features the Component Showcase sample applications have been completely redeveloped. The new Component Showcase features improved code-samples, more consistent styling and layout, and improved component demos for many components. It also provides additional links to component documentation and resources, tutorials, etc., providing an excellent starting point for anyone looking to learn more about the components. 

Less visible, but equally important to everyone leveraging ICEfaces' asynchronous update features (Ajax-push) in wide-scale deployments is the addition of out-of-the-box support for 5 leading Asynchronous Request Processing (ARP) implementations, such as Glassfish "Grizzly" and Tomcat 6 / JBoss 4.2 NIO. By leveraging these ARP implementations ICEfaces applications can  immediately benefit from reduced server-side resource consumption for asynchronous applications, resulting in increased scalability of asynchronous apps. on the same hardware and software. Special thanks to Jean-Francois Arcand at Sun for all his help with the Glassfish Grizzly integration.

In addition, we've re-engineered the JavaScript bridge to handle asynchronous connection management between multiple viewports using a robust connection sharing implementation that eliminates issues related to using multiple async. views between browsers and to the same host due to the HTTP 2-connection limit. The Asynchronous HTTP Server (AHS) has also been added into the core ICEfaces bundle for this release, along with a new servlet deployment mode that makes it easier to configure and use.

The changes above were a key enabler for ICEfaces much improved support for JSR-168 portlets, including full support for multiple ICEfaces portlets on a the same page, async. or synchronous, from a single .war file or several. ICEfaces 1.7 has been verified with 5 leading Java portal containers, including Liferay Portal, BEA WebLogic Portal, and JBoss Portal. Some really outstanding work has been done to bring robust portlet support to the ICEfaces community. I'd like to give a shout-out of thanks to our friends at Liferay in particular, who have been fantastic supporters of ICEfaces and continue to work with us to bring the best portlet development experience possible to the combined ICEfaces and Liferay communities.

New features are nice but without excellent documentation and examples they can be difficult to use effectively. On this front we've put a concerted effort in to review and upgrade the ICEfaces documentation in this release, beyond simply refreshing references, etc. for 1.7.  The net result is we've added of 8 entirely new sections and 2 new appendices. We've really tried to fill in some gaps in the and react to community suggestions for improvements. I'd strongly recommend to everyone to check out the new docs, it will save you time in the long run and allow to get the most out of what ICEfaces has to offer.

There really is far too much that's new and improved in 1.7 for me to cover here, updates to Tool integrations, new Seam sample applications, etc., etc..  Check out the Release Notes for the complete picture.

Finally, I'd need to highlight how greatly 1.7 has benefited from all the community involvement along the way. A special thank-you to everyone who's been working with the ICEfaces 1.7 early-access releases and reporting issues, offering suggestions, and making contributions. It's been a very challenging, yet satisfying release, and that's best kind, really. 

Technorati Tags:

Posted by ken.fyten at 12:23 PM in Entries by Ken Fyten