Powrót do menu

Macromedia Cold Fusion
Wszelkie znaki firmowe oraz nazwy użyte w poniższym tekście należą do Macromedii
Siła oraz prędkość rozprzestrzeniania się Internetu spowodowały, że dzisiaj nie wystarczą statyczne strony WWW. Coraz częściej sięga się do narzędzi pozwalających zautomatyzować pracę. Czym jest Cold Fusion ? Nowe wyzwanie dla programistów ? A może kolejnym rozgłosem ?
Czym jest Cold Fusion ?

Cold Fusion
Panel administracyjny i... dokumentacja
Panel administracyjny i... dokumentacja
Cold Fusion to nowoczesna technologia oparta na języku znaczników pozwalająca tworzyć dynamiczne strony internetowe z wykorzystaniem m.in. relacyjnych baz danych. Rezultatem czego jest wygenerowany kod HTML w przeglądarce internetowej. Zaletą Cold Fusion tak jak u innych pokrewnych rozwiązań internetowych server-side jest brak jakiejkolwiek integracji osób trzecich do kodu strony. Dzięki fuzji Allaire Corporation oraz Macromedii projekt ten z dnia na dzień rozrasta się obsługując coraz to więcej pokrewnych narzędzi, chociażby Macromedia Flash, ale o tym w dalszej części artykułu. Cała struktura CFML (Cold Fusion Markup Language) oparta jest na znacznikach zupełnie jak HTML czy XML. Każdy z ponad siedemdziesięciu znaczników może przyjąć określone argumenty wraz z wartościami, np. <CFFILE action="delete" file="/var/www/cf/plik.cfm"> (uruchomienie kodu spowoduje usunięcie pliku z podanej lokalizacji). Dzięki ściśle określonej strukturze dokumentu jego kod jest czytelny przede wszystkim dla nas jak i dla innych osób współtworzących projekt, a co ważniejsze nie przysparza problemów podczas jego poprawek. Dzięki mechanizmowi załączania dokumentów możemy tworzyć poszczególne moduły, które zostaną załączone do projektu. Ewentualna poprawa błędów będzie miała miejsce w konkretnym odniesieniu się do poszczególnych funkcji i modulów co zdecydowanie ułatwi pracę, podczas gdy nasz dokument osiągnie duże rozmiary.
Dla kogo jest Cold Fusion ?

Technologia Cold Fusion skierowana jest przede wszystkim do dużych zastosowań internetowych, gdzie podstawową zaletą oprogramowania jest jego bezpieczeństwo oraz krótkoterminowa realizacja, jednak cena jaką przyjdzie nam zapłacić za licencje przeważy niejednokrotnie szale w stronę innych produktów. Licencja dla ColdFusion MX Standard 6.1 to 1299 USD. Po 30 dniach użytkowania Cold Fusion Enterprise Edition serwer przechodzi w stan Developer Edition co ogranicza jedynie całkowity dostęp z zewnątrz, dzięki czemu nasza przygoda z nauką języka nie zakończy się.
Instalacja z parametrem : -i gui
Instalacja z parametrem "-i gui"
Instalacja i uruchamianie serwera Cold Fusion

Plik instalacyjny Cold Fusion mozemy pobrać ze strony http://www.macromedia.com/software/coldfusion/downloads/

Dostępność instalacji z wersji na wersje pozwala uruchomić ją na coraz to większej ilości systemów operacyjnych. Cold Fusion 6.1 MX można pobrać dla Windows, Linux, HP-UX, Solaris, AIX oraz MacOS X. Warto wspomnieć, że Cold Fusion można nie tylko zintegrować z serwerem Apache, czy uruchomić jako samodzielny serwer, ale również z IIS i SunONE. Wymagania producenta jakie stawia dla platformy x86 to ok 500 MB wolnej przestrzeni dyskowej oraz minimum 256 MB pamięci RAM przy zaleceniach 512 MB. Na potrzeby artykułu użyto Linux Slackware 10.0 z jądrem 2.6.7 oraz Apache 2.0.50. Nim jednak będziemy mogli zając się instalacją musimy przebrnąć przez formularz rejestracyjny na stronie internetowej Macromedii, po czym pobrać potrzebny nam plik wielkosci 140 MB. Będzie potrzebny nam jeszcze użytkownik w systemie na potrzeby Cold Fusion (np. cf). Po nadaniu praw dla pliku i sprawdzeniu sumy kontrolnej możemy przystąpić do procesu instalacji Cold Fusion.

chmod 700 coldfusion-61-lin.bin
md5sum coldfusion-61-lin.bin
./coldfusion-61-lin.bin

MD5SUM : efcc0dc8d9730c57249b961c95f86dbf coldfusion-61-lin.bin


Instalacja zaczyna się od wyboru wersji językowej (wielkiego wyboru nie mamy), po zapoznanie się z licencją i jej zaakceptowaniu możemy ujrzeć tekst informujący nas o braku bibliotek lub konieczności uruchomienia pliku z poziomu administratora systemu (jeżeli uruchomiliśmy z poziomu użytkownika). Na pytanie, czy mamy już jakąkolwiek wersję Cold Fusion odpowiadamy przecząca, w przeciwnym wypadku będziemy musieli usunąć poprzednią. Kolejny wybór to typ instalacji, wybieramy 'Developer Edition (Single-IP Only)', następnie to rodzaj instalacji - wybieramy 'ColdFusion MX with JRun 4', instalator zapyta, czy mamy zainstalowany pakiet JRun, jeżeli tak właśnie jest konieczne będzie jego usunięcie - odpowiadamy 'N', kolejny krok to podanie ścieżki instalacji JRun (standardowo : /opt/jrun4). Ponownie zostaniemy zapytani, czy przypadkiem nie mamy zainstalowanej wersji oznaczonej numerem 4.5 lub 5 w celu wykorzystania konfiguracji. Cold Fusion posiada wbudowany serwer www, ktory może być używany na porcie 8300. Nas jednak interesuje integracja z serwerem Apache. Wybieramy odpowiednią pozycję z menu po czym podajemy ścieżkę do pliku konfiguracyjnego apache, ktory po standardowej instalacji znajduje się w : /usr/local/apache2/conf oraz pliku binarnego 'httpd' (W żadnym wypadku apachectl), podajemy : /usr/local/apache2/bin/httpd Kolejnym krokiem będzie ustawienie pliku odpowiedzialnego za rozruch Apache (I tutaj podajemy : /usr/local/apache2/bin/apachectl). Następnie będziemy proszeni o podanie lokalizacji gdzie ma zostać zainstalowany ColdFusion MX Administrator. Jeżeli podczas konfigurowania Apache2 nie zamienialiśmy scieżek to wpisujemy : /usr/local/apache2/htdocs  Będziemy teraz proszeni o podanie użytkownika, ktorego stworzyliśmy wczesniej w systemie (był to użytkownik : cf), podajemy hasło dla administratora konsoli CF, oraz hasło do kontroli JMC (Jrun Management Console). Tym samym rozpocznie się proces instalacji...


Installation Complete
---------------------

You have successfully completed the first step in installing Macromedia ColdFusion MX with JRun 4.

To continue with your installation, go to /opt/jrun4/bin and type "./jrun -start cfusion" to start the CFusion server on JRun. To finish configuring your web server connectors you will also need to run cfmx_connectors.sh (also in the /opt/jrun4/bin directory) once the jrun server is up and running.

When the server is started and the connectors are configured log in to the Configuration Wizard at http://[machinename]/CFIDE/administrator/index.cfm

PRESS <ENTER> TO EXIT THE INSTALLER:


W tym momencie wywołujemy pierwszy start serwera CF komendą /opt/jrun4/bin/jrun -start cfusion, po czym z innej konsoli /opt/jrun4/bin/cfmx_connectors.sh. Ze strony instalacji to tyle. Jeżeli chcemy, aby nasz serwer Cold Fusion byl automatycznie uruchamiany po kazdym załadowaniu systemu dodajemy wpis w pliku /etc/rc.d/rc.M

if [ -x /etc/rc.d/rc.cfusion ]; then
. /etc/rc.d/rc.cfusion start
fi

... oraz pliku /etc/rc.d/rc.K

if [ -x /etc/rc.d/rc.cfusion ]; then
. /etc/rc.d/rc.cfusion stop
fi

Następnie tworzymy w /etc/rc.d/ plik rc.cfusion : touch rc.cfusion && chmod 755 rc.cfusion z poniższą zawartością :


#!/bin/sh
function start() {
   echo "Starting Cold Fusion";
   /opt/jrun4/bin/jrun -start cfusion
}

function stop() {
   echo "Stopping Cold Fusion";
   /opt/jrun4/bin/jrun -stop cfusion
}


case "$1" in
   'start') start;;
   'stop') stop;;
   *) echo "Uzytkowanie $0 : start | stop";
esac

* * * Więcej na temat programowania w bashu : http://www.tldp.org/LDP/abs/html/
Administrowanie serwerem

Przeszukiwanie logów serwera CF
Przeszukiwanie logów serwera CF
Administrowanie serwerem Cold Fusion jak już wspomniałem odbywa się poprzez przeglądarkę internetową. Do dyspozycji mamy dużą gammę narzędzi. Jednym z nich jest analizator logów, możemy dogłębnie obejrzeć logi serwera, wykonywanego kodu, a także przeszukać je ustawiając wybrane przez nas kryteria. Kolejnym przydatnym modułem może być ustalenie zaplanowanych zadań, pomoże nam to w automatycznej aktualizacji odpowiednich dokumentów np. codzienna aktualizację kursów walut. Po odwołaniu się z przeglądarki ( http://localhost:8500/ ) ujrzymy dwie kartoteki. Pierwszą z nich jest /CFIDE/ gdzie znajduje się panel administracyjny dla Cold Fusion, druga zaś to /cfdocs/, tutaj z koleji znajdziemy dokumentacje z konkretnymi przykładami.
Program "Witaj świecie!"

Na dobry początek program typu "Witaj Świecie", który pokaże nam tekst na ekranie oraz kilka wczesniej pobranych zmiennych, w tym przypadku oknie przeglądarki. Tagi CFML zamieszczamy pomiędzy znacznikami HTMLa <BODY></BODY> Początek programu w tym przypadku oraz jego koniec określane są za pomocą znacznika, odpowiednio <CFOUTPUT> oraz </CFOUTPUT>. Wykorzystanie znaczników HTML oraz znaków (np. cudzysłowia) w kodzie CFML nie spowoduje błędów. Z kolei deklaracja koloru czcionki w tym przypadku poprzedzona musi zostać dwoma haszami (##), gdyż umieszczenie jednego jak ma to miejsce w HTML'u spowoduje, że program potraktuje to jako zmienna, w rezultacie czego poinformuje nas o błędzie w kodzie z powodu braku zakończenia zmiennej drugim haszem. Kod zapisujemy w pliku z rozszerzeniem .cfm ( np. przyklad1.cfm ) w miejscu gdzie będą trzymane skrypty, które zadeklarowaliśmy podczas instalacji ( standardowo /sciezka_do_CF/wwwroot/ ). Następnie w przeglądarce odwołujemy się do adresu http://localhost:8500/przyklad1.cfm po czym ukaże nam się pomarańczowy napis "Witaj Świecie!"

<HTML>
<HEAD>
</HEAD>
<BODY>

<CFSET przegladarka=HTTP_USER_AGENT>
<CFSET data=Now()>

<CFOUTPUT>

<Font color="##FFA500">Witaj Świecie!</font> <br>
Twoja przeglądarka : #przegladarka# <br>
Aktualna data : #data# <br>
Aktualna data : #DateFormat(data, "dd-mm-YYYYY")#

</CFOUTPUT>

</BODY>
</HTML>


Z przedstawionego przykładu możemy łatwo wywnioskować, że Cold Fusion łączy w sobie cechy języka znacznikowego, obiektowego PHP oraz ASP. Dla programistów tych dwóch ostatnich będzie to pewnego rodzaju usprawnienie, gdyż część funkcji zasięgnięto właśnie z nich, lub zmieniając nieco ich struktury. Możliwości Cold Fusion nie kończą się na wyświetlaniu danych i formatowaniu dat. Podobnie jak większość języków działających po stronie serwera możliwa jest obsługa baz danych (Oracle, Sybase, MS SQL, MySQL, PostreSQL, SQLAnywhere, Access, DB2, Infomix), używanie wyrażeń regularnych, zaawansowanych struktur danych, wyrażeń warunkowych zupełnie jak ma to miejsce w języku skryptowym. Dodatkową zaletą jest tworzenie własnych tagów i funkcji, integracja obiektów COM oraz CORBA jak również elementów Javy.
Funkcje graficzne

Wykorzystanie CF MX Dzięki wykorzystaniu Cold Fusion MX możemy również tworzyć grafikę ukazującą różnorakie wykresy nie tylko w formie statycznej, ale przede wszystkim w animowanej wersji opartej na Macromedia Flash! Procedura tworzenia wykresów odbywa się na silnie zdefiniowanej formie znaczników, przez co standardowa biblioteka graficzna posiada ograniczone możliwości w stosunku do znanej dla wielu webmasterów chociażby GD. Do wyboru mamy jedenaście typów wykresów w możliwości umieszczenia ich na płaszczyźnie jak również wymiarze przestrzennym poczynając od wykresów słupkowych, przez sinusoidy, a kończąc na wykresach kołowych i ostrosłupach jak przedstawia rys. 3. Określając wykres możemy zdefiniować oprócz typu również kolory, legendę, czcionki, częstotliwość występowania siatki, a także wiele więcej opcji. Możliwość integracji z bazami danych pozwoli na tworzenie rozbudowanych raportów w przystępnej formie graficznej, a dzięki wykorzystaniu menedżera zaplanowanych zadań możliwe będzie to o określonych porach dnia i nocy.
Zakończenie

Przedstawiony artykuł jest tylko powierzchownym opisem możliwości Cold Fusion. Dla chętnych chcących zagłębić się w tajniki tej technologii Macromedia (http://www.macromedia.com/) przygotowała doskonałe porównania z innymi konkurentami, a także dokładny zasięg możliwości, które nie tylko mogą zostać wykorzystane na stronach WWW.

Jako że żadna polska księgarnia informatyczna nie oferuje jakiejkolwiek książki na ten temat poniższe adresy z pewnością pomogą początkującym, a także tym, którzy coś już umieją...

http://www.coldfusion.pl/forum/
http://www.cfml.pl/
http://www.easycfm.com/
http://www.forta.com/cf/
http://www.thenetprofits.co.uk/coldfusion/faq/

Grupa dyskusyjna : alt.comp.lang.coldfusion




Autor artykułu : Tomasz Pięciak - autor@battlenet.pl

Valid HTML 4.0! Valid CSS!

Powrót do menu