KLone – wstęp i cechy serwera

Spis treści

 

 

A. Wstęp

 

Wymagania od czytelnika:
  • podstawy C/C++, – obsługa edytora tekstowego w trybie tekstowym lub graficznym
  • podstawowa znajomość polecenia make
  • podstawowa znajomość Linuxa

 

KLone to oprogramowanie wieloplatformowe w postaci serwera WWW, stworzone przez KoanLogic w 2005 r., od wersji 3.1.0 udostępnione na licencji BSD. Działa m.in. w systemie operacyjnym: QNX, OpenWRT, VxWorks, FreeBSD, OpenBSD, OpenSolaris, Minix, Darwin, MacOSX, NetBSD, Linux, Windows i innych. Działa na wielu platformach sprzętowych m.in. x86/x64, ARM, MIPS, PowerPC, SH, Cris.

Klone łączy w sobie szybki i mały serwer WWW, oraz SDK umożliwiające tworzenie statycznych i dynamicznych stron WWW, głównie pisane w języku C/C++. Serwer ze względu na swoje małe wymiary i szybkość działania jest dedykowany głównie dla urządzeń z systemem wbudowanym, ale również doskonale sprawdzi się w innych systemach.

Jak już zostało wspomniane, strony na tym serwerze tworzy się głównie w języku C/C++, można również wykorzystać PHP, CGI lub inne biblioteki zewnętrzne i systemowe. W tym celu kod C/C++ umieszcza się pomiędzy dwoma specjalnymi znacznikami w specjalnych plikach. Jedyną wadą jest to, że każda zmiana kodu wymaga przekompilowania całego środowiska KLone. Być może na pierwszy rzut oka wszystko wydaje się to zbyt skomplikowane, jednakże wystarczy przejrzeć krótką instrukcję dla początkujących, aby przekonać się, że obsługa serwera jest łatwa.

 

B. Cechy serwera KLone

 

KLone posiada następujące cechy:

  • wieloplatformowy (zadziała nawet na urządzeniu z ograniczonymi zasobami procesora i pamięci),
  • obsługa SSL/HTTPS,
  • małe zużycie pamięci – w zakresie od 110 KB (łączony statycznie, brak wsparcia SSL) do ok. 350 KB (łączony dynamicznie, ze wsparciem SSL). Rozmiar pliku serwera ze wsparciem SSL to ok. 130 KB (łączony dynamicznie),
  • wielu dostawców treści (dyskowy system plików, wbudowany system plików, CGI) – serwer KLone może otrzymywać zawartość z lokalnego systemu plików, z wbudowanego systemu plików (który w czasie komplikacji jest linkowany do pliku wykonywalnego) lub CGI (także PHP, Perl, itd.) lub z kombinacji tych metod. Systemy bez składowania mogą dostarczyć jeszcze bogatą zawartość internetową, poprzez osadzenie wszystkich danych w głównym pliku wykonywalnym KLone i umieszczenie go w pamięci ROM. Programiści mogą wybrać kompresję lub szyfrowanie wbudowanej treści,
  • toleracyjna licencja BSD – komercyjne aplikacje bazowane na KLone mogą być budowane bez dodatkowych kosztów i bez wymuszenia redystrybucji z kodem źródłowym,
  • automatycznie ustawienie i budowa serwera – tworząc nową aplikację na nowym urządzeniu, wystarczy napisać kilka linijek w pliku Makefile, aby make sam ściągnął kody źródłowe i zbudował środowisko,
  • dostępny pełny kod źródłowy – kod źródłowy KLone i innych wykorzystywanych elementów są dostępne bezpłatnie ze strony producenta lub repozytorium,
  • dynamiczne strony pisane w C/C++ – strony są pisane przez mieszanie kodu HTML i C/C++ umieszczonego w ramach znaczników kodu <% %>,
  • W fazie budowy framework tłumaczy, kompiluje i łączy strony dla serwera www, zapewniając szybkie wykonanie skryptu, małe zużycie pamięci, zawartość osadzalną i natywne użycie tysiąca bibliotek C/C++ dostępne dla skryptów www,
  • gotowe do użycia API do dostępu wspólnej funkcjonalności – KLone dostarcza biblioteki do dostępu wszystkich wspólnych zasobów wymaganych do zbudowania aplikacji internetowej, tj: zmienne, formularze, sesje, ciastka, ładowanie plików.