PRACA MAGISTERSKA. Zestaw narzędzi programistycznych do generowania mobilnych aplikacji POLSKO-JAPOŃSKA WYŻSZA SZKOŁA TECHNIK KOMPUTEROWYCH. Nr...
|
|
- Sylwia Karczewska
- 10 lat temu
- Przeglądów:
Transkrypt
1 POLSKO-JAPOŃSKA WYŻSZA SZKOŁA TECHNIK KOMPUTEROWYCH PRACA MAGISTERSKA Nr... Zestaw narzędzi programistycznych do generowania mobilnych aplikacji Student Szymon Nieradka Nr albumu 4868 Promotor prof. dr hab. Kazimierz Subieta Specjalność Inżynieria Oprogramowania i Baz Danych Katedra Systemów Informacyjnych Data zatwierdzenia tematu Data zakończenia pracy Podpis promotora pracy Podpis kierownika katedry......
2 Streszczenie Praca podejmuje problematykę mobilnych narzędzi prezentujących dane o ustrukturalizowanej postaci na przykładzie rozkładów jazdy komunikacji miejskiej. Dla osób korzystających z tego typu komunikacji dostępność danych o rozkładach jazdy z poziomu telefonu komórkowego stanowi istotną wartość. W szczególności jeśli zaoferujemy do tego dodatkowe usługi które wykraczają ponad to co oferują (zazwyczaj) statyczne strony z rozkładami jazdy przewoźników. Podstawą pracy jest funkcjonujące od maja 2005 roku rozwiązanie o nazwie MicroBus mojego autorstwa. Projekt ten został przygotowany przez autora dla mieszkańców Szczecina i był ściśle do tego miasta dostosowany. Podstawowym celem pracy jest zmiana ściśle ukierunkowanego rozwiązania na generyczny framework umożliwiający dowolnym zainteresowanym osobom o podstawowych umiejętnościach programistycznych przygotowanie własnej wersji mobilnej aplikacji. W pierwszym rozdziale praca wprowadza w tematykę mobilnych rozkładów jazdy, opisuje szczegółowo cel pracy oraz przyjęte w niej rozwiązania. Przybliżone są także rezultaty pracy. Drugi rozdział opisuje szczegółowo kontekst pracy poprzez analizę dostępnych na rynku rozwiązań o różnych modelach biznesowych, użytych technologiach i modelu licencyjnym. Podsumowanie tej części pracy wskazuje na zestaw cech których kombinacja nie jest dostępna na rynku. Trzeci rozdział opisuje wykorzystane w trakcie pracy nad tematem narzędzia włączając w to narzędzia programistyczne, kontroli wersji oprogramowania, tworzenia dokumentacji, frameworki oraz narzędzia emulujące i dokonujące wirtualizacji systemu operacyjnego. Kolejny czwarty rozdział opisuje szczegółowo propozycję generycznego rozwiązania do budowania mobilnych aplikacji prezentujących rozkłady jazdy. Opisane są wszystkie elementy będące przedmiotem pracy oraz wyszczególnione świadomie wykonane wyłączenia z zakresu. Piąty rozdział dokonuje prezentacji wykonanego prototypu rozwiązania opisując poszczególne elementy systemu. Ostatni rozdział przedstawia napotkanie w trakcie pracy problemy głównie techniczne ale także utrudnienia natury prawnej. Podziękowania Pracę dedykuję Agnieszce która cierpliwie znosiła długie godziny poświęcone tej pracy. Strona 1 z 59
3 SPIS TREŚCI Spis treści 1 Wstęp Cel pracy Rozwiązanie przyjęte w pracy Kontekst pracy Dostępne na rynku rozwiązania Podsumowanie Opis narzędzi zastosowanych w pracy Język programowania Java Technologia tworzenia mobilnej aplikacji Wireless Application Protocol SMS Rozwiązania natywne Java Platform Micro Edition Środowisko programistyczne Eclipse Zestaw narzędzi i bibliotek do developmentu JME na OS X Apache Ant Sun Java Wireless Toolkit Antenna BlueCove Microemulator ProGuard Język programowania Perl VirtualBox DocBook Propozycja rozwiązania Założenia Dane wejściowe Prezentacja Przenośność Budowanie Propozycja generycznego rozwiązania budowania mobilnej aplikacji Krok 1: przygotowanie pliku w formacie Przewodas Krok 2: konwersja danych Krok 3: kompilacja midletu Strona 2 z 59
4 SPIS RYSUNKÓW Krok 4: budowanie midletu, możliwości prezentacji Krok 5: możliwości prezentacji Proces generowania midletu na przykładzie jednego miasta Prototyp rozwiązania Midlet Java Aplikacja dla platformy Symbian Kompresor Pojęcia wstępne Ogólny schemat działania Struktura słowa wyjściowego pliku binarnego Optymalizacja danych Redukcja rozmiaru danych Dokumentacja projektu Strona projektu Strona dla programistów Strona dla użytkowników Problemy Prawa autorskie do danych prezentowanych w aplikacji Wielkość danych do przechowania w aplikacji Złożoność algorytmiczna przetwarzania danych Ograniczenia API JME Skala implementacji JSR179 w telefonów komórkowych Podsumowanie 52 A Prace cytowane 53 B Dodatki 54 B.1 Opis formatu danych wejściowych B.1.1 Przykład pliku w formacie Przewodas B.1.2 Objaśnienia dla przykładu pliku Spis rysunków 1 Propozycja schematu tworzenia mobilnej aplikacji Przygotowywanie plików w formacie Przewodas Konwersja danych w formacie Przewodas-a do formatu binarnego Struktura midletu (pliku JAR) Strona 3 z 59
5 SPIS TABEL 5 Możliwości prezentacji danych Proces przygotowywania midletu na przykładzie rozkładu dla miasta Szczecina 30 7 Przykładowy widok aplikacji na telefonie Nokia 6310i Przykładowy widok aplikacji na emulatorze Microemu Przykładowy widok aplikacji wersja Symbian Schemat blokowy działania kompresora Redukcja rozmiaru danych Dokumentacja formatu pliku Przewodas Wizytówka projektu w serwisie Sourceforge Strona projektu dla użytkowników Strona wap projektu MicroBus Struktura pliku w formacie Przewodas Wizualizacja przykładowego rozkładu Spis tabel 1 Podsumowanie technologii tworzenia mobilnych aplikacji Struktura słowa Kody źródłowe 1 Lista plików midletu (bez obfuskacji) Format Przewodas+ opisany notacją Backusa-Naura Przykład pliku w formacie Przewodas Strona 4 z 59
6 1 Wstęp 1 Wstęp Mobilne rozkłady jazdy Problematyka prezentowania rozkładów jazdy za pomocą telefonów komórkowych oraz innych mobilnych urządzeń nabrała znaczenia w momencie w którym rozwój technologiczny tych urządzeń umożliwił powstawanie takich rozwiązań. Dwa najistotniejsze elementy rozwoju urządzeń mobilnych to z całą pewnością wyposażenie urządzeń mobilnych w przeglądarki WAP oraz udostępnienie API programistycznego dającego możliwość tworzenia niewielkich aplikacji. Aktualnie znanych jest wiele rozwiązań tego typu. Poniższe zestawienie prezentuje kilka z nich ze wskazaniem na użyte rozwiązanie technologiczne: 1. Ginger ( Midlet Java, wykorzystuje własny format danych oparty o XML 2. Przewodas ( Aplikacja przeznaczona dla urządzeń z systemem operacyjnym PalmOS 3. Rozkład PKP SMS ( Interaktywna bramka SMS która w odpowiedzi na odpowiednio spreparowane pytanie udziela odpowiedzi 4. Rozkład PKP WAP ( Wersja WAP serwisu z rozkładami jazdy PKP Rozwiązania tego typu można dzielić według różnych kryteriów. Do najważniejszych zaliczyłbym: 1. Zastosowaną technologię, np: (a) Midlet Java (b) Bramka SMS (c) Serwis WAP (d) Aplikacja na dedykowany mobilny system operacyjny (Symbian, OS X, PalmOS) 2. Model biznesowy oraz rodzaj licencji: (a) zamknięte rozwiązanie komercyjne (b) zamknięte rozwiązanie niekomercyjne (c) otwarte rozwiązanie niekomercyjne Strona 5 z 59
7 1.1 Cel pracy 3. Miejsce przechowywania danych: (a) na serwerze (dla rozwiązań wap i sms) (b) w aplikacji (dla pozostałych rozwiązań) 1.1 Cel pracy Najważniejsze punkty których realizacja jest celem niniejszej pracy to: 1. Przygotowanie systemu umożliwiającego w prosty sposób na podstawie przygotowanych danych w formacie Przewodas-a na przygotowanie gotowego do dystrybucji midletu. 2. Opcjonalnie rozszerzenie systemu umożliwiające generowanie na przykład: (a) dwóch wersji midletu (MIDP stare telefony komórkowe, oraz MIDP nowe telefony komórkowe) (b) aplikacji w formacie SIS przeznaczonej do uruchomienia na telefonach z systemem operacyjnym Symbian (c) stron WWW lub WAP prezentujących te same dane 3. Przepisanie aktualnie wykorzystywanego kompresora danych z języka C++ do Javy (rozwiązanie musi być przenośne oraz proste w instalacji) 4. Refactoring oraz udokumentowanie kodów źródłowych 5. Przygotowanie dokumentacji dla wszystkich elementów systemu a w szczególności dokumentacji użytkownika skierowanej do osób które chciałyby wyłącznie korzystać z tego efektów jego rozwoju 1.2 Rozwiązanie przyjęte w pracy Wszystkim czynnościom programistycznym realizowanych w ramach pracy przyświecał podstawowy cel czyli przygotowanie rozwiązanie możliwie jak najbardziej otwartego i przenośnego. W efekcie wszystkie wykorzystywane narzędzia (opisane w rozdziale trzecim) to produkty o otwartym kodzie które umożliwiają ich nieodpłatne wykorzystywanie także do celów komercyjnych. Wiodącym językiem programowania był język Java dzięki któremu możliwe było uzyskanie pełnej niezależności od platformy sprzętowej i zastosowanego systemu operacyjnego. Także w procesie dokumentowania wyników prac (czego niniejszy dokument jest elementem) wykorzystywane były standardowe technologie jak np. notacja BNF wykorzystana do opisu formatu danych. Strona 6 z 59
8 1.2 Rozwiązanie przyjęte w pracy Opisy kodu źródłowego oraz dokumentacja techniczna zostały przygotowane w języku angielskim (lub w niektórych wypadkach dodatkowo w języku polskim) co w założeniu powinno zwiększyć potencjalne audytorium tych materiałów. Celem autora jest także (po uzyskaniu zgody promotora) upublicznienie pracy w całości oraz przetłumaczenie jej najistotniejszych fragmentów na język angielski. Strona 7 z 59
9 2 Kontekst pracy 2 Kontekst pracy Problematyka zarysowana w rozdziale 1 na stronie 5 nie jest zagadnieniem nowym. Dostępnych jest wiele rozwiązań różniących się między sobą zastosowaną technologią i podejściem autorów do własności intelektualnej. Niniejszy rozdział prezentuje kilka wybranych przedstawicieli poszczególnych grup rozwiązań podając dla każdego z nich krótki opis. Podsumowanie dostępne na końcu rozdziału prezentuje zestaw cech których kombinacja nie jest dostępna na rynku wyznaczając tym samym kierunek dalszej pracy. 2.1 Dostępne na rynku rozwiązania Poniższe zestawienie pokazuje przekrój dostępnych na rynku rozwiązań służących do prezentacji rozkładów jazdy (lub zbliżonych informacji) na urządzeniach przenośnych. Dla każdego z opisanych rozwiązań można znaleźć kilka odpowiedników o zbliżonym charakterze. Jazdy.net Jazdy.net ( to rozwiązanie wyspecjalizowane w prezentacji rozkładów jazdy przewoźników głównych polskich aglomeracji. Jest to przykład zamkniętego rozwiązania nastawionego na zdobycie i utrzymywanie możliwie dużej ilości rozkładów przewoźników z poszczególnych miast. Podsumowanie: technologia: Rozwiązanie umożliwia prezentację danych na trzy sposoby: midlet Java (dalszy opis koncentruje się na tym przypadku), strony HTML i bot 1 Gadu-Gadu model biznesowy: Rozwiązanie bezpłatne o zamkniętym kodzie. Autorzy zachęcają do współpracy przy tworzeniu własnych wersji ale sprawują pełną kontrolę nad dystrybucją wersji aplikacji. zakres danych: Kilkanaście miast w Polsce; słaba aktualność danych ograniczenia: : zastosowany algorytm kompresji jest mało wydajny; już przy umieszczeniu kilku linii w aplikacji (średniej wielkości miasto ma około 100 linii) rozmiar aplikacji przekracza 64kb co uniemożliwia jej instalację na starszych modelach telefonów 1 [WIKI] Bot to program wykonujący pewne czynności w zastępstwie człowieka. Czasem jego funkcją jest udawanie ludzkiego zachowania lub wykonywanie zautomatyzowanych czynności. W tym kontekście jest to automatyczny użytkownik sieci Gadu-Gadu odpowiadający na pytania związane z rozkładami Strona 8 z 59
10 2.1 Dostępne na rynku rozwiązania MMPK rozwiązanie zamknięte; własną wersję rozkładu można przygotować wyłącznie w porozumieniu z autorami i przy założeniu, że efekt pracy będzie hostowany na serwerach Jazdy.net brak dokumentacji dla osób chcących przygotować własną wersję aplikacji (wynika z podejścia autorów opisanego powyżej) brak narzędzi (j.w.) Rozwiązaniem o podobnym modelu jak Jazdy.net jest aplikacji mmpk ( mmpk.info/). Podobnie jak w powyższym przykładzie nie znajdziemy na stronie projektu informacji i narzędzi umożliwiających samodzielne przygotowanie własnej wersji aplikacji. Podsumowanie: technologia: Midlet Java i strony HTML model biznesowy: Rozwiązanie bezpłatne o zamkniętym kodzie zakres danych: Kilkanaście miast w Polsce; wysoka aktualność danych ograniczenia: Ze względu na zbliżony do rozwiązania Jazdy.net modelu biznesowego ograniczenia mmpk są bardzo podobne włączając w to także słaby algorytm kompresji (co może wynikać z generyczności rozwiązania) PKP Spółka Polskie Koleje Państwowe S.A. udostępnia rozkład jazdy własnych środków komunikacji za pośrednictwem kilku wymienionych poniżej mediów. Podstawowym źródłem (i najpełniejszym) źródłem informacji są jak zwykle w takim wypadku strony HTML. Ich uzupełnienie stanowią rozkłady SMS i WAP. W przypadku SMS komunikacja odbywa się zgodnie z zasadą pytanie - odpowiedź. Przykład takiej komunikacji (za stroną http: //pkp.pl/cop/rozkladsms) wygląda następująco: żądanie : Kutno do torun 1015 odpowiedź : :Kutno->Torun Glowny 10:31*P 25101*p0*11:46 11:25*P 45101*p0*12:39 Strona 9 z 59
11 2.1 Dostępne na rynku rozwiązania Strony WAP ( są uproszczoną wersją głównych stron z rozkładami przewoźnika. Dostęp do nich jest aktywowany czasowo płatną wiadomością SMS. Podsumowanie: technologia: Rozkłady jazdy PKP dostępne są: na stronach HTML przewoźnika; za pomocą usługi SMS; za pomocą usługi WAP model biznesowy: Płatne rozwiązania komercyjne (jedynie dostęp do stron HTML jest bezpłatny zakres danych: Środki komunikacji przewoźnika ograniczenia: Podstawowym ograniczeniem rozwiązania w kontekście tej pracy jest zamknięcie rozwiązania. Ze swojej definicji rozwiązania to nie może być wykorzystywane w innych niż określonych przez PKP celach Timetableme Timetableme ( jest jedynym znalezionym rozwiązaniem które jest platformą to tworzenia aplikacji a nie gotowym jednorazowym produktem. Strona projektu informuje w jaki sposób przygotować własną wersję aplikacji. Rozwiązanie jest bardzo proste w dostosowaniu do własnych potrzeb autor ocenia, że przygotowanie własnej wersji aplikacji wymaga mniej niż godziny pracy. Niestety prostota rozwiązanie okazuje się jej słabością w większych rozwiązaniach. Timetableme nie posiada narzędzia do kompresji danych umieszczanych w aplikacji. Z tego powodu jakiekolwiek zastosowanie na większą skalę nie jest możliwe. Dla przykładu aplikacja na średniej wielkości miasta w Polsce miałaby rozmiar około 1MB i miałaby nieakceptowalne czasy odpowiedzi. Podsumowanie: technologia: Midlet Java dla profilu MIDP 2.0 model biznesowy: Bezpłatne narzędzie o otwartym kodzie zakres danych: Platforma specjalizowana w rozkładach jazdy; autor nie hostuje gotowych rozwiązań ani nie podaje przykładów zastosowań ograniczenia: Brak narzędzia do kompresji danych Strona 10 z 59
12 2.2 Podsumowanie 2.2 Podsumowanie Przedstawione powyżej zestawienie dostępnych na rynku rozwiązań służących prezentowaniu rozkładów jazdy na urządzeniach mobilnych pokazuje, że brakuje rozwiązań spełniających równocześnie następujące warunki: 1. Otwartość kodu rozwiązanie musi udostępniać kompletne źródła na licencji umożliwiającej dalszą modyfikację i redystrybucję bez zgody autora (jedna z licencji OpenSource) 2. Bezpłatność rozwiązanie musi być dostępnie nieodpłatnie do celów prywatnych i komercyjnych 3. Dokumentacja rozwiązania musi być wystarczająca do samodzielnego przygotowania własnej wersji aplikacji 4. Rozwiązanie musi być wyposażone w wydajny kompresor danych umieszczanych w aplikacji 5. Rozwiązanie musi być dostosowane do tworzenia wielu wersji językowych Zakres tych wymagań definiuje w uproszczony sposób cele pracy. Wymagania te zostały uszczegółowione w rozdziale 4 na stronie 21. Strona 11 z 59
13 3 Opis narzędzi zastosowanych w pracy 3 Opis narzędzi zastosowanych w pracy Jednym z podstawowych celów pracy było przygotowanie kompletu narzędzi dostępnych dla wszystkich zainteresowanych osób. Narzuca to konieczność stosowania wyłącznie rozwiązań multiplatformowych z naciskiem na narzędzie których przygotowanie do pracy (proces instalacji i konfiguracji) jest bardzo proste. Całość pracy została przygotowana pod kontrolą systemu operacyjnego MAC OS X 10.4.X a same narzędzia testowane na zgodność pod systemami operacyjnymi: 1. Microsoft Windows XP Professional EN 2. Linux Ubuntu 8.10 Desktop Edition Ww. systemy operacyjne były uruchamiane za pomocą narzędzia do wirtualizacji VirtualBox (patrz rozdział 3.6 na stronie 19). 3.1 Język programowania Java Java to obiektowy język programowania stworzonym przez firmę SUN Microsystems. Kod źródłowy programu napisanego w tym języku jest kompilowany do tak zwanego kodu bajtowego (byte-code) czyli do postaci wykonywanej przez maszynę wirtualną 1. Podstawowym kryterium dla którego został wybrany ten język była pełna przenośność przygotowanej w tym języku aplikacji między różnymi platformami. Drugim istotnym argumentem przemawiającym za tym językiem była możliwość zastosowania go zarówno do tworzenia pomocniczych narzędzi desktopowych (jak kompresor) jak i tworzenia mobilnej aplikacji klienckiej. Pełen opis wraz uzasadnieniem znajduje się w następnym rozdziale ( 3.2). Strona producenta: Technologia tworzenia mobilnej aplikacji Istnieje wiele rozwiązań umożliwiających dostarczenie informacji na urządzenie przenośne. Do najpopularniejszych należą: 1. Wireless Application Protocol 2. SMS 3. Rozwiązania natywne 4. JME 1 [WIKI] Wirtualna maszyna Javy (ang. Java Virtual Machine, w skrócie JVM) to zależny od platformy system uruchomieniowy dla programów napisanych w języku Java Strona 12 z 59
14 3.2 Technologia tworzenia mobilnej aplikacji Wireless Application Protocol Wireless Application Protocol (WAP) to zbiór standardów definiujących protokół aplikacji bezprzewodowych. Wersja 1.0 tego standardu powstała w 1998 roku a wersja 2.0 w roku WAP umożliwia dostęp do usług WWW urządzeniom o niewielkiej mocy obliczeniowej, niewielkiej ilości pamięci oraz ograniczonym połączeniu z siecią internet (głównie telefony komórkowe). W wersji 1.0 standardu językiem opisu stron był WML (Wireless Markup Language). Aplikacje WML to pliki XML o ograniczonej ilości znaczników (względem języka HTML). W wersji 2.0 WAP standardem opisu stron jest specjalny profil pełnego formatu XHTML XHTML Mobile Profile (XHTML-MP). Istnieją rozwiązania umożliwiające generowanie aplikacji WML lub XHTML-MP w zależności od urządzenia które wysłało żądanie. Zastosowanie technologii WAP ma tą podstawową zaletę, że zapewnia aktualność prezentowanych danych. Przy każdym przeglądaniu danych mamy najświeższe informacje z serwera je udostępniającego. Naturalną konsekwencją tego jest niestety konieczność ponoszenia kosztów związanych z dostępem do internetu za każdym razem gdy użytkownik chciałbym skorzystać z aplikacji. Nie bez znaczenia jest tutaj także czynnik psychologiczny powszechne jest przekonanie o bardzo dużych kosztach połączeń internetowych oraz stopień rozpowszechnienia tej usługi w Europie (opisuję sytuację za [WIKI], Application_Protocol) SMS W przypadku Short Message Service (SMS) typowy scenariusz sprowadza się do wysłania przez klienta zapytania w ustalonym formacie (np. 8 mickiewicza co oznaczałoby żądanie otrzymania rozkładu dla linii 8 na przystanku Adama Mickiewicza ) i otrzymaniu odpowiedzi także w ustalonym formacie. Podstawowe wady tego rozwiązania które zdecydowały o odrzuceniu tej technologii: 1. Konieczność ponoszenia kosztów przez obie strony (usługobiorcę i usługodawcę) 2. Konieczność zapewnienia integracji z bramką SMS która ze względu na opłaty roamingowe jest skutecznym narzędziem tylko w obrębie jednego kraju 3. Konieczność stosowania niewygodnego szyfrowego wysyłania zapytań przez użytkowników 4. Ograniczenie wielkości wiadomości SMS do 160 znaków (przy 7 bitach na znak) znacznie utrudnia przekazanie pełnej informacji zwrotnej Strona 13 z 59
15 3.2 Technologia tworzenia mobilnej aplikacji Rozwiązania natywne Przez sformułowanie rozwiązania natywne rozumiane jest budowanie aplikacji przeznaczonej na specyficzny rodzaj systemu operacyjnego urządzenia. Zazwyczaj są to droższe urządzenia zwane Smartphone-ami. Lista takich systemów operacyjnych (w kolejności wynikającej z udziału w rynku Europejskim): 1. Symbian OS 2. Windows Mobile 3. RIM Blackberry 4. iphone OS (Mac OS X) 5. PalmOS 6. Linux 7. Android 8. BREW Programowanie w sposób specyficzny dla platformy umożliwia pełne wykorzystanie możliwości urządzenia. Jest to szczególnie przydatne dla aplikacji multimedialnych i usługowych. Niestety aplikacja taka będzie pracować wyłącznie pod kontrolą konkretnego systemu operacyjnego. Zazwyczaj konieczne jest tworzenie wielu wersji tej samej aplikacji dla różnych modeli. Dodatkowo na niekorzyść stosowanie tej technologii działa konieczność stosowania (najczęściej płatnych i nieprzenośnych) narzędzi programistycznych producenta platformy Java Platform Micro Edition Java Platform Micro Edition (nazywana wcześniej Java 2 Platform ME lub JME) to specyfikacja firmy Sun Microsystems opisująca uproszczoną wersję platformy Java. Została ona zaprojektowana z myślą o urządzeniach o ograniczonych zasobach (szybkość procesora, pamięć, możliwości komunikacji z użytkownikiem). Zasada działania znana z Javy uruchamianie byte-codu w ramach wirtualnej maszyny (zwanej tutaj K Virtual Machine KVM) pozostaje bez zmian. Różnica sprowadza się do zbioru klas udostępnionych przez wirtualną maszynę. Dwie podstawowe zalety tej platformy (w kontekście tej pracy) to przenośność przygotowanej aplikacji między różnymi urządzeniami oraz udział urządzeń z obsługą Java w rynku. Strona 14 z 59
16 3.2 Technologia tworzenia mobilnej aplikacji JME występuje w dwóch podstawowych konfiguracjach: CDC (Connected Device Configuration) i CLDC (Connected Limited Device Configuration). Obie określają zakres dostępnych w konfiguracji klas przy czym druga z nich jest podzbiorem pierwszej i została zaprojektowana specjalnie z myślą o najbardziej ograniczonych zasobach. W ramach tych konfiguracji funkcjonują tak zwane profile. Dla CLDC wykorzystywany jest profil MIDP (Mobile Information Device Profile). Jest to rozszerzenia podstawowej konfiguracji CLDC o klasy specyficzne dla Java ME. MIDP 1.0 z 2000 roku zawiera podstawowe operacja wejścia wyjścia oraz możliwość budowania prostych aplikacji. MIDP 2.0 z roku 2002 został rozszerzony o multimedia oraz posiada więcej mechanizmów interakcji z urządzeniem. Oba profile mogą być wzbogacane o opcjonalne pakiety. Pakiety te są standaryzowane w ramach JCP (Java Community Process) i są numerowane w formie JSR-XXX (Java Specification Requests). Dla przykładu JSR-179 to Location API for J2ME (patrz rozdział 6.5 na stronie 50). Aby mieć możliwość wykorzystywanie tego API niezbędne jest posiadanie telefonu wspierającego to rozszerzenie. W swojej najprostszej postaci (rozumianej jako konfigurację CLDC 1.0, profil MIDP 1.0 bez rozszerzeń) JavaME oferuje bardzo dużą przenośność i zgodność pomiędzy poszczególnymi platformami. Wykorzystując w swoich rozwiązaniach wyższe profile lub opcjonalne pakiety należy zweryfikować ich dostępność na docelowych urządzeniach. Możliwości poszczególnych urządzeń można sprawdzić w bazie firmy SUN: Podsumowanie W tabeli 1 na następnej stronie zebrano najważniejsze z opisanych powyżej technologii. Wybór i uzasadnienie Na podstawie zebranych informacji jako narzędzie to tworzenia mobilnej aplikacji została wybrana technologia JME. Przemawiają za nią następujące argumenty: 1. Duży udział urządzeń wspierających tą technologię nawet wśród tanich urządzeń 2. Dostępność darmowych, dopracowanych narzędzi programistycznych (także dla platformy OS X), dokumentacja i duża społeczność programistyczna 3. Wystarczające możliwości interakcji z użytkownikiem i prezentacji danych 4. Duża przenośność binarnej aplikacji Strona 15 z 59
17 3.3 Środowisko programistyczne Eclipse Tabela 1: Podsumowanie technologii tworzenia mobilnych aplikacji Nazwa technologii JavaME Symbian SMS WAP PocketPC Programowanie Język programowania Java C++ XHTMLn/d WML/ C, C++ MP Trudność nauki średnia duża średnia mała średnia Środowisko programistyczne dostępne dostępne dostępne dostępne dostępne Koszty narzędzi darmowe płatne n/d darmowe płatne Przenośność aplikacji średnia mała duża duża mała Format aplikacji jad/jar sis n/d wml, xhtml cab Społeczność programistyczna duża duża n/d duża średnia Możliwości Możliwości wystarczającrczającjące duże niewysta- wystarcza- duże Szybkość działania średnia szybka n/d średnia szybka Możliwość zapisania konfiguracji tak tak nie nie tak Penetracja rynku bardzo duża Rynek mała bliska 100% bardzo duża mała 3.3 Środowisko programistyczne Eclipse Eclipse to platforma do tworzenia aplikacji desktopowych (fat-client, rich-client) napisana w języku programowania Java. Projekt został stworzony przez firmę IBM a następnie przekazany społeczności OpenSource. Od 2003 roku jest on rozwijany przez Fundację Eclipse do której należy ponad 120 firm w tym IBM, Borland Intel, Motorola, Nokia, Oracle, SAP. Na tej bazie tej platformy powstało zintegrowane środowisko programistyczne (IDE) rozpowszechniane wraz z nią (stąd nazwa Eclipse jej często utożsamiana właśnie z IDE). Wszystkie komponenty rozwiązania napisane w języku Java zostały przygotowane właśnie w tym narzędziu ale z założeniem, że ich edycja i budowania może odbywać się z wykorzystaniem innych środowisk programistycznych (więcej w następnym rozdziale oraz podrozdziale na następnej stronie). Strona 16 z 59
18 3.4 Zestaw narzędzi i bibliotek do developmentu JME na OS X Strona domowa projektu to Zestaw narzędzi i bibliotek do developmentu JME na OS X Tworzenie rozwiązań w technologii JME wymaga kilku dodatków do Java Development Kit (JDK). Dla systemu Linux oraz Windows możliwe jest pobranie gotowych, zintegrowanych środowisk programistycznych JME. Umożliwiają on edycję kodu, graficzne projektowanie midletów (aplikacji mobilnych), uruchamianie i debugowanie aplikacji (w emulatorze i urządzeniu), optymalizację wielkości aplikacji czy preprocessing. Niestety takie kompleksowe rozwiązania nie są dostępne dla systemu operacyjnego Mac OS X. Z tego względu konieczne stało się stworzenie generycznego rozwiązania które pozwoli na współpracę nad projektem programistom na różnych platformach bez konieczności wprowadzania poprawek np. w skryptach budujących. Poniżej opisane są poszczególne elementy kompletnego, multiplatformowego zestawu narzędzi developerskich JME Apache Ant Apache Ant to narzędzie służące do zautomatyzowania procesu budowy oprogramowania. Podobne do programu Make ale napisane w języku Java do wykorzystania przede wszystkim z programami napisanymi w tym języku. Ant jest w pełni przenośni umożliwia uruchomienie cyklu budowania oprogramowania na dowolnym systemie operacyjnym dla którego powstała wirtualna maszyna Java. Strona domowa: Sun Java Wireless Toolkit SUN WTK to zestaw narzędzi programistycznych niezbędnych do tworzenia aplikacji dla platformy JME. Zawiera emulator, narzędzia do optymalizacji wielkości źródeł, dokumentację oraz przykłady. Niestety rozwiązanie to nie jest napisane wyłącznie w Java a dostępne w sieci wersje są przeznaczone wyłącznie na systemy operacyjne Windows i Linux. Z tego względu w moim rozwiązaniu wykorzystuję wyłącznie biblioteki Java dołączone do pakietu oprogramowania oraz dokumentację. Emulator oraz optymalizator nie jest wykorzystywany. Strona domowa: Antenna Antenna to biblioteka rozszerzający standardowy zestaw poleceń narzędzia do budowania oprogramowania Ant (patrz 3.4.1) o polecenia wspomagające tworzenie mobilnych aplikacji dla platformy JME. Strona 17 z 59
19 3.4 Zestaw narzędzi i bibliotek do developmentu JME na OS X Tworzenie aplikacji mobilnych w Java zawiera niestandardowe względem zwykłej (J2SE) Javy etapy budowania oprogramowania jak: 1. Tworzenie pliku aplikacji w formacie JAR wraz z odpowiednim plikiem MANIFEST.MF 2. Tworzenie pliku opisujące aplikację (JAD) 3. Optymalizacja wielkości aplikacji poprzez usunięcie z wynikowego pliku nieużywanych części kodu (klas). 4. Preprocesor umożliwia stworzenie kilku wersji tej samej aplikacji na podstawie założeń wstępnych. Dzięki temu aplikacja budowana na kilka rodzajów urządzeń wymagających specyficznych fragmentów kodu zawierać wyłącznie niezbędne elementy. 5. Podpisywanie aplikacji Wszystkie te zadania zostały przygotowane jako tak zwane taski narzędzia Ant upraszczając tworzenie aplikacji. Strona domowa: BlueCove BlueCove to darmowa implementacja standardu JSR-82 umożliwiająca obsługę urządzeń Bluetooth z poziomu języka Java. Implementacja ta działa na Linux, MAC OS X i Windows XP, Vista i Mobile (więcej szczegółów na stronie p/bluecove/wiki/stacks). Narzędzie to było wykorzystywane do automatycznego ładowania aplikacji do urządzenia przenośnego wyposażonego w interfejs Bluetooth. Strona domowa: Microemulator Microemulator to emulator umożliwiający uruchamianie aplikacji napisanych dla platformy JME napisany w języku Java SE. Umożliwia do testowanie mobilnych aplikacji JME bez konieczności wgrywania kodu na urządzenie mobilne. Strona domowa: Strona 18 z 59
20 3.5 Język programowania Perl ProGuard ProGuard jest darmowym optymalizatorem, obfuskatorem 1 i weryfikatorem kodu języka Java. Usuwa nieużywane fragmenty kodu. Zmienia nazewnictwo klas i zmiennych na możliwie najkrótsze odpowiedniki. Dzięki zastosowaniu tego narzędzia wynikowa aplikacja staje się od kilku do kilkunastu procent mniejsza. Strona domowa: Język programowania Perl Język Perl został wykorzystany jak procesor tekstu transformujący strony HTML operatora komunikacji miejskiej w Szczecinie do formatu Przedodas-a. Ponieważ ta część pracy i tak musi być wykonana samodzielnie przez programistę kod w tym języku należy traktować wyłącznie jako przykład implementacji który może być pomocny przy tworzeniu własnego rozwiązania. Strona domowa: VirtualBox Sun xvm VirtualBox to oprogramowanie służąco do wirtualizacji zasobów opartych o procesory Intel X86. Umożliwia emulację wirtualnego komputera na jednym z systemów operacyjnych Windows, Linux, OS/2 czy *BSD. Na takim komputerze możliwe jest zainstalowanie praktycznie dowolnego OS działającego na architekturze X86. W kontekście tej pracy autor wykorzystywał VirtualBox-a to testowania tworzonych rozwiązań na dwóch dodatkowych systemach operacyjnych. Na zainstalowanym na fizycznym komputerze systemie OS X 10.4.X uruchamiane były: 1. Microsoft Windows XP Professional EN 2. Linux Ubuntu 8.10 Desktop Edition Narzędzie to było wykorzystywane przez autora na etapie projektowanie rozwiązań służących przyszłym użytkownik systemu. 1 [WIKI] Zaciemnianie kodu (także obfuskacja, z ang. obfuscation) to technika przekształcania programów, która zachowuje ich semantykę, ale znacząco utrudnia zrozumienie. Istnieją również narzędzia (obfuskatory) modyfikujące kod źródłowy, pośredni bądź binarny w celu utrudnienia inżynierii wstecznej programu Strona 19 z 59
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.
GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans
Konspekt pracy inżynierskiej
Konspekt pracy inżynierskiej Wydział Elektryczny Informatyka, Semestr VI Promotor: dr inż. Tomasz Bilski 1. Proponowany tytuł pracy inżynierskiej: Komunikator Gandu na platformę mobilną Android. 2. Cel
Java jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
WPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Tworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
Autor : Mateusz Kupczyk
Technologie biznesu elektronicznego Java 2 Micro Edition J2ME Autor : Mateusz Kupczyk Plan prezentacji Wstęp J2ME - omówienie Szczegółowe omówienie profilu MIDP KVM MIDLet oraz MIDSuite Interfejs użytkownika,
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
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
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
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Android - wprowadzenie. Łukasz Przywarty 171018
Android - wprowadzenie Łukasz Przywarty 171018 Ramowy plan prezentacji Czym jest Android: definicja, krótka historia. Architektura systemu. Architektura aplikacji. Właściwości systemu. Środowisko deweloperskie.
Przetwarzanie danych w chmurze
Materiały dydaktyczne Katedra Inżynierii Komputerowej Przetwarzanie danych w chmurze Modele przetwarzania w chmurze dr inż. Robert Arsoba Robert.Arsoba@weii.tu.koszalin.pl Koszalin 2017 Wersja 1.0 Modele
Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka
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
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI asix Aktualizacja pakietu asix 4 do wersji 5 lub 6 Pomoc techniczna Dok. Nr PLP0016 Wersja:08-12-2010 ASKOM i asix to zastrzeżony znak firmy ASKOM Sp. z o. o.,
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu
Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu Polska Organizacja Turystyczna ul. Chałubińskiego 8 00-613 Warszawa Spis treści 1 Założenia wstępne... 1 1.1 Informacje wstępne... 1 1.2 Cel projektu...
OSGi Agata Hejmej 4.05.2009
OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce
Dokumentacja kompilacji źródeł aplikacji 1.0
Projekt dofinansowany ze środków Mechanizmu Finansowego Europejskiego Obszaru Gospodarczego Dokumentacja kompilacji źródeł aplikacji Projekt: Wypracowanie i wdrożenie innowacyjnych metod integracji danych
Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:
Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie
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
Tom 6 Opis oprogramowania
Część 9 Narzędzie do wyliczania wskaźników statystycznych Diagnostyka Stanu Nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 31 maja 2012 Historia dokumentu Nazwa dokumentu Nazwa
Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8
Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick
Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka
Programowanie aplikacji na urządzenia mobilne
Informatyka I Programowanie aplikacji na urządzenia mobilne dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 JME - Java Platform Micro Edition JME platforma Java przeznaczona
Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Usługi mobilne ipko biznes
Usługi mobilne ipko biznes Spis treści TOKEN MOBILNY... 3 Korzystanie z aplikacji Token ipko biznes... 4 LISTA OBSŁUGIWANYCH TELEFONÓW... 5 IPKO BIZNES NA BLACKBERRY... 5 Wymagania i pobranie aplikacji...
Instrukcja dla osoby potwierdzającej profil zaufany
Załącznik nr 3 do Procedury działania Punktu Potwierdzającego Profile Zaufane epuap w Urzędzie Miejskim w Gdańsku Instrukcja dla osoby potwierdzającej profil zaufany Spis treści 1. Cel i zakres dokumentu...3
Architektura systemu e-schola
ą ą ą Architektura systemu e-schola System e-schola zbudowany jest w postaci interaktywnej witryny intranetowej, działającej jako aplikacja serwerowa typu WEB(oparta o serwer WWW) Architektura systemu
Tom 6 Opis oprogramowania
Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa
Instrukcja użytkownika
Instrukcja użytkownika Bydgoszcz 2017 Strona: 1/12 Spis treści 1 Konfiguracja i obsługa funkcjonalności... 3-1.1 Wstęp... 3 1.2 Konfiguracja stacji klienckiej... 3 1.3 Weryfikacja istniejącego dokumentu...
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:
Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów
System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza
JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska
JavaFX - wprowadzenie JavaFX Wydział Informatyki i Zarządzania Politechnika Wrocławska Definicja JavaFX - wprowadzenie Definicja Historia JavaFX Script Rich Internet Application JavaFX - rodzina technologii
1. Cel i zakres dokumentu Słownik pojęć użytych w instrukcji... 3
INSTRUKCJA DLA OSOBY POTWIERDZAJĄCEJ PROFIL ZAUFANY WERSJA 02.03 Spis treści 1. Cel i zakres dokumentu... 3 1.1. Słownik pojęć użytych w instrukcji... 3 2. Menu osoby potwierdzającej... 4 3. Uprawnienia
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
GS2TelCOMM. Rozszerzenie do TelCOMM 2.0. Opracował: Michał Siatkowski Zatwierdził: IMIĘ I NAZWISKO
GS2TelCOMM Rozszerzenie do TelCOMM 2.0 Opracował: Michał Siatkowski 29-03-2017 Zatwierdził: IMIĘ I NAZWISKO DATA TEL-STER 2017 Spis treści Wprowadzenie... 3 Architektura... 3 Instalacja... 3 Współpraca
Projekt inżynierski uwagi
Politechnika Śląska Instytut Matematyki Wydział Matematyki Stosowanej Ważne! Dokumentacja projektu inżynierskiego Metodyka pracy Literatura Aplikacja Ta prezentacja zawiera ogólne uwagi, które nie muszą
Dotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Tworzenie i obsługa wirtualnego laboratorium komputerowego
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego
Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone
Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa
Załącznik nr 1. Specyfikacja techniczna portalu internetowego Łódź, 15.10.2012 r.
Załącznik nr 1. Specyfikacja techniczna portalu internetowego Łódź, 15.10.2012 r. Stworzenie platformy internetowej na potrzeby projektu. 1 Wykonanie portalu internetowego na potrzeby e-usługi, obejmującego
Release Notes Process Data Flow ("PDF" )
Release Notes Process Data Flow ("PDF" ) Zespół Joint Process Experts Group w składzie: Zuzanna Polberg Joanna Zych Paweł Maćkowski Mikołaj Moszczyński 19 czerwca 2006 1 Spis treści 1 Wprowadzenie 3 1.1
Zapytanie ofertowe 13-09-2013
Zapytanie ofertowe W związku z realizacją projektu współfinansowanego ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Działania 8.2 Programu Operacyjnego Innowacyjna Gospodarka 2007-2013,
Tworzenie aplikacji Web Alicja Zwiewka. Page 1
Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową
Praca magisterska Jakub Reczycki. Opiekun : dr inż. Jacek Rumiński. Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska
System gromadzenia, indeksowania i opisu słownikowego norm i rekomendacji Praca magisterska Jakub Reczycki Opiekun : dr inż. Jacek Rumiński Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska
ZAPOZNANIE SIĘ Z TWORZENIEM
LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ Z TWORZENIEM APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu języka Java Podstawowa znajomość środowiska Eclipse
The Binder Consulting
The Binder Consulting Contents Indywidualne szkolenia specjalistyczne...3 Konsultacje dla tworzenia rozwiazan mobilnych... 3 Dedykowane rozwiazania informatyczne... 3 Konsultacje i wdrożenie mechanizmów
Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle 2010-10-21
Organizacja zajęć BAZY DANYCH II WYKŁAD 1 Wykładowca dr inż. Agnieszka Bołtuć, pokój 304, e-mail: aboltuc@ii.uwb.edu.pl Liczba godzin i forma zajęć: 15 godzin wykładu oraz 30 godzin laboratorium Konsultacje:
Komunikacja i wymiana danych
Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX
Aktualizacja środowiska JAVA a SAS
, SAS Institute Polska marzec 2018 Często spotykaną sytuacją są problemy z uruchomieniem aplikacji klienckich oraz serwerów SASowych wynikające z faktu aktualizacji środowiska JAVA zainstalowanego na komputerze.
Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym
Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania
Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;
14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi
Tworzenie plików w formacie DjVu z wykorzystaniem oprogramowania DocumentExpress Enterprise Edition
Tworzenie plików w formacie DjVu z wykorzystaniem oprogramowania DocumentExpress Enterprise Edition Jakub Bajer Biblioteka Główna Politechniki Poznańskiej POZNAŃSKA FUNDACJA Krzysztof Ober Poznańska Fundacja
Piotr Orzechowski. Technologie Biznesu Elektronicznego
Wydział Informatyki i Zarządzania Politechnika Wrocławska Cele prezentacji Urządzenia mobilne Rynek aplikacji dla urządzeń mobilnych Cele prezentacji 1. Zapoznanie się z charakterystyką rynku aplikacji
INSTRUKCJA I WSKAZÓWKI
INSTRUKCJA I WSKAZÓWKI korzystania z maszyny wirtualnej Oracle VirtualBox 4 Michał Karbowańczyk, wrzesień 2011 Spis treści 1 Informacje wstępne...4 1.1 Nazewnictwo...4 1.2 Legalność...4 1.3 Instalacja
Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL 7.5.60
FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL 7.5.60 W KAMELEON.SQL 7.5.60 została dodana funkcjonalność klasy B2B (na tą funkcjonalność wymagana jest dodatkowa licencja, którą można wykupić w naszej firmie)
SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Generatory pomocy multimedialnych
Generatory pomocy multimedialnych Storna 1 Instalacja generatorów oraz praca z generatorem puzzli, memory oraz grupowania.* *Projekt jest całkowicie finansowany z programu Kapitał Ludzki, III Wysoka jakoś
IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows
IBM SPSS Statistics - ssentials for Python: Instrukcje instalacji dla Windows Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for Python w systemach operacyjnych Windows.
Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source
Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source Dr inż. Michał Bednarczyk Uniwersytet Warmińsko-Mazurski w Olsztynie Wydział Geodezji i Gospodarki Przestrzennej Katedra Geodezji
Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows
Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Spis treści Rozdział 1. Przegląd......... 1 Wstęp................. 1 Wdrażanie technologii Data Access........ 1 Źródła danych
Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ
Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS (c) 2008 Grupa SPOT SJ Grupa SPOT Krzysztof Cieślak, Maciej Gdula Spółka Jawna Podstawowe dane: firma założona w roku 2004 w wyniku połączenia
Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta
Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych do elewacji budynku klienta Wszechobecna nowa technologia Smartfony obecnie coraz częściej zastępują zwykłe telefony
Asystent Hotline Instrukcja instalacji
SoftVig Asystent Hotline Instrukcja instalacji Dokumentacja do wersji: Asystent Hotline (ver. 2.8.4737) Data ostatnich zmian: 2013-05-13 SoftVig Systemy Informatyczne Sp. z o.o. pl. Rodła 8, 70-419 Szczecin,
ActiveXperts SMS Messaging Server
ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych
Instrukcja obsługi xserver
Instrukcja obsługi xserver Konfiguracja xserver z programem LoMag (wersja 1.1.01) 1. Konfiguracja programu xserver W pierwszej kolejności należy skonfigurować program xserver do współpracy z programem
Zintegrowany system usług certyfikacyjnych. Dokumentacja użytkownika. Obsługa wniosków certyfikacyjnych i certyfikatów. Wersja dokumentacji 1.
Dokumentacja użytkownika Zintegrowany system usług certyfikacyjnych Obsługa wniosków certyfikacyjnych i certyfikatów Wersja dokumentacji 1.05 Unizeto Technologies SA - www.unizeto.pl Autorskie prawa majątkowe
Załącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej
Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja
IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Windows
IBM SPSS Statistics - ssentials for R: Instrukcje instalacji dla Windows Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for R w systemach operacyjnych Windows. Przegląd
Win Admin Monitor Instrukcja Obsługi
Win Admin Monitor Instrukcja Obsługi czerwiec 2019 wersja dokumentu 1.7 dla wersji aplikacji 2.1.1.0 Spis treści: I. Wstęp 3 II. Wymagania systemowe 4 III. Ograniczenia funkcjonalne wersji demo 5 IV. Instalacja
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych
Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w
Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,
Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
SoftVig Systemy Informatyczne Sp. z o.o. Szczecin , ul. Cyfrowa 4
SoftVig Systemy Informatyczne Sp. z o.o. Szczecin 71-441, ul. Cyfrowa 4 Centrala : (091) 350-89-20 Hotline aplikacji : (091) 350-89-26 e-mail : office@softvig.pl Fax : (091) 350-89-30 Dział handlowy :
Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
finiownia loginów. W zależności od ustawionej opcji użytkownik login:
SYSTEM INFORMATYCZNY KS-ASW 2016 z dnia 2016-01-19 Raport Nr 1/2016 MODUŁ ksasw.exe OPIS ZMIAN, MODYFIKACJI i AKTUALIZACJI 1. Wersja 2016 modułu aswplan.exe 1. Wersja 2016 programu aswzsby.dll 1. Wersja
Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Szymon Klimuk Nr albumu: 187408 Praca magisterska na kierunku Informatyka Monitorowanie
System wspomagania zarządzania wirtualizacją
Plan prezentacji: Co to jest wirtualizacja? Przegląd rozwiązań wirtualizacji, plusy i minusy każdego z nich Przegląd gotowych bibliotek które posłużą mi do stworzenia systemu. Interfejs oparty o WWW Co
Dysk 20GB przestrzeni Ajax Ajax 1.0 Baza danych MS SQL 2005 lub 2008 Express Java Java 6 run time Microsoft Silverlight 3.
Systemy do kompleksowej administracji środowiskiem IT : Symantec Management Platform Solutions - rozwiązanie ułatwiające zarządzanie zasobami informatycznym Głównym zadaniem podlegającym kompetencji działu
Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS
Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS Kontakt: e-mail: kontakt@mforex.pl infolinia: 22 697 4774 www.mforex.pl 1 1 O platformie Platforma mforex Trader to część systemu
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
Proporcje podziału godzin na poszczególne bloki. Tematyka lekcji. Rok I. Liczba godzin. Blok
Proporcje podziału godzin na poszczególne bloki Blok Liczba godzin I rok II rok Na dobry początek 7 Internet i gromadzenie danych 6 2 Multimedia 5 3 Edytory tekstu i grafiki 6 4 Arkusz kalkulacyjny 7 4
Web frameworks do budowy aplikacji zgodnych z J2EE
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym
Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B
Forte Zarządzanie Produkcją Instalacja i konfiguracja Wersja 2013.1.B Forte Zarządzanie Produkcją - Instalacja i konfiguracja Strona 2 z 13 SPIS TREŚCI 1 Instalacja i konfiguracja Forte Zarządzanie Produkcją...