Linux w firmie

Linux jest często przeciwstawiany Windows. W rzeczywistości systemy te mają inną filozofię działania i inne zastosowania.

Linux jest często przeciwstawiany Windows. W rzeczywistości systemy te mają inną filozofię działania i inne zastosowania.

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa

Wbrew temu, co twierdzą najwięksi zwolennicy Linuxa i zagorzali przeciwnicy Microsoftu, ten najpopularniejszy system operacyjny jeszcze nie jest w stanie zastąpić Windows tam, gdzie są wykorzystywane "uniwersalne" narzędzia. Dla małych i średnich firm problemem byłaby chociażby polonizacja systemu, która zależy m.in. od konkretnej wersji (nazywanej dystrybucją), konfiguracji systemu czy nawet zestawu stosowanych aplikacji. Prawdą jest natomiast, że Linux może z powodzeniem pełnić rolę platformy, na której działają rozwiązania specjalistyczne - od klasycznych zastosowań, takich jak serwery WWW czy firewall, po aplikacje ściśle dostosowane do potrzeb przedsiębiorstwa.

Serwery Apache, Samba...

W wielu firmach Linux pełni rolę serwera. W każdej dystrybucji znajduje się serwer Apache, który po łatwym skonfigurowaniu może pełnić rolę firmowego serwera WWW. Trudno chyba o drugi serwer, który miałby tak elastyczne możliwości programowania. Moduły rozszerzające Apache realizują wiele funkcji - od implementacji protokołu SOAP, przez emulatory ASP, moduły integracji z Perlem, Pythonem itp. Dodatkową rekomendacją jest to, że Apache'a wykorzystują firmy komercyjne, np. Oracle łączy go z własnym serwerem aplikacji.

Samba jest serwerem pozwalającym Linuxowi "udawać" serwery Windows NT. W ten sposób użytkownicy mogą np. współdzielić pliki w sposób właściwy dla Windows. Co ciekawe, autoryzacja Samby może być powiązana z autoryzacją na Linuxie (to pozwala prowadzić tylko jedną bazę użytkowników.) Z punktu widzenia klientów pracujących na PC z Windows, Samba może pełnić rolę kontrolera domeny.

Linux pełni również role: firewalla, serwera pocztowego i . To chyba najbardziej popularne zastosowanie tego systemu. Wystarczy, by wyspecjalizowana firma usługowa zainstalowała serwer, a Linux właściwie nie wymaga obsługi ze strony użytkownika. Ciekawym produktem jest przygotowywany przez polską firmę 7bulls komputer, wyposażony w Linuxa, który obsługuje , firewall, serwer pocztowy itp. To gotowe do pracy "pudełko", któremu należy przypisać numer IP - z jednej strony można dołączyć sieć wewnętrzną, z drugiej, łącze do Internetu.

Linux na biurku

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

W wielu firmach rozważa się wprowadzanie StarOffice - bezpłatnego pakietu biurowego, działającego m.in. pod Linuxem. Na dostatecznie szybkim komputerze pakiet może służyć do prostych prac biurowych, ale chyba nawet zwolennicy Linuxa przyznają, że nie jest to w pełni funkcjonalny odpowiednik MS Office.

Office Microsoftu to nie tylko "czyste" programy biurowe, ale wiele prostych rozwiązań, szablonów czy baz, które usprawniają działanie firmy. Najnowsza wersja Star- Office 5.2 pozwala wprawdzie tworzyć skrypty, jednak są to możliwości wystarczające do automatyzacji powtarzających się czynności, a nie do tworzenia "nakładek" dostosowujących pakiet do wymagań firmy.

Istnieją inne pakiety biurowe dla Linuxa, m.in. intensywnie rozwijany KOffice (najnowsza wersja to 1.1). KOffice jest prostszy niż StarOffice, działa też znacznie szybciej. KOffice dysponuje mechanizmami współpracy między różnymi składnikami pakietu podobnymi do tych, jakie oferują aplikacje Windows. Jest obsługiwany np. format dokumentu złożonego, gdzie można osadzać obiekty utworzone w innych elementach pakietu.

Narzędzia i aplikacje (nawet użytkowe) w Linuxie stanowią zbiór drobnych programów, które zwykle wymieniają informacje za pomocą tzw. potoków systemu operacyjnego. Typowym sposobem przygotowania dokumentu, wydrukowania go i jednoczesnego umieszczenia na witrynie internetowej jest uruchomienie odpowiednich programów - jednego, który sformatuje dokument, drugiego, który przekształci go w plik PostScript, trzeciego, który w razie potrzeby będzie emulować PostScript na konkretnej drukarce, i czwartego, który na podstawie pliku pośredniego utworzy gotowy, ładnie wyglądający dokument HTML. Kombajn biurowy, który wykona samodzielnie wszy-stkie operacje, jest "obcym" rozwiązaniem w świecie Linuxa.

Inne spojrzenie na informatykę

Jak firmy zarabiają na darmowym Linuxie? Czy nie jest ryzykiem powierzanie opieki nad infrastrukturą IT firmie linuxowej, której byt i model biznesowy są niepewne?

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

Wiele firm linuxowych przekonało się, że trudno jest sprzedać "gotowe" produkty dla Linuxa. Zdaniem przedstawicieli 7bulls, jedynej notowanej na warszawskiej giełdzie firmy, zajmującej się Linuxem, dochody są możliwe tylko wtedy, gdy klientowi oferuje się kompletne rozwiązanie, które ułatwia mu wykonywanie określonych czynności. Firma nie dostarcza więc uniwersalnych pakietów, ale rozwiązania szyte na miarę. Co bardzo istotne, z uwagi na warunki licencji open source klientowi przekazuje się za darmo kod rozwiązania (w dużym uproszczeniu, licencja wymaga, by w przypadku korzystania z narzędzi GPL dostarczać klientowi kod, tak by miał on możliwość samodzielnie skompilować aplikację).

Dzięki temu, że niemal każdy pakiet jest dostępny wraz kodem źródłowym, powstało wiele mechanizmów, które ułatwiają przenoszenie aplikacji między różnymi platformami. Od palmtopów po mainframe dostępny jest ten sam zestaw aplikacji. To jeden z powodów, dla których Linux jest szeroko stosowany jako platforma dla rozwiązań osadzonych (embbedded).

Trawers i FlagShip

Trawers to standardowy pakiet przeznaczony do zarządzania przedsiębiorstwem, napisany przez firmę TRES z Gdyni. Składa się z ponad 20 podsystemów, takich jak obsługa magazynu, zaopatrzenia, sprzedaż, płace. Początkowo powstał pakiet w CA Clipper, wykorzystujący pliki DBF i działający w systemach DOS, Windows 9x, NT. Od roku 1999 firma zdecydowała się na przenoszenie aplikacji na Linuxa. W tym celu wykorzystano narzędzie FlagShip w. 4.48, które pozwoliło stosunkowo łatwo przenieść programy na tę platformę. FlagShip umożliwił aplikacjom korzystanie z relacyjnych baz danych, takich jak Oracle, MySQL czy PostgresSQL.

Gdyńskiej firmie udało się utrzymać jeden, spójny kod źródłowy w Clipperze, który (z pewnymi fragmentami z kompilacją warunkową) może być kompilowany na Windows, DOS i Linuxie. Utrzymanie kodu i jego weryfikacja są znacznie prostsze.

FlagShip to bardzo ciekawe narzędzie, które pozwala na podstawie istniejącego kodu w Clipperze utworzyć w pełni przenośny kod w C. Obsługuje niemal wszelkie "odmiany" Clippera. Można włączyć tryb zgodności z wersją Summer'87 nawet do tego stopnia, że FlagShip powiela błędy Clippera. Istnieje możliwość korzystania z obiektów CA Visual Objects lub rozszerzeń FoxBase.

Po kompilacji kodu w C i dołączeniu bibliotek FlagShip powstaje aplikacja, która działa, tak jak DOS-owy poprzednik, włącznie z analogicznym traktowaniem nazw plików czy symulacją terminalu. Usunięto jednak wiele ograniczeń DOS-a, np. rozmiar tablic itp. Co więcej, FlagShip obsługuje API RDD (Replaceable Database Driver), dzięki czemu aplikacja napisana w Clipperze współpracuje niemal z dowolną, "dużą" bazą danych, a nie tylko obsługuje pliki DBF. Obsługiwane są także zdalne terminale, co pozwala, by użytkownik pracujący w aplikacji clipperowskiej, korzystając z bezdyskowego terminalu, w rzeczywistości operacji dokonywał na zdalnej maszynie linuxowej.

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

FlagShip rozwija się dynamicznie. Planowana jest wersja z pełnym środowiskiem graficznym dla systemów X/Windows, wsparcie dla automatycznego "związywania" ze schematem relacyjnej bazy danych i pełna obsługa transakcji.

Laboratorium na Linuxie

Dobrym przykładem wyspecjalizowanego rozwiązania opartego na Linuxie jest system do obsługi laboratorium, utworzony przez firmę Linkor z Gliwic. Początkowo powstał on w FoxPro 2.6 dla DOS. Do ergonomicznego interfejsu zdążyli się przyzwyczaić pracownicy laboratorium. Rozwiązanie zostało przeniesione na Linuxa z zachowaniem istniejącego interfejsu, tak że użytkownicy praktycznie nie odczuli zmiany platformy.

Firma Linkor zdecydowała się na stworzenie własnych bibliotek, zapewniających "wizualną zgodność" z poprzednią wersją aplikacji. Z wykorzystaniem ncurses powstał zbiór procedur, który pozwalał "udawać" FoxPro. Samo rozwiązanie zostało niemal w całości przepisane. Jako motor bazy danych wybrano PostgresSQL. Podczas migracji danych z DBF na PostgresSQL wykorzystane były pewne skrypty w Perlu oraz prosta aplikacja dbf2sql, pozwalająca na podstawie zawartości pliku DBF utworzyć ciąg poleceń SQL.

Do obsługi urządzeń medycznych zastosowano terminale bezdyskowe - niezbędne elementy systemu operacyjnego pobierane były z serwera NFS. Pozwoliło to scentralizować zbieranie informacji o zdarzeniach. W efekcie na Linuxie działa rozwiązanie, które wystarcza do pełnej obsługi laboratorium - od rejestracji pacjentów czy zarządzania zleceniami badań, przez mechanizmy pobierające dane z aparatów pomiarowych, aż po wydruk wyników i fakturowanie.

Skalowalność

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

W świecie Windows, CORBA czy Javy, aby stworzyć skalowalną aplikację w architekturze trójwarstwowej, wystarczy podzielić program na małe komponenty, a następnie uruchomić je na odpowiednio wybranych serwerach aplikacyjnych. W ten sposób można zarówno skalować rozwiązania "w pionie", rozbudowując serwery, jak i "w poziomie", dostawiając węzły klastra. W przypadku Linuxa nie jest to takie proste.

Z jednej strony, Linux doskonale skaluje się pionowo. Każda aplikacja jest tak napisana, że może być kompilowana na wielu platformach. W ten sposób nawet w sytuacji, gdy nie można już fizycznie dodać nowego procesora, przenosi się rozwiązanie na sprzęt zupełnie innej klasy. Z drugiej strony, w wielu przypadkach trudno jest zapewnić skalowanie poziome, gdzie jedna aplikacja będzie działać na klastrze maszyn linuxowych. Jednakże dzięki temu, że klient dysponuje kodem źródłowym aplikacji, zazwyczaj możliwa jest modyfikacja oprogramowania. Powstała już w miarę stabilna wersja open source serwera aplikacji wspierającego standard CORBA.

Problemem w rozwiązaniach klastrowych jest zarządzanie i monitorowanie. Linux nie ma gotowych mechanizmów, które pozwalałby efektywnie kontrolować farmę serwerów. Advanced Cluster Control (7bulls) to propozycja narzędzia, które upraszcza zarządzanie klastrem złożonym. Administrator otrzymuje narzędzie, które wykonuje polecenia na wielu wybranych węzłach. Otwierany jest specjalny terminal, który przekazuje polecenia każdej maszynie lub wybranym maszynom. Jednocześnie ACC pozwala precyzyjnie monitorować pracę sieci i obciążenie poszczególnych komputerów. Nie dysponuje jednak możliwością przeniesienia obciążenia z jednego komputera na inny.

RAD?

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

Programy wspomagające pracę jednego lub kilku działów typowego przedsiębiorstwa cd

Tak długo, jak Linux nie stanie się popularnym systemem na komputerach "biurowych", narzędzia typu RAD dla tego systemu nie będą zbyt popularne. Obecnie dostępnych jest kilka pakietów, przyspieszających tworzenie interfejsu użytkownika.

Jedyny prawdziwy RAD to Kylix firmy Borland. To pakiet, który niemal w 100% jest zgodny z Delphi (niedostępne są mechanizmy ściśle związane z Windows). Dzięki niemu, przynajmniej teoretycznie, istniejące aplikacje napisane w Delphi można przenieść na Linuxa.

Innym typem programu jest Glade, który upraszcza projektowanie interfejsu w GTK+. Należy też dodać, że obecnie większość tworzonych rozwiązań ma interfejs oparty na serwerze WWW, a w takiej sytuacji ważniejsze jest posiadanie wygodnego edytora HTML niż pakietu RAD.