53
ST ˇ REDOŠKOLSKÁ ODBORNÁ ˇ CINNOST Obor SO ˇ C: 18. Informatika Vývoj tiskového serveru Print server developing Autor: Jakub Motlík E-mail: [email protected] Školní rok: 2015/2016 Konzultant: Ing. Ondˇ rej Mandík, ING PAED IGIP. Škola: Stˇ rední pr ˚ umyslová škola elektrotechnická Praha 2, Jeˇ cná 30 Kraj: Hlavní mˇ esto Praha Praha 2016

STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

STREDOŠKOLSKÁ ODBORNÁ CINNOST

Obor SOC: 18. Informatika

Vývoj tiskového serveru

Print server developing

Autor: Jakub Motlík

E-mail: [email protected]

Školní rok: 2015/2016

Konzultant: Ing. Ondrej Mandík, ING PAED IGIP.

Škola: Strední prumyslová škola elektrotechnická

Praha 2, Jecná 30

Kraj: Hlavní mesto Praha

Praha 2016

Page 2: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

Autor: Jakub Motlík

Vydáno: 24. b°ezna 2016

Práce byla vytvo°ena v rámci projektu LSD SP�E Je£ná.

Práce byla vytvo°ena v souladu s normami:

�SN 01 6910, �SN ISO 690, �SN ISO 2145, �SN ISO 7144, �SN ISO 999

Page 3: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

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 ..................... ...............................................

Page 4: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ
Page 5: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

Pod¥kování

Velké díky pat°í panu Ing. Ond°eji Mandíkovi, ING PAED IGIP. za pomoc, podm¥tné

p°ipomínky, konzultace a pomoc p°i vytvá°ení tohoto projektu. Také d¥kuji své rodin¥ za

pomoc a podporu.

Page 6: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ
Page 7: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

Abstrakt

Tiskový server je systém, který umoº¬uje uºivatel·m plánovaný tisk a tisk odkudkoliv. V

této práci je zaznamenán kompletní vývoj tiskového systému od funk£ních, nefunk£ních

poºadavk· p°es MockUp prototypy, návrhy °e²ení, reálného provedení aº po zhodnocení

systému. Velice zajímavou stránkou tiskového serveru je °e²ení zabezpe£ení databáze za

pomoci speciální databázové t°ídy vyuºívající PDO a tím zabezpe£ující p°ístup do data-

báze. Ale také skript starající se o tisk ve vybraný datum a £as na zvolenou tiskárnu.

Klí£ová slova: Tiskový server, Tiskové °e²ení, Tisk kdykoliv a kdekoliv

Abstract

Print server is server, which providing scheduled and everywhere Sprinting. In this work

you will read about evolving this system from functional, non functional requirements,

across MockUp prototypes, solutions prototypes, real solutionand in the end the review of

system. Very interesting thing is solution of database security by special database class,

with usage of PDO to secure database accessing. And script for printing at selected date

and time on selected printer is very interesting too.

Keywords: Print server, Print solution, Print everywhere at anytime

Page 8: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ

8 Motlík, 2015/2016

Page 9: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ OBSAH

Obsah

Úvod 11

1 O práci 13

1.1 Vize a cíl práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.2 P°ehled konkurence na £eském trhu v roce 2015 . . . . . . . . . . . . . . . 13

2 Hypotéza °e²ení tiskového systému 15

2.1 Funk£ní poºadavky tiskového serveru . . . . . . . . . . . . . . . . . . . . . 15

2.2 Usecase funk£ních poºadavk· . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Nefunk£ní poºadavky na tiskový server . . . . . . . . . . . . . . . . . . . . 18

3 Návrh °e²ení 21

3.1 Návrh uºivatelského rozhraní . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 Návrh databáze pro tiskový server . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Návrh obsluhy uºivatelského rozhraní a tisku . . . . . . . . . . . . . . . . . 24

4 Reálné provedení tiskového serveru 27

4.1 Provedení uºivatelského rozhraní . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 Provedení databáze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3 Provedení obsluhy uºivatelského rozhraní . . . . . . . . . . . . . . . . . . . 29

4.4 Provedení obsluhy tisku dokument· v RPi . . . . . . . . . . . . . . . . . . 30

4.5 Uºivatelský postup p°i tisku dokumentu . . . . . . . . . . . . . . . . . . . 31

4.6 Pouºité technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.7 Srovnání tiskového systému s MyQ - Free v roce 2015 . . . . . . . . . . . . 31

5 Testování tiskového serveru 35

5.1 Zp·sob testování tiskového serveru . . . . . . . . . . . . . . . . . . . . . . 35

Motlík, 2015/2016 9

Page 10: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

OBSAH SPŠE JECNÁ

5.2 Technické testování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.3 Laboratorní testování a výsledek . . . . . . . . . . . . . . . . . . . . . . . . 36

6 Shrnutí tiskového serveru 37

6.1 Výhody, nevýhody a vylep²ení systému . . . . . . . . . . . . . . . . . . . . 37

Záv¥r 39

Seznam pouºité literatury 41

Seznam tabulek 43

Seznam obrázk· 45

Seznam pouºitých zkratek 47

A Obsah p°iloºeného CD 49

B Nepouºité obrázky 51

10 Motlík, 2015/2016

Page 11: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ OBSAH

Úvod

Tiskový server je systém, který umoº¬uje uºivatel·m naplánovat tisk odkudkoliv. V této

práci je zaznamenán vývoj tiskového systému. Od funk£ních, nefunk£ních poºadavk· p°es

MockUp prototypy, návrhy °e²ení, reálného vy°e²ení pomocí HTML, CSS, PHP, MySQL,

Python aº po zhodnocení systému. nebo t°ídy.

Motlík, 2015/2016 11

Page 12: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

OBSAH SPŠE JECNÁ

Obrázek 1: Obrázek zachycující stav p°ed a po instalaci tiskového systému.

12 Motlík, 2015/2016

Page 13: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 1. O PRÁCI

Kapitola 1

O práci

V kapitole se do£tete o vizi a cíli práce, najdete zde souhrn konkuren£ních °e²ení na trhu

v roce 2015 a jejich stru£né zhodnocení.

1.1 Vize a cíl práce

Vizí práce je zjednodu²it a zp°ístupnit tisk ve ²kolním i �remním prost°edí. Zp°íjemnit

tisk zam¥stnanc·m, tím ºe se nebudou muset d¥lit o po£íta£ p°ipojený k tiskárn¥ a stu-

dent·m umoºnit tisknout dokumenty ve ²kole. Systém by mohl uspo°it ro£ní náklady na

tisk, zp°ehlednit spot°ebu papíru jednotlivými uºivateli a oznamovat pot°ebnou údrºbu

administrátorovi.

Cílem práce bylo vytvo°it tiskový systém pro ²koly a men²í �rmy, tudíº co nejvíce

�nan£n¥ nenáro£ný. K systému by m¥li mít moºnost p°istupovat zam¥stnanci ²koly i

studenti odkudkoliv - tj. z domova, p°i cest¥ do ²koly, ale i ve ²kole. Aby mohli studenti

nenosící si po£íta£ pouºívat tento systém, m¥lo by být GUI ovladatelné i z telefonu, proto

by m¥l systém um¥t tisknout dokument v poºadovaný datum a £as.

1.2 P°ehled konkurence na £eském trhu v roce 2015

V sou£asné dob¥ se na £eském trhu vyskytují 3 tisková °e²ení.

První °e²ení SafeCom je modulární a funguje na platform¥ Microsoft serveru, zam¥-

°uje se na monitoring, ú£tování a zabezpe£ení serveru.

Druhé °e²ení SafeQ je velice jednoduché °e²ení, zabývající se zabezpe£ením, kopíro-

Motlík, 2015/2016 13

Page 14: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 1. O PRÁCI SPŠE JECNÁ

váním a p°ená²ením tiskových úloh.

T°etí nejznám¥j²í °e²ení je MyQ. Tento systém se zabývá úsporou £asu a náklad·,

monitoringem a bezpe£ností tiskových za°ízení a nejvíce se podobá na²í vizi.

14 Motlík, 2015/2016

Page 15: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU

Kapitola 2

Hypotéza °e²ení tiskového systému

V této kapitole jsou popsány dva návrhy °e²ení a poºadavky tiskového systému.

1. °e²ení, které bylo navrhnuto na základ¥ existujících program· a funkcí jako je sdí-

lení tiskárny v systému Windows, program pro správu ti²t¥ných dokument· Print

Activity Monitor 4.0 a dal²í.

2. °e²ení bylo navrºeno tak, ºe jako platformu pro uºivatelské rozhraní by se mohli

vyuºít webové stránky spojené s databází, protoºe jsou p°ístupné pro kohokoliv,

kdo má p°ístup k internetu a také tím odpadá nutnost vytvá°et aplikace pro r·zné

platformy. Pro obsluhu tisku dokument· z databáze bylo navrºeno pouºít po£íta£,

nap°íklad Raspberry PI model B (dále jen RPi), protoºe je levný, malý, nenáro£ný,

úsporný a v základu je vybaven ethernetovým a 4mi USB porty, které by mohli

být pouºity pro p°ipojení RPi k internetu a tiskárn¥. Pouºitím RPi by navíc mohla

odpadnout i nutnost mít zvlá²tní server pro uºivatelské rozhraní a databázi, protoºe

tyto sluºby m·ºeme spustit na RPi. Dále bylo navrhnuto pro RPi naprogramovat

obsluºný program v Pythonu, který kontroluje databázi a v p°ípad¥ nutnosti posílá

soubory do tiskárny. Tento návrh je vyobrazen na obrázku 2.1, který se nachází na

stran¥ 16.

2.1 Funk£ní poºadavky tiskového serveru

Pro tiskový server byly sepsány funk£ní poºadavky, to je seznam poºadavk·, které má

systém spl¬ovat, aby byl pouºitelný ve ²kolním prost°edí.

Motlík, 2015/2016 15

Page 16: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU SPŠE JECNÁ

Obrázek 2.1: UML diagram návrhu tiskového serveru.

1. Uºivatel se musí p°ihlásit - Aby nemohla být tiskárna zneuºívána nebo zahlcována.

2. Uºivatel m·ºe nahrát dokument, zvolit po£et kopií, datum £as a tiskárnu, na které

chce dokument vytisknout. - Aby uºivatel nemusel posílat více stejných dokument·

a nebyl omezován jednou tiskárnou.

3. Uºivatel si m·ºe zobrazit své nahrané dokumenty k tisku. - Kv·li p°ehledu uºivatele,

aby neposílal k tisku stejný dokument vícekrát.

(a) Uºivatel m·ºe odstranit dokument z fronty k tisku. - Kdyby se uºivatel spletl

nebo zjistil ºe dokumenty nepot°ebuje.

4. Uºivatel si m·ºe zobrazit své jiº vyti²t¥né dokumenty. - Aby m¥l p°ehled jestli uº

tyto dokumenty n¥komu dával.

(a) Uºivatel m·ºe znovu zadat tisk jiº vyti²t¥ného dokumentu. - Aby nemusel

nahrávat znovu stejný dokument.

5. Uºivatel si m·ºe p°enastavit uºivatelské jméno, vlastní jméno a heslo. - Aby si

uºivatel lépe pomatoval p°ihla²ovací údaje.

16 Motlík, 2015/2016

Page 17: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU

6. Uºivatel se m·ºe odhlásit. - Aby nemohl n¥kdo jiný vyuºít systém.

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. - Aby

systém mohli vyuºívat i jiní uºivatelé.

9. Administrátor m·ºe zobrazit dokumenty k tisku v²ech uºivatel·. - Aby mohla být

vedena kontrola vyºívatelnosti tiskárny.

(a) Administrátor m·ºe odstranit jakýkoliv dokument k tisku.

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 Usecase funk£ních poºadavk·

Na základ¥ funk£ních poºadavk· byl vytvo°en obrázek 2.2, který se nachází na stran¥

18. Na tomto obrázku jsou vlevo vyobrazeny dv¥ role (USER a ADMIN), ke kterým jsou

p°i°azeny jednotlivé funkce, které jsou p°ístupné pro danou roli. Role ADMIN d¥dí od role

USER v²echny jeho funkce, ty se mohou dále rozvíjet (extends), nebo mohou vyºadovat

provedení dal²í funkce (include).

Motlík, 2015/2016 17

Page 18: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU SPŠE JECNÁ

Obrázek 2.2: Usecase funkcí tiskového serveru.

2.3 Nefunk£ní poºadavky na tiskový server

Pro tiskový server byly sepsány nefunk£ní a poºadavky, to je seznam minimálních hard-

warových nárok·, které musí být spln¥ny, aby byl server pouºitelný. P°i sepisování ne-

funk£ních poºadavk· se vycházelo ze zku²eností s tiskem dokument· na Linuxu.

1. Internetové p°ipojení

2. User device (Mobil, Tablet, Notebook) s webovým prohlíºe£em

3. Stroj se systémem Linux Debian 7.9 (Raspberry Pi Model B)

4. Tiskárna s USB nebo sí´ovým p°ipojením

18 Motlík, 2015/2016

Page 19: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU

5. Python 2.7

6. MySQL libmysql 5.5.11

7. PHP 5.4

8. LibreO�ce 3.5.4

9. Unoconv 0.6

10. CUPS 2.1

Motlík, 2015/2016 19

Page 20: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 2. HYPOTÉZA REŠENÍ TISKOVÉHO SYSTÉMU SPŠE JECNÁ

20 Motlík, 2015/2016

Page 21: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 3. NÁVRH REŠENÍ

Kapitola 3

Návrh °e²ení

Návrhy uºivatelského rozhraní, databáze, programové obsluhy a obsluhy tisku dokument·

byly navrºeny na základ¥ funk£ních poºadavk· strana 15 a usecase (obrázek 2.2 na stran¥

18).

Ke kaºdé z t¥chto £ástí bylo p°istupováno odli²ným zp·sobem, ale základem v²ech

návrh· byla hlavní my²lenka, co má tento systém um¥t (Funk£ní poºadavky - strana 15

kapitola 2.1).

3.1 Návrh uºivatelského rozhraní

GUI bylo navrhováno pomocí MockUp prototyp·. P°i gra�ckém návrhu bylo postupo-

váno po funk£ních poºadavcích (kapitola 2.1 strana 15), kaºdý funk£ní poºadavek by m¥l

p°edstavovat jednu uºivatelskou stránku nebo funkci na stránce.

Nap°íklad MockUp prototyp p°ihla²ovací obrazovky, obrázek 3.1 na stran¥ 23 spl¬uje

gra�cky první funk£ní poºadavek. Na tomto obrázku jsou vid¥t dv¥ textové vstupní pole

(1. pro uºivatelské jméno, 2. pro heslo) a tla£ítko p°ihlásit.

Po p°ihlá²ení se dostaneme na dal²í uºivatelskou stránku, MockUp prototyp stránky

pro nahrávání dokument· (obrázek 3.2 na stran¥ 23). Na tomto obrázku se nachází n¥kolik

vstupních polích:

1. vstupní pole je textové a slouºí pro uchování názvu dokumentu, který bude nahrán.

2. vstupní pole je £íselné, toto pole slouºí pro zvolení po£tu kopií, které chce uºivatel

vytisknout.

Motlík, 2015/2016 21

Page 22: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 3. NÁVRH REŠENÍ SPŠE JECNÁ

3. pole slouºí pro zvolení data a £asu tisku dokumentu, na tomto poli je v moderních

prohlíºe£ích dostupný vybírací kalendá°, který uleh£uje výb¥r p°esného data.

4. pole je nejd·leºit¥j²í slouºí k výb¥ru dokumentu, který chce uºivatel tisknout, z

uºivatelského za°ízení. Op¥t je zde po kliknutí pomocný pr·zkumník pro výb¥r

správného dokumentu.

5. pole nabízí nainstalované tiskárny v systému, v tomto seznamu m·ºe být i jednodu-

chý popis nap°íklad umíst¥ní tiskárny nebo nap°íklad to, ºe tiskárna tiskne pouze

£ernobíle.

Tento design byl zvolen autorem, na základ¥ p°ede²lé zku²enosti autora s responzivními

weby, kv·li tomu ºe se dá jednodu²e upravit na responzivní. Ostatní MockUp prototypy

zobrazující stránky pro správu dokument· ve front¥, vyti²t¥ných dokument· a stránku

pro op¥tovný tisk dokumentu naleznete v p°íloze B - Nepouºité obrázky.

3.2 Návrh databáze pro tiskový server

P°i návrhu databáze bylo op¥t postupováno po funk£ních poºadavcích (kapitola 2.1 strana

15), na rozdíl od návrhu uºivatelského rozhraní nám pro návrh databáze sta£ily první 3

funk£ní poºadavky.

Z prvního funk£ního poºadavku (uºivatel se musí p°ihlásit) vyplynulo, ºe v databázi

budeme pot°ebovat tabulku uºivatel· s minimáln¥ dv¥ma atributy - uºivatelským jménem

a heslem.

Z druhého funk£ního poºadavku vyplynuly dv¥ tabulky, 1. tabulka dokument· s mini-

máln¥ p¥ti atributy - název dokumentu, po£et kopií, datum a £as tisku, cesta k uloºenému

souboru a tiskárna. 2. tabulka slouºí pro uchovávání tiskáren, u této tabulky budeme také

pot°ebovat minimáln¥ dva atributy - název tiskárny a popis.

T°etí funk£ní poºadavek nám p°idal do tabulky dokument· atribut pro stav doku-

mentu - £ekající, vyti²t¥no. Rela£ní schéma databáze na obrázku 3.3 strana 24 jsme

poupravili tak, aby databáze spl¬ovala normaliza£ní formy a lépe se nám s ní pracovalo.

22 Motlík, 2015/2016

Page 23: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 3. NÁVRH REŠENÍ

Obrázek 3.1: MockUp prototyp p°ihla²ovací obrazovky.

Obrázek 3.2: MockUp prototyp obrazovky pro nahrávání dokument·.

Motlík, 2015/2016 23

Page 24: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 3. NÁVRH REŠENÍ SPŠE JECNÁ

Obrázek 3.3: Databázové rela£ní schéma.

3.3 Návrh obsluhy uºivatelského rozhraní a tisku

Pro obsluhu uºivatelského rozhraní bylo navrhnuto pouºití jazyka PHP a MySQL data-

báze pro uchovávání dat. Bylo rozhodnuto, ºe pro kaºdý MockUp prototyp, který p°edsta-

vuje jednu uºivatelskou stránku, bude napsán jeden obsluºný PHP script, pro opakované

funkce bude pouºit také pouze jeden script, který bude do stránky v míst¥ výskytu vloºen

metodou PHP include. Protoºe se v tomto systému budou £asto opakovat stejné SQL p°í-

kazy, bylo rozhodnuto o napsání t°ídy s funkcemi pro práci s jednotlivými databázovými

úkony za pouºití PDO.

Pro obsluhu tisku v Raspberry PI bylo navrºeno pouºít jazyk Python, který bude

pracovat s MySQL databází za pomoci libmysql a na tiskárnu bude odesílat dokumenty

pomocí systému CUPS. Program, jehoº vývojový diagram je na obrázku 3.4, který se

nachází stran¥ 25 zachycuje pr·b¥h, jakým by m¥l fungovat (program neustále kontroluje

databázi a pokud zjistí na základ¥ £asu a data ºe se má n¥který dokument vytisknout

ode²le ho na tiskárnu a vrátí se ke kontrolování databáze).

24 Motlík, 2015/2016

Page 25: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 3. NÁVRH REŠENÍ

Obrázek 3.4: Vývojový diagram pro práci scriptu.

Motlík, 2015/2016 25

Page 26: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 3. NÁVRH REŠENÍ SPŠE JECNÁ

26 Motlík, 2015/2016

Page 27: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 4. REÁLNÉ PROVEDENÍ TISKOVÉHO SERVERU

Kapitola 4

Reálné provedení tiskového serveru

V této kapitole se do£tete, jak reáln¥ systém funguje, jak postupuje uºivatel p°i tisku,

informace o pouºitých technologiích a uvidíte srovnání tohoto systému s konkuren£ními.

4.1 Provedení uºivatelského rozhraní

Pro realizaci uºivatelského rozhraní bylo vyuºito HTML a CSS, jako podklad p°i kódování

a stylování slouºily MockUp prototypy. P°íklad takového prototypu m·ºete naleznout na

obrázku 3.2 strana 23 nebo v p°íloze C - Nepouºité obrázky. Nejd°íve byla nakódována

HTML £ást stránek, jejichº p°íklad m·ºete naleznout na obrázku 4.1 strana 28. Pro jed-

notlivé vstupy bylo vyuºito moderních HTML5 prvk·, které pomáhají uºivateli s výb¥rem

a omezením vybíraných dat. Nap°íklad pro výb¥r po£tu kopií byl vyuºit input typu num-

ber s dolním a horním omezením, pro datum a £as byl vyuºit input typu datetime-local s

vlastním formátovaním zobrazených dat, tento input nabízí uºivateli jednoduchý kalendá°

pro p°ehled datum· se dny a pro volbu tiskárny byl vyuºit jiº star²í input typu select,

který zobrazuje seznam dostupných tiskáren.

Tato nep°íli² lákavá stránka se gra�cky vylep²ila pomocí CSS. Bylo p°idáno barevné

pozadí, ohrani£ení vstupního formulá°e, zarovnání vstupních prvk·, zvýrazn¥ní tla£ítka a

vytvo°ení horní li²ty s informacemi. Výhodou tohoto °e²ení je, ºe pro dv¥ stránky login a

upload byl pouºit jeden a ten samý stylistický kód, pro dal²í stránku waiting bylo moºno

vyuºít £ást stávajícího kódu a £ást kódu p°idat a op¥tovn¥ jej vyuºít u stránky printed.

Takto nastylovanou stránku naleznete na obrázku 4.2 strana 28, dal²í takovéto obrázky

se nachází v p°íloze C - Nepouºité obrázky.

Motlík, 2015/2016 27

Page 28: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 4. REÁLNÉ PROVEDENÍ TISKOVÉHO SERVERU SPŠE JECNÁ

Obrázek 4.1: Snímek nakódované stránky HTML bez CSS.

Obrázek 4.2: Snímek stránky upload s CSS.

28 Motlík, 2015/2016

Page 29: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 4. REÁLNÉ PROVEDENÍ TISKOVÉHO SERVERU

Obrázek 4.3: Nové rela£ní schéma databáze pro vývoj systému.

4.2 Provedení databáze

Databáze byla vytvo°ena na základ¥ rela£ního schématu (obrázek 3.3 na stran¥ 24) za

pomoci SQL p°íkaz· a nástroje pro správu databáze HeidiSQL. Jak je vid¥t na schématu,

databáze byla vytvo°ena pomocí 4 tabulek. Tabulky jsou popsány v kapitole 3.2 na stran¥

22, ale nap°íklad do tabulky USER byl p°idán atribut hash, který je pot°ebný pro obsluhu

uºivatelského rozhraní, konkrétn¥ p°i ov¥°ování p°ihlá²eného uºivatele. P°i nápadech se

databáze rozrostla o tabulku CREDIT a tabulku MAINTENANCE, tyto tabulky jsou

zde p°ipraveny pro dal²í rozvoj tiskového serveru a nejsou zatím nijak vyuºívány.

Av²ak tyto tabulky jsou správn¥ napojené a p°ipravené pro naprogramování obsluhy.

Hlavní roli zde hraje tabulka DOCUMENT, která je ve vazb¥ N:1 s tabulkou USER,

dále je tabulka DOCUMENT propojena s tabulkou CREDIT vazbou M:N, to zaji²´uje,

ºe systém bude moci strhávat kredity a za vyti²t¥ný dokument a zárove¬ bude vedena

evidence historie. Dále tu máme tabulku MAINTENANCE, která má za úkol uchovávat

data o údrºb¥ tiskárny, proto je s tabulkami PRINTER a USER ve vazb¥ N:1.

4.3 Provedení obsluhy uºivatelského rozhraní

Pro obsluhu uºivatelského rozhraní byl zvolen jazyk PHP, protoºe je pom¥rn¥ nenáro£ný

na server i pro programování. PHP zde za pomoci databáze plní funkci ºivé stránky,

Motlík, 2015/2016 29

Page 30: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 4. REÁLNÉ PROVEDENÍ TISKOVÉHO SERVERU SPŠE JECNÁ

napl¬uje ji aktuálními daty. Nap°íklad na obrázku 4.2 strana 28 PHP doplnilo z databáze

po£et £ekajících dokument·, po£et vyti²t¥ných dokument·, jméno a p°íjmení uºivatele,

seznam s tiskárnami a aktuální datum s £asem.

Jiº p°i návrhu databáze bylo rozhodnuto, ºe bude vytvo°ena zvlá²tní databázová vrstva

z d·vodu £astého opakování stejných SQL p°íkaz·, tato vrstva má je²t¥ jednu výhodu a

to, ºe pokud se zm¥ní struktura databáze, bude se muset kód upravovat jen jednou a ne

vícekrát jako v p°ípad¥ pouºití SQL kódu na kaºdé stránce.

Tato vrstva byla napsána za pomoci £lánku na ITnetwork - citace [4] a byla upravena

tak, aby byly volány funkce, které obsahují p°íslu²ný SQL kód. P°i práci s t¥mito daty

prochází SQL dotaz dal²ími ov¥°eními, tím se systém vyhýbá SQL injekcím a dal²ím

bezpe£nostním problém·m.

4.4 Provedení obsluhy tisku dokument· v RPi

Pro obsluhu tisku dokument· v RPi byl pouºit jazyk Python, protoºe je jednoduchý a

uºite£ný i na mén¥ náro£né operace, bohuºel ob£as je nep°ehledný a ²patn¥ se v n¥m hle-

dají chyby. Podle návrhového obrázku 2.1 na stran¥ 16 by m¥l systém fungovat jednodu²e

tak, ºe na základ¥ staºených dat z databáze ode²le lokální soubor na tiskárnu. Bohuºel

p°i programování této £ásti se zjistilo, ºe systém obsluhy tisku bude sloºit¥j²í, neº bylo

navrhnuto.

Tak jak bylo navrhováno, script je spou²t¥n pomocí systému CRON v na²em p°ípad¥

se script pou²tí kaºdou minutu. P°i spu²t¥ní se script p°ipojí do databáze, ov¥°í zdali je

pot°eba tisknout n¥jaký soubor, pokud ne zkusí to znovu za minutu. Pokud ano na£te

si adresu s názvem souboru a tu p°edá systému UNOCONV, tento systém slouºí pro

p°evod dokument· do PDF a je pouºíván, protoºe bylo p°i laboratorním testování, ºe

nelze tisknout word, excel, powerpoint dokumenty. Po p°evodu dokumentu se provede

jednoduchá °et¥zcová operace, aby bylo dále moºno pracovat se souborem PDF, z databáze

se krom¥ názvu dokumenty získal i po£et kopií a tiskárnu na, které má být dokument

vyti²t¥n. Dokument je odeslán, a pokud tiskárna vrátí kladnou zp¥tnou vazbu, provede

se UPDATE záznamu, atribut state se zm¥ní z 0 na 1 a tím se zamezí novému vybrání

dokumentu k tisku.

30 Motlík, 2015/2016

Page 31: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 4. REÁLNÉ PROVEDENÍ TISKOVÉHO SERVERU

4.5 Uºivatelský postup p°i tisku dokumentu

Pro vytisknutí dokumentu, musí uºivatel nav²tívit stránku tiskového systému. Jako první

se uºivateli zobrazí stránka viz. obrázek 4.4, po p°ihlá²ení se uºivateli zobrazí stránka,

kterou vidíte na obrázku 4.2 na stran¥ 28, která slouºí pro nahrávání soubor·. Po nahrání

souboru se uºivatel m·ºe podívat do £ekajících dokument· 4.5 a p°ípadn¥ soubor odstranit

ze své fronty. Pokud byl soubor jiº vyti²t¥n, m·ºe uºivatel z p°ehledu vyti²t¥no obrázek

4.6 dát znovu soubor k tisku pomocí nabídky z obrázku 4.7. Dal²í snímky obrazovky

m·ºete naleznete v p°íloze C - Nepouºité obrázky.

4.6 Pouºité technologie

K sestavení tohoto systému byly pouºity následující technologie: HTML, CSS, PHP, Py-

thon, MySQL databáze, PDO pro práci s databází, UNOCONV pro p°evod soubor· do

PDF, CRON pro spou²t¥ní scriptu po ur£ité dob¥, CUPS, který se stará o tisk na UNIX

systémech.

4.7 Srovnání tiskového systému s MyQ - Free v roce

2015

Následující tabulka (4.1 na stran¥ 34) zobrazuje srovnání mého systému se systémem MyQ

- Free ve verzi 4.3 srovnání prob¥hlo v posledním £tvrtletí roku 2015. Z této tabulky vy-

plývá, ºe oba systémy nemají: automatickou instalaci ovlada£· a limitování tisku, naopak

oba systémy nabízejí: automatickou podporu nových tiskových za°ízení, neomezený po-

£et uºivatel·, odloºený tisk a webové uºivatelské rozhraní. Tento systém, ale nabízí oproti

MyQ - Free automatickou archivaci tiskových úloh, neomezený po£et tiskáren (MyQ-Free:

11), platformu serveru Linux (MyQ-Free: Windows), sledování stavu tiskové úlohy a také

umoº¬uje online tisk. Oproti MyQ-Free je tento systém sloºit¥j²í p°i instalaci.

Motlík, 2015/2016 31

Page 32: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 4. REÁLNÉ PROVEDENÍ TISKOVÉHO SERVERU SPŠE JECNÁ

Obrázek 4.4: Snímek p°ihla²ovací stránky.

Obrázek 4.5: Snímek stránky s £ekajícími soubory.

32 Motlík, 2015/2016

Page 33: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 4. REÁLNÉ PROVEDENÍ TISKOVÉHO SERVERU

Obrázek 4.6: Snímek stránky s vyti²t¥nými soubory.

Obrázek 4.7: Snímek stránky pro op¥tovné vyti²t¥ní souboru.

Motlík, 2015/2016 33

Page 34: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 4. REÁLNÉ PROVEDENÍ TISKOVÉHO SERVERU SPŠE JECNÁ

Funkce 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 serveru ANO NEMaximální po£et tiskáren 11 ∞Maximální po£et uºivatel· ∞ ∞Odloºený tisk ANO ANO

Platforma pracovní staniceWindows, Linux,

MacJaká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 4.1: Tabulka zobrazující srovnání mého systému s MyQ - Free (2015)

34 Motlík, 2015/2016

Page 35: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 5. TESTOVÁNÍ TISKOVÉHO SERVERU

Kapitola 5

Testování tiskového serveru

Na serveru byly otestovány v²echny funkce z funk£ních poºadavk· na stran¥ 15 kapitola

2.1, dále se pak testovaly funkce p°ipojení RPi k internetu a k tiskárn¥, funkce staºení

dokumentu do RPi a plánovaného vyti²t¥ní.

5.1 Zp·sob testování tiskového serveru

Tiskový server byl testován n¥kolika zp·soby:

1. Technické testování - Testování komponent a jejich kompatibility.

2. Laboratorní testování - Testování funk£nosti jednotlivých funkcí.

5.2 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: LaserJet Pro P1102w).

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: HL-

4020CDW).

Motlík, 2015/2016 35

Page 36: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 5. TESTOVÁNÍ TISKOVÉHO SERVERU SPŠE JECNÁ

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.

5.3 Laboratorní testování a výsledek

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¥ 15. 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.

P°i testování se odhalilo n¥kolik nedostatk·. Dlouhé zpracovávání vektorových sou-

bor·, o°ezávání rozm¥rných dokument·, zastavení celé fronty v p°ípad¥ problému s jedním

dokumentem.

36 Motlík, 2015/2016

Page 37: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 6. SHRNUTÍ TISKOVÉHO SERVERU

Kapitola 6

Shrnutí tiskového serveru

Tiskový server se hodí pro plánovaný tisk jednoduchých dokument·, ale nehodí se pro tisk

rozm¥rných nebo vektorových soubor· ani pro sloºit¥j²í oboustranný tisk, tisk s volbou

kvality apod.

6.1 Výhody, nevýhody a vylep²ení systému

Hlavní a podstatnou v¥cí, kv·li které byl tento systém vytvo°en, je umoºnit uºivatel·m

plánovaný tisk a také ho zp°ístupnit. Plánovaný tisk funguje na základ¥ údaj·, které vyplní

uºivatel na webové stránce tiskárny. Webová stránka tiskárny zp°ístup¬uje uºivatel·m

tiskárnu odkudkoliv a kdykoliv.

Bohuºel pro nasazení do b¥ºného reºimu není tento systém p°ipraven. Ukázalo se jako

pot°ebné moºnost tisknout oboustrann¥, volit kvalitu tisku a dal²í nastavení tiskárny, které

tento systém zatím nepodporuje. Systém má velké problémy se zpracováním vektorových

dokument· (obvyklá doma zpracování: 5 minut) a neporadí si s rozm¥ry v¥t²í neº formát

A4 v²e ostatní je o°íznuto.

Tiskový server by se m¥l vylep²it opravou pot°ebných v¥cí jako je zpracovávání vek-

torových dokument·, dokument· v¥t²ích neº rozm¥r A4 a p°idáním moºnosti nastavení

tisku. Rozhodn¥ by m¥la být odstran¥na chyba, která zastaví v²echny ostatní dokumenty v

p°ípad¥ dlouhého zpracovávání jednoho dokumentu. Velké vylep²ení pouºitelnosti shledá-

váme v p°idání moºnosti monitorování a kreditování tisku, které by mohlo být rozhodující

jak pro ²koly, tak pro malé �rmy.

Motlík, 2015/2016 37

Page 38: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 6. SHRNUTÍ TISKOVÉHO SERVERU SPŠE JECNÁ

38 Motlík, 2015/2016

Page 39: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ KAPITOLA 6. SHRNUTÍ TISKOVÉHO SERVERU

Záv¥r

Tiskový server je funk£ní, m·ºe být vyuºíván pro plánovaný tisk jednoduchých doku-

ment·, ale nehodí se pro tisk rozm¥rných nebo vektorových soubor· ani pro sloºit¥j²í

oboustranný tisk, tisk s volbou kvality apod. Nelze ho pokro£ile vyuºívat ve ²kolách a

�rmách. Protoºe není zabezpe£en proti kolizím p°i dlouhém p°evád¥ní a nelze kontrolovat

uºivatele a jejich po£ty výtisk·.

Motlík, 2015/2016 39

Page 40: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

KAPITOLA 6. SHRNUTÍ TISKOVÉHO SERVERU SPŠE JECNÁ

40 Motlík, 2015/2016

Page 41: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ SEZNAM POUŽITÉ LITERATURY

Seznam pouºité literatury

[1] PILGRIM, Mark. Pono°me se do Python(u) 3: Dive into Python 3. Praha: CZ.NIC,

2010, 430 s. CZ.NIC. ISBN 978-80-904248-2-1.

[2] PILGRIM, Mark. Pono°me se do HTML5. Praha: CZ.NIC, z.s.p.o., 2015, 278 stran.

CZ.NIC. ISBN 978-80-905802-6-8.

[3] KOFLER, Michael a Bernd ÖGGL. PHP 5 a MySQL 5: pr·vodce webového progra-

mátora. Vyd. 1. Brno: Computer Press, 2007, 607 s. CZ.NIC. ISBN 978-80-251-1813-9.

[4] 7. díl - Databázový wrapper. ITnetwork.cz [online]. 25.12.2012 [cit. 2016-01-10]. Do-

stupné z: http://www.itnetwork.cz/php/mvc/objektovy-mvc-redakcni-system-v-php-

pdo-crud-wrapped/

Motlík, 2015/2016 41

Page 42: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SEZNAM POUŽITÉ LITERATURY SPŠE JECNÁ

42 Motlík, 2015/2016

Page 43: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ SEZNAM TABULEK

Seznam tabulek

4.1 Tabulka zobrazující srovnání mého systému s MyQ - Free (2015) . . . . . . 34

Motlík, 2015/2016 43

Page 44: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SEZNAM TABULEK SPŠE JECNÁ

44 Motlík, 2015/2016

Page 45: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ SEZNAM OBRÁZKU

Seznam obrázk·

1 Obrázek zachycující stav p°ed a po instalaci tiskového systému. . . . . . . 12

2.1 UML diagram návrhu tiskového serveru. . . . . . . . . . . . . . . . . . . . 16

2.2 Usecase funkcí tiskového serveru. . . . . . . . . . . . . . . . . . . . . . . . 18

3.1 MockUp prototyp p°ihla²ovací obrazovky. . . . . . . . . . . . . . . . . . . . 23

3.2 MockUp prototyp obrazovky pro nahrávání dokument·. . . . . . . . . . . . 23

3.3 Databázové rela£ní schéma. . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4 Vývojový diagram pro práci scriptu. . . . . . . . . . . . . . . . . . . . . . 25

4.1 Snímek nakódované stránky HTML bez CSS. . . . . . . . . . . . . . . . . . 28

4.2 Snímek stránky upload s CSS. . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3 Nové rela£ní schéma databáze pro vývoj systému. . . . . . . . . . . . . . . 29

4.4 Snímek p°ihla²ovací stránky. . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.5 Snímek stránky s £ekajícími soubory. . . . . . . . . . . . . . . . . . . . . . 32

4.6 Snímek stránky s vyti²t¥nými soubory. . . . . . . . . . . . . . . . . . . . . 33

4.7 Snímek stránky pro op¥tovné vyti²t¥ní souboru. . . . . . . . . . . . . . . . 33

B.1 MockUp stránky vyti²t¥ných dokument·. . . . . . . . . . . . . . . . . . . . 52

B.2 Snímek stránky vyti²t¥ných dokument·. . . . . . . . . . . . . . . . . . . . 52

B.3 MockUp stránky op¥tovného tisku. . . . . . . . . . . . . . . . . . . . . . . 53

B.4 Snímek stránky op¥tovného tisku. . . . . . . . . . . . . . . . . . . . . . . . 53

Motlík, 2015/2016 45

Page 46: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SEZNAM OBRÁZKU SPŠE JECNÁ

46 Motlík, 2015/2016

Page 47: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

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

PDO PHP Data Object interface

HTML HyperText Markup Language

CSS Cascading Style Sheets

PHP Personal Home Page nyní Hypertext Preprocessor

SQL Structured Query Language

PDF Portable Document Format

Motlík, 2015/2016 47

Page 48: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SEZNAM OBRÁZKU SPŠE JECNÁ

48 Motlík, 2015/2016

Page 49: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ PRÍLOHA A. OBSAH PRILOŽENÉHO CD

P°íloha A

Obsah p°iloºeného CD

Motlík, 2015/2016 49

Page 50: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

PRÍLOHA A. OBSAH PRILOŽENÉHO CD SPŠE JECNÁ

50 Motlík, 2015/2016

Page 51: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ PRÍLOHA B. NEPOUŽITÉ OBRÁZKY

P°íloha B

Nepouºité obrázky

Motlík, 2015/2016 51

Page 52: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

PRÍLOHA B. NEPOUŽITÉ OBRÁZKY SPŠE JECNÁ

Obrázek B.1: MockUp stránky vyti²t¥ných dokument·.

Obrázek B.2: Snímek stránky vyti²t¥ných dokument·.

52 Motlík, 2015/2016

Page 53: STREDOŠKOLSKÁ ODBORNÁˇ CINNOSTˇ

SPŠE JECNÁ PRÍLOHA B. NEPOUŽITÉ OBRÁZKY

Obrázek B.3: MockUp stránky op¥tovného tisku.

Obrázek B.4: Snímek stránky op¥tovného tisku.

Motlík, 2015/2016 53