Linux w firmie
- Tomasz Kopacz,
- 24.09.2001
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
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 serwera FTP. 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 serwer HTTP, 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
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
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
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
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
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.