Apa itu ColdFusion ?

ColdFusion adalah bahasa pemrograman berbasis web, sama halnya dengan PHP, ASP, CGI, dan lain sebagainya. Pertama kali dikembangkan oleh Allaire Corp yang dipimpin oleh Jeremy Allaire sampai dengan versi 5 sebelum dibeli oleh Macromedia. Versi yang dijual oleh Macromedia adalah Macromedia Coldfusion MX 7. Setelah itu akhirnya dibeli oleh Adobe, menjadi Adobe ColdFusion 8.

ColdFusion adalah bahasa pemrograman yang berdasar pada standar dasar HTML (Hyper Text Meta Language) yang digunakan untuk menulis webpage dinamis. ColdFusion akan membuat halaman yang isinya tergantung dari user input, database, waktu atau apapun kriteria yang diimpikan! Halaman ColdFusion pages akan terdiri dari standard HTML tags seperti bersama dengan CFML (ColdFusion Meta Language) tags seperti <CFQUERY>, <CFIF>, dan lain sebagainya.

FItur-fitur utama yang membedakan ColdFusion adalah bahasa-bahasa pemrograman script nya, ColdFusion Markup Language (CFML). Semua command pada ColdFusion diawali dengan <CF ...> dengan Output tetap dalam bentuk HTML.


Dalam kode diatas kita menyimpan nilai “Hello World !” pada variable x, kemudian mengeluarkannya dengan cfoutput. Semua variable dapat dikeluarkan dengan menuliskan tag <cfoutput>. Setiap variable ditulis didalam tanda kres (#).

Catatan : Didalam Coldfusion tidak ada deklarasi variable seperti halnya pada bahasa pascal, C++, php. Semua variable dapat dikenali tipe datanya oleh coldfusion dengan cara memberi nilai pada variable tersebut, contoh :

<cfset a = 123>  : maka variable a bertype numeric <cfset a = “b”>  : maka variable a bertype string <cfset a = true> : maka variable a bertype Boolean


Bagaimana ColdFusion Bekerja !

Untuk menyimpulkannya, sebuah aplikasi ColdFusion adalah kumpulan-kumpulan halaman yang sangat sederhana yang mirip dengan sebuah static Web site. Tetapi tidak seperti website static, Halaman dalam aplikasi ColdFusion mengandung server-side ColdFusion Markup Language (CFML) sebagai tambahan ke HTML. CFML akan memberikan keleluasaan untuk mengendalikan kebutuhan dari aplikasi kita, mengintegrasikan dengan teknologi server dan secara dinamis meng-generate content yang dikembalikan ke browser.

Saat sebuah browser meminta sebuah halaman dalam aplikasi ColdFusion, secara otomatis akan di proses terlebih dahulu oleh ColdFusion Application Server. Berdasarkan pada CFML dalam halaman tersebut, Application Server mengeksekusi logika aplikasi, berinteraksi dengan teknologi server lainnya dan secara dinamis men-generate sebuah halaman HTML, yang dikembalikan ke browser.

Diagram berikut menampilkan bagaimana sebuah browser meminta halaman di aplikasi ColdFusion.
1.Saat user meminta halaman dalam aplikasi ColdFusion dengan submit sebuah form atau klik hyperlink, browser si suer mengirimkan sebuah request HTTP ke Web server melalui Internet atau Intranet.
2.Web server menyampaikan data yang dimasukkan oleh client dan meminta halaman ke server aplikasi ColdFusion melalui server API atau CGI. Halaman ColdFusion secara otomatis di Compile dan disimpan dalam memory sehingga pemrosesan menjadi sangat cepat dan dapat dikembangkan walaupun dalam beban tinggi.
3.ColdFusion membaca data dari client dan memroses CFML yang digunakan dalam halaman tersebut. Berdasarkan CFML, server aplikasi ColdFusion menjalankan logika aplikasi dan berinteraksi dengan seluruh teknologi server, termasuk database, email dan files.
4.ColdFusion secara dinamis men-generate sebuah halaman HTML dan mengembalikan ke web server.
5.Web server kemudian menyampaikan halaman tersebut ke browser si User.

Apalagi yang dapat dilakukan oleh ColdFusion?
Kita tidak hanya bisa mengolah variabel dan kondisi CFIF. Beberapa yang dapat dilakukan adalah:
•Mengambil data dari ODBC database termasuk Access dan SQL server
•Menjalankan seluruh SQL query termasuk INSERT, UPDATE and DELETE queries
•Mengirim email dengan CFMAIL
•Looping dalam query database, list atau For-Next.
•Menangani Error dan mengalihkan ke halaman yang berbeda.
•Secara otomatis membaca halaman dari website lain dengan CFHTTP


Apa yang dibuat oleh web developer dengan ColdFusion? Web developer menggunakan ColdFusion untuk membangun aplikasi-aplikasi Internet, Intranet, and Extranet termasuk:

Electronic Commerce •Online stores and catalogs •Supply chain management •Business to business electronic commerce •One to one marketing and Web site personalization

Collaborative Computing •Online discussion groups •Project management •Groupware systems •Workflow applications •Web based support

Interactive Publishing •Online information services •Agent technology •Dynamic Web publications •Internal corporate newsletters •Interactive training

Business Systems •HRD applications •Sales/order entry •Business process automation •Company directory •Financial information applications •Customer asset management

HISTORYCAL COLDFUSION Releases :
1995, July 10 Allaire ColdFusion version 1
1996 Allaire ColdFusion version 2
1997, Jun Allaire ColdFusion version 3
1998, Nov Allaire ColdFusion version 4
2001, Jun Allaire ColdFusion version 5
2003, Oct Macromedia ColdFusion MX version 6
2005 Macromedia ColdFusion MX 7
2007, July 30 Adobe ColdFusion 8

Versi-versi awal : Versi awal dari ColdFusion diluncurkan pada tanggal 10 Juli 1995. Pertama kali dikembangkan oleh Allaire Corp. Versi awal ini mempunyai sedikit hubungan dengan database akses. Semua versi ColdFusion sebelum versi ke-6 ditulis menggunakan Microsoft Visual C++, ini berarti bahwa ColdFusion hanya terbatas berfungsi pada Microsoft Windows.

Pada versi 1 sampai dengan 4 tidak berkembang luas jangkauan seluruh dunia. Ini hanya lebih berkembang pada local software yang dikembangkan. Saat ini sudah menjadi langka untuk mendapatkan ke-empat versi tersebut.


ColdFusion 5 Pada tanggal 6 Februari versi ColdFusion 5 tersedia di seluruh dunia, hampir 5.000 copier di download. Versi ini adalah ColdFusion terbaik yang pernah diterbitkan. Kualitas yang unggul dan produktifitas yang maksimal adalah tujuan terpenting dari ColdFusion 5.

What’s In ColdFusion 5 ? 1.Queries of Queries
Maksud dari Query of Query adalah membuat Query dari Query yang telah ada. Konsepnya adalah : menghasilkan suatu query yang menarik record dari datasource dan kemudian menciptakan query lain terhadap query yang tadi, bukan datasource.
2.Incremental Page Delivery
ColdFusion membangun sehalaman penuh pada server sebelumnya, dan kemudian mengembalikan kepada web browser untuk mengurangi kesan terlalu “berat” waktu mengakses page tersebut. Text CFFLUSH mengatasi persepsi ini dengan mengizinkan ciri-cirinya dikirimkan kepada browser satu per satu.
3.Application Deployment Services and Server Log Analysis
ColdFusion 5 menyediakan Fitur-fitur yang memungkinkan backup dan penyimpanan file-file dan aplikasi-aplikasi konfigurasi website secara mudah. Sebuah tag baru CFLOG telah ditambahkan kedalam bahasa CFML untuk mempermudah proses debug applikasi yang sedang dibuat.


ColdFusion MX 6 1.Menjelang tahun 2000 Allaire memulai sebuah projek yang dinamakan NEO yang menulis kembali ColdFusion menggunakan Java. Pada tahun 16 Januari 2001 Allaire mengumumkan bahwa akan bersatu dengan Macromedia. Seketika setelah penggabungan pada bulan Juli 2002 Macromedia meluncurkan Macromedia ColdFusion MX 6. Bermula dari peluncuran ColdFusion MX 6. ColdFusion diterjemahkan dalam kode-kode byte seperti JSP/ASP.Net.
2.Desain berinteraksi dengan Macromedia Flash dengan menggunakan Flash Remoting.
3.Bahasa CFML dikembangkan mendukung Object Oriented Programming (OOP).
4.CFMAIL dan CFPOP
ColdFusion 6 dibangun dengan mendukung bagian-bagian email dengan CFPOP dan CFMAIL dalam memanajemen yang lebih efisien. ColdFusion MX Enterprise telah bergerak dari pengiriman email yang mampu menampung 1 tugas menjadi mampu menampung banyak tugas sekaligus.

Tag <CFMAIL> bertugas mengirimkan email ke satu atau banyak tujuan dari sebuah halaman web. Menggunakan standar SMTP (Simple Mail Transport Protocol) server seperti MS Exchange atau SLmail. <CFMAIL> mempunyai parameter dikirimkan kepada siapa memakai TO, pengirim memakai FROM, sebuah CC dan SUBJECT. Isi email itu sendiri diantara dalam <CFMAIL> dan </CFMAIL> tags.

Tag <CFPOP>, Mengambil email dari server POP dan menggabungkannya dengan aplikasi ColdFusion. Memungkin interface aplikasi e-mail berbasis web, otomatisasi pengambilan dan penyebarluasan email dan aplikasi email yang pintar, seperti auto responder dan 'listserv'. Mendukung semua server POP, meninggalkan email tetap dalam server, mengambil email-email tertentu, menghapus dan attachment. CFMAIL memudahkan kita untuk mengirimkan email ke satu atau banyak tujuan dan dapat digabungkan dengan program query mail merge.

5.CFHTTP
CFHTTP sekarang memberikan banyak kewenangan terhadap programmer. Programmer sekarang mempunyai control secara penuh terhadap badan HTTP, isi HTTP dan Judulnya.

Interface ke Web server menggunakan HTTP. Membuat query distribusi dan membuat bentuk tertentu dengan aplikasi. Mendukung HTTP GET and POST, termasuk file attachment, dan membuat 'recordsets' dari hasilnya. Juga mendukung standard Web server authentication.


6.CFLOOP
Looping in ColdFusion
Looping adalah teknik yang paling sering digunakan dalam teknik pemrograman untuk mengulang sekumpulan instruksi atau menampilkan output berulang-ulang sampai kondisi yang diinginkan tercapai. ColdFusion mengimplementasi looping dengan perintah <CFLOOP> tag. Lima jenis looping yang disediakan: •Index Loops •Conditional Loops •Looping over a Query •Looping over a List •Looping over a COM Collection or Structure

7.OTHER IMPROVEMENTS
Macromedia telah mengupdate platform mereka dan juga pendukung-pendukung webserver mereka. ColdFusion MX 6 sekarang mendukung Windows 2003 / IIS 6, Red Hat 7.3, 8, 9*, SUSE 8*, Solaris 9, AIX 4.3.3 dan 5.1.


ColdFusion MX 7 1.ColdFusion MX 7 menambahkan Flash-based, XForm-based, Web Forms dan report builder yang dikeluarkan dalam bentuk Adobe PDF, Flash Paper, RTF, dan Excel. Fromat yang dihasilkan dari page HTML kedalam Adobe PDF dapat di cetak.
2.ColdFusion MX 7 juga menambahkan Gateways, yang memungkinkan interaksi dengan request services non-HTTP seperti IM-Services, Mobile Devices (SMS), Directory Watchers, dan Asynchronous execution.
3.ColdFusion MX 7 dilengkapi dengan mensupport XML.


Adobe ColdFusion 8 Pada tanggal 30 Juli 2007 Adobe System meluncurkan Adobe ColdFusion 8. Selama testing kode nama yang digunakan adalah “Scorpio”.

Sejumlah fitur-fitur baru adalah :
1.Tag CFPDFFORM, yang memungkinkan dengan interaksi Adobe Acrobat Form
Mengenerate dan berinteraksi dengan PDF Documents dan Forms kedalam printable.
2.Tag CFPRESENTATION, presentasi yang memungkinkan presentasi dinamik dengan menggunakan Macromedia Breeze (sekarang ini dikenal dengan Adobe Acrobat Connect)
3.Adobe ColdFusion 8 mendukung AJAX
Mempermudah penyediaan data dalam bentuk aplikasi AJAX dan kerangkanya, sehingga membuat penyederhanaan pengaksesan database yang besar dengan komponen user interface seperti Rich Text Editor, Data Grids, Tree Controls, Tab Navigators, dan lain sebagainya.
4.Tag CFIMAGE, image manipulation
5.Tag CFZIP, File archive manipulation
6.Tag CFEXCHANGE, Microsoft Exchange Server integration
7.Server Monitor
Monitor terhadap ada yang terjadi pada server untuk membantu mengidentifikasi Bottlenecks dan membuat performance server menjadi lebih baik.
8..Net Integration
Menspesifikasi semua object .Net baik local maupun remote seperti pada aplikasi Java™ atau object resource lainnya.
9.Interactive debugger
Menyediakan debugger untuk men set breakpoints, melihat variables, step code, dan men debug semua application code.

ColdFusion 8 tersedia pada operating-operating System seperti Linux, Mac, OS X, dan windows Server 2003.