Warum ColdFusion benutzen?

Regelmässig und seit Jahren werde ich gebeten, zu erklären weshalb ich und mein Arbeitgeber backslash auf ColdFusion für die Entwicklung von Webapplikationen setze. Die Technologie sei veraltet, nicht verbreitet, proprietär und teuer im Vergleich zu anderen Web-Technologien, heisst es oftmals. Mitnichten, behaupte ich! Und Gelegenheit, ein wenig Überzeugungsarbeit zu leisten.

Eins gleich vorneweg: Jede Webtechnologie hat ihre Vorzüge und deshalb ihre Daseinsberechtigung. Es liegt mir fern, andere Technologien zu verteufeln. Folglich möchte ich jegliche abschätzigen Bemerkungen gegenüber anderen Produkten oder Lösungen vermeiden. Wo Vergleiche mit anderen Produkten angestellt werden, sollen sie kritisch betrachtet werden – selbstverständlich findet sich für jede Statistik eine zweite, die das Gegenteil beweist. Da ich keine Hersteller-Firma vertrete, bin ich mit meinen Theorien auch niemandem Rechenschaft schuldig. Denn ich muss keine Technologie an die Kundschaft bringen, sondern mit Lösungen zu fairen Preisen überzeugen. Folglich kann ich auf den üblichen Marketing-Blabla grundsätzlich verzichten und das wichtigste Argument ins Feld führen, weshalb ich gerne mit ColdFusion arbeite.

  1. technisch

    Warum kompliziert…

    … wenn’s auch einfach geht! So simpel ist der Hauptgrund. Die Einfachheit des Produkts sehe ich anhand verschiedener Merkmale. Zum Beispiel ist die Syntax von ColdFusion äusserst schnell zu erlernen. Einsteiger finden schnell Gefallen an der Umgebung und den Möglichkeiten. Und Umsteiger bekunden ebenfalls keine Mühe. So ist es zwar in der Regel nicht ganz einfach, auf dem Stellenmarkt ausgewiesene ColdFusion-Fachleute zu finden. Im Nun lassen sich aber Programmierer mit andere Technologie-Skills für CF begeistern.

    Effizienz pur

    Gerade bei den zur Verfügung stehenden Befehlen, den Tags und Funktionen besticht das Produkt. Und zwar nicht durch die Fülle, sondern durch deren Effizienz und Schlankheit. So zählt die aktuelle Beta-Version von Adobe, ColdFusion 9 gerade einmal 147 Tags und 380 Funktionen. Doch die haben es in sich.

    Integration in die Office-Welt

    Im Backend-Bereich von Webapplikationen sind sehr oft Schnittstellen zur Office-Welt nötig. Sprich es müssen Daten importiert, exportiert, integriert, indexiert und mutiert werden können. Word, Excel, Powepoint und Acrobat zählen da zu den häufigsten Programmen. Und was hat Adobe hier zu bieten? CFSPREADSHEET, CFDOCUMENT, CFPRESENTATION, CFPDF und CFPDFFORM. Für Grafiken bieten sich CFCHART und CFREPORT an. Bildmanipulationen lassen sich mit CFIMAGE spielend erledigen.

    Exchange- und Mail-Integration

    Seit ColdFusion 8 wird die Anbindung an Exchange-Server zum Kinderspiel. E-Mails, Kalender, Kontakte und Tasks können mit den Tags rund um CFEXCHANGE… abgerufen und verwaltet werden. Mails versenden geht schon seit Urzeiten mit einem einzigen Befehl: CFMAIL. Mailkonten konnten bislang mit CFPOP abgerufen und verwaltet werden, neu auch mit CFIMAP. Was will man denn mehr?

    Sicherheit und Userinformationen

    Für die Anbindung an Verzeichnisdienste wie zum Beispiel das Active Directory von Microsoft steht uns CFLDAP zur Verfügung. Ein Authentifizierungssystem wird mit dem Application-Framework und CFLOGIN bereitgestellt. CFSHAREPOINT wird in CF9 den Austausch zu einer weiteren Plattform erheblich erleichtern.

    Ajax-Komponenten und Flash-/Flex-Anbindung

    Ajax-Komponenten erleichtern uns das einfache Erstellen von brauchbaren User Interfaces. Adobe setz hierbei auf die JavaScript-Bibliothek von ExtJS und der Eigenentwicklung Spry. Mit dem OpenSource-WYSIWYG-Editor FCKEditor hat man dank dem CFTEXTAREA-Tag bereits ein halbes Content-Management-System zur Verfügung. Mit CFMAP werden Google Maps eingebunden und CFMEDIAPLAYER erledigt genau das, was der Name besagt. Auch immer wieder benötigt werden Dateiuploads. CFFILEUPLOAD löst die Aufgabe elegant, kommt mit mehreren Dateien zurecht und bietet einen Fortschrittbalken (CFPROGRESSBAR). Die Kommunikation mit Flash- oder Flex-Applikationen ist problemlos möglich, schliesslich stammen die Technologien ebenfalls von Adobe.

    Webservice und XML

    Komfortabel gelöst sind aus meiner Sicht die Bereiche XML und Webservices. Seit 2002, repsektive seit der Einführung von ColdFusion MX benutzen wir intensiv XML-Dateien für alle möglichen Geschichten. Klaglos. Und auch Webservices setzen wir seither ein, ohne das mühselige Schreiben von WSDL-Dateien und dergleichen. Diese Arbeit wird von CF abgenommen.

    unkompliziertes Datenbank-Handling

    Datenbank-Abfragen waren schon immer clever gelöst in ColdFusion. Mit dem CFQUERY-Tag wird die Kommunikation mit Datenbanken hergestellt. Verbindung herstellen, SQL-Statements optimieren, absetzen und cachen sowie Verbindung schliessen in einem Arbeitsschritt. Das spart nicht nur Tipparbeit sondern reduziert Fehlerquellen. Auf Enterprise-Level sprechen wir von sogenannten ORM-Tools. ORM-Software übernimmt die Kommunikation mit Datenbanken, respektive ermöglicht das Erstellen von Applikationen, die mit Datenbanken verschiedener Hersteller funktionieren. Zudem übernimmt die Software die Transformation der Datenbank-Struktur in Objekte, was bei Objektorientierten Lösungen gefordert ist. Für CF9 bindet Adobe den defacto-Standard bei ORM-Lösungen ein: Hibernate. Natürlich stehen CF-Entwicklern aber bereits seit längerem andere kostenlose ORM-Frameworks zur Verfügung wie Reactor oder TransferORM.

    Prozedural und Objektorientiert

    Ich hab’s gerade erwähnt: Objektorientiert Lösung. Ja, ColdFusion ermöglicht Objektorientierte Programmierung. Aber es muss nicht sein. Applikationen, die auf prozeduralem Code basieren, funktionieren genauso gut, wie solche, die Objektorientiert aufgebaut worden sind. Bei der Wahl der Waffen sind die Entwickler also komplett frei. Welche Methoden eingesetzt werden, hängt grundsätzlich mit dem Umfang und den Anforderungen des Projekts zusammen. Kommt hinzu, dass für die Erstellung von Objektorientierten Lösungen ausgezeichnete OpenSource-Frameworks in den Bereichen MVC (ColdBox, ModelGlue, Fusebox, Mach-II), ORM (Reactor, Transfer) und Dependency Injection (ColdSpring, LightWire) zur Verfügungen stehen.

    Erweiterbarkeit mit CustomTags, UDF usw.

    Natürlich lassen sich alle Programmieraufgaben ohne die CF-Grundfunktionen erreichen. Oder fehlende Funktionen ergänzen. Hierbei stehen ColdFusion-Entwickler vor der Qual der Wahl: User-Defined-Functions (UDF), CustomTags, Components oder gleich Jar-Bibliotheken von Java oder .Net-Komponenten. Und spätestens jetzt merkt man, aus welch riesigem Fundus man schöpfen kann.

    Kompetente Community

    Im Vergleich zu anderen Websprachen verfügt ColdFusion sicherlich über eine kleinere Community – was allerdings nichts über deren Qualität besagen will. Denn sieht besteht aus meiner Sicht aus unzähligen, verdienten Koryphäen, wenn es um Webdevelopment geht. Entwickler-Konferenzen finden beinahe überall auf dem Globus statt, was auch zeigt, dass CF weit verbreitet ist. Und die Community ist im Alltag eine grosse Stütze. Dauerblooger wie Ray Camden oder Ben Nadel – um nur zwei aktive Vertreter der Szene zu nennen – verbreiten ihr Wissen mit schier unermüdlicher Motivation. Und dies in aller Regel kostenlos, also ohne sich einen Vorteil daraus zu erarbeiten. Und das führt mich zu einer zweiten Perspektive.

  2. finanziell

    Was bedeutet teuer?

    ColdFusion wurde lange Zeit gemieden, respektive es wurde als Nachteil ausgelegt, weil für den produktiven Einsatz Kosten angefallen sind. Entwickler-Lizenzen standen zwar seit jeher kostenlos zur Verfügung, für eine Standard-Lizenz mussten jedoch bisher rund 2000 Franken hingeblättert werden, die leistungsfähigere Enterprise-Version von Adobe kostet rund viermal mehr. Ein stolzer Preis – im Vergleich zu kostenlosen Alternativen, wenn man nur den Einsatz betrachtet und nicht auch die allenfalls verkürzte Entwicklungszeit und deshalb allfällig geringere Kosten. Doch dies ist Spekulation. Fakt ist jedoch, dass auch ColdFusion mittlerweile kostenlos erhältlich ist.

    ColdFusion auch OpenSource

    Und zwar bieten Railo und OpenBD OpenSource-Version an. Kostenlos, ich wiederhole es an dieser Stelle gerne. Mit OpenBD habe bislang keine grossen Erfahrungen gesammelt, die «Schweizer»-CF-Lösung von railo hat mich bis jetzt aber sehr überzeugt. Und wir haben bereits einige Projekte auf Railo-Servern am laufen. Unter anderem dieser Blog und unsere Coding Guidelines. ColdFusion ist folglich nicht mehr teuer und proprietär, sondern kostenlos und OpenSource. Und das Fortbestehen der Programmiersprache ist nicht mehr allein abhängig von den Launen und finanziellen Möglichkeiten von Adobe. Allerdings sehe ich derzeit keine dunklen Wolken für die Zukunft von ColdFusion bei Adobe. Der Softwarekonzern hat mit dem ColdFusion Builder endlich wieder eine IDE in den Startlöchern, die den Namen auch verdient. Und der Release von ColdFusion 9 aka Centaur steht auch kurz bevor.

    OpenSource für ColdFusion

    Für ColdFusion gibt es mittlerweile eine Vielzahl an OpenSource-Projekten. Für jeden erdenklichen Zweck findet man mittlerweile eine kostenlose Lösung. Natürlich ein Verdienst der grossartigen Community und deren selbstlosen Vertretern. Einstiegspunkt für OpenSource-Projekt ist beispielsweise riaforge.org.

  3. Marketing

    Bei Facts fürs Marketing muss ich mich auf externe Quellen verlassen. Deshalb ein paar Daten aus Kristen Schofields Präsentationen (Senior Product Marketing Managerin bei Adobe):

    • Mehr als die Hälfte der 500 Unternehmen auf der Fortunes-Liste setzt ColdFusion ein.
    • 75% der Top 100 Unternehmen der Fortunes-Liste verwendet CF
    • Beim Total Cost of Ownership distanziert CF Alternativen wie PHP, ASP oder JSP deutlich. Eingerechnet werden Lizenzen, Ausbildung, Entwicklung, Unterhalt und Support:

      1. CF: $27’000
      2. PHP: $41’000
      3. ASP.Net: $45’000
      4. Java/JSP: $60’000

    Adobe verweist gerne auf eine Studie von Gartner unter dem Titel «Adobe ColdFusion: Past, Present and Future». Gerne zitiert:

    A wide range of IT organizations has leveraged ColdFusion at one time or another over the last decade. While some have migrated from the toolset in recent years, many are rediscovering this technology and its potential role in a modern Web IT strategy.

    Wo wird CF eingesetzt? Eigentlich überall. Eine der grössten Community-Plattformen – myspace.com – wurde mit ColdFusion erstellt und funktioniert prächtig. Gemäss persoenlich.com steht myspace.com an erster Stelle, was das Anzeigengeschäft betrifft. In der Schweiz sicher ein bekanntes Beispiel ist MySwitzerland.com – die Schweizer Tourismus-Plattform.

Fazit

Langer Rede kurzer Sinn: ColdFusion ist Server und Sprache meiner Wahl, weil ich alles damit erstellen kann zu einem guten Preis für Kunden. Und das Arbeiten in dieser Umgebung macht einfach Spass. Am Schluss ist nicht die Zubereitungsart entscheidend sondern das Resultat. Oder fragt jemand im Restaurant, ob das Gericht auf einem Induktionsherd, Cerankochfeldern, auf Gas oder gar über dem offenen Feuer zubereitet wird? Schmecken muss es, und zügig auf den Tisch kommen sollte es, und dabei nicht überteuert sein.

Verwandte Blog-Einträge

Kommentare

Reinhard Jung's Gravatar
Wieder mal ein sehr schöner Artikel!
Ideal zum weiterleiten, um sich eben solche Diskussionen zu ersparen, wie von der Basler in Zürich beschrieben.
# Erfasst von Reinhard Jung | 28.08.09 23:37
Michael Peters's Gravatar
super-Artikel, werde ich von meiner Seite hinverlinken
# Erfasst von Michael Peters | 03.09.09 15:10
# Erfasst von CFNeutral | 03.09.09 18:24
Alirio Boquin's Gravatar
Nice ColdFusion Article!

I been working with since version 5, I started testing the CF 9 last year in adobe especial release program. I hope one day the world know better his amazing highlights.

Thanks
# Erfasst von Alirio Boquin | 03.09.09 20:00
Alexander Friess's Gravatar
Sehr guter Artikel und vor allem ein hervorragendes Fazit. Wo ColdFusion noch überall eingesetzt wird? Eine Zusammenfassung mit über 1.100 Einträgen findet sich unter http://www.coldfusionsites.com (eigene Einträge lassen sich einfach hinzufügen).
# Erfasst von Alexander Friess | 03.09.09 20:58
Mischa's Gravatar
@Alexander : Danke für die Blumen und den Hinweis auf die Seite. Die kannte ich noch gar nicht. ich habe den Hinweis gleich als Anlass dafür genutzt, ein Follow-Up zu verfassen, das ich eigentlich schon lange geplant habe. Vielleicht kannst Du mich ja von Eintragungen überzeugen :-) Den Beitrag dazu findet man unter http://www.samelis.ch/blog/mischa/index.cfm/2009/9/4/Who-is-using-ColdFusion-and-why-should-i-promote-it
# Erfasst von Mischa | 04.09.09 08:22
Mariakicy's Gravatar
Hallоǃ
Mir ist аufgefallen, dаѕѕ vielе Μänner normаle Mädchen bevorzugen.
Ιсh арplаudiеrе den Männеrn da drаußen, diе dеn Mut hatten, dіe Lіеbе viеlеr Frаuen zu gеnießen und sich für dіeϳenigе zu entѕсheiden, von dеr er wusѕtе, dаss ѕіе іn dеr holprigеn und vеrrüсktеn Zeit dеѕ Lеbenѕ seіne bеѕte Frеundіn sein würde.
Ich wоlltе dіеѕe Frеundin ѕeіn und nісht nur einе stаbіlе, zuverläѕsіge und langweіlige Ηаuѕfrau.
Ιch bin 28 Jahre аlt, Μаrіа, kоmme auѕ der Τsсhechischen Reрublik und ѕрreсhе auсh Еngliѕch.
Μeіn Prоfіl fіndеt іhr jеdеnfаllѕ hіеr: http://madehussuimi.tk/idi-95185/
# Erfasst von Mariakicy | 13.07.23 06:19
Sofiagog's Gravatar
Ηallo!
Ιch begrüßе Frauеn, dіе dеn Mut haben, dіе Lіebе viеler Frаuеn zu gеnießеn und ѕіch für dіеϳеnіgе zu entѕcheіdеn, die іhre bеѕte Freundin während der holрrigеn und vеrrüсkten Ѕаchе nаmens Lеben sein wird.
Ιсh wоlltе dіеsе Frеundin sein, niсht nur diе stabіlе, zuverläѕsіge, lаngwеіligе Наusfrаu eіneѕ gewöhnlіchеn Еhepааrеѕ.
Ich bin 26 Jаhrе alt, Sоfіа, аus Dänemаrk.
Meіn Рrofil iѕt hiеr: https://1pt.co/9ikxh
# Erfasst von Sofiagog | 03.03.24 05:26
Leave this field empty
Ihren Kommentar hinzufügen

Falls Sie abonnieren, werden alle neuen Kommentare zu diesem Thema an Ihre E-Mail-Adresse gesandt.

TrackBacks

Es gibt keine Trackbacks für diesen Eintrag.

Trackback URL dieses Eintrages:
http://www.samelis.ch/blog/mischa/trackback.cfm?id=ADC38367-DEE2-42B1-8A11940C307AA981