ICEfaces

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
ICEfaces
Entwickler ICEsoft
Aktuelle Version 3.3[1]
(16. April 2013)
Betriebssystem plattformübergreifend
Programmier­sprache Java
Kategorie Webframework, Ajax, Java
Lizenz Apache-Lizenz
www.icefaces.org

ICEfaces ist ein auf JavaServer Faces (JSF) basierendes Ajax-Framework für Java, welches durch ICEsoft entwickelt wird. Seit November 2006 steht das Projekt bis und mit Version 2 neben einer kommerziellen Lizenz auch unter der Mozilla Public License (MPL) zur Verfügung. Die aktuelle Version von IceFaces (Version 3) enthält viele Komponenten, wovon einige jedoch erweiterte Kopien von PrimeFaces sind. Aus diesem Grund musste IceFaces auch ihre Lizenz von MPL auf die von PrimeFaces benutzte Apache-Lizenz ändern.

ICEfaces verfügt über eine umfangreiche Bibliothek an Komponenten für die Benutzerschnittstelle mit eingebauter Ajax-Funktionalität. Dazu gehören beispielsweise Bäume, Tabs und Menüs. Diese Komponenten können in einer standardkonformen JSF-Seite verwendet werden. Im Gegensatz zu den üblichen Komponenten einer Webseite können diese jedoch über Ajax mit dem Webcontainer kommunizieren und bei Bedarf Daten nachladen ohne dass die gesamte Webseite neu geladen wird. Der Entwickler muss sich dabei nicht um die Details dieser Kommunikation kümmern, da diese im Hintergrund transparent abläuft. Mit ICEfaces lassen sich so Rich Internet Application (RIA) entwickeln, ohne JavaScript programmieren zu müssen. Der schlussendlich im Browser ausgeführte JavaScript-Code wird durch das Framework zur Laufzeit generiert.

ICEfaces baut auf einigen Web-Standards der Java EE Architektur auf. Zu diesen Standards gehören wie bereits oben erwähnt JavaServer Faces, aber auch Facelets und Portlets. Für die Entwicklung können die herkömmlichen Java-Entwicklungsumgebungen eingesetzt werden und es sind keine Erweiterungen wie z.B. ein spezielles Plug-in notwendig. Zum Ausführen einer ICEfaces-Applikation im Browser sind ebenfalls keinerlei Plug-ins notwendig.

ICEfaces im Überblick[Bearbeiten]

Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Näheres ist eventuell auf der Diskussionsseite oder in der Versionsgeschichte angegeben. Bitte entferne zuletzt diese Warnmarkierung.
Rich Client Funktionalität
Mit ICEfaces lassen sich Rich Client basierte Java-EE-Anwendungen erstellen. Hierzu stehen mehr als 50 Komponenten zur Verfügung.
Open Source
Die Icefaces-Community hat mehr als 45.000 registrierte Nutzer. Das Forum wird aktiv von Icesoft-Mitarbeitern betreut. Das Geschäftsmodell von Icesoft basiert allerdings auf kostenpflichtiger technischer Unterstützung und Schulungen.
Standardorientiert
ICEfaces ist eine reine auf JSF basierte Java-Enterprise-Lösung. Entwicklern ist es somit möglich, in ihrer gewohnten Entwicklungsumgebung zu arbeiten. Hinzu kommen Plugins für bekannte Entwicklungsumgebungen wie Eclipse oder NetBeans.
Transparentes Ajax
ICEfaces bietet mit Komponentenbibliotheken die Möglichkeit für Java/JSF Entwickler, Ajax-Anwendungen mit wenig Aufwand zu erstellen. Dazu soll kein JavaScript- sondern nur JSF-Erfahrung benötigt sein.
Integrationsfähigkeit
ICEfaces ermöglicht die gemeinsame Nutzung gängiger Java Frameworks, IDEs und Application Server sowie Komponenten von Drittanbietern und JavaScript-Effect-Bibliotheken.
Ajax Push
Die als Ajax Push bezeichnete Technologie ermöglicht ein serverbasiertes Rendering von Inhalten auf dem Browser. Ajax Push ermöglicht die asynchrone Kommunikation zwischen Client Browser und Server, sodass ein Nachladen von geändertem Inhalt ohne das Absenden eines neuen Requests ermöglicht wird.

Vergleich mit GWT[Bearbeiten]

Wie auch das GWT und andere vergleichbare Techniken unterstützt IceFaces die komponentengestützte Entwicklung von Rich Internet Applications. Das dynamische Verhalten basiert in beiden Fällen auf asynchroner Kommunikation zwischen Client (Webbrowser) und Server (Web- bzw. Applikationserver) (Ajax). Ein wichtiger Unterschied zwischen beiden Ansätzen ist die client- bzw. serverseitige Generierung des UI-Markups. IceFaces erzeugt das Markup serverseitig und integriert es dann dynamisch mittels einfacher Javascript-Funktion in den aktuellen Dokumentenbaum. Das GWT überträgt nicht das Markup selbst, sondern die Daten, die zu seiner Erzeugung nötig sind z.B. Datenbankinformationen. Das Markup wird dann clientseitig erzeugt und aktualisiert. Daraus ergeben sich folgende Differenzen:

  • höhere Anforderungen und Rechenlast für den Client durch das GWT, die bei Mobilbrowsern (z.B. iPhone, iPad oder Windows Mobile-Systemen) Probleme bereiten können
  • höhere Netzwerklast bei der Verwendung von IceFaces, da das Markup umfangreicher ist als die Anwendungsdaten
  • längere Erstladezeiten beim GWT und schnellere Reaktion auf Nutzeraktionen innerhalb der Session (Reaktionsverhalten ähnlich zu Desktopanwendungen)
  • GWT-Anwendungen sind unabhängiger vom Server und damit auch bei Unterbrechung der Client-Server-Verbindung länger funktionsfähig

Siehe auch[Bearbeiten]

  • Vaadin - Reines Java Framework ähnlich ICEfaces zur Erstellung von Rich Internet Applikationen

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. ICEfaces Downloads