QS-Terminal 3000 Prezentacja rozwiązania oraz aspekty techniczne Łukasz Kosson.

Slides:



Advertisements
Podobne prezentacje
Procedura instalacji systemu Linux
Advertisements

Video DR-S Cyfrowy rejestrator wideo
Marcin Piotrowski. Najpopularniejszymi darmowymi przeglądarkami są Internet Explorer, Opera, Mozilla Firefox, Google Chrome.
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Podstawowe pojęcia programowania współbieżnego
Instytut Informatyki, Automatyki i Robotyki
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
IC Sklep nowy program dla Twojego sklepu dla Twojego warsztatu.
Budowa Sewera i Klienta opartego na protokole udp
Rozszerzalność systemów rozproszonych
Microsoft Professional Developer Days 2004
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
Mateusz Srebrny 15 grudnia 2003 Motif, okienka i obiekty Mateusz Srebrny 15 grudnia 2003.
Architektura systemu Gra strategiczna „Strusia Jama”
E ASY R EMOTE T ERMINAL C ONTROLER ERTC. C EL PRODUKTU ERTC jest to aplikacja, która umożliwia bezpośrednią pracę na zdalnym komputerze. Dzięki niej można.
Internet Communication Engine
SSL - założenia i realizacja Prezentacja na potrzeby projektu E-Bazar Grupa R&D.
WITAM NA SZKOLENIU Porady na dziś i jutro.
SSL - protokół bezpiecznych transmisji internetowych
Systemy mobilne i komunikacja bezprzewodowa Ćwiczenie 1 Jarosław Kurek WZIM SGGW 1.
Obsługa serwera zdalnego przez klienta FTP
Protokoły sieciowe.
Systemy operacyjne Bibliografia:
Proxy WWW cache Prowadzący: mgr Marek Kopel
Piotr Doskocz Aleksandra Lechki Krzysztof Lewicki
Proxy (WWW cache) Sieci Komputerowe
Longhorn - Usługi terminalowe
Artur Szmigiel Paweł Zarębski Kl. III i
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Lekkie metodologie wytwarzania oprogramowania Raport z gry planistycznej Jakub Nowak Przemysław Warzyński.
Inżynieria Oprogramowania
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Łukasz Sobczak. 1)Co to jest Office 2010 Web Apps 2)SharePoint 2010 a narzędzia pakietu office 3)Integracja Office Web Apps z SharePoint )Problemy.
Przygotował: Mariusz Witulski
Główne cechy systemu Integracja z systemem RCP Przejrzysty moduł raportowania pozwalający wyświetlać zarejestrowane zdjęcia wraz z raportem czasu pracy.
Jerzy Jelinek Paweł Korpowski
Projekt jest współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.
Prezentacja Adrian Pyza 4i.
Metody zabezpieczania transmisji w sieci Ethernet
Budowa komputera.
Sieci komputerowe.
Sieciowe Systemy Operacyjne
Konfiguracja systemu Windows
System synchronizacji oraz współdzielenia plików pomiędzy wieloma użytkownikami oraz urządzeniami poprzez sieć Internet Rafał Olszewski Promotor: Mgr inż.
S IMON SAYS … A RCHITECTURE ! Usługi zdalne Technologie, techniki i praktyki implementacji.
Sieci komputerowe.
Narzędzie wspierające zarządzanie organizacj Parentis Sp. z o. o
W W W Łukasz Stochniał.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Podstawy języka skryptów
Grafika rastrowa - parametry
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Informatyka Zakres rozszerzony Zebrał i opracował : Maciej Belcarz TEMAT : Administracja i bezpieczeństwosieci TEMAT : Administracja i bezpieczeństwosieci.
Model warstwowy ISO-OSI
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” Marta Szcześniak.
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Usługa e-Załączniki Automatyzacja usługi - nowy kanał komunikacyjny Izba Celna w Białej Podlaskiej Prezentuje Leszek Krasa Biała Podlaska, dn r.
Maciej Wierzchowski Mariusz Sołtysiak. Założenia  Autentykacja użytkownia  Autentykacja dostawcy  Zapewnienie bezpiecznego połączenia.
Interfejs użytkownika „No matter how cool your interface is, less of it would be better”
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Procedura instalacji Linuksa. Z serwera pobieramy obraz płyty. Nagrywamy obraz na płytę. Sprawdzamy ustawienia w BIOS – podczas uruchamiania systemu napęd.
INSTALACJA XAMPP Dr inż. Andrzej KIJ.
materiały dla uczestników
AudaPad / AudaShare AudaShare PRO (2.8)
Sieci komputerowe Usługi sieciowe 27/09/2002.
Zapis prezentacji:

QS-Terminal 3000 Prezentacja rozwiązania oraz aspekty techniczne Łukasz Kosson

Plan prezentacji O rozwiązaniu: Co? Po co? Dla kogo? Wnętrzności: Komunikacja Grafika Wydajność

Co to jest? Rozszerzenie do istniejących aplikacji Q-Line Dostosowane do SCMa. Rozwiązanie nieinwazyjne. Jak ViaNet, ale: Wymaga małego programu klienckiego Nie wymaga zmian w aplikacji Wygodniejsza obsługa Większe wymagania co do serwera

Co to potrafi? Tunelowanie zdarzeń i grafiki. Tunelowanie wydruków. Całkowita niezależność klienta od Q-Line Bardzo mały rozmiar klienta (~30kb)

Do czego się może przydać? Praca z domu. Stacje robocze bezdyskowe. Wersja demo jako applet.

Architektura Elementy systemu: Klienty Serwer proxy Serwery aplikacji

Architektura Założenia: Klienty i serwery łączą się z serwerem proxy. Jeden fizyczny serwer aplikacji może uruchomić dowolną ilość instancji dowolnego programu. Klienty i serwery mogą się łączyć przez dowolną sieć.

Architektura

W praktyce: Serwery aplikacji i serwer proxy są uruchomione na tej samej fizycznej maszynie. Klienty łączą się przez Internet.

Architektura – w praktyce

Technikalia Protokół Bezpieczeństwo Drukowanie Wydajność

Protokół Komunikacja TCP. Własne mechanizmy serializacji. Grupowanie komunikatów. Kompresja GZIP w locie.

Komunikacja TCP Jedno połączenie = jedna sesja. Algorytm Naglea. Selectory i NIO w Javie.

Bezpieczeństwo Handshake z proxy. Identyfikator klienta. Klucz prywatny (wspólny). Klucz sesyjny. Kodowanie.

Bezpieczeństwo – handshake

Bezpieczeństwo Za wyjątkiem pierwszego komunikatu, cała komunikacja jest szyfrowana. Szyfrowanie strumieniowe LFSR. Wymogi czasowe na handshake. Błąd protokołu = rozłączenie. W przypadku kradzieży klucza, można łatwo zablokować dostęp. Wymuszenie uczciwości (licencje).

Serializacja Zwykła. Operuje na prymitywach i tablicach. Obcinanie wartości: (int)10 = (byte)10 (long)255 = (short)255

Grafika Jak to działa w SCM? Komponent zgłasza NeedPaint Root dodaje zgłoszony obszar do obszaru do odrysowania. Worker thread rozpoczyna rysowanie zgłoszonego obszaru. Po zakończeniu odrysowania, w miejsce zgłoszonego obszaru jest wstawiana nowa wartość. Rysowanie realizowane do backbuffera.

Grafika Pomysł: Stwórzymy własnego qline.scm.Graphics, który zamiast rysować, będzie wysyłał informacje o operacjach do klienta. Klient u siebie będzie wykonywał stosowne operacje tak, jak ScreenGraphics do tej pory.

Grafika Sytuacja: Oglądam RecEdit. StringEdit co 0.5 sekundy miga kursorem. Idzie NeedPaint do RootComponenta z prośbą o odrysowanie obszaru o rozmiarze 2x15 px.

Grafika Sytuacja: Oglądam RecEdit. StringEdit co 0.5 sekundy miga kursorem. Idzie NeedPaint do RootComponenta z prośbą o odrysowanie obszaru o rozmiarze 2x15 px. Problem: Jakie operacje graficzne powinienem przesłać?

Grafika Możliwości: Wszystko jak leci. Tylko to, co pokrywa się z odrysowanym obszarem. Tylko to, co ma wpływ na wynikowy obraz.

Grafika Możliwości: Wszystko jak leci. Tylko to, co pokrywa się z odrysowanym obszarem. Tylko to, co ma wpływ na wynikowy obraz. Pomysł: Połączenie powyższych metod

Grafika Rozwiązanie: Na początku rysowania tworzymy bitmapę o rozmiarze takim, jak rysowany obszar. Dla każdej operacji sprawdzamy, czy jej kawałek pokrywa się z rysowanym obszarem. Jeśli nie, to ją pomijamy. Wykonujemy operację na bitmapie, ale innym (unikalnym) kolorem. Zapisujemy wykonaną operację na liście wraz z informacją o oryginalnym kolorze, czcionce, clippingu i kolorze użytym powyżej.

Grafika Rozwiązanie, cd: Po zakończeniu rysowania sprawdzamy, jakie kolory znalazły się na bitmapie. Odtwarzamy operacje z listy i filtrujemy te, których koloru nie znaleźliśmy na bitmapie. Efekt: Mamy listę operacji, które faktycznie mają wpływ na wynikowy obraz. Dla każdej z nich budujemy komunikat. Wszystkie komunikaty sklejamy w jeden duży, kompresujemy i wysyłamy.

Drukowanie Idea: Przecież drukowanie to takie rysowanie, ale na karce a nie na monitorze. Rozwiązanie: Wykorzystujemy tę samą klasę, co do rysowania po ekranie. Problemy: Co z okienkiem, które prosi o wybranie drukarki, papieru, itp? Nie możemy jednocześnie rysować i drukować.

Drukowanie Idea: Przecież drukowanie to takie rysowanie, ale na karce a nie na monitorze. Rozwiązanie: Wykorzystujemy tę samą klasę, co do rysowania po ekranie. Problemy: Co z okienkiem, które prosi o wybranie drukarki, papieru, itp? Wyświetlamy je modalnie po stronie klienta i przesyłamy odpowiedź. Nie możemy jednocześnie rysować i drukować. Przecież nie chcemy jednocześnie rysować i drukować!

Wydajność Ekran statyczny (browser, menu, podgląd wydruku)0 kb/s RecEdit, migający kursor0,1 kb/s Bardzo szybkie wpisywanie tekstu3 kb/s Chodzenie po browserze3 kb/s Skakanie po browserze8 kb/s Skakanie po aplikacji, zmiana layoutu10 kb/s Otwarcie RecEdita, Browsera, podglądu wydruku~ 20kb Drukowanie~ 10kb / str. Opóźnienie w komunikacji~ 5 ms Opóźnienie w komunikacji (kompresja i łączenie wiadomości)~ 50 ms

Wydajność Konfiguracja: Przesyłanie obrazków. Kompresja obrazków. Z-buforowanie. Pomijanie mało istotnych operacji. Kompresja danych. Opóźnienie wysyłania zdarzeń od klienta.

Czas Bo wielu się pytało – ile czasu to zajęło: Proof of concept, ~ 5h Działająca alfa, ~ 10h Debugowanie, ~ 20h Serwer proxy, ~ 10h Bezpieczeństwo, ~ 2h Wydruki, ~ 5h Podłączenie drugiej aplikacji, ~ 5 min