. .
CREATE OR DIE Special Downloads Shop webinale

Schauplatz

Artikel
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

März 2009

Quo Vadis, ColdFusion?

Definition, Geschichte, Ausblick

(Link zum Artikel: http://www.createordie.de/cod/artikel/2171)

Obwohl ColdFusion der erste Application-Server der Welt war, ist der Bekanntheitsgrad der Plattform – zumindest in Deutschland – immer noch gering. In diesem Artikel wird unter anderem der Frage nachgegangen, was die Gründe dafür sind. Ist ColdFusion tatsächlich stagnierend – oder ein äußerst erfolgreiches Produkt mit vielversprechenden Zukunftsaussichten? Wir beleuchten die Hintergründe und die lebhafte ColdFusion-Geschichte, stellen Hersteller und Features vor und veranschaulichen die Vor- und Nachteile der verschiedenen Produktausprägungen. Zum Schluss wagen wir einen Ausblick für das Jahr 2009.

Text: Harry Klein

ColdFusion Definition und Geschichte

Die erste ColdFusion-Version wurde im Juli 1995 von den Allaire-Brüdern veröffentlicht. Es handelte sich um eine kostenpflichtige Middleware, die aus drei Teilen besteht: Einem Application Server, einer Entwicklungssprache namens CFML und einer Entwicklungsumgebung. Die Maxime von Allaire galt damals wie heute: ColdFusion sollte ein möglichst einfach zu bedienendes und leistungsfähiges Werkzeug für die Erstellung von Webapplikationen sein.

Die Allaire Corporation wurde 2001 von Macromedia übernommen, im Herbst 2005 wurde Macromedia wiederum vom Grafiksoftwarespezialisten Adobe für rund 3,5 Milliarden Dollar gekauft. Diese beiden Übernahmen haben dem Produkt in keinster Weise geschadet – im Gegenteil: Sowohl Macromedia als auch Adobe integrierten ColdFusion in die eigenen Produktlinien. Ein sehr wichtiger Schritt wurde noch von Macromedia für die Version ColdFusion MX 6 unternommen, indem die Engine von C++ auf J2EE umgeschrieben wurde. Die aktuelle Version Adobe ColdFusion 8.0.1 wurde im April 2008 veröffentlicht und brachte viele Neuerungen, etwa die Unterstützung für 64-Bit-Systeme.

Neben der "Originalversion" sind auch Implementierungen, z. B. Railo, New Atlanta BlueDragon, Open BlueDragon, Smith, CORAL oder IgniteFusion verfügbar. Es würde den Rahmen dieses Artikels sprengen, auf alle diese Ausprägungen einzugehen. Wir beschränken uns daher auf die derzeit ernstzunehmendste Konkurrenz durch die Schweizer Firma Railo Technologies sowie die erste ColdFusion-Open-Source-Version Open BlueDragon.

Die Entwicklungssprache ist sehr leistungsfähig und basiert auf HTML-ähnlichen Tags und Funktionen. Objektorientierte Programmierung ist über ColdFusion Components (CFC) möglich. Entwicklern, die eher aus der Java-, JavaScript- oder PHP-Welt kommen, bietet sich auch die Möglichkeit einer Script-Syntax innerhalb so genannter CFScript-Blöcke. Diese Einschränkung wird in zukünftigen Versionen aufgehoben, sodass komplette ColdFusion Components mithilfe der CFScript-Sprache entwickelt werden können. ColdFusion-Code wird in nativen Code für die J2EE-Plattform kompiliert (Java-Bytecode) und auf einer Servlet Engine ausgeführt. Mit New Atlantas BlueDragon für das Microsoft .NET Framework kann CFML-Code auch für das .NET Framework kompiliert werden.

Stärken von ColdFusion

Einer der wichtigsten Gründe für ColdFusion ist die optimale Unterstützung des RAD-(Rapid Application Development-)Konzepts. Kundenwünsche und Anforderungen ändern sich in Webprojekten sehr häufig, die Möglichkeit, darauf schnell zu reagieren und neue Features zu implementieren, ist deswegen zentral. Wichtig im RAD-Konzept ist also die Implementierungsgeschwindigkeit, unter anderem durch Wiederverwendbarkeit von bestehenden Modulen. Diese kann in ColdFusion mit CustomTag, CFX-Tags, UDF (User Defined Functions) und CFC (ColdFusion Components) erreicht werden. Über den Tag CFImport können sogar Java Tag Libraries importiert und verwendet werden.

Datenbankabfragen erfolgen über den ColdFusion-Tag CFQuery, der sowohl SQL-Code enthalten kann als auch verwendet wird, um Stored Procedures auszuführen. Im nachfolgenden Beispiel werden Datensätze einer Tabelle users aus einer Datenbank intranet ausgelesen und in die Variable qPersonen gespeichert:

  1. <cfquery name="qPersonen" datasource="intranet">
  2. SELECT userID, vorname, nachname
  3. FROM users
  4. </cfquery>

Die Variable qPersonen erhält spezielle Attribute wie recordCount (Anzahl der Ergebnisse), currentRow (Aktueller Datensatz) und columnListe (Feldliste). Mit den ColdFusion-Tags CFOutput oder CFLoop können die Datensätze in diesem Query-Objekt ausgegeben werden:

  1. <cfoutput query="qPersonen">
  2. #vorname# #nachname# (#currentRow# von #recordcount#)<br />
  3. </cfoutput>

Es ist auch möglich auf Query-Objekte im Hauptspeicher weitere Abfragen auszuführen – im ColdFusion-Jargon wären dies "Query of Queries". Zum Beispiel liefert diese Abfrage alle Personen mit dem Nachnamen Maier:

  1. <cfquery name="qAlleMaiers" dbtype="query">
  2. SELECT firstName, lastname
  3. FROM qPersonen
  4. WHERE nachname = 'Maier'
  5. </cfquery>

 

Kommentare
Gravatar Sven 10.03.2009
um 13:29 Uhr
Sehr schöner Artikel, Danke! #zitieren
Gravatar slashwalker 11.03.2009
um 19:57 Uhr
"Im Gegensatz zu Java oder C++ wird ColdFusion selten oder gar nicht in Schulen oder Universitäten als Programmiersprache unterrichtet. Grund hierfür war sicherlich auch, dass Adobe, anders als Microsoft, bis vor kurzem keine kostenlosen Server-und Entwicklungswerkzeuglizenzen anbot. Dies hat sich im September 2008 geändert, auf der Seite freeriatools.adobe.com können Studenten, Schüler und Bildungsorganisationen eine kostenlose ColdFusion-Version herunterladen."
Das stimmt so nicht, die Developer Edition war schon immer kostenlos verfügbar. Aber finde ich gut, das sich jemand für CF einsetzt. Teste gerade die Centaur Alpha (ColdFusion 9).

Ein weiteres wichtiges Feauture ist die nahtlose Integration von JAVA Klassen. Man kann jede JAVA Klasse instanzieren und damit arbeiten, ohne das man JAVA lernen muss. Einfach genial.
#zitieren
Gravatar Reinhard Jung 19.03.2009
um 19:59 Uhr
Es wird leider aber auch langsam Zeit, das Adobe da etwas tut. Es nutzt nämlich nichts, das beste Produkt auf dem Markt zu sein, wenn es keiner weiss! Da sollte sich Adobe mal was von Microsoft abschauen. Ich drücke auf jeden Fall die Daumen und bleibe bei ColdFusion. So oder so! #zitieren
Gravatar Harry Klein 20.03.2009
um 18:31 Uhr
Mittlerweile gibt es auch einen ColdFusion Studienplan von Adobe (http://www.adobe.com/education/instruction/teach/cfcurriculum.html), auf jeden Fall ein Schritt in die richtige Richtung #zitieren
Gravatar Gerd 29.05.2009
um 05:40 Uhr
Hallo, können Sie die Quelle für die TCO nennen, danke #zitieren
Gravatar Harry Klein 10.09.2009
um 17:10 Uhr
TCO Quelle: http://www.webbschofield.com/enclosures/Adobe%20ColdFusion%20Evangelism%20Kit.pdf - Seite 13 #zitieren
Gravatar Christian Henkel 10.09.2009
um 23:53 Uhr
Sehr guter Artikel! Ich glaube eine stärkere Verbreitung von CF geht nur über Schulen/Universitäten. Da die Developer-Version ja kostenlos ist, fehlt es wohl nur an entsprechenden Multiplikatoren im Bildungswesen...:-) #zitieren
Neuer Kommentar
  • Gute Kommentare werden belohnt.
  •   (optional)
  •   (Kommentar abonnieren/Gravatar - wird nicht veröffentlicht)
  •    Benachrichtige mich bei nachfolgenden Kommentaren per E-Mail
  • -+
Tags
Werbung
coldfusion