Adobe ColdFusion

język programowania

Adobe ColdFusion – pierwsza i najczęściej spotykana implementacja języka programowania ColdFusion Markup Language (CFML), który jest używany w tworzeniu dynamicznie generowanych stron internetowych. Początkowo był to produkt firmy Allaire, w 2001 roku firma ta została zakupiona przez firmę Macromedia, która została w 2005 roku włączona do korporacji Adobe Systems. ColdFusion bazuje na specyfikacji języka ECMAScript, ale nie jest z nią w pełni zgodny.

ColdFusion zastępuje języki skryptowe do tworzenia stron, takie jak PHP. Bardziej zaawansowani użytkownicy mogą wykorzystywać ColdFusion jako warstwę wydajnościową ponad platformą Java EE lub używać ColdFusion jako oprogramowanie pośredniczące w architekturze zorientowanej na usługi.

ColdFusion potrafi dodatkowo obsłużyć asynchroniczne zdarzenia (ang. events) takie jak SMS i IM przez swój interfejs. Ta funkcja jest dostępna w ColdFusion MX 7 Enterprise Edition.

ColdFusion zapewnia wiele dodatkowych funkcji, jak na przykład:

  • konwersja stron w formacie HTML do formatów PDF i FlashPaper
  • walidacja formularzy po stronie klienta włącznie z formularzami we Flashu
  • różne widżety, na przykład tabele czy pobieracze daty
  • niezależne od platformy zapytania do baz danych poprzez ODBC lub JDBC
  • pobieranie danych poprzez różne protokoły, jak na przykład Active Directory, LDAP, POP3, HTTP czy FTP
  • zarządzanie sesją, klientem i aplikacją
  • funkcja indeksowania i wyszukiwania plików bazowana na Verity K2 (tylko w wersji Enterprise)
  • obsługa formatu XML
  • zarządzanie interfejsem graficznym
  • zarządzanie zadaniami

Inne implementacje CFML oferują podobną lub zwiększoną funkcjonalność, np. uruchamianie w środowisku .NET czy obsługa obrazów.

ColdFusion MX edytuj

Przed rokiem 2000 firma Allaire zaczęła pracę nad przepisaniem od nowa ColdFusion z wykorzystaniem platformy Java, co pozwoliłoby na większą przenośność ColdFusion. 16 stycznia 2001 roku Allaire ogłosiło swoje włączenie do firmy Macromedia. Niedługo po fuzji Macromedia kontynuowała wydawanie kolejnych wersji ColdFusion 5.00 i w czerwcu 2002 roku wypuściła Macromedia ColdFusion MX (6.0), kontynuując nazewnictwo linii swoich produktów. ColdFusion MX został napisany całkowicie od nowa i był bazowany na platformie J2EE. ColdFusion MX integrował się dobrze z Macromedia Flashem wykorzystując Macromedia Flash Remoting MX.

Począwszy od wersji MX (6.0) ColdFusion jest kompilowany do kodu bajtowego, podobnie jak JSP i ASP. Skompilowane pliki .class są dostępne do odczytu i cache'owane dopóki kod źródłowy się nie zmieni, tak jak w JSP.

W wersji MX język CFML został rozszerzony o podstawy programowania obiektowego. Oprócz CFML ColdFusion obsługuje zagnieżdżone skrypty pisane w języku CFScript, podobnym do JavaScript

ColdFusion MX 7 edytuj

CFMX 7 dodał obsługę bazowanych na Flashu formularzy i generator raportów obsługujący zarówno format PDF, jak i FlashPaper, RTF i XLS. Do formatu PDF można przekonwertować również dowolną stronę internetową. Edycja Enterprise dodała obsługę tzw. Event Gateways. Oferują one obsługę dowolnych usług, które mogą zostać oprogramowane w technologii Java. Dzięki temu istnieje możliwość tworzenia bramek dla komunikatorów internetowych, czy SMS poprzez HTTP. Obsługa XML została rozbudowana. ColdFusion MX 7.0.2 pozwala na współpracę z Adobe Flex 2.

Składnia edytuj

CFML oferuje 2 formaty składni – bazowana na znacznikach i CFSCRIPT.

Składnia bazująca na tagach edytuj

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

<cfkomenda argument="wartość">Jakiś tekst</cfkomenda>
<cfset zmienna = "jakieś dane">

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

Składnia CFSCRIPT edytuj

Dodatkowy format składni jest podobny do JavaScriptu:

<cfscript>
  komenda('argument 1', 'argument 2');
</cfscript>

Drugi format pozwala na łatwiejsze nauczenie się ColdFusion dla ludzi mających doświadczenie z językami podobnymi do C – C, C++, PHP itp. Używając tej składni trzeba pamiętać o otoczeniu jej tagiem <cfscript>. Nie wszystko jednak, co może zostać zapisane za pomocą znaczników może zostać 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 (bez wspomaganego przez znaczniki rethrow oraz nie wspomaganego w ogóle finally)
  • deklarację i wywołania funkcji
  • wszystkie funkcje ColdFusion uwzględnione w dokumentacji

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

Zobacz też edytuj

Linki zewnętrzne edytuj