JĘZYK SKRYPTOWY WEDŁUG MACROMEDII
Transkrypt
JĘZYK SKRYPTOWY WEDŁUG MACROMEDII
ColdFusion MX 7 Server RAPORT Nowa wersja produktu firmy Macromedia dla systemu Linux: ColdFusion MX 7 Server JĘZYK SKRYPTOWY WEDŁUG MACROMEDII Nowy produkt firmy Macromedia, ColdFusion MX 7 Server, pomaga w tworzeniu dostępnych i wydajnych aplikacji internetowych. LARKIN CUNNINGHAM W prowadzenie oprogramowania ColdFusion w wersji MX 7 [1] zbiegło się z dziesiątą rocznicą udostępnienia pierwszego wydania tej platformy do programowania aplikacji internetowych. Pierwotnie środowisko programistyczne ColdFusion było napisane w C++; teraz oparte jest na platformie J2EE i działa w systemach Linux, AIX, Mac OS X, Solaris oraz Windows. Produkt ColdFusion został stworzony przez firmę Allaire Corporation. Firma Macromedia przejęła go w 2001 r. Zamiast zwiększać numer wersji do 6.0, wypuściła nowe wydanie pod nazwą ColdFusion MX. Miało to dowodzić pokrewieństwa produktu z innymi rozwiązaniami rodziny MX, takimi jak Dreamweaver i Flash. Kontynuując rozwój środowiska ColdFusion, Macromedia wprowadziła w nim istotne ulepszenia. W najnowszej wersji wzbogacono arsenał narzędzi do generowania treści. Są tu nowe funkcje do tworzenia wykresów, przygotowywania raportów FlashPaper i PDF oraz do definiowania złożonych formularzy Flash (w tym składających się z zakładek). Administrator ColdFusion dostarczany jest z internetową aplikacją do administrowania (Rysunek 1), wspomagającą zarządzanie całym środowi- skiem. ColdFusion Administrator umożliwia określenie sposobu buforowania zmiennych przez klienta, parametrów pamięci dla programów Javy i wirtualnej maszyny oraz innych ustawień, przez dostosowanie których można zwiększyć wydajność pracy rozwiąza- nia. W oprogramowaniu PHP odpowiednikiem tego łatwego w użyciu interfejsu jest plik konfiguracyjny (php.ini). Narzędzie administracyjne umożliwia także zarządzanie źródłami danych, usługami internetowymi, zaplanowanymi zadaniami, Aplikacje oparte na znacznikach CFML jest językiem znaczników, a treść CFML jest zapisywana wspólnie z HTML w postaci stron .cfm. Zamiast tradycyjnych metod osadzania skryptów znanych z języków PHP i ASP, w CFML stosowane są podobne do języka HTML znaczniki otwierające i zamykające. Nie cały kod CFML musi zawierać się w znacznikach, ponieważ wiele z nich ma swoje odpowiedniki skryptowe. Na Wydruku 1 przedstawiono implementację prostego zapytania SQL, po którym następuje przedstawienie jego wyników. Zauważmy, że w znacznikach CFML można umieszczać parametry, podobnie jak w znacznikach języku HTML. W opisywanym przykładzie za pomocą znacznika CFQUERY pobrano zbiór wynikowy z bazy danych przez połączenie MyDSN zdefiniowane narzędziem ColdFusion Administrator (więcej na ten temat w dalszej części artykułu). Do prezentacji zbioru wynikowego służy znacznik CFOUTPUT. Zmienne oraz wywołania funk- WWW.LINUX-MAGAZINE.PL cji umieszczone między symbolami krzyżyka (#) są albo ujmowane w znaczniki CFML, albo umieszczane wewnątrz nich jako parametry. ColdFusion podstawia w ich miejsce odpowiednie wartości. W wyniku umieszczenia zapytania jako parametru znacznika CFOUTPUT, zawartość tego znacznika zostaje powielona dla każdego wiersza zbioru wynikowego zapytania. Porównajmy ten kod z odpowiednikiem w PHP5/ mysqli [2] (Wydruk 2). Dla uproszczenia pominięto kod przechwytujący wyjątki. Jak widać na podstawie tych fragmentów kodu, język CFML łatwiej się pisze i czyta w porównaniu z analogicznym kodem PHP. Dla projektanta stron WWW bez przygotowania programistycznego, CFML jest łatwiejszy i szybszy w nauce niż PHP. Wystarczy poznać kilka znaczników i można pisać całkiem zaawansowane części serwisów WWW. NUMER 18 LIPIEC 2005 45 RAPORT ColdFusion MX 7 Server Rysunek 1: Program ColdFusion Administrator skutecznie chroni przed Rysunek 2: Przykład osadzenia dokumentu FlashPaper na stronie stycznością z wierszem polecenia i plikami konfiguracyjnymi. WWW. rozszerzeniami znaczników (patrz dalej), zabezpieczonymi zasobami „sandbox” oraz innymi aspektami działania środowiska. W oprogramowaniu ColdFusion nie ma po- trzeby zaglądania do plików konfiguracyjnych – większość ustawień dostępna jest przez narzędzie administracyjne. Bogactwo treści Wydruk 1: empquery.cfm <CFQUERY NAME= qryGetREmpsU DATASOURCE= #MyDSN# > SELECT * FROM employees </CFQUERY> <CFOUTPUT QUERY= qryGetEmps > Name: #qryGetEmps.FirstName#U #qryGetEmps.LastName#<br> Address: #qryGetEmps.U Address1#, #qryGetEmps.Address2# </CFOUTPUT> Wydruk 2: empquery.php $dbconn = new mysqli ($dbhost,U $dbuser, $dbpass, $dbname); $result = $dbconn->queryU ('SELECT * FROM employees'); while ($row = $result->fetch_U assoc ()) { printf (Name: %s %s<br> ,U $row['FirstName'], $rowU ['LastName']); printf (Address: %s, %s ,U $row['Address1'], $rowU ['Address2']); } 46 NUMER 18 LIPIEC 2005 Bez wątpienia firmie Macromedia należy się palma pierwszeństwa, jeśli chodzi o bogactwo treści internetowych. Format Flash [3], stosowany przy tworzeniu animacji, gier i przyjaznych interfejsów na stronach WWW, w praktyce jest już standardem. Aplety Javy i kontrolki ActiveX wydają się przy nim nieporadne. Nic więc dziwnego, że firma Macromedia postanowiła rozszerzyć możliwości prezentacji treści w środowisku ColdFusion o format Flash. W formacie tym można teraz generować wykresy i formularze wprowadzania danych; natomiast dokumenty (np. raporty) można produkować w nowym formacie Macromedii FlashPaper [4] (Rysunek 2). Obsługiwany jest także format Adobe PDF (Porta- ble Document Format). Treść wygenerowana w formacie PDF lub FlashPaper po wydrukowaniu wygląda tak samo, jak w przeglądarce WWW. W ostatnich miesiącach poprawiła się obsługa formatów Flash i PDF w systemie Linux, w związku z czym wdrożenie ColdFusion jako aplikacji intranetowej i udostępnianie treści w różnych formatach w środowisku Linuksów nie powinno stwarzać problemów. Znacznik CFCHART Znacznik CFCHART służy do generowania ładnych wykresów w formatach PNG, JPEG lub Flash. W tym ostatnim przypadku można zdefiniować „ozdobniki”, takie jak słupki wędrujące od poziomu osi x do zadanej wartości albo wyłaniające się wykresy kołowe. Wykresy w każdym formacie mogą zawierać aktywne obszary z przypisanymi adresami URL. To z kolei stwarza możliwość przygo- Interfejs do baz danych Język CFML w domyślnej postaci udostępnia abstrakcyjny interfejs do baz danych, dzięki któremu można pisać aplikacje niezależne od źródeł danych. Na przykład w znaczniku CFQUERY wystarczy podać parametr DATASOURCE – ten prosty zapis zapewnia już nawiązanie połączenia z bazą i umożliwia wysłanie zapytania SQL. Podobnie jak ODBC, ColdFusion udostępnia warstwę abstrakcji w dostępie do baz danych. W przypadku ColdFusion obsługuje ona połączenia przez ODBC, jak i własne połączenia baz przez JDBC. Do oprogramowania dołączono sterowniki źródeł danych MySQL (sprzed wersji 4.1), DB2, Informix, SQL Server, Sybase, WWW.LINUX-MAGAZINE.PL Oracle oraz J2EE (przez JNDI). Sterowniki baz Oracle i Sybase są dostępne tylko w wersji Enterprise, ale źródła danych można tworzyć za pomocą własnych sterowników JDBC (zazwyczaj polega to na skopiowaniu pliku JAR do odpowiedniego katalogu z biblioteką i określeniu adresu i nazwy klasy JDBC sterownika). Podobny efekt można osiągnąć korzystając z zasobu JNDI. Istnieją metody implementacji podobnej warstwy abstrakcji w PHP (przez rozwiązania ADODB i Pear DB), jednak techniki te wymagają instalowania dodatkowych plików i dołączania ich w kodzie skryptów PHP. ColdFusion MX 7 Server RAPORT Każda linia, słupek lub segment wykresu liniowego, słupkowego lub kołowego powstaje w wyniku interpretacji jednego znacznika CFCHARTSERIES. Za pomocą znacznika CFCHARTDATA tworzymy pętlę z zapytaniem, w wyniku działania której powstają kolejne punkty danych. Jak widać, dostępne są liczne parametry umożliwiające dostosowanie wykresu do wymagań. Flash Forms, ActionScript i Remoting Formularze do wprowadzania danych w formacie Flash (Flash Forms) umożliwiają realizację wielu czynności po stronie klienta (przetwarzanie, sprawdzanie poprawności danych i generowanie układu formularza), udostępniają większy zestaw funkcji niż standardowe rozwiązania HTML i JavaRysunek 3: Za pomocą znaczników CFCHART można łatwo tworzyć efektowne wykresy. towywania wykresów z opcją uszczegóławiania, takich jak stosowane w systemach do zarządzania (Management Information Systems – MIS) czy wspomagania decyzji (Decision Support Systems – DSS). Do wyboru są wykresy różnych typów: liniowe, słupkowe, kołowe i rozproszone. PHP także umożliwia tworzenie wykresów, ale wymaga do tego dodatkowego oprogramowania. Chyba najpopularniejszym rozwiązaniem jest tutaj JpGraph, obsługujący większą liczbę typów wykresów niż ColdFusion. JpGraph jest bezpłatny w zastosowaniach niekomercyjnych. Trzeba jednak zauważyć, że wykresy ColdFusion są ładniejsze (mają wygładzone krawędzie), a konfiguracja rozwiązania prostsza. Na Rysunku 3 przedstawiono wykres pokazujący poziom spamu i wirusów w ciągu ostatnich 30 dni. Wykres powstał w wyniku działania znaczników CFCHART pokazanych na Wydruku 3. Rysunek 4: Formularze Flash Forms dają lep- Wydruk 3: chart.cfm szą kontrolę nad sposobem wprowadzania danych przez użytkowników. <cfchart scalefrom="0" scaleto="1" showlegend="yes" markersize="4"U labelformat="percent" title="Percentage Spam and Viruses - Last 30 days" backgroundcolorU ="##eeeeee" showborder="yes" format="FLASH" xAxisTitle="Date" yAxisTitle="Percentage of Overall" chartHeight="400" chartWidth="540"U show3D="no" showXGridlines="yes" seriesPlacement="cluster"> <cfchartseries type="line" seriescolor="blue" serieslabel="Spam"U markerstyle="circle"> <cfloop query="qry30days"> <cfchartdata item="#DateFormat(scan_date,"dd-mmm-yy")#U value="#(pspam_sum + bspam_sum) / total_sum#"> </cfloop> </cfchartseries> <cfchartseries type="line" seriescolor="red" serieslabel="Viruses"U markerstyle="circle"> <cfloop query="qry30days"> <cfchartdata item="#DateFormat(scan_date,"dd-mmm-yy")#"U value="#virus_sum / total_sum#"> </cfloop> </cfchartseries> </cfchart> WWW.LINUX-MAGAZINE.PL Script oraz są łatwiejsze w implementacji od formularzy opartych na apletach Javy. Zapewniają większą kontrolę nad sposobem wprowadzania danych i lepsze dostosowanie do reguł biznesowych, a ponadto przyjemniej i wygodniej się z nich korzysta. Na Rysunku 4 pokazano przykład formularza Flash z zakładkami, kalendarzem, nagłówkami oraz dodatkowymi elementami układu. ActionScript jest językiem skryptowym służącym do interakcji z aplikacjami Flash MX. Umieszczając skrypt ActionScript w kodzie rozwiązania ColdFusion, można zapewnić komunikację z serwerem Flash Remoting, co z kolei umożliwia interakcję z zaawansowanymi aplikacjami i animacjami Flash MX. Skrypty ActionScript działające po stronie serwera i komunikujące się z zasobami ColdFusion może nawet napisać każdy programista Flash MX, nawet jeśli nie zna języka CFML. Takie rozwiązanie gwarantuje NUMER 18 LIPIEC 2005 47 RAPORT ColdFusion MX 7 Server oddzielenie warstwy logicznej aplikacji od warstwy prezentacji Flash. Programowanie obiektowe CFML i PHP są językami z natury strukturalnymi, ale w obu dostępne są funkcje obiektowe. Żadnego z nich nie można jednak nazwać językiem prawdziwie obiektowym, ponieważ nie zaimplementowano w nich wszystkich funkcji obiektowych (znanych z języków C++ lub Java). W języku CFML dostępne są komponenty ColdFusion (CFC). Komponenty CFC obsługują kapsułkowanie, dziedziczenie oraz introspekcję. Komponenty CFC zapisywane są w plikach .cfc, a nie w .cfm. Na Wydruku 4 pokazano przykładowy plik CFC definiujący komponent o nazwie ConvertTemp. Komponent ten konwertuje stopnie Celsjusza na Fahrenheita i odwrotnie. Na Wydruku 5 widzimy przykładowy kod CFML wywołujący metody tego komponentu. Funkcje obiektowe ColdFusion nie są tak eleganckie jak te znane z języka PHP 5, ale wystarczą do tworzenia łatwych w pielęgnacji aplikacji komponentowych. Rozbudowa ColdFusion Funkcjonalność ColdFusion można rozszerzać przez dodawanie własnych znaczników napisanych w językach CFML, Java lub C++. Kod własnego znacznika napisany w CFML wystarczy wprowadzić do pliku, a ten umieścić w katalogu niestandardowych znaczników ColdFusion (odpowiednik katalogu klas). Natomiast własne znaczniki w Javie lub C++ (określane mianem znaczników CFX) trzeba jawnie zadeklarować, używając w tym celu programu ColdFusion Administrator. Z własnych znaczników korzysta się tak, jak ze zwykłych – tak, jakby były częścią samego języka CFML. Rozwiązanie takie jest możliwe również w przypadku PHP, przy czym tutaj wymaga to albo dołączenia dodatkowego kodu źródłowego do strony, albo przekompilowania PHP z uwzględnieniem nowego modułu. Ponieważ ColdFusion działa na bazie serwera aplikacji J2EE, programista ma także dostęp do klas Javy w ścieżce klas JVM (katalogi WEB-INF/lib oraz WEB-INF/classes), podobnie jak można tego oczekiwać np. w serwerze Tomcat. Za pomocą znacznika CFOBJECT można tworzyć obiekty i uzyskiwać dostęp do funkcji oraz metod. Możliwe jest także korzystanie z obiektów JavaBeans. Obsługiwana jest komunikacja między CFML, JSP i stronami serwletów. Dzięki temu podczas przenoszenia rozwiązań na CFML nie trzeba rezygnować ze starszych 48 NUMER 18 LIPIEC 2005 Listing 5: convTempForm.cfm <cfinvoke component="convertTemp" method="ctof" returnvariable="newtemp" temp=30> <cfoutput>30 degrees Celsius is #newtemp# degrees Farenheit.</cfoutput> <cfinvoke component="convertTemp" method="ftoc" returnvariable="newtemp" temp=64> <cfoutput>64 degrees Fahrenheit is #newtemp# degrees Celsius.</cfoutput> aplikacji opartych na JSP i serwletach. Funkcje CFML można dołączyć do już funkcjonujących aplikacji JSP np. w celu wykorzystania funkcji tworzenia wykresów lub raportów dostępnych w ColdFusion. I odwrotnie -jeśli istnieją pewne działania, w których najlepiej sprawdzają się JSP lub strony serwletów, można je dołączyć do aplikacji CFML. Wyszukiwarka Do rozwiązania ColdFusion dołączona jest bardzo funkcjonalna wyszukiwarka Verity. Może ona działać niezależnie od serwera ColdFusion i może z niej korzystać wiele egzemplarzy ColdFusion jednocześnie (gdy ColdFusion jest zainstalowany w trybie wieloserwerowym – patrz dalej). Za pomocą programu ColdFusion Administrator należy utworzyć zasób Collection, w którym umieszczane są treści dostępne do przeszukiwania przez Verity. Programista może korzystać ze znaczników CFML do indeksowania i przeszukiwania treści (np. plików tekstowych, dokumentów PDF czy stron HTML). Można także indeksować treść zwróconą w wyniku zapytania. Dzięki tej funkcji ColdFusion, duże porcje tekstu można przeszukiwać szybciej niż przez zapytanie SQL SELECT, w którym to przypadku duże pola tekstowe (np. typ danych TEXT w MySQL) nie mogą być indeksowane. Takie rozwiązanie można zastosować np. w bazie wiedzy. W wersji ColdFusion MX 7 nowością jest program Verity Spider. Umożliwia on dynamiczne indeksowanie całych katalogów lub serwisów internetowych. W przeciwieństwie do znacznika CFML CFINDEX, który służy do tworzenia specyficznych indeksów, Verity Spider sam dynamicznie tworzy treść do przeszukiwania. Obsługiwane formaty to m.in. HTML, PDF, Microsoft Office, Wordperfect i XML. Verity Spider zachowuje się jak każdy robot internetowy i uwzględnia instrukcje umieszczone w pliku robots.txt oraz zawartość znaczników HTML HREF, FRAME i META Refresh / Redirect. Verity Spider umożliwia stworzenie inteligentnego mechanizmu przeszukiwania projektowanego serwisu internetowego. Wersje Oprogramowanie ColdFusion jest dostępne w trzech różnych wersjach. Z wersji Developer można korzystać z poziomu komputera lokalnego (tego, na którym zainstalowano oprogramowanie) oraz dwóch klientów zdalnych. Tyle wystarczy, żeby niewielka grupa programistów pracowała nad aplikacją implementowaną w tym samym egzemplarzu ColdFusion. Wersja Developer nie ma ograniczeń funkcjonalności i można ją pobrać bezpłatnie. Wersja Standard zawiera praktycznie wszystkie funkcje poza mechanizmami umożliwiającymi dostrajanie wydajności i dostęp- Wydruk 4: convertTemp.cfc <cfcomponent> <!-- Metoda konwertująca stopnie Celsjusza na stopnie Fahrenheita. --> <cffunction name="ctof" output="false"> <cfargument name="temp" required="yes" type="numeric"> <cfreturn ((temp*9)/5)+32> </cffunction> <!-- Metoda konwertująca stopnie Fahrenheita na stopnie Celsjusza. --> <cffunction name="ftoc" output="false"> <cfargument name="temp" required="yes" type="numeric"> <cfreturn ((temp-32)*5/9)> </cffunction> </cfcomponent> WWW.LINUX-MAGAZINE.PL ColdFusion MX 7 Server ności. Zamiast wymieniać funkcje dostępne w tej wersji, łatwiej jest wspomnieć o tych, które dostępne są tylko w trzeciej i ostatniej wersji Enterprise. Cena wersji Standard wynosi 1299 USD lub EUR. Za Enterprise trzeba zapłacić nieco więcej (5999 USD lub EUR). W zamian za dopłatę mamy możliwość skorzystania z funkcji klasy korporacyjnej. Funkcje klasy korporacyjnej w wersji Enterprise Program Enterprise Manager umożliwia zarządzanie wieloma egzemplarzami ColdFusion na jednym serwerze. Architektura rozwiązania jest podobna do innych serwerów J2EE, takich jak Tomcat: z jednego programu binarnego aplikacji korzysta wiele prywatnych wirtualnych maszyn Javy (JVM). W związku z tym poszczególne aplikacje są wzajemnie odizolowane, co zapewnia większe bezpieczeństwo i stabilność bez konieczności stosowania oddzielnych serwerów. Aplikacje można także łączyć w klastry w celu zwiększenia wydajności i dostępności. Do wersji Enterprise dołączone jest oprogramowanie JRun [5] – komercyjna alternatywa Tomcata. Używając JRun, kod aplikacji ColdFusion można połączyć z kodem JSP lub serwletów. Aplikacje ColdFusion można implementować na bazie preferowanego serwera aplikacji J2EE. Macromedia zapewnia obsługę rozwiązań Jrun, Weblogic i Webshpere. Zapewniono także mechanizm ochrony na potrzeby działania w środowiskach wirtualnego hostingu – są to bezpieczne zasoby określane mianem „sandbox”. Sandbox jest katalogiem, dla którego określa się zasady zabezpieczeń: dozwolone znaczniki, funkcje, źródła danych i adresy IP. Aplikacja działająca w takim „brodziku” nie ma dostępu do ustawień ani plików innych aplikacji. Użytkownik może tworzyć niestandardowe bramy zdarzeń na potrzeby interakcji z urządzeniami mobilnymi i serwerami komunikacyjnymi lub dowolnymi innymi serwerami za pośrednictwem dowolnego protokołu sieciowego (i gniazd Javy). Można także wykorzystać bramy dołączone do oprogramowania, takie jak SMS, XMPP (Extensible Messaging and Presence Protocol), JMS (Java Messaging Service) firmy Sun oraz Lotus Sametime. XMPP [6] jest rozwiązaniem i protokołem Open Source do obsługi natychmiastowego przesyłania wiadomości; został opracowany przez fundację oprogramowania Jabber [7]. Lotus Sametime [8] jest produktem IBM i służy do obsługi natych- miastowych wiadomości oraz konferencji internetowych. W wersji Enterprise można także korzystać z wydajnego, wielowątkowego mechanizmu raportowania biznesowego. Mechanizm ten doskonale sprawdza się w systemach zarządzania MIS, jako uzupełnienie funkcji tworzenia wykresów z możliwością uszczegółowiania. Aplikację można zaimplementować w postaci kodu bajtowego Javy zamiast kodu źródłowego. Ma to duże znaczenie tam, gdzie właścicielowi kodu zależy na ochronie praw do własności intelektualnej. Obsługiwane platformy Oprogramowanie ColdFusion jest obsługiwane na różnych platformach, w tym Linux, Windows, Solaris, AIX oraz Mac OS X (tylko wersja Development). Wśród obsługiwanych dystrybucji Linuksa Macromedia wymienia Red Hat Enterprise Linux 2.1 i 3.0, Suse Linux Enterprise Server 8 oraz TurboLinux 8 (tylko wersja japońska). Jednak nie powinno być problemów z instalacją oprogramowania także na CentOS 3, White Box Linux 3 oraz wielu innych dystrybucjach. Teoretycznie ColdFusion powinno dać się wdrożyć wszędzie tam, gdzie dostępna jest platforma Javy. Obsługiwane są serwery JRun, BEA Weblogic oraz IBM Websphere, choć instrukcja instalacji dostępna jest tylko dla serwera Tomcat. Nawet jednak w przypadku wdrażania na innych serwerach, takich jak JBoss czy Resin, nie należy spodziewać się zbyt wielu problemów. ColdFusion może działać jako samodzielny serwer WWW lub w połączeniu z programami Apache (wersja 1.3.27 lub nowsza; albo 2.0.43 lub nowsza), iPlanet 6.x lub Sun ONE 6.x. Czy ColdFusion jest dla mnie? Trudno jednoznacznie odpowiedzieć na pytanie, czy dany użytkownik odniesie korzyści z zastosowania ColdFusion. W przypadku niektórych aplikacji lepiej jest zastosować PHP, Perla lub JSP; w innych górą jest ColdFusion. Za pomocą ColdFusion można zrobić prawie wszystko to, co za pomocą innego języka skryptowego. A jeśli jakiejś funkcji brakuje – można ją uzupełnić kodem w Javie lub JSP albo serwletami. Wybór zależy od przeznaczenia aplikacji. ColdFusion sprawdza się tam, gdzie treść trzeba przedstawiać w postaci różnych formatów, takich jak formularze Flash, FlashPaper lub PDF. Oprogramowanie ColdFu- WWW.LINUX-MAGAZINE.PL RAPORT sion można także wykorzystywać w uniwersalnych systemach zarządzania treścią. Rozwiązanie to można szybko przygotować do pracy. Oparte jest na łatwym do nauczenia języku znaczników, a wydajne aplikacje można budować minimalnym wysiłkiem. Już to wystarcza, by wiele osób zdecydowało się nawet na droższą wersję Enterprise, która dodatkowo zapewnia wysoką dostępność i wydajność aplikacji o dużym znaczeniu. Programista pracujący na platformie linuksowej ma do wyboru PHP, JSP/ serwlety i ColdFusion. Tylko ten ostatni mechanizm wymaga zakupienia licencji w przypadku wdrożenia produkcyjnego; wszystkie trzy można jednak bezpłatnie pobrać na potrzeby samego opracowywania aplikacji. Ponieważ coraz więcej usługodawców hostingu oferuje za niewielką opłatą obsługę środowiska ColdFusion, może się okazać, że nawet wykupienie licencji nie będzie konieczne. Podsumowując: osoby rozważające możliwość skorzystania z produktu komercyjnego przed sięgnięciem po inne rozwiązania powinny przynajmniej wypróbować oprogramowanie ColdFusion MX 7. ■ INFO [1] Macromedia ColdFusion MX 7: http://www.macromedia.com/software/coldfusion/ [2] PHP 5 i moduł the mysqli: http://www.php.net/manual/en/ref.mysqli.php [3] Macromedia Flash: http://www.macromedia.com/software/flash/ [4] Macromedia FlashPaper: http://www.macromedia.com/software/flashpaper/ [5] Macromedia JRun: http://www.macromedia.com/software/jrun/ [6] XMPP Protocol: http://www.xmpp.org [7] Fundacja oprogramowania Jabber: http://www.jabber.org [8] Lotus Sametime: http://www.lotus. com/products/product3.nsf/wdocs/homepage/ AUTOR Larkin Cunningham jest jednym z założycieli DB Alliance, irlandzkiej firmy oferującej hosting WWW na platformie linuksowej i opracowującej rozwiązania Open Source. Specjalizuje się w aplikacjach Open Source, administracji systemem Linux oraz programowaniu w ColdFusion i PHP. Do Autora można pisać na adres [email protected]. NUMER 18 LIPIEC 2005 49