- Cold Fusion Markup Language
-
ColdFusion ist eine für Web-basierte Datenbankanwendungen konzipierte Middleware, die grundlegend aus folgenden drei Teilen besteht:
- ColdFusion Application Server (dem ersten Application Server der Welt)
- ColdFusion Markup Language (CFML, eine Skriptsprache, die es ermöglicht, serverseitige Applikationen zu programmieren)
- geeignete Entwicklungsumgebungen (wie zum Beispiel Eclipse oder Dreamweaver)
ColdFusion steht dabei in direkter Konkurrenz zu vergleichbaren serverseitigen Systemen wie ASP, JSP/Servlet, ZOPE (Python), Perl und PHP. Im Gegensatz zu Scriptsprachen wie PHP und Perl, die Open Source sind, ist die Originalversion von ColdFusion nicht im Quellcode verfügbar.
Inhaltsverzeichnis
Allgemeines
Mithilfe von ColdFusion lassen sich sehr schnell Webapplikationen oder Intranet-/Extranetanwendungen erstellen. Die einfache Tag-basierte Entwicklungssprache CFML ermöglicht einen einfachen Einstieg in die Programmierung und bietet erfahrenen Entwicklern sehr leistungsfähige Werkzeuge. Hierzu trägt auch die einfach gehaltene Installation und Administration des Servers bei. Ursprünglich rein prozedural ist ab Version 6.0 (ColdFusion MX) auch objektorientierte Programmierung in CFML möglich.
Ein entscheidender Unterschied zu vergleichbaren Systemen ist der serverseitige Einsatz der Indizierung einer gesamten Website mittels der implementierten Verity Engine. Damit wird für den Anwender die ansonsten übliche Indizierung hinfällig: diese lässt sich über sogenannte Collections vom Administrator sowohl für Textdateien als auch für Datenbankinhalte steuern.
ColdFusion Application Server
Der ColdFusion Application Server hat in entscheidenden Bereichen die Entwicklung der Web-Technologie geprägt.
Entwickelt wurde das Programm von Jeremy und seinem Bruder JJ Allaire. Sie gründeten 1994 die Allaire Corp. und vermarkteten ColdFusion und andere Produkte, wie z. B. HomeSite oder JRun. Mit WDDX wurde von Allaire schon früh ein Vorläufer zu den heutigen Webservices entwickelt, das z. B. zur Content-Syndication verwendet wurde. ColdFusion war bei seinem Erscheinen 1995 der erste Application Server überhaupt und bis heute einer der erfolgreichsten weltweit – in seinem Mutterland, den USA, ist er sogar Marktführer. Außerhalb der USA hat es ColdFusion von je her etwas schwer und vor allem in Deutschland mit seiner traditionell starken PHP-Community ist ein Durchbruch nicht in Sichtweite. Umso weniger, als es sich hierbei um eine proprietäre (und somit auch kostenpflichtige) Software handelt. Dennoch verfügt ColdFusion über eine sehr aktive Community wie die verschiedenen CFUGs (ColdFusion User Groups) beweisen.
Am 16. Januar 2001 übernahm Macromedia die Allaire Corp. und integrierte die Produkte in die eigenen Produktlinien. Mit der Version ColdFusion MX (6.0) wurde das Programm vollkommen neu geschrieben und die zugrundeliegende Engine auf J2EE umgestellt. Im Jahr 2002 wurde ColdFusion von Sun als 100% Java-kompatibel zertifiziert. MX-Anwendungen laufen somit unter Bea Weblogic, genauso wie unter IBM Websphere, SunOne oder Apache Tomcat. Von Haus aus wird JRUN 4 als Application-Server mitgeliefert.
Macromedia ColdFusion MX (6.1 und 7) wird in drei verschiedenen Versionen angeboten. Die kostenlose ColdFusion Developer Edition ermöglicht Interessierten den lokal begrenzten Einstieg in die Welt von CF. Die Standard- und Enterprise-Edition hingegen sind kommerzielle Versionen, die sich nur in Details wie der unterstützten Anzahl der CPUs, den Betriebssystemen, Datenbankschnittstellen und der Clusterfähigkeit unterscheiden.
Die vorletzte Version war ColdFusion MX 7, die insbesondere Möglichkeiten zur Druckausgabe (PDF und FlashPaper), Reporting inkl. Report Generator, Event-Gateways (SMS, Instant Messaging usw.) und die Möglichkeit zur Generierung von XForms und FlashForms (durch die Verwendung von Adobe Flex) eingeführt hat. Siehe auch 'geeignete Entwicklungsumgebungen'.
Es existierten weiterhin noch „freie Implementierungen“ die es ermöglichen, ColdFusion auf weiteren Webservern / Betriebssystemen zu verwenden. Diese werden meist als Modul in den Webserver integriert. Zu nennen sind hier die Lösungen Blue Dragon, Smith, CORAL und IgniteFusion. Diese Open Source Script-Engines genannten Lösungen basieren alle auf der Möglichkeit, Java-Klassen und -Bibliotheken mit dem CFML-Code zu verschmelzen. Bereits im Juni 2007 stellte die Firma Smith eine vollständig in Java geschriebene ColdFusion-Cross-Plattform vor. Die derzeit ernstzunehmendste Konkurrenz erfährt das Original durch die Schweizer Firma Railo Technologies, die zusammen mit den Entwicklern von JBoss einen freien CFML-Applikationsserver herausbringen wollen[1].
Nach der Übernahme von Macromedia durch Adobe werden nun alle Macromedia-Produkte von Adobe weiterentwickelt und vertrieben. Die aktuelle Version heißt Adobe ColdFusion 8. Deutlich erkennbar ist eine stärkere Integration in die Windows-Welt mit neuen Schnittstellen zu Microsoft Exchange Server und ASP.NET.
Im Gegensatz zu Coldfusion 7, welches unter Windows Server 2003 German problemlos zu installieren war, zeigt CF8 beim Auto-Installationsversuch einen Fehler. Die Daten der DVD müssen zuerst unter Einsatz eines anderen Betriebssystems auf eine Netzwerkfestplatte gespeichert werden. Unter dem Verzeichnis Coldfusion8 kann dann der Installer coldfusion-80-win.exe manuell gestartet werden.
ColdFusion Markup Language (CFML)
CFML ist eine Sammlung von Tags und Funktionen, die die Entwicklung von Webanwendungen stark vereinfachen. Trotzdem ist CFML eine sehr leistungsfähige Sprache die auch komplexe Technologien wie WSDL, LDAP, XML, XSLT, XForms, Verity, MySQL, Stored Procedures von Oracle oder SQL-Server über einfache HTML-ähnliche Tags anzusprechen vermag. Alternativ zur schnell verständlichen Tag-Syntax kann man auch eine Script-Syntax ähnlich der von PHP verwenden, welche in vergangenen ColdFusion Versionen vom Parser mitunter schneller verarbeitet werden konnte. Mit diesem Set an Werkzeugen wird ein Rapid Application Development ermöglicht.
Die ColdFusion Markup Language diente in Teilen als Vorlage für die Entwicklung von JSP 2.0 und der JSTL. Der Sprachumfang von CFML hat sich über die Jahre permanent weiterentwickelt. Eine gravierende Neuererung sind die Fusion Components (CFC). CFCs ermöglichen dem Entwickler einen stärkeren OOP-Ansatz bei der Entwicklung von Webanwendungen zu wählen.
Wird eine Seite mit CF-Code (Dateiendung .cfm, seltener auch .cfml) aufgerufen, dann fügt der Webserver gemäß den Skriptanweisungen HTML-Code in die Seite ein und reicht sie dann an den Webbrowser des Besuchers weiter. Dem Besucher zeigt sich also nur der HTML-Quelltext des Produkts, nicht des Skripts selbst. Letzterer bleibt dem Seitenbesucher (wie auch bei anderen serverseitigen Skripten wie z.B. PHP) verborgen.
Code-Beispiel
Einfaches CFML-Skript (gibt „Hallo Welt!“ aus):
<cfoutput>Hallo Welt!</cfoutput>
Das erweiterte Skript in HTML integriert (gibt ebenfalls „Hallo Welt!“ auf der Webseite aus):<cfset beispiel = "Hallo Welt!"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Hallo-Welt-Beispiel</title> </head> <body> <cfoutput>#beispiel#</cfoutput> </body> </html>
Geeignete Entwicklungsumgebungen
Zur CFML Entwicklung stehen unter anderem folgende Umgebungen zur Verfügung:
- Adobe Dreamweaver
- Macromedia HomeSite 5.5
- Macromedia HomeSite ColdFusion Studio <5.0
Für die Entwicklung kann auch die Open-Source-Entwicklungsumgebung Eclipse mit dem ebenfalls kostenlosen Plugin CFECLIPSE verwendet werden. Des Weiteren kann auch mit dem Editor PrimalScript entwickelt werden.
Einzelnachweise
Literaturhinweise
- Ralf Blittkowsky: Macromedia Studio MX 2004. Dynamische Websites entwickeln mit ColdFusion MX, Dpunkt, 2004, ISBN 3-89864-211-9
- Philipp Cielen, Steffen Goldfuss, Christoph Schmitz: ColdFusion MX. Professionelle Anwendungsentwicklung fürs Web, AW, 2003, ISBN 3-8273-2068-2
- Peter Müller: ColdFusion in 21 Tagen, M&T, 2001, ISBN 3-7723-6525-6
Weblinks
Open Source
Wikimedia Foundation.