ICEfaces

ICEfaces

infobox software
name = ICEfaces

author = ICEsoft Technologies Inc.
latest release version = [http://www.icefaces.org/main/downloads 1.7.1 ]
latest release date = 2008-06-17
latest preview date = 2008-06-17
genre = Ajax, Java, JSF, Framework
license = Open Source MPL
website = [http://www.icefaces.org www.icefaces.org]

ICEfaces is an open source Ajax framework that enables Java EE application developers to easily create and deploy server-based rich Internet application (RIA) in pure Java.

ICEfaces leverages the entire standards-based Java EE ecosystem of tools and execution environments. Rich enterprise application features are developed in pure Java, and in a pure thin-client model. There are no Applets or proprietary browser plug-ins required. ICEfaces applications are JavaServer Faces (JSF) applications, so Java EE application development skills apply directly and Java developers are isolated from doing any JavaScript related development.

Community

The ICEfaces community now counts over 33,000 developers (04/2008) worldwide as of December 2007. The ICEfaces Community is anchored around ICEfaces.org. Contributed and administered by ICEsoft Technologies Inc., ICEfaces.org is a place where enterprise Ajax developers can learn, share, and contribute information and ideas to a growing community of ICEfaces enterprise developers. This site provides a wide range of development and support resources to benefit all ICEfaces developers. Source code and pre-bundled IDE tool integrations are available for download. Numerous tutorials, on-line support, user forums and sample code are all easily accessible to help get you up and developing that much quicker.

http://www.icefaces.org

Benefits

Rich User Experience: Create a superior user experience and produce more effective enterprise Java EE applications. Leverage the ICEfaces Component Suite of 50+ Ajax JSF components and create a new class of enterprise applications that will transform the user experience.

Open Source: The ICEfaces developer community is extremely vibrant, already exceeding 33,000 developers (04/2009) in 36 countries worldwide. ICEfaces is licensed under the Mozilla Public License.

Standards-based: ICEfaces is a pure Java enterprise solution so developers can continue to work the way they are used to. Existing Java IDEs and test tools can be leveraged during development.

Transparent Ajax: ICEfaces is much more than a component suite, it is an Ajax application framework that provides ease of development for Java/JSF developers. ICEfaces applications are developed with minimal design effort in Java/JSF not JavaScript.

Interoperability: ICEfaces supports a broad array of Java application servers, IDEs, third party components, and JavaScript effect libraries.

Ajax Push: ICEfaces pioneered Ajax Push (aka Comet) enabling server/application initiated content rendering to the browser. With Ajax Push, developers can create collaborative and dynamic enterprise applications like never before. Fact|date=July 2008

Security: ICEfaces is compatible with SSL, prevents cross-site scripting, malicious code injection and unauthorized data mining. ICEfaces is a server-based Ajax solution so it doesn't expose application logic or user data plus it is especially effective at preventing fake form submits and SQL injection attacks.

Scalability and Clustering: The Asynchronous HTTP Server (AHS) provides high-scalability support for ICEfaces applications that utilize Ajax Push and must be deployed to high volumes of concurrent users. ICEfaces applications can scale to meet the demand of highly-interactive, enterprise applications that require large-scale, clustered deployments.

Architecture

Application Development Model

The primary goal behind the ICEfaces architecture is to provide the application developers with a familiar Java enterprise development model, and completely shelter them from the complexities of low-level Ajax development in JavaScript. The key to the ICEfaces architecture is a server-centric application model, where all application logic is developed in pure Java, and executes in a standard Java application server runtime environment. This means that existing Java EE infrastructure, development environments, and best practices remain relevant and useful. The way Java EE applications are developed today will not change in any significant way, and you will not need to completely rearchitect your existing applications to incorporate rich Ajax-based features.

The rich presentation features of ICEfaces are based on the JavaServer Faces standard. ICEfaces applications development is essentially JSF development, which promotes a component-based architecture using familiar tag-based declarative UI definition and dynamic data binding into the server-resident application data model. Utilizing the ICEfaces Ajax-enabled component suite, which provides all the standard JSF components as well as a complete set of extended components, developers can build a standard JSF application that adheres to the standard server-centric JSF application lifecycle, but benefits automatically from rich Ajax-based features of ICEfaces. Because ICEfaces supports Ajax Push style applications, it extends the JSF framework to provide a trigger-based, server-initiated rendering API that make it simple to enhance applications with instantaneous presentation updates based on server-resident application state changes. Using ICEfaces and pure Java/JSF programming techniques application developers will be able to develop next-generation rich web applications without ever having to write a single line of JavaScript.

Architecture

While the underlying Ajax-based rich presentation mechanism in the ICEfaces implementation is completely transparent to the application developer, it is useful to understand what is happening behind the scenes in a ICEfaces applications. There are three core elements to the ICEfaces architecture:

1-ICEfaces Framework

The ICEfaces Framework is an extension to the standard JSF framework, with the key difference in ICEfaces relating to the rendering phase. In standard JSF, the render phase produces new markup for the current application state, and delivers that to the browser, where a full page refresh occurs. With the ICEfaces framework, rendering occurs into a server-side DOM and only incremental changes to the DOM are delivered to the browser and reassembled with a lightweight Ajax Bridge. This results in seamless, smooth update of the browser page with only the necessary presentation elements being rerendered. The ICEfaces Framework also provides complete run-time management of Ajax Push using the server-initiated rendering APIs, and integrates that mechanism seamlessly with the JSF lifecycle.

2-Ajax Bridge

The Ajax Bridge has server-resident and client-resident elements that coordinate Ajax- based communication between the client browser and the server-resident application. The Bridge is responsible for delivering incremental presentation changes from the render phase to the browser client, and reassembling those changes in the browser DOM to affect presentation changes. The Bridge is also responsible for detecting user interaction with the presentation, and delivering user events back to the application for processing through the standard JSF lifecycle. A mechanism call partial submit is built into the ICEfaces components and facilitates automatic event generation across the bridge, so the application developer is not exposed to the low-level event mechanism. The Ajax Bridge is established automatically on first page load of the application and coordinates presentation updates and user event transmission for the entire lifetime of the application.

3-ICEfaces Component Suite

The ICEfaces Component Suite provides all of the building blocks for the application UI. It includes both the standard JSF components, and a wide array of advanced components that enable the developer to assemble sophisticated application interfaces efficiently. All ICEfaces component renders leverage the server-based, direct-to-DOM rendering mechanism provided in the framework, and use their partial submit attribute to facilitate automated event generation over the Ajax Bridge based on user interaction with the component's presentation. Optionally, ICEfaces components can be enabled with a variety of script.aculo.us effects such as drag and drop. Again, ICEfaces components carry attributes that enable various effects, so the developer is never exposed to low-level JavaScript programming to get dynamic features from a component.

Code Example

The following template:

processed by ICEfaces will produce the following (invalid) XHTML:

Release history

  • ICEfaces Technology Preview - June 2005
  • ICEfaces 0.1.0 Early Access Release - August 2005
  • ICEfaces 0.2.0 Alpha - October 2005
  • ICEfaces 0.3.0 Alpha - January 2006
  • ICEfaces 1.0 Beta - April 2006
  • ICEfaces 1.0 Community Edition - May 2006
  • ICEfaces 1.5 Open Source - November 2006
  • ICEfaces 1.6 July 2007
  • ICEfaces 1.7 April 2008
  • Latest Release: http://www.icefaces.org/main/downloads/

References

* [http://icefaces.org ICEfaces Home Page]
* [http://www.devx.com/security/Article/33533/0/page/2 Inherent AJAX Security with Java and JSF]
* [http://www.infoworld.com/article/07/07/10/ice-soft_1.html ICEsoft improves AJAX environment for Web 2.0 apps]
* [http://ajax.sys-con.com/read/428310.htm How the New ICEfaces Community Is Impacting Open Source AJAX]
* [http://www.devx.com/webdev/Article/29068 ICEfaces Offers a Novel, Pure Java Approach to the Rich vs. Thin]
* [http://www.supinfo-projects.com/fr/2006/developp_ajax_iceface/ Develop Ajax-based solution with ICEfaces]

Books

* Michael Juntao Yuan and Thomas Heute, "JBoss Seam: Simplicity and Power Beyond Java.". Prentice Hall, 2007. ISBN 0131347969 .
* Dave Crane, Bear Bibeault, Jord Sonneveld, Ted Goddard, Chris Gray, Ram Venkataraman, and Joe Walker, "Ajax in Practice". Manning Publications, 2007. ISBN 1932394990 .

External links

  • [http://www.icefaces.org/main/downloads/ Downloads]
  • [http://www.icefaces.org/main/demos/ Demos]
  • [http://www.icefaces.org/JForum/ Forums]
  • [http://www.icefaces.org/main/product/license-faq.iface License FAQ]
  • [http://library.theserverside.com/detail/RES/1201197969_244.html ICEfaces and Spring 2.5 in Java EE]
  • [http://www.myeclipseide.com/documentation/quickstarts/icefaces/ MyEclipse ICEfaces Tutorial ]
  • [http://dev2dev.bea.com/pub/a/2007/06/icefaces-workshop.html Getting Started with ICEfaces in Workshop for WebLogic]
  • [http://www.oracle.com/technology/products/jdev/howtos/1013/icefaces/jpaicefaces.html Using ICEFaces with EJB 3.0 in JDeveloper]
  • [http://blogs.sun.com/theaquarium/entry/icefaces_on_glassfish_v2 ICEfaces on GlassFish v2]

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • ICEfaces — Entwickler ICEsoft Aktuelle Version 2.0.2 (13. Mai 2011) Betriebssystem plattformübergreifend Programmier­sprache Java Kategorie …   Deutsch Wikipedia

  • Comet (programming) — Comet is a web application model in which a long held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it.[1][2] Comet is an umbrella term, encompassing multiple techniques for achieving this… …   Wikipedia

  • Java Server Faces — JavaServer Faces (kurz: JSF) ist ein Framework Standard zur Entwicklung von Benutzeroberflächen für Webapplikationen. Basierend auf Servlets und JSP Technologie, gehört JSF zu den Webtechnologien der Java Platform, Enterprise Edition (Java EE).… …   Deutsch Wikipedia

  • Vaadin — Тип Веб фреймворк Разработчик IT Mill Первый выпуск май 20, 2009 (2009 05 20) Аппаратная платформа Java Последняя версия 6.8.5 …   Википедия

  • OpenDJ — 2.4 Control Panel Initial release December 21, 2010; 10 months ago (2010 12 21) Stable release …   Wikipedia

  • PHP-Nuke — Original author(s) Francisco Burzi Stable release 8.2 / May 22, 2009; 2 years ago (2009 05 22 …   Wikipedia

  • Drupal — Drupal …   Wikipedia

  • OpenACS — Developer(s) OpenACS community Stable release 5.6.0 …   Wikipedia

  • Midgard (software) — For other uses, see Midgard (disambiguation). Midgard AJAX inline editing of content in Midgard …   Wikipedia

  • JavaServer Faces — (JSF) is a Java based Web application framework intended to simplify development of user interfaces for Java EE applications. Unlike other traditional request driven MVC web frameworks, JSF uses a component based approach. The state of UI… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”