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



Podobné dokumenty
Instalace a konfigurace web serveru. WA1 Martin Klíma

Střední odborná škola a Střední odborné učiliště, Hořovice

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

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice

SYLABUS IT V. Jiří Kubica. Ostrava 2011

Management informačních systémů. Název Information systems management Způsob ukončení * přednášek týdně

Simluátor Trilobota. (projekt do předmětu ROB)

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

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice

1 Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13

IB111 Programování a algoritmizace. Programovací jazyky

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

IS pro podporu BOZP na FIT ČVUT

Střední odborná škola a Střední odborné učiliště, Hořovice

Úvod do tvorby internetových aplikací

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

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

Komprese a dotazování nad XML dokumenty

Elektronická podpora výuky předmětu Komprese dat

Projekt implementace OS Linux do výuky informačních technologií

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

Sísyfos Systém evidence činností

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice

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

2002 Magister (Mgr.), studijní program: matematika, specializace matematikamanagement

Informační systém pro centrální správu lokální sítě a služeb ISP

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví Nakladatelství a vydavatelství.

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Michal Oškera (50854)

Střední odborná škola a Střední odborné učiliště, Hořovice

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Obsah. Předmluva Kapitola 1 Úvod 1. Web v kostce 1 Kdo je webmaster? 4 Doporučená literatura 4. Kapitola 2 Přehled jazyka HTML 5

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Angličtina program k procvičování slovní zásoby

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

Nové jazykové brány do Caché. Daniel Kutáč

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

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE

FREEWAROVÉ ŘEŠENÍ DICOM SERVERU S NÍZKÝMI NÁROKY NA HARDWAROVÉ VYBAVENÍ

Dokumentace software

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Administrace počítačových sítí. WEB a LPT

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Microsoft.NET. AppTima Feedback Solution - komplexní systém pro zjišťování a vyhodnocování spokojenosti zákazníků

================================================================================ =====

Střední odborná škola a Střední odborné učiliště, Hořovice

Results of innovation of the course Application software

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

17. července :51 z moravec@yahoo.com

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

ORGANIZACE VOLNÉHO ČASU

Tato zpráva informuje o implementaci LMS (Learning Management Systém) Moodle konkrétně Moodle

PROGRAMOVÁNÍ V SHELLU

Mgr. Radko Martínek, hejtman Pardubického kraje

Základní informace: vysoce komfortnímu prostředí je možné se systémem CP Recorder efektivně pracovat prakticky okamžitě po krátké zaškolení.

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Smlouva na výrobu WWW prezentace a PHP aplikace č. XY

Služba ve Windows. Služba (service) je program

Staňte se bodem zájmu!

Peklák (PKK) interní rezervační systém

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Specifikace projektu Ocerus

Střední odborná škola a Střední odborné učiliště, Hořovice

Webový server Apache a moduly

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

MZDY 7 PROFI - MZDOVÝ A PERSONÁLNÍ SYSTÉM CENÍK

Střední odborná škola a Střední odborné učiliště, Hořovice

Co nového v modulech Prodej, Logistika, Výroba

Jakub Šesták. ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

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.

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

Otevřený katastr (OK)

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Střední odborná škola a Střední odborné učiliště, Hořovice

Instalace a konfigurace OpenAdmin tool na M$ a Linuxu

Matematika v programovacích

Obsah. Úvodem 15. Zaměření knihy 15 Co v knize najdete 15 Doprovodné CD 17 Poděkování 18

2012 / Bez obav - Zvládnu to sám

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

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

Expresní analýza PLM. jako efektivní start implementace PLM.

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

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

Transkript:

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

Obsah 1. Úvod...3 2. Zadání projektu...4 2.0.1. Projekt na MFF UK...4 2.1. Stručná specifikace...5 3. Základní specifikace...6 3.0.1. Uvedení do problematiky...6 3.0.2. Programovací jazyk...6 4. Vývoj...7 4.0.1. Řešitelský tým...7 4.0.2. Dělba práce v řešitelském týmu...7 4.0.3. Chronologie...8 5. Instalace...9 5.1. CGI modul... 10 5.2. Modul do Apache 1.3... 11 6. Požadavky na Hardware a software... 12 6.1. Hardware... 13 6.2. Software... 14 2

1. Úvod Tento dokument slouží jako dokumentace projektu Dynamické HTML. Obsahuje uvedení díla do problematiky, rozdělení práce v týmu a chronologický vývoj díla. 3

2. Zadání projektu 2.0.1. Projekt na MFF UK Dynamické HTML je vypracován v rámci předmětu PRG 023 - Projekt na MFF UK v Praze. Vedoucím projektu je RNDr. Vladimír Kuthan. 4

2.1. Stručná specifikace Cílem projektu byla reimplementace základních funkcí Web DataBladu pro databázi Informix Online. Nevýhodou tohoto DataBladu je jeho závislost pouze na Informixu Online, který je cenově náročný. Z toho důvodu byla pro opětovnou implementaci vybrána lehčí verze Informixu, a to Informix SE 7.2. 5

3. Základní specifikace Vytvoření implementace základních jazykových konstruktů implementovaných ve Web DataBladu Databáze Informix. Součástí je též případné vhodné rozšíření podporovaných tagů tak, aby kód běžící ve Web DataBladu by mohl být nasazen na náš projekt a opačně. 3.0.1. Uvedení do problematiky V současné době je na poli dynamických webů velmi populární skriptovací jazyk PHP. Ovšem některé firmy se chtějí zaštítit silným partnerem, a proto volí komerční řešení, např. databázi Informix Online s Web DataBladem. Ovšem ne všichni chtějí hned drahé řešení a rádi by si nejprve navrhované řešení vyzkoušeli na levnější databázi. Tou se zdá být Informix SE, která poskytuje stejné základy SQL jako její silnější kolega Informix Online. Ovšem k této databázi neexistuje na trhu ekvivalent Web DataBladu, a proto mnozí zákazníci od této varianty ustupují. Cílem našeho projektu je implementovat základy Web DataBladu, aby bylo možno použít stejný skriptovací jazyk jako nad databází Informix Online i na databázi Informix SE. 3.0.2. Programovací jazyk Jako programovací jazyk jsme zvolili jazyk C pro jeho dobrou podporu jak při přístupu k databázi, tak při využití knihovních funkcí webservru Apache. Pro přístup k databázi potom kromě několika databázově závislých funkcí používáme Embeded SQL, aby bylo možno náš projekt v budoucnu případně portovat i nad jiné databáze. 6

4. Vývoj 4.0.1. Řešitelský tým Již od začátku byl projektový tým tvořen čtyřmi členy. Tento počet se během vývoje již neměnil, třebaže další pomocná síla by jistě měla prostor k tvůrčí práci. Členové týmu jsou: Jan Ehrlich jehr8588@artax.karlin.mff.cuni.cz Petr Marek petr.marek@matfyz.cz Tomáš Marván didymus@seznam.cz Martin Palo went@email.cz 4.0.2. Dělba práce v řešitelském týmu Rozdělení činností nebylo zprvu přesně stanoveno, byly rozděleny jen hlavní směry vývoje (databáze, proměnné, funkce, parsování). Postupem času vyvstávaly nové obzory a členové týmu si vybírali většinou podle chuti, aby však bylo zachováno spravedlivé rozdělení, co do objemu kódu. Zde je podrobné rozdělení práce na díle: - Jádro, rozhraní k interpretu - Jan Ehrlich - Obecný parser - Jan Ehrlich - Parser tagu MISQL - Jan Ehrlich - Parser tagu MIBLOCK - Martin Palo - Parser tagu MIVAR - Petr Marek - Parser tagu MIERROR - Martin Palo - Parser tagu MIINCLUDE - Martin Palo - Parser tagu MIINFO - Tomáš Marván - Parser tagu MILIST - Martin Palo - Parser tagu MISELECT - Martin Palo - Uložení proměnných - Petr Marek - Funkce - Tomáš Marván - Aritmetika - Petr Marek, Tomáš Marván, Jan Ehrlich - Aritmetické výrazy - Petr Marek - Bufferování vstupu - Petr Marek - Zpracování chyb - Jan Ehrlich, Petr Marek - Chybové obsluhy - Petr Marek - Jazyková podpora - Jan Ehrlich - Komunikace s databází - Jan Ehrlich - Dynamické řetězce - Petr Marek - Testování, benchmarky - Jan Ehrlich - Demonstrační příklad - Martin Palo, Tomáš Marván 7

4.0.3. Chronologie Chronologický popis průběhu prací na projektu je přibližný, mnohé zmíněné činnosti přesahovaly uvedený rámec. - 3. listopad 2001 - Zahájení projektu, informační schůzka, rozdělení úloh. - prosinec 2001 - Návrh vnitřní koncepce, volba jazyka. - leden - únor 2002 - Seznamování se s jazykem a rozhodování se nad jednotlivými kroky implementace jednotlivých částí, vznikají první hlavičkové soubory. - březen - srpen 2002 - Proběhla kompletní implementace vnitřní struktury a parsování proměnných, polí a bloků, všech vestavěných funkcí, které nepřistupují do databáze. Je už implementováno ošetření chyb. Je zhotoven hlavní parser. Z těchto částí byl vytvořen modul pro Apache. - září - prosinec 2002 - Zavádění ošetření chyb, optimalizace parsovacích funkcí. - leden - únor 2003 - Optimalizace struktur proměnných. - březen - duben 2003 - Implementace funkcí pro práci s databází a databázových proměnných. - květen - červen 2003 - Optimalizace vstupního bufferování podporující vkládání souborů. Probíhá práce na chybových obsluhách a demonstračním příkladu. Testování jednotlivých částí pomocí benchmarků. - červenec - září 2003 - Přechod na desetinnou aritmetiku, jazyková podpora, nové tagy pracující s databází, testování, dokumentace. Během celé doby se konaly pravidelně projektové schůzky zpravidla jednou týdně ve večerních hodinách. Ke konci letního semestru 2003 však probíhaly denně. Na projektových schůzkách byla účast vždy stoprocentní. Velká většina schůzek je doložena zprávou o projednaných záležitostech. Zajímavou zkušeností byl také roční studijní pobyt jednoho člena projektového týmu na zahraniční univerzitě od října 2002 do srpna 2003. Bylo nutné najít způsob, jak tuto skutečnost řešit a udržovat živou komunikaci, zvláště při projednávání klíčových rozhodnutí. 8

5. Instalace 9

5.1. CGI modul 1. Přidat informixové knihovny do cesty, např. následujícím způsobem: cd /usr/lib ln -s /opt/informix/lib/esql/libifsql.so ln -s /opt/informix/lib/libifasf.so ln -s /opt/informix/lib/esql/libifgen.so ln -s /opt/informix/lib/esql/libifos.so ln -s /opt/informix/lib/esql/libifgls.so ln -s /opt/informix/lib/esql/libifglx.so 2. Upravit lokal.h a začátek Makefile 3. Zkopírovat michyba/chyby*html do adresáře uvedeného v předešlém kroku v lokal.h 4. cd misql && make 5. make 6. Nakonfigurovat Apache aby umožňoval spouštět CGI skripty z CGIDIR 7. Hotovo 10

5.2. Modul do Apache 1.3 1. Přidat informixové knihovny do cesty, např. následujícím způsobem: cd /usr/lib ln -s /opt/informix/lib/esql/libifsql.so ln -s /opt/informix/lib/libifasf.so ln -s /opt/informix/lib/esql/libifgen.so ln -s /opt/informix/lib/esql/libifos.so ln -s /opt/informix/lib/esql/libifgls.so ln -s /opt/informix/lib/esql/libifglx.so 2. Upravit lokal.h a začátek Makefile 3. Zkopírovat michyba/chyby*html do adresáře uvedeného v předešlém kroku v lokal.h 4. cd misql && make 5. make Apache 6. Zkonfigurovat Apache: Přidat řádek na LoadModule A zařídit aby se při přístupu na /ifmx/ pouštěl modul U mne se přidají do souboru httpd.conf od Apache následující řádky, je třeba případně obměnit: LoadModule ifmx_module /usr/lib/apache/1.3/mod_ifmx.so <Location /ifmx> SetHandler ifmx </Location> 7. Pod uživatelem root, make apacheinst 8. Hotovo 11

6. Požadavky na Hardware a software 12

6.1. Hardware Takový počítač aby na něm běžel požadovaný Software 13

6.2. Software - Operační systém Linux 2.4 nebo 2.2 - Apache 1.3 i s vývojovými knihovnami a nástroji - Informix SE 7.2 - make - gcc 14