Open source w biznesie

Apache

Jednym z najpopularniejszych narzędzi typu open source jest serwer Apache. W grudniu 2002 r., wg badań NetCraft (http://www.netcraft.com/survey ), ponad 66% serwerów webowych pracowało pod kontrolą Apache. Dla porównania, serwery Microsoftu działały na niecałych 25% hostów, zaś serwery Suna na zaledwie 1,4%.

W porównaniu z innymi platformami Apache wykazuje się dużą stabilnością i dobrym bezpieczeństwem. Koszt utrzymania serwera Apache, wg Forrester Research, nie jest wyższy niż analogicznych, komercyjnych serwerów. Apache wygrywa nie tylko jako narzędzie darmowe, ale i bardzo elastyczne, a dzięki rozszerzeniom, takim jak Webadmin czy Comanche, także przyjazne w użyciu.

Strefa.pl, platforma będąca "biznesowym odłamem" portalu Interia.pl, korzysta z serwera Apache. W ciągu pierwszych pięciu miesięcy funkcjonowania Strefy skorzystało z niej 5 tys. firm. Pozwala to oszacować liczbę połączeń z serwerami Apache na kilkadziesiąt lub nawet kilkaset tysięcy dziennie. Takiego obciążenia nie wytrzymałby pojedynczy serwer, ale klaster dwuprocesorowych serwerów x86 (Intel, AMD) radzi sobie z tym całkiem nieźle, o czym może się przekonać każdy internauta odwiedzający serwery Interii i Strefy.

PHP i My SQL

Jednak system operacyjny oraz serwer HTTP to jeszcze za mało, aby mówić o prawdziwie kompletnym rozwiązaniu open source dla biznesu. Potrzeba jeszcze platformy aplikacyjnej i bazodanowej. Większość firm, które korzystają z Linuxa i Apache, decyduje się także na PHP (skrót rozwijany rekurencyjnie jako PHP: Hypertext Preprocessor), jako narzędzie do budowy aplikacji WWW . Obecnie dostępna wersja 4.3.0 jest dojrzałym i stabilnym narzędziem budowy dynamicznych stron WWW i integrowania aplikacji webowych z innymi narzędziami i platformami (np. COM). Szczególnie istotna w zastosowaniach biznesowych jest integracja PHP z bazami danych - narzędzie ma interfejsy do wszystkich liczących się systemów DBMS, a także własną warstwę abstrakcji bazy danych (DBX).

Jednak motorem bazy danych najczęściej stosowanym w połączeniu z PHP jest My SQL. W Allegro.pl doświadczenia z tym systemem nie były początkowo najlepsze. "Przy większych bazach znacząco spadała wydajność. Ale od tego czasu My SQL bardzo dojrzał. Poprawiły się zarówno stabilność systemu, jak i jego skalowalność. Mimo że nadal wiele różni My SQL od komercyjnych systemów, zrezygnowaliśmy z planów zastąpienia go innym motorem bazy danych" - mówi Tomasz Dudziak. Jest on także udostępniany klientom Strefy.

PERL

Tam, gdzie w grę nie wchodzi obróbka danych tabelarycznych, a strumieni tekstowych, najczęściej wykorzystywanym narzędziem typu open source jest PERL (Practical Extraction and Reporting Language). Nie bez powodu Randall L. Schwartz, jeden z autorów najbardziej poczytnych książek i publikacji na temat PERL, nazwał go "taśmą klejącą Internetu". Zakres jego zastosowań jest trudny do prostego scharakteryzowania - wchodzą w to zadania administrowania systemami, łączenie źródeł danych w aplikacjach internetowych, generowanie stron HTML, kontrola poprawności danych, przetwarzanie XML-a, prowadzenie prostych książek teleadresowych, wyszukiwanie w systemach plików, filtrowanie przychodzącej poczty, mirroring offline itd.

Wadą PERL jest z pewnością składnia, która osobom nie obeznanym z typowymi narzędziami unixowymi wyda się zagmatwana, zaś programy pisane w PERL - nieczytelne. To cena, którą płaci się za dużą zwięzłość programów i sporą elastyczność narzędzia. PERL wymaga wprawy, ale w doświadczonym ręku może służyć do realizacji bardzo złożonych zadań.

GCC

Nie wszystko da się zrobić za pomocą narzędzi "wyższego poziomu", jak PHP i My SQL. Czasami potrzebny jest język programowania niskiego poziomu. Tomasz Dudziak z Allegro.pl mówi: "Niektóre fragmenty serwisu musieliśmy napisać w C ze względu na wydajność. Użyliśmy do tego kompilatora GCC". Wiele firm podąża tą samą drogą - jeżeli zadanie wymaga szybkości lub integracji z istniejącymi aplikacjami pisanymi w językach niskiego poziomu, decyduje się na zastosowanie GCC.

GCC jest podstawowym narzędziem kompilacji na platformy przenośne - np. na komputery Palm albo telefony komórkowe (choć w tym ostatnim zastosowaniu poważnym konkurentem zaczyna być Java). Typowe środowisko pracy firmy, przygotowującej aplikacje na takie architektury, to GCC używane jako kompilator skrośny (cross-compiler) oraz emulator platformy.

Trzeba jednak powiedzieć otwarcie, że GCC - w odróżnieniu np. od PHP czy My SQL - nigdy nie będzie konkurencją dla komercyjnych narzędzi typu Microsoft Visual C++ albo Borland C++ na tych platformach, na których te ostatnie narzędzia są dostępne. Środowiska komercyjne biją je na głowę prostotą i przyjazną obsługą. GCC pozostanie jednak niezastąpione w pozostałych środowiskach sprzętowo-programowych.


TOP 200