Eine fortgeschrittene JSF-Grafikkomponente erzeugen

Eines der Ziele bei der Entwicklung von JSF-Komponenten ist die Möglichkeit, sie in jeder JSF-konformen integrierten Entwicklungsumgebung (IDE) zu verwenden. Doch reicht JSF-Konformität nicht immer aus, um zu garantieren, dass so eine Design-Time-Integration auch funktioniert. Es folgen einige einfache Ideen, die man während der Entwicklung eigener JSF-Komponenten im Kopf behalten sollte, um deren spätere Integration in ein IDE zu erleichtern.

Zunächst sollte die JSF-Komponente grundlegendes HTML-Rendern ermöglichen. Während der Design-Time können JSF-IDEs keine dynamischen grafischen Komponenten rendern, die Live-Daten- oder Applikationsserver-Verbindungen benötigen. Daher sollten Komponenten, die komplex oder nicht konventionell (zum Beispiel kein HTML) gerendert werden, Beans.isDesignTime() verwenden, um zu bestimmen, ob sie eine grundlegende HTML-Darstellung oder echtes Komponenten-Rendern ermöglichen sollen.

Ein weiteres Design-Time-Problem ist die Positionierung und Dimensionierung der Komponente. Sun Creator (5) verwendet das „Style“-Attribut, während IBM WSAD (6) mit „height“- und „width“’-Eigenschaften arbeitet. Eine Komponente, deren Größe verändert werden kann, sollte mit beiden Methoden zur Bestimmung der Größe umgehen können.

Und schließlich muss die Komponente, um in IDEs integriert werden zu können, zusätzliche Informationen zur Verfügung stellen, die bis jetzt noch nicht in den JSF-Spezifikationen definiert sind. Leider erfordert derzeit jede IDE eine spezielle Handhabung zur Integration der Komponente: eine XML-Datei für Sun Creator, ein Eclipse-Plugin für IBM WASD und so weiter. Ein Hauptziel der nächsten Javaserver Faces JSR (v2.0) wird sein, die zusätzlichen Metadaten-Formate zu spezifizieren.

Fazit

Dieser Artikel hat zeigt, wie man eine einfache JSF-Komponente schreibt und dass das Schreiben einer solchen Komponente gar nicht so schwer ist, weil das Framework die meiste Arbeit leistet. Das JSF-Framework managt den Status der Komponente, den Renderer und so weiter.

Dann wurden diese grundlegenden Konzepte erweitert, um eine fortgeschrittene grafische JSF-Komponente zu entwickeln, die komplexe Datensätze anzeigen, inkrementelle Aktualisierung bieten, umfangreiche clientseitige Interaktionen ermöglichen und sich mit begleitenden Komponenten koordinieren kann. Für die Unterstützung dieser Funktionen waren viele Verbesserungen an der grundlegenden JSF-Komponenten-Architektur erforderlich. Sicherlich wäre das Konzept der inkrementellen Aktualisierung in der Zukunft eine gute Verbesserung des JSF-Frameworks. Dadurch würde es möglich, nur die Teile einer Seite zu aktualisieren, die sich geändert haben, und die Aktualisierung der kompletten Seite zu vermeiden.

Zum Schluss wird deutlich, dass die Beachtung der JSF-Spezifikationen nicht immer ausreicht, um sicherzustellen, dass eine Komponenente vollständig in eine JSF-IDE integriert wird und dass eine neue JSF-Version diese Probleme bald lösen dürfte. Trotz dieser Fallstricke beschleunigt das JSF-Framework die Entwicklung von Web-Komponenten erheblich und vereinfacht die Mischung von Komponenten aus verschiedenen Quellen, um komplette und komplexe Web-Applikationen zu entwickeln.

Referenzen:

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Eine fortgeschrittene JSF-Grafikkomponente erzeugen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *