Projekt Sauron. Adam Banyś Mateusz Dykacz Konrad Gądek Wojciech Wyczesany

Wielkość: px
Rozpocząć pokaz od strony:

Download "Projekt Sauron. Adam Banyś Mateusz Dykacz Konrad Gądek Wojciech Wyczesany"

Transkrypt

1 Adam Banyś Mateusz Dykacz Konrad Gądek Wojciech Wyczesany Projekt Sauron Projekt realizowany w ramach przedmiotu Przetwarzanie Danych W Środowiskach Mobilnych na katedrze Informatyki Wydziału Informatyki, Elektroniki i Telekomunikacji na Akademii Górniczo Hutniczej. Jeden serwer, by wszystkimi rządzić, Jeden, by urządzenia odnaleźć, Jeden, by wszystkie zasoby zgromadzić I w ciemności wykorzystać do obliczeń rozproszonych. 1

2 Opis projektu Cel projektu Celem projektu jest stworzenie systemu umożliwiającego wykorzystanie rosnącej mocy obliczeniowej obecnych urządzeń mobilnych te coraz częściej posiadają nawet czterordzeniowe procesory zdolne do wykonywania rozmaitych obliczeń i do generowania realistycznych scen w 3D. Warto zauważyć, że ta moc obliczeniowa jest zazwyczaj marnowana. Kolejnym z celów projektu jest wykonywanie specjalnych akcji w określonych rejonach geograficznych. Przykładem takiego zadania jest zbieranie zdjęć przez stacje telewizyjne z rejonów, w których nie ma ekipy telewizyjnej; zadanie polegać może na dostarczeniu zdjęcia określonego obiektu lub zdarzenia. Słownik app / appka aplikacja działająca pod kontrolą systemu Android SERVER_ADDR adres IP/nazwa hosta, pod którym appka może komunikować się z serwerem klient synonim appki worker synonim appki task zadanie do wykonania przez appkę Użytkownicy klient / użytkownik właściciel telefonu wyposażonego w system Android i opisywaną appkę. Po jej uruchomieniu, jego telefon wykonuje zlecenia pochodzące od serwera. zleceniodawca wprowadza do systemu omawiane zadania. administrator systemu zarządza systemem informatycznym. Wymagania funkcjonalne Możliwość wykonywania zleceń automatycznych w tle. Zadanie takie uruchamiane jest zaraz po otrzymaniu skryptu z serwera. Po wykonaniu wiadomość odsyłana jest na serwer. W przyszłości planowane dodanie schedulera pozwalającego użytkownikowi na ustalenie ram czasowych w których wykonywanie tych zadań będzie możliwe. Możliwość wykonywania zadań specjalnych wymagających interakcji użytkownika. Zadania te mają określony czas, w którym klient może odpowiedzieć oraz wykorzystują pomiary z sensorów. Przykładem takiego zadania jest np. wykonanie zdjęcia obiektu znajdującego się w określonych współrzędnych geograficznych w ciągu określonego czasu. Wymagania niefunkcjonalne działanie na systemie Android 2.3 i nowszych; możliwość implementacji na innych systemach niż Android; prosty w obsłudze 2

3 Specyfikacja systemu Propozycja rozwiązania Jako platformy dla urządzeń mobilnych zdecydowaliśmy się użyć systemu Android, gdyż 1 obejmuje on około 80% rynku urządzeń mobilnych. Dodatkowo posiadamy już pewne doświadczenie w tworzeniu aplikacji pod ten system. W związku z problemem w usystematyzowaniu i zdefiniowaniu ogólnego sposobu rozwiązywania zadań, zdecydowaliśmy się wykorzystać język skryptowy Lua. Da się go w łatwy sposób uruchomić na systemie Android oraz bez problemu można mu udostępnić dostęp do klas systemowych, skąd można pobrać niemal wszystkie potrzebne informacje. System android będzie również udostępniał metody ułatwiające pisanie skryptów Lua oraz dostęp do zasobów systemu Android. 1 analytics q phone share/ 3

4 Użyte technologie Android Aplikacja klienta na system Android działa na urządzeniach z minimalnym API = 8 (Android 2.2). Użyliśmy projektu AndroLua jako implementacji interpretera skryptów Lua. Oprócz tego aplikacja wykorzystuje bibliotekę google gson do serializacji i deserializacji obiektów Javy do formatu JSON. Serwer Do implementacji serwera wykorzystany został język Java w wersji 1.6 wraz ze zdobywającym coraz większą popularnością Play! Framework w wersji Nikt z nas wcześniej nie korzystał z Play!, ale zdecydowaliśmy się go użyć ze względu na łatwość użycia o której można przeczytać w różnych miejscach w internecie, a także ze względu na chęć rozwijania się. Play! umożliwia stworzenie serwera RESTowego w bardzo prosty sposób, a następnie pomaga stworzyć GUI korzystając z gotowych szablonów w oparciu o stworzony wcześniej serwer REST. Dopuszczalne typy zleceń W naszym systemie rozróżniamy przede wszystkim dwa typy zleceń: background_tasks Są to de facto skrypty w Lua, które urządzenie mobilne wykonuje w tle natychmiast po odebraniu. Wraz ze skryptami, przekazywane są metadane niezbędne do działania systemu. Do serwera zwracana jest odpowiedź, którą zwróci skrypt. Skrypty mogą zwracać odpowiedź wielokrotnie. W ramach background_tasksmożna wyróźnić specjalny typ zadania opartego na modelu map/reduce. Podaje się w nim dwa skrypty: map który wykona się na podzielonej na małe fragmenty tablicy wejściowej, oraz reduce który będzie scalał zwrócone rezultaty. special_tasks Są to zadania wymagające ingerencji użytkownika. W chwili obecnej zaimplementowany jest tylko jeden typ takiego zadania; jest to zadanie o parametrze type = 1. Zlecenie to polega na zrobieniu zdjęcia i przesłaniu go na serwer. Zlecenie zawiera również nazwę i opis zrozumiałą dla użytkownika, oraz współrzędne geograficzne oraz promień w jakim zdjęcie może zostać wykonane. 4

5 Protokół komunikacyjny Protokół oparty jest w całości o zapytania RESTowe. Są trzy rodzaje wiadomości w systemie do komunikacji z urządzeniem mobilnym: zapytanie klienta, odpowiedź serwera, oraz rezultat appki. Wiadomość A: zapytanie klienta Zapytanie HTTP/POST jest wysyłane na adres SERVER_ADDR/tasks. Przy pomocy parametrów żądania, przekazywane są wszystkie informacje niezbędne do dalszego przetwarzania przez serwer. Wysłanie tego zapytania odbywa się co z góry określony czas. Parametr Opis Przykładowa wartość lat położenie geograficzne (x 0 N) lon położenie geograficzne (x 0 E) sensors lista dostępnych sensorów 1,3,2, Typ sensora przedstawiono poniżej. public static final int TYPE_GPS = 0; public static final int TYPE_ACCELEROMETER = 1; public static final int TYPE_MAGNETIC_FIELD = 2; public static final int TYPE_ORIENTATION = 3; public static final int TYPE_GYROSCOPE = 4; public static final int TYPE_LIGHT = 5; public static final int TYPE_PRESSURE = 6; public static final int TYPE_TEMPERATURE = 7; public static final int TYPE_PROXIMITY = 8; public static final int TYPE_GRAVITY = 9; public static final int TYPE_LINEAR_ACCELERATION = 10; public static final int TYPE_ROTATION_VECTOR = 11; public static final int TYPE_RELATIVE_HUMIDITY = 12; public static final int TYPE_AMBIENT_TEMPERATURE = 13; public static final int TYPE_MAGNETIC_FIELD_UNCALIBRATED = 14; public static final int TYPE_GAME_ROTATION_VECTOR = 15; public static final int TYPE_GYROSCOPE_UNCALIBRATED = 16; public static final int TYPE_SIGNIFICANT_MOTION = 17; public static final int TYPE_STEP_DETECTOR = 18; public static final int TYPE_STEP_COUNTER = 19; public static final int TYPE_GEOMAGNETIC_ROTATION_VECTOR = 20; Opis: intro 5

6 Wiadomość B: odpowiedź serwera W odpowiedzi na wiadomość A, serwer przy pomocy różnego rodzaju strategii wybiera zadania, które mają zostać wykonane przez danego klienta i te zadania zostają mu zwrócone przy pomocy formatu JSON w HTTP/Content. { background_tasks: [ // lista zadań, które uruchomi telefon { id:1, // unikalne ID zadania code: // kod zadania (w języku Lua) "for i=1,3 do\n android:sleep(2000);\n text = android:getlatitude()\n android:s(text)\n \n " } ], special_tasks: [ // lista zadań, które wykonuje użytkownik // (np. zrobienie zdjęcia danego obiektu) { id: 2, // unikalne ID zadania (opis poniżej) type: 1, // Rodzaj zadania. 1 wykonanie zdjęcia lat: , // szerokość geograficzna obiektu lon: , // długość geograficzna obiektu rad: 1024, // maksymalna odległość w metrach // od obiektu, z której należy // zrobić zdjęcie; jeśli odległość // nie ma znaczenia to wartość: 1 deadline: , // do kiedy ważne jest to zlecenie name: "Zdję cie Centrum Informatyki", // nazwa miejsca jaka będzie się // pojawiać na liście w appce description: "Zdję cie CI AGH od ul. Czarnowiejskiej" // opis miejsca jaki będzie się // pojawiać w appce } ] } 6

7 Wiadomość C: odpowiedź klienta Aplikacja kliencka, po wykonaniu każdego z zadań, zwraca wyniki do serwera. Wysłane zostaje zapytanie HTTP/POSTna adres SERVER_ADDR/resultzawierające poniższe parametry. Parametr Opis Przykładowa wartość id identyfikator zadania 123 time kiedy został wyznaczony wynik lat położenie geograficzne (x>0 N) lon położenie geograficzne (x>0 E) result wynik działania programu w Lua "[1,1,2,3,5,8]" rezultat działań użytkownika <<zdjęcie base64>> Należy zwrócić uwagę na pole result, które zależnie od wykonywanego zadania ma różną zawartość. Zarządzanie zadaniami Zlecenie zadania Zlecenie zadania odbywa się poprzez wysłanie zapytania HTTP/POST na adres SERVER_ADDR/tasks/add zawierającego poniższe parametry. { background_tasks: [ // lista zadań, które uruchomi telefon { code: // kod zadania (w języku Lua) "for i=1,3 do\n android:sleep(2000);\n text = android:getlatitude()\n android:s(text)\n \n " verification_strategy // rodzaj weryfikacji dla zadania code_verify // opcjonalny kod weryfikujący poprawność wykonania zadania task_id : 1 // opcjonalny parametr określający że dany task powinien być skojarzony z innym taskiem sensors: [1,0,2,4] // wymagane sensory points: [{"x": ,"y": },{"x": ,"y": }, {"x": ,"y": }]} // opcjonalny paremetr do wyznaczania obszaru w którym ma być wykonane zadanie } ], special_tasks: [ { // lista zadań, które wykonuje użytkownik // (np. zrobienie zdjęcia danego obiektu) 7

8 task_id : 1 // opcjonalny parametr określający że dany task powinien być skojarzony z innym taskiem type: 1, // Rodzaj zadania. 1 wykonanie zdjęcia lat: , // szerokość geograficzna obiektu lon: , // długość geograficzna obiektu rad: 1024, // maksymalna odległość w metrach // od obiektu, z której należy // zrobić zdjęcie; jeśli odległość // nie ma znaczenia to wartość: 1 deadline: , // do kiedy ważne jest to zlecenie name: "Zdję cie Centrum Informatyki", // nazwa miejsca jaka będzie się // pojawiać na liście w appce description: "Zdję cie CI AGH od ul. Czarnowiejskiej" // opis miejsca jaki będzie się // pojawiać w appce } ] } W odpowiedzi serwer odsyła id tasków. Pobranie wyników Pobranie wyników zadania odbywa się poprzez wysłanie zapytania HTTP/GET na adres SERVER_ADDR/tasks/:id/result.Odpowiedź zawiera następujące parametry Parametr Opis Przykładowa wartość id identyfikator zadania 123 time kiedy został wyznaczony wynik lat położenie geograficzne (x>0 N) lon położenie geograficzne (x>0 E) result wynik działania programu w Lua "[1,1,2,3,5,8]" rezultat działań użytkownika <<zdjęcie base64>> Skasowanie zadania Skasowania zadania odbywa się poprzez wysłanie zapytania HTTP/POST na adres SERVER_ADDR/tasks/:id/delete. 8

9 Aplikacja na Androida Aplikacja pobiera z serwera listę zadań do wykonania za pomocą zapytania HTTP. Jeśli w odpowiedzi serwera znajduje się background_task, aplikacja natychmiast go uruchamia. Zadanie jest przekazywane do osobnego serwisu. Użytkownik widzi na pasku powiadomień powiadomienie o wykonywanych obliczeniach. Pokazanie powiadomienia gwarantuje nam, że proces obliczający zadanie nie zostanie zabity przez system. Po wykonaniu się skryptu wysyłana jest odpowiedź na serwer. Wszystko dzieje się bez ingerencji użytkownika, jest on jedynie informowany przez pojawiające się na ekranie Toasty o skończeniu obliczeń. Jeśli serwer zwróci jakiekolwiek special_tasks, pojawiają się one w głównym ekranie aplikacji. Użyty kolor informuje użytkownika, czy znajduje się w odpowiedniej odległości od miejsca wykonania zadania. W tej chwili jedynym typem special_tasku jest zrobienie zdjęcia, więc po kliknięciu w zadanie na liście odpalana jest aplikacja kamery. Jeśli użytkownik zrobi zdjęcie i je zaakceptuje, jest ono wysyłane wraz z odpowiedzią na serwer. Lua Skrypty Lua są wykonywane przy użyciu projektu AndroLua w osobnym serwisie. Aby ułatwić pisanie skryptów i komunikacje z systemem Android, udostępnione są następujące metody, do których skrypt Lua ma łatwy dostęp. public void sleep(long millis) zatrzymuje działanie skryptu na podaną liczbę milisekund public String getlatitude() pobiera aktualną szerokość geograficzną użytkownika public String getlongitude() pobiera aktualną długość geograficzną użytkownika public Long gettime() pobiera aktualny czas systemowy public void s(string s) wywołanie tej metody wysyła na serwer rezultat zadania (może być wywoływana wiele razy w ciągu działania skryptu) Do środowiska Lua przekazany jest obiekt o nazwie android, na którym można wywoływać powyższe metody. Przykładowo, aby wstrzymać działanie skryptu na 5 sekund, należy w kodzie dodać: android:sleep(5000). 9

10 Serwer Serwer podzielony jest na 4 główne moduły. CMS Po stronie serwera udostępniony został interfejs graficzny, który w prosty sposób umożliwia użytkownikowi generowanie nowych zadań oraz podzadań które będą rozsyłane do poszczególnych workerów. Skorzystano tutaj z konwencji CMS(Content Management System), wg której dostarcza się interfejs do rozwijania systemu oraz modyfikowania bazy danych. GUI udostępnia następujące pola: type definicja typu zadania, (w tle, zdjęcie) verification strategy rozwijalna lista ze strategiami weryfikacji code pole tekstowe do wpisania treści skryptu verification pole tekstowe do wpisania treści skryptu weryfikującego code for map pole tekstowe do wpisania skryptu do zadań prostych w map reduce code for reduce pole tekstowe do wpisania skryptu do scalania rezultatów w map reduce geolocation polygon pole w którym można wprowadzić współrzędne punktów, które mają wyznaczyć obszar wewnątrz którego zadanie musi zostać wykonane input for map reduce tablica wejściowa dla problemu typu map reduce name nazwa miejsca jakie będzie się pojawiać na liście w appce description opis miejsca jakie będzie się pojawiać na liście w appce lat, lon odpowiedzialne za wprowadzanie współrzędnych geograficznych zadania, rad odległość od lat i lon w jakiej zadanie może być wykonane, deadline czas w miliesekundach do którego trzeba zrealizować zadanie (liczony od ) subtask_id id taska z którym task jest powiązany 10

11 Baza danych tasks tabela przechowuje zadania subtasks tabela przechowuje podzadania należące do zadania, te zadania są wysyłane aplikacji. run_count do ilu urządzeń chcemy wysłać dane zadanie lat, lon współrzędne geograficzne dla danego zadania rad odległość od w.w współrzędnych dla której zadanie może być wykonane. Wyrażone w metrach. Wartość 1 oznacza dowolne miejsce. valid_until czas ważności zadania lua_code kod lua który klient ma wykonać special_task jeśli zadanie jest zadaniem specjalnym istnieje wpis w tej tabeli odpowiadający wpisowi w tabeli subtask special_task_type tabela słownikowa, typ zadania specjalnego. Na chwilę obecną tylko jedna wartość: 1 PHOTO. sensors tabela słownikowa, możliwe sensory required_sensors określa które sensory są niezbędne do wykonania danego zadania 11

12 delegated_task przechowuje informacje o zwróconych przez serwer zadaniach. Na jej podstawie interpreter wyników może określić które wyniki pochodzą z tego samego urządzenia. Serwer zwraca urządzeniu id z tej tabeli. result tabela przechowuje wyniki, które zwróciły urządzenia mobilne result wynik wysłany przez skrypt lua, lub zakodowane w base64 (URL frily) zdjęcie w przypadku zlecenia specjalnego date data wykonania zadania lat,lon miejsce wykonania zadania Scheduler Obecna implementacja SimpleScheduler wybiera pierwszy task który nie ma jeszcze rezultatu (lub nie ma wymaganej ilości udzielonych odpowiedzi), sprawdza czy urządzenie mobilne spełnia warunki zadania (sensory, odpowiednia lokalizacja, nie upłynął deadline), a następnie ustawia go na końcu kolejki. Sprawdzanie czy urządzenie jest w odpowiedniej lokalizacji jest opcjonalne i możliwe do zrealizowania na 2 sposoby, albo użytkownik zlecający zadanie określa punkt i promień w którym zadanie od tego punktu należy wykonać, albo użytkownik zleca wiele punktów które tworzą Polygon wewnątrz którego urządzenie mobilne musi się znaleźć. Result Moduł odpowiedzialny jest za weryfikację wyników oraz specjalną obsługę tasków typu map reduce. Zostały zaimplementowane trzy strategie weryfikacji : brak weryfikacji wyniki są od razu rozumiane jako poprawne weryfikacja przez skrypt przydatne gdy sprawdzenie poprawności zadania jest trywialne, a rozwiązanie było heurystyką weryfikacja przez większość zadanie zostało zlecone kilku urządzeniom, a następnie sprawdzany jest odsetek powtarzających się odpowiedzi w celu znalezienia najczęściej powtarzającej się Zadania typu map reduce są najpierw rozbijane przez ten moduł na subtaski (input jest dzielony), które będą wysyłane do urządzeń mobilnych w celu wykonania kodu map. Gdy zakończy się faza map, rozpoczyna się faza reduce. Moduł z uzyskanych wcześniej rezultatów tworzy kolejne subtaski, z kodem reduce, które będą scalajać wyniki. Gdy wszystkie wyniki zostaną scalone w jeden następuje przypisanie wyniku do całego taska. 12

13 Analiza przedstawionego rozwiązania Cechy systemu Protokuł komunikacyjny polegający na wysyłaniu dokumentów jsonowych przy użyciu zapytań http, znacząco wpływa na możliwości rozbudowy systemu jako całości. Pozwala to tworzyć nowych klientów zarówno dla urządzeń mobilnych jak i stacjonarnych. Serwer został zaprojektowany tak, aby w łatwy sposób można go było rozbudowywać, dodawać nowe funkcjonalności, a także gdy zajdzie taka potrzeba zupełnie wymieniać niektóre komponenty. Problemem może być skalowalność systemu, przy bardzo dużej ilości zadań i klientów ciągle odpytujących się serwer o nowe zadania, jednak dobrze zaplanowane i zaprojektowane rozproszenie aplikacji mogło by ten problem zminimalizować lub nawet całkowicie wyeliminiować. Problemy Propozycja dalszego rozwoju systemu rozważenie wprowadzenia powiadomień PUSH dla aplikacji mobilnej (jakie miałoby to korzyści?) dodanie większej ilości funkcji które Android udostępnia środowisku Lua poprawa interfejsu użytkownika aplikacji mobilnej wprowadzenie opcji konfiguracji aplikacji mobilnej (np. pory w których automatycznie przyjmujemy zlecenia od serwera) dodanie do aplikacji mobilnej możliwości dodawania własnych zadań dodanie większej ilości typów specjalnych zadań implementacja innych strategii działania dla modułów schedulera i modułu interpretującego wyniki implementacja na inne platformy poprawa graficznego interfejsu do zlecania zadań rozproszenie serwera na wiele node ów implementacja serwera na urządzenie mobilne 13

14 Przykłady Mierzenie średniej prędkości na danej ulicy. W celu wykonania takiego zadania przy pomocy naszego systemu, należy utworzyć poligon opisujący ulicę. W tym celu podajemy poprzez CMS listę punktów w formacie JSON: { } "points": [ {"x": ,"y": }, {"x": ,"y": } //... ] Dla każdego otrzymanego zgłoszenia serwer sprawdza czy zgłaszające się urządzenie należy do wyznaczonego przez podane punkty obszaru. Jeśli tak serwer zwraca to zadanie danemu urządzeniu. Samo mierzenie prędkości jest kwestią tylko i wyłącznie podanego kodu w Lua. Zamiast prędkości możemy mierzyć dowolne rzeczy na które pozwala nam technologia. Poniżej przykładowy kod programu mierzący średnią prędkość z 10 sekund math = require "math" function degrees_to_radians(deg) return deg * math.pi / function coordinates_to_distance(lat1, lon1, lat2, lon2) R = dlat, dlon = degrees_to_radians(lat2 lat1), degrees_to_radians(lon2 lon1) lat1, lat2 = degrees_to_radians(lat1), degrees_to_radians(lat2) a = math.sin(dlat/2) * math.sin(dlat/2) + math.sin(dlon/2) * math.sin(dlon/2) * math.cos(lat1) * math.cos(lat2) c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 a)) d = R * c return tostring(d) local lat1, lon1 = android:getlatitude(), android:getlongitude() android:sleep(10000) local lat2, lat2 = android:getlatitude(), android:getlongitude() android:s(coordinates_to_distance(lat1, lon1, lat2, lon2)) 14

15 Rozproszony merge sort W celu wykonania tego zadania, stworzyliśmy infrasktrukturę pod model obliczeń map reduce. Model ten zakłada: 1. zadanie zostaje podzielone na (równe) kawałki, te zostają wysłane do urządzeń; 2. (map) urządzenia obliczają pewną funkcję na uzyskanym kawałku; 3. (reduce) w kolejnym kroku, wyniki działania z poprzedniego kroku są wysyłane do urządzeń w celu ich połączenia w całość; 4. koniec następuje, gdy uzyskamy jeden kawałek. W wypadku sortowania przy pomocy rozproszonego algorytmu merge sort, mappolega na wywołaniu funkcji identycznościowej, natomiast reducepolega na łączeniu dwóch 2 posortowanych tablic w jedną (da się to zrobić w czasie liniowym na węźle ). function domap(xs) table.sort(xs) tu jest sort, ponieważ * dla chunków rozmiaru 1 jest to f. identyczn. * dla chunków rozmiaru >1 jest konieczne dla poprawnego działania return xs function reduce(xs, ys) local res = {} while next(xs) ~= nil and next(ys) ~= nil do if xs[1] <= ys[1] then table.insert(res, table.remove(xs, 1)) else table.insert(res, table.remove(ys, 1)) if next(xs) == nil then for k,v in pairs(ys) do table.insert(res,v) elseif next(ys) == nil then for k,v in pairs(xs) do table.insert(res,v) return res 2 W efekcie uzyskujemy algorytm równoległy, który dla odpowiedniej ilości procesorów ma w modelu PRAM złożoność O(log n). 15

Specyfikacja techniczna. mprofi Interfejs API

Specyfikacja techniczna. mprofi Interfejs API Warszawa 09.04.2015. Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 1 Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 WERSJA DATA STATUTS AUTOR 1.0.0 10.03.2015 UTWORZENIE DOKUMENTU

Bardziej szczegółowo

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl wersja.2.9 data 2014-11-21 Opis usług: P24 KOD P24 KLUCZ P24 WAPA SEND SMS Strona 1 z 8 P24 KOD Przebieg transakcji Operacje po stronie Sprzedawcy

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

Automater.pl zdalne tworzenie i zarządzanie transakcjami dokumentacja API wersja 0.1

Automater.pl zdalne tworzenie i zarządzanie transakcjami dokumentacja API wersja 0.1 Dokumentacja API 0.1 Automater.pl zdalne tworze i zarządza transakcjami dokumentacja API wersja 0.1 Automater sp. z o.o., ul. Belgradzka 4/42, 02-793 Warszawa 2 1. Wstęp System Automater.pl udostępnia

Bardziej szczegółowo

WebNotarius. Specyfikacja techniczna komunikacji z usługą WebNotarius. wersja 1.1

WebNotarius. Specyfikacja techniczna komunikacji z usługą WebNotarius. wersja 1.1 WebNotarius Specyfikacja techniczna komunikacji z usługą WebNotarius wersja 1.1 Spis treści 1. WSTĘP... 3 1.1 PRZEBIEG TRANSAKCJI W PROTOKOLE DVCS... 3 2. PROTOKÓŁ SOAP... 4 2.1 Poświadczenie ważności

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http Dokumentacja interfejsu HTTPD Platforma BSMS.PL Instrukcja podłączenia po przez http Dokumentacja interfejsu httpd (strona 2) SPIS TREŚCI 1. Zawartość dokumentu str.3 2. Informacje ogólne 2.1 Zastosowanie

Bardziej szczegółowo

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie mgr Piotr Gaś, dr hab. inż. Jerzy Mischke Ośrodek Edukacji Niestacjonarnej Akademii Górniczo-Hutniczej w Krakowie Samokontrola postępów w nauce z wykorzystaniem Internetu Wprowadzenie W każdym systemie

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2 Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-RS czyli REST w Javie. Adam Kędziora JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL

Bardziej szczegółowo

Java Developers Day. Implementacja ESB przy użyciu Mule. ESB Mule Obsługa zamówień DEMO

Java Developers Day. Implementacja ESB przy użyciu Mule. ESB Mule Obsługa zamówień DEMO Java Developers Day Implementacja ESB przy użyciu Mule Michał Majcher michal.majcher@altkom.pl Łukasz Krawczyk lukasz.krawczyk@altkom.pl slide 1 Tematy ESB Mule Obsługa zamówień DEMO Opis problemu Przepływ

Bardziej szczegółowo

MasterEdytor. Podprogram pomocniczy do programu mpfotoalbum 1.2 INSTRUKCJA

MasterEdytor. Podprogram pomocniczy do programu mpfotoalbum 1.2 INSTRUKCJA MasterEdytor Podprogram pomocniczy do programu mpfotoalbum 1.2 INSTRUKCJA 1. Przeznaczenie Program MasterEdytor przeznaczony jest do skonfigurowania wszystkich parametrów pracy programu mpfotoalbum. 2.

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

Pobieranie komunikatów GIF

Pobieranie komunikatów GIF Spis treści Wstęp... 2 1. Ustawienia harmonogramu zadań... 3 1.1. Tryby pracy AswPlan... 3 2. System KS-EWD... 4 2.1. Instalacja KS-EWD... 5 3. Inauguracja OSOZ... 6 3.1. Zdefiniowanie zadania pobierania

Bardziej szczegółowo

Atrybuty SMS. Nazwa Twojej firmy lub produktu w SMS-ie podniesie prestiż Twojej wiadomości

Atrybuty SMS. Nazwa Twojej firmy lub produktu w SMS-ie podniesie prestiż Twojej wiadomości Atrybuty SMS Wiadomości tekstowe SMS wbrew pozorom posiadają wiele atrybutów, które można wykorzystać na wiele sposobów. W tym dziale opisaliśmy atrybuty i najważniejsze kwestie związane z posługiwaniem

Bardziej szczegółowo

Baza numerów Wersja 1.1

Baza numerów Wersja 1.1 Baza numerów Wersja 1.1 SPIS TREŚCI 1. Wprowadzenie 1.1 Adresy URL do połączenia z aplikacją 1.2 Informacje zwrotne wysyłane z API w odpowiedzi na odebrane odwołania I. Zarządzanie grupami Bazy Numerów

Bardziej szczegółowo

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia.

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia. Diagram wdrożenia Zaprojektowana przez nas aplikacja bazuje na architekturze client-server. W tej architekturze w komunikacji aplikacji klienckiej z bazą danych pośredniczy serwer aplikacji, który udostępnia

Bardziej szczegółowo

SMS Kod Automatyczny

SMS Kod Automatyczny Dokumentacja 2.0.0 SMS Kod Automatyczny Dokumentacja dla SMS Kod Automatyczny Web Service REST CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax: +48 032 764-18-40

Bardziej szczegółowo

Dokumentacja techniczna API systemu SimPay.pl

Dokumentacja techniczna API systemu SimPay.pl Wprowadzenie Dokumentacja techniczna API systemu SimPay.pl Wersja 1.0 z dnia 24.03.2015 r. API serwisu SimPay.pl opiera się o danych wysyłanych i zwracanych w formie JSON. W przypadku napotkania jakiegokolwiek

Bardziej szczegółowo

- 1 Laboratorium fotografii cyfrowej Foto Video Hennig

- 1 Laboratorium fotografii cyfrowej Foto Video Hennig Foto Video Hennig, ul. Krótka 20,83-110 Tczew tel. 58 531 79 24,, kontakt@foto-hennig.pl Instalacja i użytkowanie programu FotoSender 3.0 Pobieranie i instalacja: 1. Pobieranie i instalacja Fotosendera

Bardziej szczegółowo

Załącznik do umowy nr..

Załącznik do umowy nr.. Załącznik do umowy nr.. z dnia I Opis przedmiotu zamówienia specyfikacja techniczna: 1. System mobilny: Aplikacja przeznaczona dla telefonów z systemem Android, wersja 4.0 wzwyż i napisana w języku natywnym

Bardziej szczegółowo

Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013

Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013 Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013 Wersja Standard i Plus: we właściwościach terminala dodano wskaźnik poziomu sygnału urządzenia GSM wyrażony w dbm. Podstawa teoretyczna: http://pl.wikipedia.org/wiki/dbm.

Bardziej szczegółowo

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Co to jest NODE.JS? Nowoczesne środowisko programistyczne Node.js Co to jest NODE.JS? Nowoczesne środowisko programistyczne Środowisko programistyczne w sensie zestawu gotowych klas i metod których można używać do przygotowania własnych skalowalnych i wydajnych

Bardziej szczegółowo

Programowanie usług działających w tle

Programowanie usług działających w tle Programowanie usług działających w tle Android Paweł Szafer Po co programować usługi działające w tle? Plan prezentacji O aplikacjach w Androidzie, Sposób podejmowania decyzji o zabiciu procesu, Rodzaje

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Funkcje i instrukcje języka JavaScript

Funkcje i instrukcje języka JavaScript Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje

Bardziej szczegółowo

Jednolite zarządzanie użytkownikami systemów Windows i Linux

Jednolite zarządzanie użytkownikami systemów Windows i Linux Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Paweł Gliwiński Nr albumu: 168470 Praca magisterska na kierunku Informatyka Jednolite

Bardziej szczegółowo

ELM SYSTEM ZARZĄDZANIA CYKLEM ŻYCIA SPRZĘTU

ELM SYSTEM ZARZĄDZANIA CYKLEM ŻYCIA SPRZĘTU ul. Bajana Jerzego 31d tel. + 48 399 50 42 45 01-904 Warszawa SYSTEM ZARZĄDZANIA CYKLEM ŻYCIA SPRZĘTU Wszystkie nazwy handlowe i towarów występujące w niniejszej publikacji są znakami towarowymi zastrzeżonymi

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

Bardziej szczegółowo

System rezerwacji online

System rezerwacji online Spis treści 1. Część widoczna dla klientów dokonujących rezerwacji...1 1.a. Ogólne informacje...1 1.b. Etapy w rezerwacji...3 I. Etap 1 wybór dat początku i końca pobytu oraz wybór pokoi...3 II. Etap 2

Bardziej szczegółowo

Specyfikacja 1.2.1. Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań.

Specyfikacja 1.2.1. Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań. Specyfikacja 1.2.1 Płatności CashBill Instrukcja podłączenia płatności elektronicznych do typowych zastosowań. CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax:

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

DOKUMENTACJA TECHNICZNA SMS API MT

DOKUMENTACJA TECHNICZNA SMS API MT DOKUMENTACJA TECHNICZNA SMS API MT Mobitex Telecom Sp.j., ul. Warszawska 10b, 05-119 Legionowo Strona 1 z 5 Ten dokument zawiera szczegółowe informacje odnośnie sposobu przesyłania requestów do serwerów

Bardziej szczegółowo

Spis treści 1. Założenia ogólne 2. Wymagania 3. Typy SMSów 4. Statusy SMSów 5. Wysyłanie SMSów - Web API 6. Wysyłanie SMSów - Email 7.

Spis treści 1. Założenia ogólne 2. Wymagania 3. Typy SMSów 4. Statusy SMSów 5. Wysyłanie SMSów - Web API 6. Wysyłanie SMSów - Email 7. V 1.1 2008 Spis treści 1. Założenia ogólne 2. Wymagania 3. Typy SMSów 4. Statusy SMSów 5. Wysyłanie SMSów - Web API 6. Wysyłanie SMSów - Email 7. Sprawdzanie stanu konta 1. Założenia ogólne PowiadomieniaSMS.pl

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

Przewodnik... Tworzenie Landing Page

Przewodnik... Tworzenie Landing Page Przewodnik... Tworzenie Landing Page Spis treści Kreator strony landing page Stwórz stronę Zarządzaj stronami 2 Kreator strony landing page Kreator pozwala stworzyć własną stronę internetową z unikalnym

Bardziej szczegółowo

Podręcznik użytkownika Obieg dokumentów

Podręcznik użytkownika Obieg dokumentów Podręcznik użytkownika Obieg dokumentów Opracowany na potrzeby wdrożenia dla Akademii Wychowania Fizycznego im. Eugeniusza Piaseckiego w Poznaniu W ramach realizacji projektu: Uczelnia jutra wdrożenie

Bardziej szczegółowo

1. Pobieranie i instalacja FotoSendera

1. Pobieranie i instalacja FotoSendera Jak zamówić zdjęcia przez FotoSender? Spis treści: 1. Pobieranie i instalacja FotoSendera 2. Logowanie 3. Opis okna programu 4. Tworzenie i wysyłanie zlecenia Krok 1: Wybór zdjęć Krok 2: Podsumowanie zlecenia

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Podstawowe elementy GUI cz. 2 i 3 - zadania

Podstawowe elementy GUI cz. 2 i 3 - zadania Podstawowe elementy GUI cz. 2 i 3 - zadania Jak już robiliśmy wcześniej sporo rzeczy w Androidzie umieszczamy w plikach xml (np. strings.xml). Jest to dobra praktyka, w plikach zasobów możemy umieszczać

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

SMS Kod Automatyczny

SMS Kod Automatyczny Dokumentacja 1.0.0 SMS Kod Automatyczny Dokumentacja dla SMS Kod Automatyczny CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax: +48 032 764-18-40 Infolinia: 0

Bardziej szczegółowo

Dokumentacja Użytkownika Systemu. Integracja z Okazje.info, Skąpiec, Sklepy24

Dokumentacja Użytkownika Systemu. Integracja z Okazje.info, Skąpiec, Sklepy24 Dokumentacja Użytkownika Systemu Integracja z Okazje.info, Skąpiec, Sklepy24 Wersja 2016 Spis treści 1 INTEGRACJA... 3 2 REJESTRACJA... 4 2.1 OKAZJE.INFO... 4 2.2 SKĄPIEC... 4 2.3 SKLEPY24.PL... 4 3 KONFIGURACJA...

Bardziej szczegółowo

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

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl Niniejsze zasady dotyczą wszystkich Użytkowników strony internetowej funkcjonującej w domenie http://www.pawlowskisport.pl,

Bardziej szczegółowo

Implementacja mechanizmu SkyCashClick Wersja 0.1

Implementacja mechanizmu SkyCashClick Wersja 0.1 Implementacja mechanizmu SkyCashClick Wersja 0.1 SkyCash 1/6 Spis treści: 1. Opis usługi... 3 2. Osadzenie przycisku SkyCashClick... 4 2.1. Parametry transakcji... 4 2.2. Weryfikacja znacznika parametrów

Bardziej szczegółowo

Połączenie Partnera z serwisem JustPay poprzez - METODĘ 2

Połączenie Partnera z serwisem JustPay poprzez - METODĘ 2 Połączenie Partnera z serwisem JustPay poprzez - METODĘ 2 Generowanie kodów: po stronie Partnera Weryfikacja kodów: po stronie Partnera Spis treści 1. Kolejne kroki w stworzeniu własnego serwisu 2. Jak

Bardziej szczegółowo

Serwery Statefull i Stateless

Serwery Statefull i Stateless Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium

Bardziej szczegółowo

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16 Kurs walut Specyfikacja projektu Marek Zając 2013-12-16 Spis treści 1. Podsumowanie... 2 1.1 Wstęp... 2 1.2 Projekt interfejsu... 2 1.2.1 Rozmiar głównego okna... 2 2. Słownik pojęć... 2 2.1 Definicja

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

MPH Mini. Instrukcja użytkownika ver 102 (14-11-2015)

MPH Mini. Instrukcja użytkownika ver 102 (14-11-2015) MPH Mini Instrukcja użytkownika ver 102 (14-11-2015) MPH Mini to aplikacja pracująca pod systemem Android (Wersja Android min. 4.0) przeznaczona do wykonywania inwentaryzacji oraz przeglądania informacji

Bardziej szczegółowo

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu

Bardziej szczegółowo

System archiwizacji i konserwacji baz danych MS SQL

System archiwizacji i konserwacji baz danych MS SQL System archiwizacji i konserwacji baz danych MS SQL Autor : Krzysztof Jarecki Spis treści 1. Przeznaczenie systemu... 3 2. Instalacja systemu... 4 3. Konfiguracja archiwizatora... 5 3.1 Przykład archiwizacji

Bardziej szczegółowo

DOKUMENTACJA INTERFEJSU API - HTTPS

DOKUMENTACJA INTERFEJSU API - HTTPS DOKUMENTACJA INTERFEJSU API - HTTPS WERSJA 0.1 DATA PUBLIKACJI : 01.03.2014 SPIS TREŚCI Spis treści Wprowadzenie 1 Dostęp do usługi notowania online 2 Opis struktur danych 3 Kody błędów 5 Historia wersji

Bardziej szczegółowo

Płatności CashBill - SOAP

Płatności CashBill - SOAP Dokumentacja techniczna 1.0 Płatności CashBill - SOAP Dokumentacja wdrożenia systemu Płatności CashBill w oparciu o komunikację według protokołu SOAP CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa

Bardziej szczegółowo

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online 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

Bardziej szczegółowo

1. Wstęp 2. Adres usługi 3. Konfiguracja 4. Metody 5. Typy danych 6. Przykład wywołania metody przy użyciu php i biblioteki nusoap 7.

1. Wstęp 2. Adres usługi 3. Konfiguracja 4. Metody 5. Typy danych 6. Przykład wywołania metody przy użyciu php i biblioteki nusoap 7. 1. Wstęp 2. Adres usługi 3. Konfiguracja 4. Metody 5. Typy danych 6. Przykład wywołania metody przy użyciu php i biblioteki nusoap 7. Odpowiedź serwera Wstęp Usługa udostępniona dla klientów serwisu pakka.pl,

Bardziej szczegółowo

Dokumentacja Użytkownika Systemu

Dokumentacja Użytkownika Systemu Dokumentacja Użytkownika Systemu Integracja z Okazje.info, Skąpiec, Sklepy24 Wersja 7.9 Spis treści 1 INTEGRACJA... 3 2 REJESTRACJA... 4 2.1 OKAZJE.INFO... 4 2.2 SKĄPIEC... 4 2.3 SKLEPY24.PL... 4 3 KONFIGURACJA...

Bardziej szczegółowo

Jak ustawić cele kampanii?

Jak ustawić cele kampanii? Jak ustawić cele kampanii? Czym są cele? Jest to funkcjonalność pozwalająca w łatwy sposób śledzić konwersje wygenerowane na Twojej stronie www poprzez wiadomości email wysłane z systemu GetResponse. Mierzenie

Bardziej szczegółowo

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT Temat: Zaimplementować system kryptografii wizualnej http://www.cacr.math.uwaterloo.ca/~dstinson/visual.html Autor: Tomasz Mitręga NSMW Grupa 1 Sekcja 2 1. Temat projektu

Bardziej szczegółowo

Materiał szkoleniowy:

Materiał szkoleniowy: UNIWERSYTET MARII CURIE-SKŁODOWSKIEJ W LUBLINIE Projekt Nowoczesny model zarządzania w UMCS umowa nr UDA-POKL.04.01.01-00-036/11-00 Pl. Marii Curie-Skłodowskiej 5, 20-031 Lublin, www.nowoczesny.umcs.lublin.pl

Bardziej szczegółowo

Specyfikacja funkcjonalna

Specyfikacja funkcjonalna Projekt: System wspomagania osób studiujących Strona: 1 / 12 Opracowali: Zatwierdzili: Justyna Gutkowska Damian Głuchowski Krzysztof Krajewski dr inż. Sławomir Skoneczny Podpis: Podpis: Podpis: Podpis:

Bardziej szczegółowo

Szczegółowy opis zlecenia Plugin do oprogramowania dlibra. Szczegółowy opis zlecenia dla Pluginu do oprogramowania dlibra.

Szczegółowy opis zlecenia Plugin do oprogramowania dlibra. Szczegółowy opis zlecenia dla Pluginu do oprogramowania dlibra. Projekt Śląska Internetowa Biblioteka Zbiorów Zabytkowych współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Infrastruktura i Środowisko

Bardziej szczegółowo

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW Dokumentacja Techniczna 1.2 Webtoken MT Uruchomienie subskrybcji MT poprzez serwis WWW CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax: +48 032 764-18-40 Infolinia:

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140402 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Limity zapytań... 3 1.5. Odpowiedzi

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

KS-ZSA. Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT. Data aktualizacji: 2013-08-29

KS-ZSA. Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT. Data aktualizacji: 2013-08-29 KS-ZSA Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT Data aktualizacji: 2013-08-29 1. Opis funkcjonalności Funkcjonalność umożliwia obsługiwanie zmian urzędowych

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

Wydział Informatyki, Elektroniki i Telekomunikacji. Katedra Informatyki

Wydział Informatyki, Elektroniki i Telekomunikacji. Katedra Informatyki Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Informatyki Pastebin w wersji zorientowanej na środowisko mobilne z klientem pozwalającym na oba kierunki przeklejania. Dokumentacja deweloperska

Bardziej szczegółowo

Załącznik 1 specyfikacja produktów

Załącznik 1 specyfikacja produktów Załącznik 1 specyfikacja produktów Specyfikacja definiuje zestaw aplikacji do wykonania w ramach zlecenia. Spis treści 1. Giełda wykonawców...2 1.1. Aktorzy...2 1.2. Modele...2 1.3. Scenariusze...2 1.3.1.

Bardziej szczegółowo

Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja

Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja 1. Logowanie i rejestracja Aby wysłać zlecenie do laboratorium fotograficznego musisz mieć załoŝone konto. Jest to niezbędne do weryfikacji twojej osoby i daje pewność, Ŝe osoby nieupowaŝnione nie będą

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...

Bardziej szczegółowo

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ www.e-awizo.pl BrainSoft sp. z o. o. ul. Bolesława Chrobrego 14/2 65-052 Zielona Góra tel.68 455 77 44 fax 68 455 77 40 e-mail: biuro@brainsoft.pl

Bardziej szczegółowo

Dokumentacja Użytkownika Systemu

Dokumentacja Użytkownika Systemu Dokumentacja Użytkownika Systemu Porównywarki cen Liquid Wersja 2016.2 Spis treści 1 WSTĘP... 3 2 OPIS OBSZARU... 4 2.1 TOWARY... 5 2.2 RELACJE... 5 2.3 EDYTUJ... 6 2.3.1 KONFIGURACJA... 6 2.3.2 KATEGORIE...

Bardziej szczegółowo

PL 198457 B1. ABB Sp. z o.o.,warszawa,pl 17.12.2001 BUP 26/01. Michał Orkisz,Kraków,PL Mirosław Bistroń,Jarosław,PL 30.06.

PL 198457 B1. ABB Sp. z o.o.,warszawa,pl 17.12.2001 BUP 26/01. Michał Orkisz,Kraków,PL Mirosław Bistroń,Jarosław,PL 30.06. RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 198457 (13) B1 (21) Numer zgłoszenia: 340813 (51) Int.Cl. G06F 17/21 (2006.01) G06Q 10/00 (2006.01) Urząd Patentowy Rzeczypospolitej Polskiej (22)

Bardziej szczegółowo

Dokumentacja projektu QUAIKE Architektura oprogramowania

Dokumentacja projektu QUAIKE Architektura oprogramowania Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura

Bardziej szczegółowo

Płatności CashBill - Kody

Płatności CashBill - Kody Dokumentacja techniczna 2.0 Płatności CashBill - Kody Punkty Płatności: Kody Automatyczne, Kody Obsługowe CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax: +48

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

Podstawy pracy w systemie Doradca.

Podstawy pracy w systemie Doradca. Podstawy pracy w systemie Doradca. Wstęp. Program Doradca jest aplikacją systemu Windows typu klient- serwer. Oznacza to że baza z dokumentami, użytkownikami, klientami i innymi zasobami znajduje się na

Bardziej szczegółowo

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1 Architektury systemów rozproszonych LABORATORIUM Ćwiczenie 1 Temat: Aplikacja klient-serwer - implementacja w środowisku QT Creator. Przykładowy projekt aplikacji typu klient - serwer został udostępniony

Bardziej szczegółowo

System Kancelaris. Zdalny dostęp do danych

System Kancelaris. Zdalny dostęp do danych Kancelaris krok po kroku System Kancelaris Zdalny dostęp do danych Data modyfikacji: 2008-07-10 Z czego składaj adają się systemy informatyczne? System Kancelaris składa się z dwóch części: danych oprogramowania,

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo