Wednesday, 27 January 2010

Which version of ICEfaces?


People have been asking which ICEfaces version they should use. There are three main choices, and the full source code is available in each case:

  • ICEfaces-EE 1.8.2: You are using ICEfaces in production. You need rapid response to support issues, may have a highly available cluster on a commercial application server, and benefit from an extended component suite and testing resources. We are truly grateful to our subscribers and recognize that they are what makes ICEfaces possible.
  • ICEfaces 1.8.2: You are using ICEfaces to freely develop an application with rich JSF components and revolutionary Ajax Push features. You are supported by the very active ICEfaces community and generally deploy a single application to an open source server.
  • ICEfaces 2.0 A2: You are ready to benefit from JSF 2.0. We recommend that everyone begin with a prototype now and send in their feedback during the alpha phase.

    Why not just support ICEfaces 1.8 on JSF 2.0? In theory, this is possible, but it further increases the test matrix for ICEfaces 1.8 and cannot provide the major architectural simplifications obtained by building ICEfaces 2.0 purely on JSF 2.0. But in essence, the compatibility library in ICEfaces 2.0 (icefaces-compat.jar) is ICEfaces 1.8 on JSF 2.0.

Posted by ted.goddard at 11:15 AM in Entries by Ted Goddard

Friday, 22 January 2010

ICEfaces 2.0 Alpha2 is now available


ICEfaces 2.0 has reached Alpha 2 and is now available for download. If you're using JSF (or are curious about JSF), now is the time to try JSF 2.0: Facelets is standard, providing an advanced yet easy to use page and component definition language, the new standard View Scope correctly handles multiple windows and tabs, and standard annotations have eliminated tedious XML configuration. ICEfaces 2.0 provides a rich set of components and transparently adds Ajax to the JSF rendering process, giving you an Ajax application without writing a single line of JavaScript or manually adding any Ajax tags. ICEfaces also provides the easiest to use and most powerful Ajax Push API of any web framework in any language (a grand claim? please comment if you disagree).

ICEfaces 2.0 Alpha 1 was a technology preview, intended for experimentation. ICEfaces 2.0 Alpha 2 might have a few known issues (FileUpload is not available, and you may see a few exceptions) but is ready for general prototyping and application development. Porting the ICEfaces 1.8 sample applications was very easy (a couple of hours in each case), so please give us feedback on your porting experience so that we can enhance the compatibility layer and add porting tips to the wiki documentation.

For this release, the most extensive work has gone into the compatibility layer (providing the ICEfaces 1.8 components on JSF 2.0 ... even for Internet Explorer 6) and the standalone Ajax Push library (which is not quite ready to use standalone; more on that in the coming weeks). It's time to begin moving your ICEfaces 1.8 application to ICEfaces 2.0. We look forward to seeing you on the forums.

Technorati Tags:

Posted by ted.goddard at 7:31 PM in Entries by Ted Goddard

Thursday, 10 December 2009

GlassFish v3 and ICEfaces 2.0


GlassFish v3 is now available.

GlassFish v3 is an ideal server for ICEfaces 2.0:

  • JavaServer Faces 2.0 is included in GlassFish, so the only .jar files necessary in an ICEfaces application are icefaces.jar and icepush.jar (this results in the new ICEfaces auction demo being only 400k)
  • Servlet 3.0 is available to support highly scalable Ajax Push applications through asynchronous request processing (javax.servlet.AsyncContext)
  • JMS supports the communication necessary to coordinate Ajax Push updates between multiple applications on the same server or within a cluster (to get JMS you must download the full version, not the "Web Profile").

To get started with GlassFish v3 and ICEfaces 2.0:

Please try it out and let us know what features you are hoping for in ICEfaces 2.0 (it's only in Alpha, so things are still very flexible).

Technorati Tags:

Posted by ted.goddard at 6:18 PM in Entries by Ted Goddard

Friday, 13 November 2009

What's new in JSF 2.0 webinar online


In case you missed the webinar that Kito and I gave live last Wednesday, you can now view an archived version of the What's New in JSF 2 presentation.

Also, don't forget to sign up for the JSF Summit /images/emoticons/mozilla_laughing.gifecember 1-4 in Orlando, FL) . We can only tell you so much about JSF 2.0 in a one hour webinar; at this conference, you can learn about how to use the new features in depth and meet the experts who developed the specification. JSF 2.0 is now available, so the JSF Summit is really the launch. Dan Allen has also started the idea of a JSF logo contest, so be sure to bring your logo ideas.

Posted by ted.goddard at 1:07 PM in Entries by Ted Goddard

Monday, 2 November 2009

What's new in JSF 2.0?


Kito Mann and I will be giving a webinar this Wednesday, Nov 4 on JavaServer Faces 2.0. WebMC has been ported to JSF 2.0, so I'll be using a few lessons from that easy porting exercise to explain some of the differences between JSF 1.2 and JSF 2.0. To prepare for the webinar, please download the ICEfaces 2.0 Alpha and JSF 2.0 and have your questions and comments ready.

Now that JSF 2.0 is ready, when do you plan on using it in production? As a start, we should really deploy some of the ICEfaces 2.0 demos on ICEfaces.org.

Posted by ted.goddard at 1:42 PM in Entries by Ted Goddard

Tuesday, 27 October 2009

JSF 2.0 with ICEfaces 2.0 Alpha


ICEfaces 2.0 Alpha is nearing release. Here's what you can expect:

  • Current ICEfaces 1.8 components supported via icefaces-comps-compat.jar
  • Some minor page changes to port your application (such as to use standard h:head and h:body tags)
  • Ajax features added automatically via Direct-to-DOM rendering (no f:ajax tag required)
  • org.icefaces.* packaging (such as org.icefaces.application.PushRenderer)
  • JSF 2.0.1 and JDK 1.5 are required

Internally, the changes are very significant, and many simplifications were possible within ICEfaces through use of the standard JSF Ajax features (such as PartialViewContext and jsf.js). For the application developer, though, the major changes at this point lie with JSF 2.0 itself (you can expect to add significant features to your applications once the new ICEfaces 2.0 components become available; also, if you are using component APIs directly, you should expect larger changes ). For instance, two significant benefits from JSF 2.0 are that Facelets is now standard, and that you have the option to use annotations rather than faces-config.xml for managed bean definitions.

We have some webinars and talks lined up to get you ready for ICEfaces 2.0 and JSF 2.0. When do you plan on adopting JSF 2.0? If you had concerns with JSF 1.2, have they been addressed? What would you like to see in ICEfaces 2.0? Let us know; it's still early in the ICEfaces 2.0 development cycle, and we're very interested in incorporating your feedback.

Posted by ted.goddard at 6:14 PM in Entries by Ted Goddard

Friday, 16 October 2009

Ajax Push/Comet Panel and JSFSummit

If you're near the Google campus this Wednesday, Oct 21, please stop in for the Ajax Push Panel:The Chronicles of Web Standard Prince Comet: Next Wave of Comet. I'll be there along with Alex Russell, Michael Carter, Greg Wilkins, and Dylan Schiemann. It should be a good opportunity to discuss the impact of Google Wave and Cloud Computing on push technologies. Should Google support Servlet 3.0 in the Google App Engine, or should they force people to use proprietary technologies? Should ICEfaces Ajax Push be split out into a separate push server, available with no dependency on JSF?

Then, in November, you should head to the JSFSummit in Orlando. This is the leading North American conference for JavaServer Faces, and is the perfect place to ramp up on JSF 2.0.

Technorati Tags:

Posted by ted.goddard at 5:34 PM in Entries by Ted Goddard

Wednesday, 9 September 2009

ICEfaces with Google Translate Tutorial


Oleg Tikhonov has posted a developerWorks tutorial on ICEfaces with Google translate. It's a good introduction to ICEfaces, IBM WebSphere Community Edition, the Eclipse WTP tools for JSF, and the Google translate API. The google translate API looks very easy to use :

translatedText = Translate.translate(text, originalLanguage, translatedLanguage);

The next interesting thing would be to combine translation with push (for instance, a chat server with translation capability).

Technorati Tags:

Posted by ted.goddard at 12:03 PM in Entries by Ted Goddard

Tuesday, 8 September 2009

ILOG and ICEfaces webinar


A WebEx recording of the joint ILOG/ICEfaces presentation is available.
Data visualization driven through Ajax Push allows better business decisions to be made in a real time connected enterprise. This web seminar explains the importance of visualization and how it can be implemented in web applications with a combination open source and commercial technologies. Stepping through the code of a multi-user shipping/receiving application, attendees will learn how to include visualization in their applications and how to apply push to enable multi-user interaction and collaboration. Topics will include development and deployment considerations as well as a behind-the-scenes look at techniques used internally by the ILOG and ICEfaces technologies.

Technorati Tags:

Posted by ted.goddard at 11:51 AM in Entries by Ted Goddard

Tuesday, 4 August 2009

ICEfaces in one minute on YouTube

Apparently there are several JavaOne 2009 interviews on YouTube. I'm not sure how useful it is, but here I am explaining ICEfaces in one minute (and saying "client" when I should have said "server"). These presentations are getting shorter and shorter; next will be a highly technical talk, "ICEfaces in 10 seconds".

Posted by ted.goddard at 3:16 PM in Entries by Ted Goddard

Monday, 3 August 2009

ICEfaces in GlassFish Portfolio on YouTube


ICEsoft VP Marketing Rob Lepack was interviewed at JavaOne.. He explains the migration path from the discontinued Woodstock components and the free ICEfaces support available to current GlassFish customers.

Posted by ted.goddard at 12:56 PM in Entries by Ted Goddard

Thursday, 30 July 2009

ICEfaces test server


At http://component-showcase-test.icefaces.org/ you can find a test server running a pre-release version of ICEfaces. You may find it useful for seeing if your favorite bug is fixed in an upcoming release.

Posted by ted.goddard at 1:44 PM in Entries by Ted Goddard

Tuesday, 7 July 2009

Visual JPA with Ajax Push


Bilal Ahamed has put together a tutorial on Using Java Persistence API in a Visual Web ICEfaces framework and NetBeans including Ajax Push.

An interesting variation would be to try the SessionRenderer in this application (instead of the RenderManager APIs that were used). So in init()


    public void init() {
        ...
        SessionRenderer.addCurrentSession("userGroup"); 
    }

And at the end of saveButton_processAction():


public void saveButton_processAction(ActionEvent ae) {
        ...
        SessionRenderer.render("userGroup"); 
    }

Posted by ted.goddard at 3:23 PM in Entries by Ted Goddard

Thursday, 2 July 2009

Atmosphere 0.2 now Available


Atmosphere is an annotation-based, easy to use, portable framework for developing Ajax Push and Comet applications, and it's now at version 0.2.

This version has added annotations for REST applications; improved support for Servlet 3.0, Tomcat, Jetty, GlassFish, and JBossWeb 2.1.x; and BroadcasterLookup support for EJB and non-web applications. New sample applications include Twitter, Counter, and Chat.

Posted by ted.goddard at 11:10 AM in Entries by Ted Goddard

Rogers iPhone 3G S Resolution


After purchasing the iPhone 3G S, things went downhill briefly. It turned out that the phone number I picked with my new contract was previously owned by someone under "legal investigation" (at least, that's what the people phoning me said). That, combined with the fact that my previous voice plan was significantly cheaper compelled me to switch the iPhone to my previous plan.

Apparently, the only way to do this was to order a new iPhone (which would arrive by UPS in three to five days), not use the other iPhone more than 30 minutes, and return it to the store. I realized that this was ridiculously inefficient and a strange form of torture (having the iPhone, but not being allowed to use it) but was willing to endure this in order to save the activation fee and a recurring $11 per month.

Of course, when I called five days later to request a tracking number, I learned that the iPhone had never shipped and that they were out of stock.

Fortunately, the reasonable option was now possible: I could activate the iPhone under my existing plan and cancel the new plan. Either the representative was more knowledgeable (she was certainly very helpful -- rather than simply transferring me, she acted on my behalf for both the shipping cancellation and the plan cancellation), or Rogers had a change of heart due to the problems people were experiencing.

In summary, it is possible for Rogers customers to upgrade to an iPhone 3G S and just add a data plan to their existing voice plan. (Perhaps the threat of 3G competition from Telus in October is at work as well.)

Posted by ted.goddard at 11:01 AM in Entries by Ted Goddard