Adobe ColdFusion

Adobe ColdFusion

Adobe ColdFusion to pierwsza oraz najpopularniejsza implementacja języka programowania ColdFusion Markup Language (CFML), który służy do tworzenia dynamicznie generowanych stron internetowych. Na początku był to produkt firmy Allaire, która w 2001 roku została przejęta przez Macromedia. Ta ostatnia z kolei w 2005 roku weszła w skład korporacji Adobe Systems. ColdFusion opiera się na specyfikacji języka ECMAScript, chociaż nie jest z nią całkowicie zgodny.

ColdFusion zastępuje inne języki skryptowe do budowy stron, takie jak PHP. Użytkownicy zaawansowani mogą wykorzystywać ColdFusion jako warstwę wydajnościową dla platformy Java EE lub jako oprogramowanie pośredniczące w architekturze zorientowanej na usługi.

ColdFusion ma również zdolność do obsługi asynchronicznych zdarzeń, takich jak SMS i IM, dzięki swojemu interfejsowi. Ta funkcjonalność jest dostępna w wersji ColdFusion MX 7 Enterprise Edition.

ColdFusion oferuje wiele dodatkowych funkcji, w tym:

  • konwersję stron HTML do formatów PDF oraz FlashPaper
  • walidację formularzy po stronie klienta, w tym formularzy w technologii Flash
  • różnorodne widżety, takie jak tabele czy kalendarze
  • zapytania do baz danych, niezależne od platformy, za pomocą ODBC lub JDBC
  • pobieranie danych przez różne protokoły, takie jak Active Directory, LDAP, POP3, HTTP czy FTP
  • zarządzanie sesjami, klientami i aplikacjami
  • indeksowanie oraz wyszukiwanie plików z wykorzystaniem Verity K2 (tylko w wersji Enterprise)
  • obsługę formatu XML
  • zarządzanie interfejsem graficznym
  • zarządzanie zadaniami

Inne implementacje CFML mogą oferować podobną lub rozszerzoną funkcjonalność, na przykład uruchamianie w środowisku .NET czy obsługę obrazów.

ColdFusion MX

Przed rokiem 2000 firma Allaire rozpoczęła prace nad całkowitym przepisaniem ColdFusion z wykorzystaniem platformy Java, co miało na celu zwiększenie przenośności systemu. 16 stycznia 2001 roku Allaire ogłosiło swoje włączenie do Macromedia. Niedługo po tej fuzji, Macromedia kontynuowała wydawanie kolejnych wersji, w tym ColdFusion 5.00, a w czerwcu 2002 roku wprowadziła Macromedia ColdFusion MX (6.0), kontynuując linię swoich produktów. ColdFusion MX został napisany całkowicie od nowa i oparty na platformie J2EE. Dobrze integrował się z Macromedia Flashem, korzystając z Macromedia Flash Remoting MX.

Od wersji MX (6.0) ColdFusion jest kompilowany do kodu bajtowego, podobnie jak JSP oraz ASP. Skompilowane pliki .class mogą być odczytywane i przechowywane w pamięci podręcznej, aż do chwili, gdy kod źródłowy zostanie zmieniony, co przypomina mechanizm JSP.

W wersji MX język CFML został wzbogacony o podstawy programowania obiektowego. Oprócz CFML, ColdFusion obsługuje zagnieżdżone skrypty w języku CFScript, który jest podobny do JavaScript.

ColdFusion MX 7

Wersja CFMX 7 wprowadziła obsługę formularzy opartych na technologii Flash oraz generator raportów, który obsługuje formaty PDF, FlashPaper, RTF i XLS. Można również konwertować dowolną stronę internetową do formatu PDF. W edycji Enterprise dodano wsparcie dla tzw. Event Gateways, co umożliwia obsługę różnych usług programowanych w technologii Java. Dzięki temu możliwe jest tworzenie bramek dla komunikatorów internetowych czy SMS poprzez HTTP. Obsługa XML została również znacznie rozszerzona.

ColdFusion MX 7.0.2 umożliwia współpracę z Adobe Flex 2.

Składnia

CFML oferuje dwa formaty składniowe – oparty na znacznikach oraz CFSCRIPT.

Składnia bazująca na tagach

CFML obsługuje składnię w stylu XML/HTML, w której wszystkie polecenia są zapisane w formacie:

Jakiś tekst

ColdFusion nie jest w pełni kompatybilne z XML, ponieważ nie wszystkie atrybuty muszą mieć przypisane wartości, a tagi nie muszą być zagnieżdżone; mogą być skrzyżowane. Od wersji 6.0 składnia CFML może być w pełni wyrażona w formacie XML, z wyjątkiem tagów CFIF, CFELSEIF, CFELSE.

Składnia CFSCRIPT

Dodatkowy format składni przypomina JavaScript:

komenda(’argument 1′, 'argument 2′);

Ten drugi format ułatwia naukę ColdFusion osobom z doświadczeniem w językach podobnych do C – jak C, C++, PHP itp. Używając tej składni, należy pamiętać o otoczeniu jej tagiem . Nie wszystko, co można zapisać za pomocą znaczników, może być również zapisane w CFSCRIPT. CFSCRIPT obsługuje:

  • deklaracje i przypisania zmiennych
  • instrukcje warunkowe if/else if/else, switch
  • instrukcje pętli
  • obsługę wyjątków try/catch (brak wsparcia dla rethrow oraz finally)
  • deklarację i wywołania funkcji
  • wszystkie funkcje ColdFusion zawarte w dokumentacji

Elementy języka, takie jak zapytania SQL (znacznik cfquery) czy funkcje obsługujące protokoły, takie jak FTP, HTTP, POP3 czy LDAP, nie są obsługiwane w CFSCRIPT.

Zobacz też

Linki zewnętrzne