Dokumentacja aplikacji Szachy online



Podobne dokumenty
Dokumentacja projektu Makao karciana gra sieciowa

Dokumentacja techniczna

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

Referat pracy dyplomowej

System zarządzający grami programistycznymi Meridius

Dokumentacja projektu QUAIKE Architektura oprogramowania

Java jako język programowania

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Opis systemu CitectFacilities. (nadrzędny system sterowania i kontroli procesu technologicznego)

Praca magisterska Jakub Reczycki. Opiekun : dr inż. Jacek Rumiński. Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska

Tomasz Greszata - Koszalin

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Propozycje projektów (gniazdka)

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

REFERAT PRACY DYPLOMOWEJ

Przypadki testowe. Spis treści. Plan testów. From Sęp. Wstęp. 2 Plan testów

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Komunikator internetowy w C#

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

DHL CAS ORACLE Wymagania oraz instalacja

Programowanie obiektowe

IO - SAD. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Instrukcja instalacji usługi Sygnity SmsService

ERP CONNECTOR V1.0 INSTRUKCJA INSTALACJI ORAZ KONFIURACJI. Wersja dokumentu 1.4

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

SYSTEM VILM ZARZĄDZANIE CYKLEM ŻYCIA ŚRODOWISK WIRTUALNYCH. tel: +48 (032)

REFERAT O PRACY DYPLOMOWEJ

Forum Client - Spring in Swing

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

Instrukcja instalacji usługi Sygnity SmsService

Referat pracy dyplomowej

REFERAT PRACY DYPLOMOWEJ

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą

AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

EXSO-CORE - specyfikacja

Instrukcja instalacji v2.0 Easy Service Manager

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Działanie komputera i sieci komputerowej.

OpenLaszlo. OpenLaszlo

REFERAT PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 8

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

OPROGRAMOWANIE KEMAS zbudowane jest na platformie KEMAS NET

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

SKRó CONA INSTRUKCJA OBSŁUGI

12. Wirtualne sieci prywatne (VPN)

System epon Dokumentacja użytkownika

Instalacja Wirtualnego Serwera Egzaminacyjnego

Szczegółowy opis przedmiotu zamówienia

Najczęściej zadawane pytania dotyczące usługi Wideo Doradca Aktualizacja:

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

1 Podstawowe informacje 2. 2 Tworzenie gry Rejestracja do gry Lista gier 7. 4 Gry Archiwalne 8. 5 Lista Graczy 9

Połączenie VPN Host-LAN SSL z wykorzystaniem przeglądarki. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Konto SSL 1.3. Grupa użytkowników

Biuletyn techniczny. CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych. Copyright 2007 COMARCH SA

Panel Administracyjny Spis treści:

Praca w sieci równorzędnej

TECHNOLOGIE INFORMACYJNE

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

POLITYKA PRYWATNOŚCI SERWIS:

CHARAKTERYSTYKA ROZWIĄZANIA

Luxriot VMS. Dawid Adamczyk

Uwaga!!! Autentykacja LDAP/AD zaimplementowana w Vigor wspiera tylko proste uwierzytelnianie (hasło przesyłane jest jawnym tekstem).

Akademia Techniczno-Humanistyczna w Bielsku-Białej

AKTUALIZACJA AUTOMATYCZNA: TRYB ONLINE (Przykład: WINDOWS 7-32 bits):

Jakie nowości i udogodnienia niesie za sobą przejście do Sidoma 8, część z tych różnic znajdziecie Państwo w tabeli poniżej.

Jak wykorzystać Pulpit Zdalny w Windows 2003 Serwer do pracy z programem FAKT

System Obsługi Wniosków

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Przewodnik Google Cloud Print

Informacje ogólne o projekcie

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

INSTRUKCJA KORZYSTANIA Z APLIKACJI

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Strona wizytówka od 400 zł

Czym jest technologia Bluetooth?

Unikupon PC. Sprzedaż doładowań bezpośrednich z komputera

Usługi sieciowe systemu Linux

OFERTA NA SYSTEM LIVE STREAMING

Elektroniczna Ewidencja Materiałów Wybuchowych

Referat Pracy Dyplomowej

1. Zakres modernizacji Active Directory

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Programowanie Komponentowe WebAPI

Referat pracy dyplomowej

Połączenie VPN aplikacji SSL. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Profile aplikacji SSL 1.3. Konto SSL 1.4. Grupa użytkowników

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

Transkrypt:

Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja aplikacji Szachy online Spis treści: 1. Wstęp. Przedmiot projektu. 2. Wykorzystane technologie i środowisko. 3. Wymagania sprzętowe i programowe. 4. Aplikacja serwera. 5. Aplikacja klienta. str. 1

1. Wstęp. Przedmiot projektu. Przedmiotem projektu z przedmiotu Technologie Internetowe było stworzenie aplikacji internetowej napisanej w języku Java. Głównymi założeniami było m.in. to iż ma to być aplikacja typu klient-serwer. Stworzyliśmy zatem grę internetową umożliwiającą rozgrywki szachowe oraz prowadzenie rozmów pomiędzy klientami za pośrednictwem serwerowego czatu. 2. Wykorzystane technologie i środowisko. Szachy online stworzone zostały w Javie z wykorzystaniem kilku niezbędnych technologii i mechanizmów takich jak: - wbudowane w NetBeansa biblioteki umożliwiające połączenie za pomocą protokołu TCP/IP - sterownik JDBC dla Javy umożliwił nam łatwe połączenie z lokalną bazą danych (więcej informacji pod adresem http://www.mysql.com/products/connector/) - biblioteki Secure inet Factory wykorzystane przez nas do wysyłania maili za pośrednictwem serwera gmail (więcej informacji można znaleźć na http://www.jscape.com/secureinetfactory/download.html); - biblioteki graficzne Java Swing wykorzystaliśmy je do stworzenia aplikacji klienckiej Naszym głównym środowiskiem pracy było chyba najpopularniejsze IDE Javy jakim jest NetBeans. Jest to projekt otwartego oprogramowania umożliwiający komfortowe i efektywne tworzenie aplikacji, szczególnie tych nastawionych na komunikację internetową oraz rozwiązania mobilne. Więcej informacji na temat NetBeansa można znaleźć na stronie projektu pod adresem: http://netbeans.org/index.html 3. Wymagania sprzętowe i programowe. Całość napisana została w języku Java, stworzonym przez Sun Microsystems, a której obecnym właścicielem jest Oracle Corporation. W związku ze specyfiką tego języka, nasza gra jest w pełni przenośna pomiędzy różnymi systemami operacyjnymi. Ma to również swoje złe strony aplikacje uruchamiane są za pośrednictwem tzn. wirtualnej maszyny Javy czego konsekwencjami są oddanie użytkownikom do dyspozycji języka obiektowego wysokiego poziomu, który nie jest bezpośrednio kompilowany do źródeł binarnych. Skutkuje to zatem stosunkowo wysokim apetytem aplikacji na zasoby sprzętowe. Zalecanymi przez nas wymaganiami sprzętowymi i programowymi, zapewniającymi bezproblemową obsługę serwera i płynną rozgrywkę za pomocą klienta są: - system operacyjny z zainstalowaną wirtualną maszyną Javy - w przypadku klienta przeglądarka obsługująca aplety Javy - niemalże dowolny procesor o wydajności odpowiadającej minimum P4 1.8GHz - pamięć operacyjna większa niż 1GB - szerokopasmowy dostęp do Internetu w przypadku aplikacji serwera Wszelkie informacje na temat Javy oraz najnowsze wersje wirtualnej maszyny można znaleźć pod adresem: http://www.oracle.com/us/technologies/java/index.html. str. 2

4. Aplikacja serwera. Zadaniem serwera gry Szachy online, na wzór innych aplikacji o podobnym profilu, jest szeroko pojęta obsługa klientów do niego podłączonych. Główny nacisk w naszej aplikacji położyliśmy na rozbudowę funkcjonalności serwera o mechanizmy umożliwiające swobodną komunikację użytkowników oraz prowadzenie jednocześnie wielu gier. Serwer jest zatem aplikacją wielowątkową a do jej głównych zadań należą: - udostępnianie mechanizmu nawiązywania połączeń - implementacja przynajmniej podstawowych mechanizmów diagnostycznych związanych z połączeniem z klientami - zapewnienie mechanizmów obsługi serwera (podgląd stanu serwera, zarządzanie użytkownikami itd.) - zapewnienie sobie bezpośredniego dostępu do bazy danych przechowujących dane użytkowników oraz statystyki - umożliwienie prowadzenia pojedynku szachowego - weryfikacja wykonywanych przez graczy ruchów - udostępnienie funkcji czatu graczom oraz klientom oczekującym na grę - prowadzenie prostych statystyk wśród zarejestrowanych graczy - obsługa wszelkich żądań klientów związanych z grą i innymi działaniami Serwer jest typowo konsolową aplikacją (większość dedykowanych serwerów gry ze względu na minimalizację wymagań sprzętowych udostępnia tylko tekstowy interfejs). Jego funkcje zostały rozdzielone na kilka niezależnych wątków, które w razie potrzeby modyfikują określone zasoby. Przybliżona struktura serwera prezentuje się następująco: - MainServerThread nadrzędny wątek startujący serwer; uruchamia on konsole, zapewnia obsługę jej komend oraz uruchamia pozostałe wątki serwera - ConnectionThread wątek przyjmujący połączenia klientów; po nawiązaniu połączenia przekazuje odpowiednie obiekty do obsługi przez inne wątki - LobbyThread wątek lobby do którego przekierowywani są wszyscy pomyślnie zalogowani użytkownicy; zapewnia obsługę najważniejszych akcji jak logowanie i rejestracja oraz komunikacja - PingSenderThread wątek na bieżąco testujący połączenia z klientami - ChessGameThread wątek tworzony dla każdej dwójki graczy Taka architektura serwera pozwoliła nam na stworzenie systemu, w którym większość akcji mogła zostać rozsynchronizowana niezależnie od ilości graczy i prowadzonych gier. Obsługa serwera z wiersza poleceń ogranicza się do kilku podstawowych funkcji jak zarządzanie użytkownikami, grami, logami oraz wysyłanie wiadomości. Wszystkie dostępne polecenia konsoli dostępne są po wpisaniu komendy help. Przykładowe wywołanie komendy konsoli: str. 3

5. Aplikacja klienta. Aplikacja klienta, zgodnie z wytycznymi projektu, stworzona została w formie apletu uruchamianego w przeglądarce klienta. Podstawowymi funkcjami klienta jest: - łączenie się z serwerem poprzez TCP/IP - udostępnienie pełnej obsługi użytkownika rejestracja, logowanie, resetowanie hasła oraz zmiana obecnych danych - możliwość tworzenia gier oraz komunikowania się z innymi użytkownikami - kontrola poprawności wykonywanych przez gracza ruchów Uruchomiony aplet prezentuje się następująco: str. 4

Po uruchomieniu użytkownika wita ekran w którym może dokonać rejestracji, logowania lub resetu hasła. Po zalogowaniu, oczom użytkownika prezentuje się lobby: Za jego pomocą klient może komunikować się z innymi graczami oraz pobrać listę trwających gier. Na samej górze umieszczona zostały przyciski umożliwiające stworzenie nową grę, dołączenie do już istniejącej oraz odświeżenie listy gier i graczy. Po stworzeniu gry gracz zostaje przeniesiony do panelu oczekiwania na drugiego gracza: str. 5

Gdy do gry dołączy drugi gracz i oboje zadeklarują gotowość do pojedynku. Gra uruchomi stosowny panel z szachownicą: W przypadku stwierdzenia niemożliwości wykonania ruchu (mat) gracze mają możliwość zdecydowania o zakończeniu gry, ucieczce lub stwierdzenia remisu. str. 6