Podobné dokumenty
VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

(JME) Vybrané partie z jazyka Java (NPRG021) Jiří Tomeš

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Matematika v programovacích

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

1 Webový server, instalace PHP a MySQL 13

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

10 Balíčky, grafické znázornění tříd, základy zapozdření

Tabulka základních vlastností nástroje C++Builder dle edice

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Programovací software ConfigTool. Základní obsluha a postup připojení k zařízení přes USB a GPRS. Verze 2.00

Programovatelné automaty SIMATIC S7 a S5

Informační systém ozdravných pobytů zdravotní pojišťovny

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Softwarové komponenty a Internet

Vývojové nástroje jazyka Java

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie,

Student s Life. Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Analýza a Návrh. Analýza

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

/1. novacom řešení komunikace s cizími systémy. Systems

Wonderware Information Server 4.0 Co je nového

SCADA systémy na platformě mobilních zařízení

JRm verze Aplikace. Instalace. Ovládání

JUMO LOGOSCREEN 600. Dotyková budoucnost záznamu: Obrazovkový zapisovač

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

MHD v mobilu. Instalace a spuštění. Co to umí

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Inthouse Systems s.r.o. Specifikace. Inthouse App a Inthouse Studio pro Siemens Climatix 6XX. Verze software 1.X. Revize dokumentu 6

VirtualBox desktopová virtualizace. Zdeněk Merta

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Formy komunikace s knihovnami

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Technologie Java. Jaroslav Žáček

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

CTUGuide (XXX-KOS) D1

PŘÍLOHA C Požadavky na Dokumentaci

Wonderware InTouch 2012 R2 Co je nového

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Reliance 3 design OBSAH

1. Generátor výstupních objektů (GVO)

Controlweb. Úvod. Specifikace systému

Compatibility List. GORDIC spol. s r. o. Verze

Programátorská příručka

MST - sběr dat pomocí mobilních terminálů on-line/off-line

MBI - technologická realizace modelu

Server-side technologie pro webové aplikace

WAP. Jirka Kosek. IZI228 tvorba webových stránek a aplikací. Poslední modifikace: $Date: 2004/09/30 09:02:59 $ Copyright Jiří Kosek

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

úvod Historie operačních systémů

Ročníkový projekt DYNAMICKÉ HTML. Projektová dokumentace. Jan Ehrlich, Petr Marek, Tomáš Marván, Martin Paľo. Vedoucí projektu: RNDr.

Internetové služby isenzor

ZADÁVACÍ DOKUMENTACE Comenis 2.0

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

CS monitorovací jednotky. Edice: Vytvořil: Luboš Fistr

Maturitní témata Školní rok: 2015/2016

Administrace služby IP komplet premium

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Profilová část maturitní zkoušky 2017/2018

IT ESS II. 1. Operating Systém Fundamentals

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Překladač a jeho struktura

OBJEDNÁVÁNÍ DÁRCŮ KRVE PŘES INTERNET Naděžda Kalužová, Zdeněk Slanina

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Prehistorie. Doly Těžký průmysl

TECHNICKÁ PODPORA. Systémové požadavky Instalace Licencování a aktivace Náplň technické podpory Formy předplatného Kontakty

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Administrace služby - GTS Network Storage

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Dokumentace software

ČÁST 1. Základy 32bitového programování ve Windows

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Vstupní požadavky, doporučení a metodické pokyny

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Dokumentace k programu MMDoc

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

GPS lokátor s online sledováním Návod k obsluze

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Tvorba informačních systémů

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.

Architektury informačních systémů

Transkript:

Úvod Arachne je projekt, který si bere za cíl poskýtovat informace prostřednictvým mobilních telefonů studentům týkající se jejich studia na Západočeské Univerzitě v Plzni. Má snahu takto částečně paralelizovat informační kanál STAG. Projekt je realizován prostřednictvím J2ME technologie, tedy prostřednictvím aplikace naprogramované v nejnižší edici jazyka Java pro mobilní zařízení. Jako požadované parametry v první fázi vývoje jsem zvolil : - Osobní rozvrh studenta - Jízdní řády linek k a od Fakulty Aplikovaných Věd - Informace Fakult a Univerzity - Přehled kulturních akcí ve studentských klubech 1

Koncept projektu Výrobci mnoha typů telefonů a komunikátorů v dnešní době implementují J2ME technologie do svých produktů, přístroje studentů nejsou výjimkou. Vycházel jsem z reálných potřeb studentů, kteří mohou uvítat mít svůj osobní rozvrh a další podobné informace stále u sebe. Java MIDlet se mi jevil jako ideální prostředek k realizaci cíle, zvláště za předpokladu, že každé takové zařízení disponuje schopností komunikace prostřednictvím HTTP protokolu, což je garantováno specifikací jazyka Java 1.0. Existují-li tedy zařízení, která vlastní téměř každý a která jsou schopna fungovat jako hostitelský počítač pro aplikaci napsanou ve standardním programovacím jazyce a je-li tato aplikace schopna připojit se na server a stáhnout si data, nechybí již nic pro realizaci první vývojové fáze projektu. Softwarové řešení Softwarové řešení vychází z uspořádání Jádra a Uživatelského prostředí. Jádro tvoří několik tříd, každá z nich přestavuje řešení jistého problému a musí plnit následující funkce : - Plně zabezpečovat vlastní komunikaci ze serverem prostřednictvím HTTP protokolu - Získaná data parsovat a rozdělit do datových struktur - Data ukládat maximálně nejefektivnějším způsobem Uživatelské prostředí musí : - Poskytovat maximálně možný komfort - Předpokládat použití v širokém spektru přístrojů - Používat pouze základní a ověřené třídy a komponenty 2

Grafické znázornění koceptu : 3

Realizace projektu J2ME 1.0 aneb Java to Mobile Edition Edice J2ME je ze všech tří edic (J2ME, J2SE, J2EE) nejmenší, respektive je určena pro zařízení jejichž hardwarové možnosti jsou omezené, nikoliv však nedostačující pro solidní programování. J2ME se od standartní Javy samozřejmě liší tyto diference jsou však konstrukční povahy, nikoliv principialní, tzn, že není možné vetšinou přenést kód, ale je jisté, že systém proměnných, objektů, tříd a syntaxe je totožný. HTTP protokol Slouží ke komunikaci se síťovým okolim, v případě J2ME 1.0 se omezuje pouze na Read/Write požadavky, propojování pomocí soketů, nebo incializace spojení ze strany vzdáleného serveru není možná. HTTP spojení zastřešuje veřejné rozhraní (public interface) HttpConnection (javax.microedition.io). XML, XML parser XML je jednoduchý systém ukládání dat pomocí tagů a stromových struktur, je svým principem podobný protokolu HTML, ale podstatný rozdíl spočívá ve varíabilitě tagů. Jako základní nosič dat byl použit pro svoji jednoduchost, velkou míru přenesené informace, možnost jeho snadného generování na straně serveru a pro existenci dobrých, volně přístupných parserů pro edici J2ME a J2SE. 4

Příklad XML dokumentu (osobní rozvrh) : <TIMETABLE> <OSCISLO>A03219</OSCISLO> <PRIJMENI>Stanek</PRIJMENI> <JMENO>Martin</JMENO> <SEMESTR>L</SEMESTR> <POK06>MA2-2-CV-Cizek-UU110</POK06> <POK08>PPA2-2-CV-Netrvalova-UU409</POK08> <POK10>FYA1-2-CV-UNKNOWN-UF104</POK10> <UTK06>SMA2-2-CV-Tomiczek-UU306</UTK06> <UTS08>DMA-2-CV-Holub-UU206</UTS08> <STK01>PPA2-3-PR-UNKNOWN-UU108</STK01> <STK04>MA2-2-PR-Tomiczek-UP108</STK04> <STK04>DFT-2-PR-Demjancuk-VC302</STK04> <STK06>MATL-2-CV-Rohan-UL709</STK06> <CTK03>DMA-3-PR-Kaiser-EP130</CTK03> <CTK06>ZKY-3-PR-UNKNOWN-UP108</CTK06> <PAK01>MA2-2-PR-Tomiczek-EP130</PAK01> <PAK03>FYA1-3-PR-UNKNOWN-UP108</PAK03> </TIMETABLE> Realizace projektu Třídy aplikace Třída Arachne (Arachne.java) Hlavní třída aplikace, je potomkem třídy MIDlet a implementuje rozhraní CommadListener. Zahrnuje metody startapp(), pauseapp(), destroyapp(), commandaction(), jako stěžejní metody třídy. Dále obsahuje metody pro vytváření aplikačního prostředí, jako je generování formulářů, obsluha přikazů, událostní metody a metody pro komunikaci s ostatními třídami. Třída TimeTable (TimeTable.java) Třída zabezpečující stažení dat osobního rozvrhu studenta, předání stažených dat XML parseru a jejich následné uložení potažmo pozdější načtení z paměti telefonu. Obsahuje metody jejihž návratové hodnoty tvoří jméno studenta, semestr atd. 5

Třída Subject (Subject.java) Je ADT objektem, tedy třídou jež představuje Abstraltní Datový Typ, tento ADTyp slouží pak k vytvoření dynamického pole do nejž se uloží data z naparsovaného XML dokumentu, nebo po načtení z paměti přístroje. Třída RailwayGuide (RailwayGuide.java) Plní podobnou funkci jako třída TimeTable, s tím rozdílem, že zde se pracuje s daty jízdního řádu. Třída TimeItem (TimeItem.java) ADTyp předtavující časový údaj v jízdním řádu, a článek linárního seznamu vznikajícího při parsovaní, či načítání dat. Třída AboutCanvas (AboutCanvas.java) Potomek třídy Canvas, představuje plátno pro vykreslení údajů spojených s datumem kompilace MIDletu a údaji o programátorovi. Třídy XMLElement a XMLParseException (XMLElement, XMLParseException) Jsou třídy XML parseru, nebyly pozměněny a jsou použity v souladu s podmínkami autora. 6

Uživatelské prostředí Úvodní obrazovka : Hlavní menu : 7

Chybové hlášení : Aktualizace proběhla vpořádku : 8

Předměty rozvrhu příslušný den : Detail předmětu : 9

Nejbližší odjezdy linky : About obrazovka : 10

Závěr Projekt Arachne je mým prvním programem v Javě vůbec, trpí tedy na některé začátečnické chyby, jako je občasné plýtvání pamětí, nebo občasné zbytečně složité bloky kódu, uvědomuji si, že každá z metod by si zasloužila hlubší komentář. Nicméně mi toto téma velmi dobře posloužilo k letmému seznámení se s problematikou Javy a konkrétně J2ME. Projekt by měl sloužit studentům, ať už na ZČU, nebo jiným uživatelům. Je označen, jako Arachne I, protože existuje koncepce umožňuící příhlašování na zkoušky, či objednávání si jidel v menze prostřednictvím mobilního telefonu. 11

Použitá literatura a ostatní zdroje : Stephen J. Chapman Začíname programovat v jazyce Java Sun Microsystems J2ME MID 1.0 specification, help file. Copyright (c) 1993-2001 Nokia Nokia UI API ver. 1.0. Copyright (c) 2002 Technická specifikace programu : Jazyk : Sun Microsystems Java, J2ME edice. IDE : Xinox Jcreator LE Compilátor : Sun Microsystems Wirelles Toolkit Platforma : MIDP 1.0, Generic Verze : 1.0.0 Velikost programu : 51.1 kb Programový kód : 2595 řádků; 177,7 kb Jazyková lokalizace : Čeština Licence : freeware, opensource Uživatelská podpora : http://orpheus.wz.cz stanek_martin@seznam.cz Specifikace platformy na které byl software odlazen : Nokia 6610 NHL - 4U SW : 4.18 HW : 0640 MIDP 1.0 Dále testováno na N7210, N6310i. 12