{{위키데이터 속성 추적}}
{{다른 뜻 넘어옴|콜드퓨전|프로그래밍 언어|CFML}}
{{소프트웨어 정보
| 이름                   = 어도비 콜드퓨전<br />Adobe ColdFusion
| 로고                   = Adobe ColdFusion logo 2021.svg
| 개발자              = [[어도비 시스템즈]]
| 설계자                 = 제레미 앨라이어(Jeremy and JJ Allaire)
| 발표 연도               = 1995
| ver layout = stacked
| 최근 버전 = {{Multiple releases
|branch1=2023
|version1={{wikidata|property|preferred|references|edit|Q468446|P348|P548=Q2804309}}
|date1={{시작 날짜와 나이|{{wikidata|qualifier|preferred|single|Q468446|P348|P548=Q2804309|P577}}}}
|branch2=2021
|version2={{wikidata|property|preferred|references|edit|Q468446|P348|P548=Q6736813}}
|date2={{시작 날짜와 나이|{{wikidata|qualifier|preferred|single|Q468446|P348|P548=Q6736813|P577}}}}
}}
| 운영체제       = [[마이크로소프트 윈도우]], [[리눅스]], [[유닉스]], [[매킨토시]]
| 언어               = 영어
| 종류                  = [[웹 애플리케이션 서버]]
| 웹사이트                = [http://www.adobe.com/products/coldfusion ColdFusion Homepage], [http://getrailo.com Railo], [http://www.newatlanta.com/products/bluedragon/index.cfm BlueDragon]
}}

'''어도비 콜드퓨전'''(Adobe ColdFusion)은 1995년 제레미 앨라이어와 조셉 앨라이어가 만든 상업적인 [[고속 응용 프로그램 개발|RAD]] 플랫폼이다. 최초 개발 의도는 간단하게 데이터베이스와 HTML 페이지를 연동하기 위해 설계되었는데 2.0버전부터는 [[통합 개발 환경|IDE(통합개발환경)]]와 [[스크립트 언어]]를 포함한 개발 플랫폼으로 거듭나게 되었다. [[어도비 시스템즈]]에서 제공하고 있는 현재 버전의 콜드퓨전은 기업업무시스템과 [[리치 인터넷 애플리케이션|RIA]] 개발을 위한 통합된 기능을 제공하고 있다. 콜드퓨전은 주로 [[PHP]]와 [[액티브 서버 페이지|ASP]]와 비교되곤 한다.

== 개요 ==
콜드퓨전은 1995년 얼래어(Allaire)의 제품으로 조셉과 제레미 형제에 의해 발표되었다. 2001년 앨라이어는 [[매크로미디어]]와 합병되었고 다시 2005년 [[어도비 시스템즈]]로 인수되었다.

콜드퓨전 MX 7 엔터프라이즈 에디션부터는 게이트웨이 인터페이스를 통해 [[단문 메시지 서비스|SMS]]나 [[인스턴트 메신저]]와 같은 비동기 이벤트처리가 다룰 수 있는 기능이 추가되었다.

콜드퓨전은 주로 [[웹사이트]]나 [[인트라넷]]에서 데이터처리를 위해 사용되며 [[SOAP]]이나 [[웹 서비스]], [[어도비 플래시|플래시]] 리모팅과 같은 원격 서비스를 생성하기 위해 사용되기도 한다. 특히 클라이언트에서 사용하는 [[어도비 플렉스|플렉스]]기술과 잘 어울리는 서버 쪽 기술이다.

== 주요 기능 ==
다음과 같은 기능을 제공한다.
* 쉽고 간단한 데이터베이스 접근
* 클라이언트와 서버 캐시 관리
* [[GUI 위젯]]폼과 검증기능을 통해 클라이언트에서 사용할 코드를 생성
* [[HTML]]을 [[PDF]]나 FlashPaper로 쉽게 변환
* [[액티브 디렉터리]]나 [[LDAP]], [[SMTP]], [[POP3|POP]], [[HTTP]], [[파일 전송 프로토콜|FTP]], [[마이크로소프트 익스체인지 서버]]와 같은 기업용 시스템 데이터나 [[RSS]]나 [[애텀|Atom]]과 같은 일반적인 데이터 형식을 다룬다.
* 베리티(Verity)의 검색엔진 K2를 기반으로 파일 [[인덱스 (데이터베이스)|인덱스]]처리나 검색 서비스 제공
* [[그래픽 사용자 인터페이스|GUI]] 관리자 화면
* Server, application, client, session, request에 대한 변수의 유효범위를 가진다.
* [[XML]] 해석, [[XPath|질의(XPath,XML Path Language)]], 데이터 검증, [[XSLT|변환(XSLT,Extensible Stylesheet Language Transformations)]]
* 서버 [[클러스터링]]
* 태스크 스케줄링
* 그래픽과 리포팅 처리
* [[래스터 그래픽스]]나 [[CAPTCHA|자동가입방지(CAPTCHA)]], [[ZIP (파일 포맷)|압축파일]]과 같은 파일을 손쉽게 처리
* cfmediaplayer 태그로 비디오 조작 기능 추가(Railo와 Open BD에서는 cfvideoplayer)
* 간단한 [[웹 서비스]] 구현(서비스를 생성하고 처리하기 위해 [[WSDL]] 생성과 [[SOAP]] 변환이 자동으로 지원된다.)
*: <syntaxhighlight lang="cfm"><CFINVOKE WEBSERVICE="http://host/tempconf.cfc?wsdl" METHOD="Celsius2Fahrenheit" TEMP="#tempc#" RETURNVARIABLE="tempf"></syntaxhighlight><ref>{{웹 인용 |url=http://www.adobe.com/devnet/coldfusion/articles/cf_aspnet08.html |제목=Macromedia - Developer Center: Life After ASP, Page 8 |확인날짜=2009-11-03 |보존url=https://web.archive.org/web/20090124010433/http://www.adobe.com/devnet/coldfusion/articles/cf_aspnet08.html |보존날짜=2009-01-24 |url-status=dead }}</ref>

== CFML ==
콜드퓨전의 특징적인 기능 중 하나가 스크립트 언어인 CFML(ColdFusion Markup Language)이다. CFML은 [[액티브 서버 페이지|ASP]]나 [[자바 서버 페이지|JSP]], [[PHP]]와 기능적으로 비교되곤 하는데, 문법적인 측면에서는 [[HTML]]에 가까운 언어이다. "콜드퓨전"은 "CFML"을 같은 의미로 인식되곤 하지만 콜드퓨전 외에도 [[#대체할 수 있는 서버 환경|추가적인 CFML 애플리케이션 서버]]가 제공되고 있다.
CFML의 다른 기능은 [[닷넷 프레임워크]] 환경이나 이미지 처리에서 유사하거나 좀 더 강력하게 동작한다.


HTML의 각 요소에 대응되는 콜드퓨전 태그는 "CF"를 접두어를 추가하고 HTML에서 해석될 내용을 표기한다.

=== [[Hello world 프로그램]] ===
&lt;cfoutput&gt; 는 변수나 다른 컨텐츠를 외부로 출력하는 시작 태그이다.
<syntaxhighlight lang="cfm">
<cfset example = "Hello World!">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
 <html>
   <head>
    <title>Hello World Example</title>
   </head>
   <body>
    <cfoutput>#example#</cfoutput>
   </body>
 </html>
</syntaxhighlight>
== CFScript ==
콜드퓨전은 CFML뿐 아니라 [[액션스크립트]]나 [[자바스크립트]]처럼 사용할 수 있는 내장된 스크립트 언어인 CFScript도 사용할 수 있다.


핵심 엔진을 비롯한 기본 기능과 내장된 [[스크립트 언어]](CFScript)는 C를 기반으로 작성되었고 플러그인 모듈은 자바로, 문법은 HTML과 유사하게 만들어졌다.
== 개발 이력 ==
* '''1995''' : 앨라이어 콜드 퓨전 버전 1.0
* '''1996''' : 앨라이어 콜드 퓨전 버전 1.5
* '''1996''' : 앨라이어 콜드 퓨전 버전 2.0
* '''1997-6월''' : 앨라이어 콜드 퓨전 버전 3.0
* '''1998-1월''' : 앨라이어 콜드 퓨전 버전 3.1
* '''1998-11월''' : 앨라이어 콜드퓨전 버전 4.0 (콜드와 퓨전사이에 공백이 삭제되어 콜드퓨전으로 명명되었다)
* '''1999-11월''' : 앨라이어 콜드퓨전 버전 4.5
* '''2001-6월''' : 매크로미디어 콜드퓨전 버전 5.0
* '''2002-5월''' : 매크로미디어 콜드퓨전 MX 버전 6.0 (build 6,0,0,48097), Updater 1 (build 6,0,0,52311), Updater 2 (build 6,0,0,55693), Updater 3 (build 6,0,0,58500)
* '''2003-7월''' : 매크로미디어 콜드퓨전 MX 버전 6.1 (build 6,1,0,63958), Updater 1 (build 6,1,0,83762)
* '''2005''' : 매크로미디어 콜드퓨전 MX 7 (build 7,0,0,91690), 7.0.1 (build 7,0,1,116466), 7.0.2 (build 7,0,2,142559)
* '''2007-7월 30일''' : 어도비 콜드퓨전 8 (build 8,0,0,176276)
* '''2009-5월 4일''' : 어도비 콜드퓨전 8.0.1 (build 8,0,1,195765)
* '''2009-10월 5일''' : 어도비 콜드퓨전 9 (build 9,0,0,251028)
* '''2010-7월-13일''': 어도비 콜드퓨전 9.0.1 (빌드 9,0,1,274733)
* '''2012-5월-15일''': 어도비 콜드퓨전 10 (빌드 10,0,0,282462)

== 버전 ==
=== 콜드 퓨전 3.1 ===
버전 3.1에서는 [[솔라리스 (운영 체제)|솔라리스]] 운영체제도 지원되기 시작했다. 콜드 퓨전 스튜디오는 화면미리보기 기능과 HTML문법검사기능이 추가되었다.

=== 콜드퓨전 4 ===
"콜드 퓨전"의 명칭이 간단하게 "콜드퓨전"으로 변경되었다. 아마도 저온 핵융합 방식을 나타내는 Cold fusion과 구분하기 위함이기도 했다.
이때부터 콜드퓨전은 인트라넷 개발 등 해외에서 많이 사용되었다.

=== 콜드퓨전 4.5 ===
버전 4.5부터는 자바 객체를 직접 호출하는 기능이 추가되어 시스템 명령을 실행하고 J2EE 서버와 직접 통신할 수 있게 되었다.

=== 콜드퓨전 5 ===
앨라이어를 [[매크로미디어]]에서 인수한 이후 첫 번째 출시한 제품이다. The last to be legacy coded for a specific platform.

=== 콜드퓨전 MX (버전 6) ===
2000년 이전부터 앨라이어는 코드네임 "Neo"를 시작했다. 이 프로젝트는 콜드퓨전 서버를 [[자바 (프로그래밍 언어)|자바]] 기반으로 다시 작성하는 것이었다. 자바 런타임 환경에서 동작하기 때문에 이식성과 서버상 보안을 강화할 수 있었다. 지금은 어도비 라이브사이클 개발팀에 있고 당시 소프트웨어 개발책임자였던 Damon Cooper(http://www.dcooper.org)가{{깨진 링크|url=http://www.dcooper.xn--org)-eh3p/ }} 프로젝트 초기 책임을 맡았다.

2001년 1월 16일 앨라이어는 매크로미디어의 합병소식을 전했다. 매크로미디어에서 개발팀을 이어받아 콜드퓨전 5.0을 발표했다. 버전 5까지는 "콜드퓨전"의 이름을 유지했다. 2002년 매크로미디어는 자사 브랜드를 강조하며 조금 달라진 이름의 제품으로 콜드퓨전 MX(6.0)을 발표했다. 콜드퓨전 MX는 완전하게 [[자바 플랫폼, 엔터프라이즈 에디션|J2EE]] 플랫폼을 기반으로 다시 만들어졌다. 콜드퓨전 MX는 또한 플래시 리모팅을 바탕으로 [[매크로미디어 플래시]]와 통합된 개념으로 설계되었다.

콜드퓨전 MX의 출시와 함께 CFML도 [[객체 지향 프로그래밍]] 기반으로 변모하게 되었다.

=== 콜드퓨전 MX 7 ===
2005년 2월 7일 콜드퓨전 7.0이 출시되면서 제품명을 "매크로미디어 콜드퓨전 MX 7"으로 바꾸었다. CFMX 7에는 플래시 기반과 XForm 기반, 웹폼과 리포트 빌더가 추가되어 [[PDF]]뿐 아니라 FlashPaper, RTF, [[마이크로소프트 엑셀|Excel]]로 변환을 지원하였다. 어도비 PDF 출력기능을 바탕으로 어떤 HTML 페이지라도 프린트에 적합하게 변환하는 기능을 제공하게 되었다. 엔터프라이즈 에디션에는 [[게이트웨이]]가 추가되어 IM, SMS, 파일변경검사(Directory Watcher), 비동기 실행 등 HTTP 요청 외의 서비스에 대해 인터랙션이 가능하게 되었다. XML에 대한 지원을 바탕으로 네이티브 스키마 검사 기능을 포함할 수 있게 되었다.

코드명 "Mystic"이었던 콜드퓨전 MX 7.0.2에서는 어도비 플렉스 2와 협업할 수 있는 기능이 추가되었다.

=== 어도비 콜드퓨전 8 ===
2007년 7월 30일 [[어도비 시스템즈]]에서는 기존 제품명에서 "MX"를 뺀 '''콜드퓨전 8'''을 공개했다. 코드명 "Scorpio"(황도십이궁에서 8번째 별자리로 콜드퓨전 제품의 여덟 번째 버전이라는 의미)라는 이름으로 베타 테스트를 진행하였으며 [[어도비 시스템즈]]에서 기대했던 5,000명보다 훨씬 많은 전 세계 14,000여명의 개발자가 테스터로 참여하였다. 콜드퓨전 개발팀은 보스톤과 매사추세츠, 인도의 방갈로르 개발자로 구성되었다.

추가된 기능으로 [[어도비 어크로뱃]] 폼과 통합된 기능을 제공하는 CFPDFFORM 태그를 비롯해 이미지를 조작하는 기능과 [[닷넷 프레임워크]]와 통합된 기능, 이전에 매크로미디어 브리즈로 알려졌던 웹 기반 협업 솔루션인 Adobe Acrobat Connect를 이용해 동적인 프레젠테이션을 만들어낼 수 있는 CFPRESENTATION 태그가 추가되었다. 그리고 엔터프라이즈 에디션 버전에서는 서버 모니터링 기능이 내장된 콜드퓨전 관리자가 추가되었다. 콜드퓨전 8은 [[리눅스]], [[OS X]], [[윈도우 서버 2003]]등 다양한 [[운영 체제]]에서 사용할 수 있었다.

콜드퓨전 8에 추가된 다른 기능으로는 [[Ajax]] 위젯, 파일 압축 조작(CFZIP), [[마이크로소프트 익스체인지]] 서버 통합기능(CFEXCHANGE), [[CAPTCHA|자동가입방지(CAPTCHA)]] 생성기능을 포함한 이미지 조작(CFIMAGE), 멀티 쓰레딩, 개별 애플리케이션 설정, [[애텀|Atom]]이나 [[RSS]] 피드에 대한 지원, 리포팅 기능 강화, 강력한 암호화 라이브러리, 배열 및 구조 향상, 향상된 데이터베이스 인터랙션, 성능 향상, PDF 조작 및 병합 기능(CFPDF), 디버깅, [[아파치 더비]]와 같은 내장 데이터베이스 지원, [[ECMA스크립트]]에 좀 더 충실해진 CFSCRIPT와 같은 것들이 포함되었다.

콜드퓨전 애플리케이션 개발을 위해서는 주로 [[어도비 드림위버]] CS4나 매크로미디어 HomeSite 5.x, CFEclipse, [[이클립스]]등 다양한 도구를 사용할 수 있다. 새로운 콜드퓨전 8의 기능을 위한 패치를 제공하고 있다.

=== 어도비 콜드퓨전 9 ===
콜드퓨전 9(코드명 Centaur)는 2009년 10월 5일 출시되었다. CF9의 새로운 기능은 다음과 같다.
* 사용자가 사전에 정의한 함수(User Defined Function, UDF)와 콜드퓨전 컴포넌트(CFC)를 CFScript에서 사용할 수 있다.
* 명확한 "로컬" 변수의 유효범위를 사용해 더 이상 함수의 앞부분에서 로컬 변수를 요청할 필요가 없다.
* CFC를 위해 암시적인 게터/세터 구현.
* "init"나 CFC에서 동일한 이름의 함수를 호출해서 암시적인 생성자를 만든다.
* 예외 처리를 위해 추가된 CFFinally 태그와 흐름 제어를 위한 CFContinue 태그.
* 하이버네이트를 기반으로 [[객체 관계 매핑]](Object-relational mapping,ORM) 데이터베이스 통합 지원.
* Server.cfc 파일에 onServerStart, onServerEnd 메소드 적용.
* [[어도비 플렉스]]와 어도비 에어와 긴밀한 통합 지원.
* 마이크로소프트의 주요 제품인 워드, 엑셀, 셰어포인트, 익스체인지, 파워포인트와의 통합 지원.
* 메모리 관리자나 가상 파일 시스템을 통해 메모리상에서 컨텐츠를 다룰 수 있는 기능 제공.
* 공개된 서비스에 대해 접근 제어, 보안, 서버내부 함수처리 등을 통한 보호기능 제공.

==== 어도비 콜드퓨전 빌더 ====
어도비 콜드퓨전 빌더(코드명 "Bolt")는 콜드퓨전 애플리케이션을 만들기 위해 활용할 수 있는 새로운 이클립스 기반 개발 IDE이다. 현재 버전 1.0 출시되고 있으며 이후 업데이트 버전이 추가적으로 배포되었다.

이 도구에 포함된 기능은 다음과 같다.

* [[객체 관계 매핑]](ORM) 자동 설정
* 애플리케이션 코드 생성
* 서버 관리
* 이클립스 프레임워크를 쉽게 확장
* CFML, HTML, Javascript, CSS 구문 하이라이트 기능 지원
* 태그, 함수, 변수, 컴포넌트에 대한 코드 힌트 기능 지원
* 코드 접기
* 코드조각(Snippet) 등록/관리
* 아웃라인 보기 지원
* 파일과 데이터베이스에 대한 RDS 탐색기
* 라인단위 디버깅

== 같이 보기 ==
* [[프로그래밍 언어의 비교]]
* [[4세대 프로그래밍 언어]]
== 각주 ==
<references />

== 외부 링크 ==
* [http://www.adobe.com/products/coldfusion/ Adobe ColdFusion 및 ColdFusion Builder {{언어링크|en}}]
* [http://www.adobe.com/kr/products/coldfusion/?promoid=BQSVN Adobe ColdFusion 및 ColdFusion Builder {{언어링크|ko}}]
* [https://web.archive.org/web/20091110001115/http://www.cffaq.com/index.cfm?language=kr CFFaq.com {{언어링크|ko}}]
* [https://web.archive.org/web/20090717003129/http://help.adobe.com/en_US/ColdFusion/9.0/Developing/index.html ColdFusion 기술문서 {{언어링크|en}}]
* [http://www.newatlanta.com/products/bluedragon/index.cfm NewAtlanta BlueDragon {{언어링크|en}}]
* [http://www.getrailo.com/ Commercial Railo {{언어링크|en}}]
* [https://web.archive.org/web/20091002080850/http://www.getrailo.org/ OpenSource Railo {{언어링크|en}}]
* [http://www.openbluedragon.org/ Open BlueDragon {{언어링크|en}}]
* [https://web.archive.org/web/20110627144916/http://coldfusionportal.org/ ColdFusion Resource Portal {{언어링크|en}}]

=== 커뮤니티 사이트 ===
* [http://cafe.naver.com/opencfml.cafe 네이버 오픈 콜드퓨전 카페 {{언어링크|ko}}]
* [https://web.archive.org/web/20100613171242/http://www.cfug.co.kr/ 한국콜드퓨전사용자그룹 {{언어링크|ko}}]

{{어도비 시스템즈}}

{{전거 통제}}

[[분류:어도비 소프트웨어]]
[[분류:CFML 컴파일러]]
[[분류:매킨토시용 소프트웨어]]
[[분류:HTML 편집기]]
[[분류:JVM 프로그래밍 언어]]
[[분류:스크립트 언어]]
[[분류:웹 개발 소프트웨어]]
[[분류:매크로미디어 소프트웨어]]