Adobe ColdFusion
Z Wikipedii
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ą J2EE lub używać ColdFusion jako middleware 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 GUI
- zarządzanie zadaniami
Inne implementacje CFML oferują podobną lub zwiększoną funkcjonalność, np. uruchamianie w środowisku .NET czy obsługa obrazów.
Spis treści |
[edytuj] ColdFusion MX
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 bytecode'u, 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
[edytuj] ColdFusion MX 7
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.
[edytuj] Składnia
CFML oferuje 2 formaty składni - bazowana na tagach i CFSCRIPT.
[edytuj] Składnia bazowana na tagach
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.
[edytuj] Składnia CFSCRIPT
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.
[edytuj] Zobacz też
[edytuj] Linki zewnętrzne
- Oficjalna strona Adobe ColdFusion (en)
- ColdFusion User Groups (en)
- Common Function Library Project Zbiór dodatkowych funkcji do CF (en)
- ColdFusion Cookbook Częste problemy i rozwiązania w ColdFusion (en)