Schon mehr als zwölf Jahre hat die Mutter aller Application Server mittlerweile auf dem Buckel – ursprünglich von der Firma Allaire entwickelt, von Macromedia eingekauft und nun von Adobe weitergeführt, ist ColdFusion in seinen Möglichkeiten immer weiter gewachsen, ohne dabei an Schnelligkeit oder den Anspruch zu verlieren, noch immer die einfachste und mächtigste Waffe im Arsenal eines Webentwicklers zu sein.
In den letzten Jahren ist für ColdFusion-Entwickler nichts konstanter geblieben als der stete Wandel. Macromedia hat nach der Übernahme der Software im Jahr 2002 viel Zeit, Geld und Mühe investiert, um den ursprünglich C++-basierten Server komplett auf die J2EE-Plattform zu portieren. Zwischen den Versionen 4 und 6 (MX) kamen daher relativ wenige, dafür revolutionäre Neuerungen auf, wie die ColdFusion Components, die erstmals objektorientierte Entwicklung in ColdFusion ermöglichten. Adobe hat nun ebenfalls noch einmal stark investiert und bringt Produkte wie LiveCycle, Flex und Spry mit, die in ColdFusion integriert wurden. Mit Version 7 konnte man die Portierung auf Java als perfekt ansehen, Version 8 bringt nun endlich wieder das, was Kunden und Coder glücklich macht: viele neue Features.
ColdFusion ist im Laufe der Zeit immer mehr vom reinen Application Server für HTML-basierte Web-Applikationen zur Middleware für alle möglichen Anwendungsgebiete mutiert. Ob als Backend für datenbankgetriebene Flex-Applikationen, PDF/Report-Generator oder als Server für SMS-gesteuerte Applikationen und vieles mehr, ColdFusion hat sich zur modernen Variante des Schweizer Messers für Webentwickler gemausert. Dabei vereinigt es verschiedenste Technologien unter einem Dach, kann mit seiner J2EE-Basis mit Java-basierten Anwendungen ebenso kommunizieren wie nun auch mit Microsofts .NET. Es ist sogar prinzipiell möglich, PHP und Ruby on Rails auf ColdFusion 8 laufen zu lassen oder MXML (Flex) damit zu kompilieren.
Über alle Produktversionen hinweg ist laut Damon Cooper, Director of Engineering bei Adobe, eines jedoch immer gleich geblieben: der Anspruch, die Programmierung von komplexen Aufgabenstellungen mithilfe mächtiger ColdFusion Tags weitgehend zu vereinfachen und damit Programmierer zu modernen „Helden“ innerhalb ihrer jeweiligen Firmen zu machen, die in kürzester Zeit komplexe Aufgabenstellungen lösen können.
Einzeiler erschlägt Problem
Mit ColdFusion 8 brechen so auch wieder goldene Zeiten für effiziente Programmierer an. Wo in anderen Sprachen teilweise erheblicher Aufwand getrieben werden muss, um ähnliche Ergebnisse zu erreichen, genügt in ColdFusion oft eine einzige Codezeile. Die neue Version bringt dabei einige weitere Komponenten ins Spiel, wie z.B. die integrierten Funktionen zur Verarbeitung von PDF-Dateien, die Adobe bisher nur in ihrem Enterprise-Produkt LiveCycle anbietet.Sie stehen vor dem Problem, mehrere vorhandene PDF-Dokumente zu einem einzigen zusammenzufügen? Mit ColdFusion 8 lösen Sie das Problem mit nur einer Codezeile:
<cfpdf action="merge" source="/daten/doc1.pdf,/daten/doc2.pdf" destination="/daten/neu.pdf">
Der Code ist so einfach wie selbsterklärend, auf eine weitere Erläuterung wird daher an dieser Stelle verzichtet. Sie wollen ein JPEG-komprimiertes Bild in eine PNG-Datei umwandeln? Mit dem neuen <cfimage>-Tag wird auch diese Aufgabenstellung zum Einzeiler:
<cfimage action="convert" source="/daten/bild1.jpg" destination="/daten/bild1.png">
Eine Webanwendung soll einen Blog-Feed automatisch auslesen, verarbeiten und darstellen? Das neue Tag <cffeed> liest eine Feed-Datei automatisch lokal oder von einem entfernten Server ein und parst die XML-Daten in ein ColdFusion-Query-Objekt, das dann wie eine Datenbankabfrage auf beliebige Art und Weise dargestellt werden kann:
<cffeed source="http://www.cielen.com/blog/rss.xml" query="meinFeed">
Um die Verarbeitung der verschiedenen Feed-Formate (RSS/Atom) und -Versionen kümmert sich ColdFusion automatisch selbst. Mit nur wenigen Zeilen Code mehr lässt sich eine kleine Flash-basierte Statistik mit Tortendiagramm über die Häufigkeiten bestimmter Kategorien erstellen und mit <cfchart> grafisch auswerten.






