Citrix Metaframe

Widoki Ekranów

obrazekCo to jest Citrix?

Citrix jest zbiorem komercyjnego oprogramowania serwera produkowanego przez firmę Citrix Systems i umożliwiającego wielu użytkownikom uruchamianie aplikacji na odległym serwerze oraz współdziałać z nimi tak, jakby pracowały na komputerze użytkownika. Citrix udostępnia komputerom użytkowników interfejs graficzny aplikacji, dźwięk oraz zadania drukowania w sposób zupełnie przezroczysty i "płynny". Citrix jest bardzo popularny w kręgach wielkiego businessu.

Dlaczego ktoś miałby używać coś takiego? Powiedzmy na przykład, iż pewna aplikacja Windows do wprowadzania danych i tworzenia raportów łączy się w różnymi bazami danych i wykorzystuje kilka innych, uruchomionych aplikacji. Z aplikacji tej korzystają prawdopodobnie setki osób i instalowanie jej na każdym komputerze oraz ciągłe uaktualnianie jej składników może stać się koszmarem.

Co zatem zrobić? Można spędzić lata nad przeprojektowaniem jej na aplikację "sieciową", która nigdy nie będzie posiadała tej samej funkcjonalności i w kilku miejscach będzie wymagała wynalezienia koła od nowa, a wynik ostateczny stanie się bardziej podatny na błędy i w ostateczności trudniejszy do utrzymania. Zamiast tego można wyłożyć nieco pieniędzy i umieścić ją na serwerze Citrix (w zależności od wymaganego stopnia płynności pracy aplikacji można alternatywnie rozważyć opisane w następnym rozdziale Microsoft Terminals Services. Jeśli dana aplikacja pracuje w systemie unixowym, to opcję może stać się również X11 lub VNC).

Zalety:

Chociaż rozwiązania przetwarzania zdalnego w stylu Citrix kosztują pieniądze, to jednak na dłuższą metę mogą pieniądze zaoszczędzić.

Zmniejszają się koszty instalacji aplikacji. Wystarczy jedynie zainstalować oprogramowanie klienta Citrix na komputerze użytkownika. Klient Citrix jest prostą, małą i dobrze zachowującą się aplikacją. Eliminuje to tysiące spraw związanych z kompatybilnością mogące pojawić się przy instalacji złożonego oprogramowania na komputerach klienckich. Przy aktualizacji oprogramowania wystarczy tego dokonać na serwerze, nie występuje zatem potrzeba wysyłania personelu technicznego do setek lub być może tysięcy komputerów za każdym razem, gdy konieczne są uaktualnienia.

Można stosować tradycyjne, łatwe w użyciu, dojrzałe środowiska projektowe. Zamiast konieczności spędzenia dziesiątek tysięcy roboczogodzin pisząc i zarządzając raportami w HTML+CSS+JavaScirpt+Jakimś innym języku po stronie serwera, można po prostu przeciągać i upuszczać raporty do takich środowisk projektowych jak Crystal Reports, Oracle Forms Developer, Visual Basic, Power Builder, Delphi, Microsoft Access lub wielu, wielu innych.

Klienci mają swobodę w wyborze systemów operacyjnych działających na ich komputerach. Wystarczy na serwerze umieścić aplikację Windows, a następnie podłączyć się do niego komputerem Mac lub Solaris i uruchomić zdalnie na nich tę aplikację. Jeśli jakaś aplikacja nie wstrzymuje klientów, to mogą oni teraz wszyscy przejść na system Linux!

Nie ma potrzeby wykonywać drogich modernizacji sprzętu dla klientów. Stary IBM 486 z uruchomionym systemem Windows 95 i w miarę szybką kartą graficzną w zupełności wystarczy. Wszystkie żmudne obliczenia wykonuje potężny serwer.

Zaoszczędzenie pasma. Citrix (oraz Terminal Server) może w miarę dobrze pracować z modemem 56k. Serwer nie tylko wykonuje wszystkie czasochłonne obliczenia, lecz również wszelkie operacje sieciowe z innymi serwerami, np. serwerami baz danych. Zamiast ładowania ton informacji do klienta i przetwarzania ich na miejscu, dane są przesyłane do serwera aplikacji, przetwarzane tam, a wszystko co jest przesyłane z powrotem do klienta to obraz graficzny z wynikami.

Do aplikacji można podłączyć się z dowolnego miejsca. Zwykle w środowisku zakładowym ograniczone jest to do wewnętrznej sieci, lecz Citrix może pracować równie dobrze poprzez Internet.

obrazek

To jest klient Citrix pracujący w Windows 9x/ME/NT/2000/XP, a istnieją także wersje dla Windows 3.1, Macintosh OS X - klasycznego PPC i 68k MacOS, DOS, OS/2, Java, Linux, Solaris i innych systemów Unix.

Klient Citrix posiada możliwość połączenia się z serwerem za pomocą wielu różnych protokołów. Obsługuje on połączenia przez HTTP, HTTP z SSH, TCP/IP, IPX/SPX i NetBUI.

Aplikację dostępne na serwerze Citrix są "opublikowane" dla klienta. Powoduje to utworzenie ikony każdej dostępnej aplikacji w katalogu "Program Neighborhood" (otoczenie programowe), którą użytkownik może wykorzystywać do uruchomienia każdej aplikacji.

W systemie Windows ikony te można nawet przeciągnąć na pulpit, co jeszcze bardziej ułatwia uruchamianie aplikacji.

obrazek
W czasie łączenia z serwerem użytkownik musi się zalogować. W tym przypadku autoryzacja dostępu wykorzystuje domenę Windows NT/AD oraz  nazwę konta użytkownika i hasło.
obrazek

Citrix może uruchamiać prawie wszystkie aplikacje, które w naturalny sposób dadzą się uruchomić na serwerze. Oprogramowanie serwera - Citrix MetaFrame - dostępne jest dla Microsoft Windows NT/2000/2003 Server (wydania Terminal Server) oraz Sun Solaris.

W przypadku serwera Windows aplikacja musi obsługiwać środowisko wielodostępne. Citrix i Terminal Services zmieniają Windows w wielodostępny system operacyjny. Tradycyjnie Windows jest systemem o pojedynczym dostępie i niektóre aplikacje mogą się w tym pogubić. jeśli więcej niż jedna ich kopia zostanie uruchomiona.

W tym przykładzie po prostu został uruchomiony notatnik, lecz Citrix zwykle używa się do obsługi złożonych aplikacji dla dużych baz danych.

Na prezentowanych zrzutach ekranów trudno pokazać wielodostępność systemu Citrix, lecz w czasie ich wykonywania na tym samym serwerze pracowało wielu innych użytkowników korzystając z niektórych tych samych aplikacji, wprowadzając dane i drukując raporty. Cokolwiek by nie robili, nie było to zupełnie widoczne dla mojej sesji użytkownika i na odwrót (chociaż administrator ma możliwość podglądu tego, co robi inny użytkownik).

Zdalna aplikacja, łącznie z paskiem tytułowym, wykorzystuje schemat koloru oraz wygląd ustawione na serwerze. Na tych zrzutach ekranów zdalne aplikacje są szare, a lokalne wykorzystują brązowy schemat kolorów.

obrazek

Jednocześnie może być uruchomione kilka okien zdalnych aplikacji.

Zwróć uwagę, iż dla każdego zdalnego okna pojawia się ikona paska zadań na lokalnym pasku zadań. Chociaż zdalne aplikacje nie pracują na lokalnym komputerze, cecha ta pomaga zapewnić odpowiedni poziom płynności oraz ułatwia pracę z każdym oknem.

obrazek
Oprogramowanie serwera Citrix MetaFrame (dla Windows) pracuje na szczycie Microsoft Terminal Server będącego w pewnym sensie podzbiorem Citrix, a niektóre fragmenty Terminal Server były nawet napisane przez Citrix dla Microsoft.
obrazek

W Windows Citrix pracuje przechwytując wywołania GDI (Graphical Device Interface - graficzny interfejs urządzenia) pochodzące z aplikacji Windows pracującej na serwerze. Wywołania te zostają następnie przetłumaczone w polecenia rysowania przesyłane siecią do klienta.

Bity grafiki do narysowania są przechwytywane wysyłane jako "glify" lub fragmenty obrazków, które można razem połączyć oraz często wykorzystać ponownie i zachować na komputerze klienta. Jeśli taki sam obrazek pojawia się na ekranie, nie ma potrzeby ponownego przesłania grafiki. Daje to widok aplikacji w Cirix prawie tak samo efektywny, jak strona WWW.

Wywołania multimedialne są widocznie również przechwytywane, co umożliwia odtwarzanie dźwięków przez zdalną aplikację na komputerze klienta.

Chociaż Citrix może wykorzystywać między innymi protokół HTTP, to nie jest aplikacją sieciową lub aplikacją opartą na przeglądarce sieciowej. W rzeczywistości nie potrzebuje on żadnej przeglądarki.

obrazek

Jedną z najwspanialszych cech systemu Citrix jest to, iż zadania drukowania są wykonywane tak, jakby odbywały się na komputerze użytkownika.

Gdy klient Citrix łączy się z serwerem, to "automatycznie tworzy" drukarki na serwerze dla każdej lokalnej lub lokalnie przydzielonej drukarki. Gdy wykonuje się wydruk do jednej z tych drukarek, serwer tworzy zadanie wydruku wykorzystując swoje sterowniki, a następnie wynik jest przesyłany do komputera użytkownika do ustawienia w kolejce wydruku.

Może się wydawać, iż ten sposób działania jest mało efektywny, lecz zwykle jest dosyć szybki, nawet przez wolne łącze.

W przypadku, gdy na serwerze nie został zainstalowany sterownik danej drukarki użytkownika, można wykorzystać sterownik standardowy.

obrazek

Za pomocą tej metody drukowania możliwe staje się drukowanie skomplikowanych, szczegółowych formularzy i otrzymywanie poprawnych kopii zgodnie z życzeniami użytkowników.

Po stronie klienta nie ma żadnej interpretacji. Zadanie wydruku wykonane zostaje dokładnie tak, jak zlecił serwer. Na przykład w raportach mogą występować czcionki specyficzne czcionki. Ponieważ zadanie wydruku zostaje utworzone na serwerze, to czcionki te muszą jedynie być zainstalowane na serwerze. Nie ma znaczenia, jak są skonfigurowane komputery klientów.

Istnieje również możliwość uzyskania dostępu do opcji eksportu do wszelkich, obsługiwanych przez aplikację środowisk programowania. W powyższym przykładzie (moduł Oracle Reports Runtime) można wyeksportować ten raport do przeróżnych formatów.

Należy jednakże zwrócić uwagę na to, iż uruchomiwszy zdalnie aplikacje na serwerze będą one zapisywały dane na dysku serwera zamiast na dysku komputera użytkownika. Można temu zaradzić zapisując dane do katalogu domowego lub do dysku sieciowego.

obrazek
Inny przykład aplikacji pracującej poprzez Citrix. Acrobat Reader znany jest z umiejętności wydrukowania dokumentu zgodnie z jego widokiem na ekranie. Opcja ta w Citrix działa również doskonale.
obrazek
Ponieważ interfejs użytkownika zachowuje się dokładnie tak samo jak interfejs na serwerze, jest możliwe stworzenie skomplikowanych lub szczegółowych formularzy do wprowadzania i wyświetlania danych, co nie jest możliwe w przeglądarce sieciowej.
obrazek

W rzeczywistości w Citrix mogą być uruchamiane nawet przeglądarki sieci.

Jeśli popełniłeś durną pomyłkę tworząc aplikację opartą jedynie na IE, z łatwością możesz poprzez Citrix lub Terminal Services zaserwować ją innym klientom nie posiadającym systemu Windows, klientom ze starszym Windows lub nawet nowym klientom, gdzie IE jest dostępny.

obrazek

W pewnym sensie Citrix (i Terminal Services) oczyszczają całą sieć z niekompatybilności programowo sprzętowych.

Za każdym razem gdy pojawia się nowa przeglądarka, aplikacja sieciowa wymaga przepisania od nowa, aby sprawnie pracowała z funkcjami nowej wersji, co z kolei pociąga za sobą niekompatybilność dla starszych przeglądarek. Dzięki Citrix (i Terminal Services) wystarczy jedynie wymagać, aby pracowała na serwerze.

obrazek

Na koniec, chociaż aplikacje pracują zwykle bez zgrzytów poprzez Citrix, jest możliwe uruchomienie Citrix w trybie pełno ekranowym z pomocą umieszczoną na pulpicie.

Zwykle pożądane jest uruchomienie jedynie aplikacji bez powłoki pulpitu Windows, jeśli da się tego uniknąć. Każda kopia powłoki pulpitu Windows zabiera cenną pamięć oraz inne zasoby (szczególnie w przypadku korzystania z powłoki "zintegrowanego" IE).

obrazek obrazek obrazek

obrazek

Tłumaczenie na język polski dla I LO w Tarnowie zostało wykonane za pisemną zgodą Nathana Linebacka z oryginalnej witryny internetowej Graphical User Interfaces
Tłumaczenie z języka angielskiego wykonał: mgr Jerzy Wałaszek

obrazek