QBS >> Q-Line 3000 Szybki Start >> Klient na końcówkach Chcę zapytać

Klient na końcówkach

Czas ćwiczenia:
  40 min.
Cel:
  Zainstalowanie programu
  Q-Szkielet 3000 w sieci komputerów
Kroki:
  Przygotowanie programu do pracy z serwerem
  Uruchomienie programu Q-Szkielet 3000

Wersja sieciowa (metoda "Klient na końcówkach")

"Łańcuch jest tak mocny jak jego najsłabsze ogniwo" - o tym każdy wie - jeżeli chodzi o niezawodność i sprawność programu sieciowego to najważniejszym elementem tego systemu jest komputer, na którym uruchamiamy serwer baz danych Q-SEP! Powinien to być najlepszy, najszybszy i najbardziej niezawodny komputer, którym Państwo dysponują.

Aby program Q-Szkielet 3000 mógł pracować z serwerem Q-Sep należy dokonać pewnych zmian w pliku konfiguracyjnym qline.txt. Plik ten znajduje się w katalogu głównym programu w przypadku naszej instalacji jest to katalog "c:/qbs/q-szkielet 3000/". Są tam dwie linijki, które nas interesują.

    record
    {
    Sep = record
    {
        Host = "adres IP naszego serwera";
        Port = 2507;
//      Host = "localhost" ;
    };


    Application = record
    {

        Modules = recordarray
        {
              MODULE,       QCON,                      TRIGGER_SET;//,    TRANSLATION_FILE;
              "LARRANGER",  null,                      "qline.labelsarranger.LabelsArrangerTrigger";
              "QTENBERG",   "qtenberg/qtenberg.qcon",  "qline.qtenberg.QtTrigger";
              "QLINE",      null,                      "qline.export.ExportTrigger";
              "QLINE",      null,                      "qline.misc.TextImporterTrigger";
              "QLINE",      null,                      "qline.qlicense.LicenseTrigger";
              "QLINE",      null,                      "qline.misc.ColorMaskSelectorTrigger";
              "QLINE",      null,                      "qline.tools.TriggerNarrowBrowser";
              "QLINE",      null,                      "qline.backup.triggers.BackupTrigger";
              "QLINE",      null,                      "qline.misc.GroupStatisticsTrigger";
             //------------------------------------------------------------------------------------------------
              "QSZKIELET",          "qcon/struct.qcon",          null;

        };
        Title = "Q-Szkielet 3000";
        BackgroundImage="pic/Qbslogo.jpg";
        DateEditFormat="YYYY.MM.DD";
        DefaultHtmlViewer = "explorer";
        BrowserColumns = "true";
    };

Po zmianach w naszym pliku należy przekopiować katalog dat z katalogu głównego programu do katalogu z serwerem (c:/qbs/q-sep/). Wszystkie istniejące pliki należy nadpisać. Katalog dat z katalogu programu możemy już usunąć, nasze dane znajdują się teraz w katalogu z serwerem.

Można teraz sprawdzić czy poprawnie wykonaliśmy powyższe zmiany. Uruchamiamy serwer baz danych (plik sep.exe) oraz nasz zmodyfikowany program (plik q.bat). Jeżeli wystąpią problemy to proszę jeszcze raz sprawdzić poprawność wykonanych czynności z podanym powyżej opisem. Można także podejrzeć plik out.txt w katalogu głównym programu w celu identyfikacji błędów.

Jeżeli program uruchomił się bez problemów to możemy umieścić zmodyfikowaną wersje Q-Szkielet 3000 na innych komputerach w sieci. Najprostrzym sposobem na wykonanie tego zadania jest przekopiowanie całego katalogu q-szkielet-3000 na inne koputery w sieci. Najlepiej do katalogu "c:/qbs/", który trzeba utworzyć na każdym z komputerów. W ten oto sposób powstała sieciowa wersja programu Q-Szkielet 3000

Uwaga! Czasami serwer musi w wyniku jakiegoś zlecenia założyć nowe uporządkowanie na bazie danych, wtedy przy większej ilości danych może być obserwowalne chwilowe zwolnienie pracy aplikacji.

Dystrybucja nowego klienta z serwera na końcówki

W instalacjach obsługujących dużą liczbę komputerów-końcówek zachodzi potrzeba szybkiej instalacji nowych wersji klientów. System automatycznej dystrybucji działa w sposób następujący:

Na serwerze zainstalowny jest linux/samba, na nim dysk Q:
Wszyskie stacje robocze mają na pulpicie link do Q:/QBS-costam/q.bat

Upgrade robi sie tak:

  1. wgranie nowego spakowanego klienta przez scp/ftp na serwer
  2. uruchomienie na serwerze skryptu, ktory w przyblizeniu:
    1. kasuje q.bat
    2. restartuje sep-a (linuksowego), zeby odlaczyc klientow
    3. robi quietbackup starym klientem (odpalanym na serwerze)
    4. kladzie sep-a
    5. rozpakowuje klienta u siebie
    6. podmienia config.qsr, czysci dat-y
    7. podnosi sep-a
    8. robi quietrestore (wazne, zeby pilnowac data_versions.cfg!)
    9. tworzy nowy q.bat, ktory wie, ze zostala wgrana nowa wersja i trzeba ja sciagnac na dysk lokalny (rozpoznaje to przy pomocy dos-owego IF EXIST ...).
  3. i gotowe!
Ściąganie nowej wersji odbywa się przez http (skrypt udostepnia też wgranego klienta w apache-u). Ale jest to pozostalość po sieci radiowej. Przy sieci kablowej można całego klienta odpalać po sieci, po prostu lokalna instalacja klienta na serwerze (potrzebna m.in. do QuietBackup) = instalacja klienta na dysku Q. Czyli skrypt upgrade-u powinien:
  1. zniszczyc skrypt startowy q.bat (zmienic nazwe itp.), zeby czasowo odciac klientow
  2. restart sep-a
  3. quietbackup
  4. podmiana config.qsr, czyszczenie dat-ow
  5. quietrestore
  6. odtworzenie q.bat
Z bajerow - dodatkowo na serwerze uruchomiony jest NTP, a q.bat przed uruchomieniem javy synchronizuje zegar klienta z serwerem (wazne w zastosowaniach medycznych). Poza tym, q.bat potrafi sciagnac z serwera takze jave, jesli nie widac jej lokalnie (czyli instalacja nowego stanowiska = stworzenie i uruchomienie skrotu do q.bat). Ale przy kablowce takze java moze byc na dysku sieciowym