ColdFusion 8: Gelungene Rundumerneuerung

Der erste ColdFusion-Release unter Adobe-Führung kann mit unzähligen Top-Features aufwarten und unterstreicht den hohen Stellenwert, den der Application Server innerhalb Adobes Produktportfolio einnimmt.

Artikel erschienen in Swiss IT Magazine 2007/19

     

Mit der Version 8 hat Adobe den ersten Major-Release von ColdFusion seit der Übernahme von Macromedia vorgestellt. In der Entwickler-Community stellte man sich in den Monaten zuvor immer wieder die Frage, ob Adobe der Webentwicklungsplattform wohl den nötigen Stellenwert zukommen lassen würde.




Um die Antwort gleich vorwegzunehmen: Mit der jüngsten Version erhalten CF-Entwickler die bis anhin leistungsfähigste ColdFusion-Ausführung überhaupt. Nicht nur finden sich jede Menge neuer Befehle und Funktionen, auch wurden die Interaktionsmöglichkeiten in Enterprise-Umgebungen in verschiedener Hinsicht erweitert. Dazu hat Adobe ColdFusion um zahlreiche Web-2.0-typische AJAX-Funktionen erweitert.


AJAX im Handumdrehen

Wer eine State-of-the-Art-Site mit datenbankbasierten AJAX-Steuer­elementen programmieren will, kommt bei ColdFusion 8 voll auf seine Rechnung. Adobe hat verschiedene Befehle um AJAX-Funktionalität erweitert, mit denen sich die meisten gängigen AJAX-Controls im Handumdrehen erstellen lassen. Dazu zählen asynchrone Data Grids mit Editier- Weiterblätter- und Sortierfunktion ebenso wie Register, Menüs, Baumstrukturen, interagierende Popup-Fenster oder ein Rich-Text-Editor.



Der Programmierer muss sich beim Einsatz dieser Komponenten weder mit Javascript noch mit XML-Files herumschlagen, sondern konfiguriert lediglich die entsprechenden CF-Befehle. Im Developer’s Guide sind dafür diverse Beispiel-Codes enthalten, die sich auch von weniger versierten Usern rasch an die individuellen Bedürfnisse anpassen lassen. Das Prinzip ist bei allen AJAX-Controls dasselbe: Die Queries werden in einer separaten Datei abgelegt, die dann durch Control-Ereignisse wie Click oder Change ausgelöst werden, worauf der Output asynchron im Hintergrund nachgeladen wird.
Leider weisen aber einige Controls noch gewisse Beschränkungen auf: So lassen sich etwa im Data Grid die Daten zwar direkt in den Zellen der Tabelle editieren, und auch ein Delete-Button wird zur Verfügung gestellt, doch gibt es keine Möglichkeit, direkt neue Daten zu erfassen.




Als praktisch dürfte sich beim Erstellen von AJAX-Komponenten hingegen die spezielle Debugging-Funktion erweisen: Sobald man die URL um den String cfdebug erweitert, wird der AJAX-Logger eingeblendet, eine Art Konsolen-Output-Fenster, das über den Erfolg beziehungsweise Misserfolg sämtlicher Anweisungen detailliert informiert.
Dazu trägt Adobe auch den Anforderungen jener Programmierer Rechnung, die bereits ein AJAX-Framework wie Spry im Einsatz haben: Über einen simplen CFML-Tag lässt sich ein Java Proxy initialisieren, der Kommunikation und Datenaustausch zwischen AJAX-Client und ColdFusion-Server sicherstellt.


Direkter Exchange-Zugriff

Mit einem ganzen Set von Anweisungen adressiert Adobe bei CF 8 die Zusammenarbeit mit Microsofts Exchange-Mailserver. Die neuen Befehle erlauben das Auslesen, Löschen sowie Verzeichnisoperationen mit Mails, Kalendereinträgen, Kontakten sowie Aufgaben mitsamt Routinen für das Handling der jeweiligen Attachments. Mit Ausnahme von Mails, die nach wie vor über den CFMAIL-Befehl generiert werden, ist auch die Erstellung der Exchange-Objekte möglich.



Die Möglichkeiten in der Anwendung sind äusserst vielseitig und nur durch die Fantasie des Entwicklers begrenzt. So lassen sich etwa Aufgaben oder Termine erstellen, die durch vordefinierte Datenbankereignisse ausgelöst werden, Mailinglists können direkt über die Kontakteinträge generiert werden, aber auch die Erstellung eines kompletten webbasierten Exchange-Clients wäre denkbar.


Raffiniertes PDF-Handling

Gänzlich neue Möglichkeiten eröffnen sich auch im Zusammenhang mit PDF-Dokumenten. Mit dem neuen Befehl CFPDF lassen sich einzelne Seiten oder auch komplette Dokumente zu einem neuen File zusammenführen, einzelne Seiten aus einem PDF löschen oder interaktive Dokumente in ein «flaches» PDF konvertieren. Weitere Funktionen betreffen die Verschlüsselung, den Passwortschutz oder das Wasserzeichen-Handling. Doch damit nicht genug: Über die Anweisung CFPDFFORM lassen sich PDF-Formulare, die mit Adobe LiveCycle oder Acrobat erstellt wurden, weiterbearbeiten. PDF-Formulardaten können auch ausgelesen und beispielsweise in einer Datenbank gespeichert werden.




Umgekehrt lassen sich PDF-Formulare auch mit vordefinierten Werten aus einem XML-File oder einer Datenbank abfüllen.
Besondere Erwähnung verdient auch der CFPRINT-Befehl, über den sich der Batch-Druck von PDFs realisieren lässt. Erfreulicherweise unterstützt CFPRINT alle relevanten Druckeroptionen, was auch den Ausdruck einzelner Seiten auf bestimmte Druckerschächte erlaubt. Wer sich je mit dem Massendruck von PDFs auf unterschiedliche Ausgabeschächte herumschlagen musste, weiss den Wert dieses Features besonders zu schätzen.


Rundum-Integration

Wie eingangs erwähnt, hat Adobe grossen Wert auf die Integration einerseits mit bestehenden Adobe-Lösungen, andererseits aber auch mit Systemen von Drittanbietern gelegt. Neben der Anbindung an Microsofts Exchange Server ist hier insbesondere die Möglichkeit zu nennen, .NET-Objekte einzubinden respektive aufzurufen, wobei lokale wie auch Remote-Objekte unterstützt werden.

Im gegenwärtigen Stadium weist diese .NET-Integration allerdings einige Beschränkungen auf: So lassen sich zwar Klassen wie System.Data.DataTable in ColdFusion-Datentypen umwandeln, doch ist dies umgekehrt nicht möglich. Ebenso ist etwa auch der Zugriff auf .NET-User-Interface-Komponenten nicht möglich.
Dafür finden sich in CF 8 neu ein Event Gateway für die Interaktion mit dem Flash Communication Server sowie mit den LiveCycle Data Services oder ein Debugger-Plug-in für die Entwicklungsumgebung Eclipse.


Last but not least

Schliesslich bietet ColdFusion 8 nach Angaben der Entwickler von Adobe auch eine massiv bessere Performance: Der aktuelle Release soll gegenüber der MX-7-Version unter dem Strich mehr als viermal schneller sein. In diesem Zusammenhang liefert auch der neuintegrierte Server-Monitor wichtige Erkenntnisse, der über die Administrationsoberfläche aufgerufen wird.



Über diverse grafische Ansichten lässt sich damit beispielsweise in Echtzeit verfolgen, welche Page-Aufrufe und Funktionen dem Server wieviel Leistung abverlangen. Der Monitor erweist sich damit insbesondere beim Performance-Tuning schnell als unverzichtbares Werkzeug.




Neben all den genannten Features finden sich in der jüngsten ColdFusion-Version unzählige weitere Verbesserungen und Neuerungen. Zu nennen sind insbesondere:



- Bildbearbeitung: über 50 neue Befehle zum Erstellen und Zeichnen, Verändern oder Konvertieren von Bilddaten

- ZIP-Handling: Packen und Entpacken von ZIP- und JAR-Archiven

- Report Builder: rundumerneuerter Report Builder mit erweitertem Funktionsumfang

- RSS-Feed: Lesen und Erstellen von RSS- oder Atom-Feeds

- Administrator: Handling verschiedener Administratoren-Accounts mit unterschiedlichen Zugriffsrechten

- Thread-Kontrolle: Steuerung von Threads über den neuen CFTHREAD-Befehl

- Suchmaschine: neue Version von Verity.


Die Preisfrage

Grundsätzlich muss man sich aber auch beim aktuellen ColdFusion-Release die Frage stellen, weshalb man für ein Entwicklungs-Framework Geld ausgeben soll, wenn denn äquivalente Lösungen wie etwa Microsofts ASP.NET oder die PHP-Plattform kostenlos eingesetzt werden können.


Tatsächlich liegt hier denn auch der grösste Schwachpunkt der aktuellen ColdFusion-Version: Zwar können den höheren Softwarekosten durchaus schnellere Entwicklungszeiten entgegengestellt werden, doch liegen die Preise nach wie vor in exorbitanten Höhen.



Dazu kommt, dass Adobe auch bei den Ex-Macromedia-Produkten in Europa deutlich höhere Preise verlangt als in den Vereinigten Staaten: Allein für die Standardversion bezahlt der Schweizer Käufer mit 1995 Franken über 25 Prozent mehr als sein US-Kollege. Die Lokalisierung kann im aktuellen Fall für einmal nicht als Argument ins Feld geführt werden: ColdFusion 8 ist nämlich (zumindest vorläufig) ausschliesslich in Englisch verfügbar.

(rd)


Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Vor wem mussten die sieben Geisslein aufpassen?
GOLD SPONSOREN
SPONSOREN & PARTNER