linux server development - spŠe jecnᡠvývoj tiskového serveru · ondra mandík, ing paed...
TRANSCRIPT
Linux Server Development - SPŠE Jecná
Vývoj tiskového serveru
Dlouhodobá maturitní práceStrední prumyslová škola elektrotechnická, Praha 2, Jecná 30
4. ledna 2016
Autor: Jakub Motlík
E-mail: [email protected]
Trída: C4a
Školní rok: 2015/2016
Vedoucí: Ing. Ondra Mandík, ING PAED IGIP.
Oponent: Ing. Mgr. Vladimír Vána, 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 o�cá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 elek-
tronickou 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� , jeho-
hoº 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·, po-
kud 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: pod-
klady, ú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
SPŠE JECNÁ 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
SPŠE JECNÁ 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
SPŠE JECNÁ 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
SPŠE JECNÁ 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
SPŠE JECNÁ KAPITOLA 1. O MÉ PRÁCI
MyQ - Free Moje °e²eníAutomatická archivace tiskových úloh NE ANOAutomatická instalace ovlada£· NE NEAutomatická podpora nových model·tiskových za°ízení ANO ANO
Limitování tisku NE NEJednoduchá instalace ANO ANOMaximální po£et tiskáren 11 ∞Maximální po£et uºivatel· ∞ ∞Odloºený tisk ANO ANO
Platforma pracovní staniceWindows, Linux,Mac
Jakákoliv(webové rozhraní)
Podporovaná platforma serveru Windows LinuxSledování stavu tiskové úlohy NE ANOTisk bez ovlada£·, online NE ANOWebové 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
SPŠE JECNÁ KAPITOLA 2. HYPOTÉZA REŠ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 etherne-
tovou 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 Py-
thonu, 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
SPŠE JECNÁ KAPITOLA 2. HYPOTÉZA REŠ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
SPŠE JECNÁ KAPITOLA 2. HYPOTÉZA REŠ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
SPŠE JECNÁ KAPITOLA 2. HYPOTÉZA REŠ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
• LibreO�ce 3.5.4
• Unoconv 0.6
• CUPS 2.1
Motlík, 2015/2016 16
SPŠE JECNÁ KAPITOLA 3. NÁVRH REŠ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 apli-
kace)
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
SPŠE JECNÁ KAPITOLA 3. NÁVRH REŠ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
SPŠE JECNÁ KAPITOLA 3. NÁVRH REŠ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
SPŠE JECNÁ KAPITOLA 3. NÁVRH REŠENÍ
Obrázek 3.4: Vývojový diagram pro práci scriptu.
Motlík, 2015/2016 20
SPŠE JECNÁ 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é kompatibi-
lity. 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 tes-
tovací 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
SPŠE JECNÁ 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
SPŠE JECNÁ 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
SPŠE JECNÁ 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 34 5 67 8 9
Tabulka 6.1: Tabulka £ísel
Motlík, 2015/2016 24
SPŠE JECNÁ 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
SPŠE JECNÁ SEZNAM POUŽITÉ LITERATURY
Seznam pouºité literatury
[1] Leslie Lamport, LATEX: A Document Preparation System. Addison Wesley, Massa-
chusetts, 2nd Edition, 1994.
[2] Jak psat maturitni praci. OndraMandik.com [online]. 2010. vyd. [cit. 2013-02-06]. Do-
stupné z: http://ondramandik.com/jak_psat_maturitni_prace.html
Motlík, 2015/2016 26
SPŠE JECNÁ 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
SPŠE JECNÁ SEZNAM OBRÁZKU
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
SPŠE JECNÁ SEZNAM OBRÁZKU
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
SPŠE JECNÁ PRÍLOHA A. OBSAH PRILOŽENÉHO CD
P°íloha A
Obsah p°iloºeného CD
Bud vlozte printscreen nebo pouzijte balik dirtree.
Motlík, 2015/2016 30
SPŠE JECNÁ PRÍ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
SPŠE JECNÁ PRÍLOHA C. NEPOUŽITÉ OBRÁZKY
P°íloha C
Nepouºité obrázky
Motlík, 2015/2016 32
SPŠE JECNÁ PRÍ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
SPŠE JECNÁ PRÍ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