Linux Server Development - SPŠE Ječná Vývoj tiskového serveru Dlouhodobá maturitní práce Střední průmyslová škola elektrotechnická, Praha 2, Ječná 30 4. ledna 2016 Autor: Jakub Motlík E-mail: Jakub.Motlik@gmail.com Třída: C4a Školní rok: 2015/2016 Vedoucí: Ing. Ondra Mandík, ING PAED IGIP. Oponent: Ing. Mgr. Vladimír Váňa, CSc.
Autor: Jakub Motlík Vydáno: 4. ledna 2016 Práce byla vydána jako dlouhodobá maturita na SP E Je ná. Práce byla vytvo ena v rámci projektu LSD SP E Je ná.
Zde vloºte ocální zadání práce.
Prohlá²ení Prohla²uji, ºe jsem svou práci vypracoval samostatn a pouºil pouze podklad uvedených v p iloºeném seznamu literatury. Prohla²uji, ºe v²echny výtisky práce jsou shodné s elektronickou verzí práce. Nemám závaºný d vod proti pouºití tohoto díla ve smyslu Ÿ 60 Zákona.121/2000 Sb., o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon) v platném zn ní. V... dne......
Potvrzení p edání práce v rámci projektu LSD Já..., datum narození..., tímto jako len projektu LSD estn prohla²uji, ºe jsem byl seznámen s projektem Vývoj tiskového serveru, jehohoº autorem je Jakub Motlíka potvrzuji ºe mi byli p edány ve²keré podklady, p ístupové údaje, data a dokumentace k tomuto projektu. Podpisem tohoto potvrzení p ebírám plnou odpov dnost za pokra ování uvedeného projektu. Jsem si v dom p ípadných následk, pokud bych úmysln uvedl nepravdivé, nep esné i neúplné údaje. V... dne......
Pod kování Mate-li komu pod kovat a chcete-li n komu pod kovat, m ºete zde.
Abstrakt Délka abstraktu záleºí na disciplín a poºadavcích autora práce. Typická délka je od 100 do 500 slov, ale velmi z ídka i více neº 1 strana. Abstrakt m ºe, ale nemusí obsahovat sekci titulek abstrakt explicitn zaznamenaný p edcházející t lu, a koliv jsou typicky rozd leny do logických sekcí jako p ehled toho, co práce obsahuje (nap. cokoliv z následujícího: podklady, úvod, cíle, metody, výsledky, záv r). V asopisových láncích, výzkumných pracích, publikovaných patentních ºádostech a patentech je abstrakt krátké shrnutí umíst né p ed úvodem práce, asto odd lené od t la textu, ob as s odli²ným zarovnáním od ostatního textu. Klí ová slova: Tiskový server, Tiskové e²ení, Tisk kdykoliv a kdekoliv Abstract Abstract in english. Please no copy-paste it from google translator. Keywords: Print server, Print solution, Print everytime and everywhere
OBSAH Obsah Úvod 10 1 O mé práci 11 1.1 Vize práce.................................... 11 1.2 Cíl práce..................................... 11 1.3 Srovnání mého tiskového systému s MyQ - Free v roce 2015........ 11 2 Hypotéza e²ení tiskového systému 13 2.1 Funk ní poºadavky na tiskový server..................... 13 2.2 Use case tiskového systému........................... 15 2.3 Nefunk ní poºadavky na tiskový server.................... 16 3 Návrh e²ení 17 3.1 Návrh uºivatelského rozhraní (FRONTEND aplikace)............ 17 3.2 Návrh databáze pro tiskový server....................... 17 3.3 Návrh obsluhy uºivatelského rozhraní (BACKEND aplikace)........ 19 3.4 Návrh systému obsluhy tisku dokument v RASPBERRY PI........ 19 4 Testování tiskového serveru 21 4.1 Technické testování............................... 21 4.2 Laboratorní testování.............................. 22 4.3 Reálné testování................................. 22 5 Shrnutí tiskového serveru 23 5.1 Jak se d lají seznamy.............................. 23 5.2 Jak se d lajá odkaz na literaturu....................... 23 Motlík, 2015/2016 8
OBSAH 6 Tvorba dokumentace serveru 24 6.1 Tricka pro maturanty LSD........................... 24 6.2 Ukázka tabulky ísel.............................. 24 Záv r 25 Seznam pouºité literatury 26 Seznam tabulek 27 Seznam obrázk 28 Seznam pouºitých zkratek 29 A Obsah p iloºeného CD 30 B SCRUM log 31 C Nepouºité obrázky 32 Motlík, 2015/2016 9
OBSAH Úvod B hem mého studia jsem si v²iml jednoho zásadního problému u vytíºených lidí, jako jsou n kte í profeso i a studenti na na²í ²kole, asto totiº nestíhají vytisknout materiály, nebo si je p i sp chu zapomenout vytisknout. Nejvíce s tím mají problém u itelé, musí tak tahat ²tosy výtisk pro kaºdou t ídu a asto se pak stává, ºe výtisky bu p ebývají, nebo chybí. Studenti u nás ve ²koly moºnost tisknout v bec nemají, coº vede u vytíºených student k problém m s pln ním n kterých úkol. Nejv t²í problém u nás ve ²kole, ale i jinde vidím v tom, ºe lov k musí být u tiskárny, nebo ve stejné síti jako tiskárna. Nem ºe tedy naplánovat tisk z domova, nebo p i cest do ²koly. Motlík, 2015/2016 10
KAPITOLA 1. O MÉ PRÁCI Kapitola 1 O mé práci 1.1 Vize práce Vzhledem k problému, který jsem zaznamenal, je vizí mé práce zjednodu²it a zp ístupnit tisk ve ²kolním prost edí, tak aby mohli tisknout nejen zam stnanci ²koly, ale i studenti a zárove se tímto krokem zamezilo plýtvání papírem a barvou. 1.2 Cíl práce Cílem práce tedy bylo vytvo it co nejlevn j²í tiskový systém pro ²kolní prost edí, ke kterému budou moci p istupovat zam stnanci ²koly i studenti z domova, p i cest do ²koly, ale i ve ²kole, aby si v²ichni uºivatelé mohli zvolit datum a as tisku, aby mohla být vedena evidence tisku a zárove má také za cíl eliminovat plýtvání papírem a barvou. 1.3 Srovnání mého tiskového systému s MyQ - Free v roce 2015 Motlík, 2015/2016 11
KAPITOLA 1. O MÉ PRÁCI MyQ - Free Moje e²ení Automatická archivace tiskových úloh NE ANO Automatická instalace ovlada NE NE Automatická podpora nových model tiskových za ízení ANO ANO Limitování tisku NE NE Jednoduchá instalace ANO ANO Maximální po et tiskáren 11 Maximální po et uºivatel Odloºený tisk ANO ANO Platforma pracovní stanice Windows, Linux, Jakákoliv Mac (webové rozhraní) Podporovaná platforma serveru Windows Linux Sledování stavu tiskové úlohy NE ANO Tisk bez ovlada, online NE ANO Webové uºivatelské rozhraní ANO ANO Tabulka 1.1: Tabulka zobrazující srovnání mého systému s MyQ - Free (2015) Motlík, 2015/2016 12
KAPITOLA 2. HYPOTÉZA ŘEŠENÍ TISKOVÉHO SYSTÉMU Kapitola 2 Hypotéza e²ení tiskového systému P i rozmý²lení provedení tiskového serveru m napadla dv e²ení: 1. e²ení, které m napadlo, bylo vyuºití jiº existujících program a funkcí. P i reálném testu, jsem ale zjistil, ºe toto e²ení je p íli² sloºité na instalaci, obsluhu a del²í udrºování systému. 2. e²ení jsem vymyslel na základ zku²enosti z p edchozího e²ení. Proto navrhuji jako platformu pro uºivatelské rozhraní vyuºít webové stránky spojené s databází, které jsou p ístupné pro kohokoliv, kdo má moºnost p ístupu k internetu a také tímto e²ením odpadá nutnost vytvá et aplikace pro r zné platformy. Pro obsluhu tisku dokument z databáze navrhuji pouºít po íta, nap íklad Raspberry PI model B (dále jen RPi), který je levný, nenáro ný, úsporný a v základu je vybaven ethernetovou kartou a 4mi USB porty, pouºitím RPi by navíc odpadla i nutnost mít zvlá²tní server pro uºivatelské rozhraní a databázi, protoºe tyto sluºby m ºeme také spustit na RPi. Dále navrhuji pro RPi naprogramovat obsluºný program nap íklad v Pythonu, který bude kontrolovat databázi a v p ípad nustnosti bude odesílat soubory do tiskárny. Celé by to tedy mohlo vypadat jako na obrázku 2.1, který se nachází na stránce 14. 2.1 Funk ní poºadavky na tiskový server 1. Uºivatel se musí p ihlásit Motlík, 2015/2016 13
KAPITOLA 2. HYPOTÉZA ŘEŠENÍ TISKOVÉHO SYSTÉMU Obrázek 2.1: UML diagram návrhu tiskového serveru. 2. Uºivatel m ºe nahrát dokument, zvolit po et kopii, datum as a tiskárnu, na které chce dokument vytisknout. 3. Uºivatel si m ºe zobrazit své nahrané dokumenty k tisku. (a) Uºivatel m ºe odstranit dokument z fronty k tisku. 4. Uºivatel si m ºe zobrazit své jiº vyti²t né dokumenty. (a) Uºivatel m ºe znovu zadat tisk jiº vyti²t ného dokumentu. 5. Uºivatel si m ºe p enastavit uºivatelské jméno, vlastní jméno a heslo 6. Uºivatel se m ºe odhlásit 7. Administrátor m ºe to samé jako uºivatel. 8. Administrátor m ºe p idat uºivatele a musí mu nastavit jména, heslo a roli. 9. Administrátor m ºe p idat zobrazit dokumenty k tisku v²ech uºivatel. (a) Administrátor m ºe odstranit jakýkoliv dokument k tisku. Motlík, 2015/2016 14
KAPITOLA 2. HYPOTÉZA ŘEŠENÍ TISKOVÉHO SYSTÉMU Obrázek 2.2: Use case tiskového serveru. 10. Administrátor m ºe p idat kredity uºivateli. 11. Administrátor m ºe odebrat kredity uºivateli. 12. Administrátor m ºe p idat tiskárnu do systému. 13. Administrátor m ºe odebrat tiskárnu ze systému. 2.2 Use case tiskového systému Use case (obrázek 2.2) vychází z funk ních poºadavk tiskového serveru a nachází se na stran 15. Motlík, 2015/2016 15
KAPITOLA 2. HYPOTÉZA ŘEŠENÍ TISKOVÉHO SYSTÉMU 2.3 Nefunk ní poºadavky na tiskový server Internetové p ipojení User device (Mobil, Tablet, Notebook) s webovým prohlíºe em Stroj se systémem Linux Debian 7.9 Raspberry Pi Model B+ Tiskárna s USB nebo sí ovým p ipojením Python 2.7 MySQL libmysql 5.5.11 PHP 5.4 LibreOce 3.5.4 Unoconv 0.6 CUPS 2.1 Motlík, 2015/2016 16
KAPITOLA 3. NÁVRH ŘEŠENÍ Kapitola 3 Návrh e²ení Na základ funk ních poºadavk na stran 13 a usecase (obrázek 2.2 na stran 15) jsem vytvo il následující návrhy: 1. Uºivatelského rozhraní 2. Databáze 3. Programové obsluhy uºivatelského rozhraní 4. Obsluhy tisku dokument v RPi 3.1 Návrh uºivatelského rozhraní (FRONTEND aplikace) GUI bylo vytvo eno podle navrºených MockUpových prototyp. Na obrázcích 3.1 a 3.2 na stran 18 jsou vid t dva MockUpové prototypy GUI rozhraní. Ostatní MockUpové prototypy naleznete v p íloze Nepouºité obrázky C. 3.2 Návrh databáze pro tiskový server Rela ní schéma databáze na obrázku 3.3 strana 19. Databáze byla navrºena tak, aby spl ovala funk ní poºadavky (strana 13). Motlík, 2015/2016 17
KAPITOLA 3. NÁVRH ŘEŠENÍ Obrázek 3.1: MockUpový prototyp p ihla²ovací obrazovky. Obrázek 3.2: MockUpový prototyp obrazovky pro nahrávání dokument. Motlík, 2015/2016 18
KAPITOLA 3. NÁVRH ŘEŠENÍ Obrázek 3.3: Databázové rela ní schéma. 3.3 Návrh obsluhy uºivatelského rozhraní (BACKEND aplikace) Pro obsluhu uºivatelského rozhraní jsem navrhl spole n s databází pouºít jazyk PHP. Pro kaºdou uºivatelskou stranu bude individuální PHP obsluºný script. 3.4 Návrh systému obsluhy tisku dokument v RASPBERRY PI Pro obsluhu tisku v Raspberry PI navrhuji pouºití jazyka Python, který bude pracovat s databází a na tiskárnu bude odesílat dokumenty pomocí CUPS. Na obrázku 3.4 strana 20 je zobrazen vývojový diagram návrhu práce Python scriptu. Motlík, 2015/2016 19
KAPITOLA 3. NÁVRH ŘEŠENÍ Obrázek 3.4: Vývojový diagram pro práci scriptu. Motlík, 2015/2016 20
KAPITOLA 4. TESTOVÁNÍ TISKOVÉHO SERVERU Kapitola 4 Testování tiskového serveru Tiskový server byl testován n kolika zp soby: 1. Technické testování 2. Laboratorní testování 3. Reálné testování 4.1 Technické testování Prvním a základním testováním bylo otestování komponent a jejich vzájemné kompatibility. Bohuºel, jelikoº je nemoºné otestovat v²echny dosud existující USB a sí ové tiskárny, byly náhodn vybrány 3 naprosto rozdílné tiskárny: První levná domácí laserová tiskárna od rmy HP (model: BLA BLA). Druhá draº²í domácí multifunk ní inkoustová tiskárna od rmy Canon (model: MG6200). T etí draº²í kancelá ská multifunk ní laserová tiskárna od rmy Brother (model: BLA BLA). Na t chto tiskárnách byl za pomoci tiskové ásti systému tiskového serveru vyti²t n testovací dokument ve formátu docx (obsah p iloºeného CD) který obsahoval text s velkými, malými písmeny a písmeny s diakritikou i bez, dále obsahoval tabulku a obrázek. Motlík, 2015/2016 21
KAPITOLA 4. TESTOVÁNÍ TISKOVÉHO SERVERU 4.2 Laboratorní testování Tiskový server byl b hem vývoje testován, aby se dalo p esn ur it, zda spl uje kritéria funk ních poºadavk 2.1, které najdete na stran 13. Kaºdá nov implementovaná funkce byla ihned otestována. Testování probíhalo následovn pro p íklad: Tiskový server bude tisknout dokument ve zvoleném ase a datu. Po implementaci této funkce byl nahrán dokument se zvoleným asem a datem tisku. Pokud byl dokument s odchylkou 2 minut vyti²t n, výstup testování byl kladný - mohlo se pokra ovat implementací dal²í funkce, pokud ne - výstup testování byl záporný - funkce se musela upravit nebo opravit tak aby spl ovala funk ní poºadavky. 4.3 Reálné testování Motlík, 2015/2016 22
KAPITOLA 5. SHRNUTÍ TISKOVÉHO SERVERU Kapitola 5 Shrnutí tiskového serveru Zde je odstavec kde srh te celý text kapitoly, který bude následovat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In at tincidunt augue, a dignissim nulla. Cras pharetra turpis turpis, ut interdum arcu hendrerit in. Fusce fringilla dolor turpis, sed convallis nibh tincidunt quis. Nunc blandit condimentum mauris, at venenatis arcu egestas ut. Donec sollicitudin pulvinar eros id convallis. 5.1 Jak se d lají seznamy Bramborová ka²e ízek Coca-Cola 5.2 Jak se d lajá odkaz na literaturu V p ípad, ºe je vhodné Vá² text doplnit odkazem na literaturu pouºiete odkaz [1]. Pouºití literaturu je v p ípad maturitních prací nutné. Motlík, 2015/2016 23
KAPITOLA 6. TVORBA DOKUMENTACE SERVERU Kapitola 6 Tvorba dokumentace serveru Zde je odstavec kde srh te celý text kapitoly, který bude následovat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In at tincidunt augue, a dignissim nulla. Cras pharetra turpis turpis, ut interdum arcu hendrerit in. Fusce fringilla dolor turpis, sed convallis nibh tincidunt quis. Nunc blandit condimentum mauris, at venenatis arcu egestas ut. Donec sollicitudin pulvinar eros id convallis. 6.1 Tricka pro maturanty LSD Na obrázku?? na stran?? muzete videt koncept tricka pro maturanty LSD. 6.2 Ukázka tabulky ísel Tabulka 6.1 na stran 24 nám ukazuje r zná ísla se azená podle velikosti. 1 2 3 4 5 6 7 8 9 Tabulka 6.1: Tabulka ísel Motlík, 2015/2016 24
KAPITOLA 6. TVORBA DOKUMENTACE SERVERU Záv r Lorem ipsum dolor sit amet, consectetur adipiscing elit. In at tincidunt augue, a dignissim nulla. Cras pharetra turpis turpis, ut interdum arcu hendrerit in. Fusce fringilla dolor turpis, sed convallis nibh tincidunt quis. Nunc blandit condimentum mauris, at venenatis arcu egestas ut. Donec sollicitudin pulvinar eros id convallis. Motlík, 2015/2016 25
SEZNAM POUŽITÉ LITERATURY Seznam pouºité literatury [1] Leslie Lamport, L A T E X: A Document Preparation System. Addison Wesley, Massachusetts, 2nd Edition, 1994. [2] Jak psat maturitni praci. OndraMandik.com [online]. 2010. vyd. [cit. 2013-02-06]. Dostupné z: http://ondramandik.com/jak_psat_maturitni_prace.html Motlík, 2015/2016 26
SEZNAM TABULEK Seznam tabulek 1.1 Tabulka zobrazující srovnání mého systému s MyQ - Free (2015)...... 12 6.1 Tabulka ísel.................................. 24 Motlík, 2015/2016 27
SEZNAM OBRÁZKŮ Seznam obrázk 2.1 UML diagram návrhu tiskového serveru.................... 14 2.2 Use case tiskového serveru............................ 15 3.1 MockUpový prototyp p ihla²ovací obrazovky.................. 18 3.2 MockUpový prototyp obrazovky pro nahrávání dokument.......... 18 3.3 Databázové rela ní schéma........................... 19 3.4 Vývojový diagram pro práci scriptu...................... 20 C.1 MockUp stránky vyti²t ných dokument.................... 33 C.2 Snímek stránky vyti²t ných dokument.................... 33 C.3 MockUp stránky op tovného tisku....................... 34 C.4 Snímek stránky op tovného tisku........................ 34 Motlík, 2015/2016 28
SEZNAM OBRÁZKŮ Seznam pouºitých zkratek a termín RPi Raspberry PI model B GUI Graphical user interface CUPS Common Unix Printing System Motlík, 2015/2016 29
PŘÍLOHA A. OBSAH PŘILOŽENÉHO CD P íloha A Obsah p iloºeného CD Bud vlozte printscreen nebo pouzijte balik dirtree. Motlík, 2015/2016 30
PŘÍLOHA B. SCRUM LOG P íloha B SCRUM log Vypis vsech story ze vsech sprintu. Graf vyjadrujici kolik pointu jste ziskal za jednotlive sprinty. Motlík, 2015/2016 31
PŘÍLOHA C. NEPOUŽITÉ OBRÁZKY P íloha C Nepouºité obrázky Motlík, 2015/2016 32
PŘÍLOHA C. NEPOUŽITÉ OBRÁZKY Obrázek C.1: MockUp stránky vyti²t ných dokument. Obrázek C.2: Snímek stránky vyti²t ných dokument. Motlík, 2015/2016 33
PŘÍLOHA C. NEPOUŽITÉ OBRÁZKY Obrázek C.3: MockUp stránky op tovného tisku. Obrázek C.4: Snímek stránky op tovného tisku. Motlík, 2015/2016 34