Vysoké Učení Technické V Brně Vytvoření Systému Pro E-Shop
Total Page:16
File Type:pdf, Size:1020Kb
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT INSTITUTE OF INFORMATICS VYTVOŘENÍ SYSTÉMU PRO E-SHOP CREATION OF E-SHOP SYSTEM BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE JAKUB ZAPLETAL AUTHOR VEDOUCÍ PRÁCE Ing. JIŘÍ KŘÍŽ, Ph.D. SUPERVISOR BRNO 2009 Anotace Tato práce se v ěnuje vytvo ření aplikace e-shopu pro ú čely komer čního ší ření. Je zde probrán pr ůzkum prost ředí a technologiemi, kterými se m ůže daná aplikace vyvíjet. Nakonec je popsána vlastní práce a spokojenost s volbou daného řešení. Klíčová slova: ASP, ASP.NET, PHP, MS SQL, Oracle, DB2, Postre SQL, MySQL, ZenCart, OpenCart, OsCommerce, VirtueMart, Joomla, Magento, Zend Framework, Prado, Symfony, CakePHP, Nette, MVC, e-shop, internetový obchod. Annotation This thesis is dedicated to the creation of e-shop for the purposes of commercial distribution. It is discussed exploration of platforms and technologies, which application can be developed. Finally, it is described my own labor and satisfaction with the choice of the solution. Keywords: ASP, ASP.NET, PHP, MS SQL, Oracle, DB2, Postre SQL, MySQL, ZenCart, OpenCart, OsCommerce, VirtueMart, Joomla, Magento, Zend Framework, Prado, Symfony, CakePHP, Nette, MVC, e-shop. OBSAH Úvod .............................................................................................................. 4 1 Vymezení problém ů a cíle práce ........................................................ 5 1.1 Programovací jazyky .......................................................................... 5 1.1.1 ASP ................................................................................................................. 5 1.1.2 PHP ................................................................................................................. 7 1.1.3 Shrnutí ........................................................................................................... 10 1.2 Databázové systémy ......................................................................... 11 1.2.1 MS SQL ........................................................................................................ 12 1.2.2 Oracle ............................................................................................................ 13 1.2.3 DB2 ............................................................................................................... 14 1.2.4 PostgreSQL ................................................................................................... 15 1.2.5 MySQL ......................................................................................................... 16 1.2.6 Shrnutí ........................................................................................................... 17 1.3 Cíl práce ............................................................................................ 18 2 Analýza problému a sou časná situace ............................................. 19 2.1 ZenCart ............................................................................................. 20 2.2 OpenCart ........................................................................................... 21 2.3 OsCommerce..................................................................................... 22 2.4 VirtueMart (Joomla) ......................................................................... 22 2.5 Magento ............................................................................................ 23 2.6 Shrnutí ............................................................................................... 24 3 Teoretická východiska práce ............................................................ 25 3.1 Co je to framework? ......................................................................... 25 3.2 Voln ě ši řitelné PHP frameworky ...................................................... 26 3.3 Výb ěr frameworku ............................................................................ 28 3.4 Bližší seznámení se Zend Frameworkem ......................................... 29 4 Vlastní návrhy řešení, p řínos návrh ů řešení ................................... 34 4.1 Specifikace aplikace ......................................................................... 34 4.2 Návrh databáze.................................................................................. 36 4.3 Vývoj aplikace .................................................................................. 38 4.4 Vlastní knihovny ............................................................................... 40 4.5 Přínos vlastního řešení ...................................................................... 42 Záv ěr ........................................................................................................... 43 Seznam obrázk ů ........................................................................................ 44 Literatura ................................................................................................... 45 Seznam p řílohy .......................................................................................... 46 Úvod Tato práce je zam ěř ena na tvorbu aplikace pro tvorbu internetové obchodu, a to ne pro individuální obchod, ale aplikaci, kterou by šlo komer čně nabízet zájemc ům o internetové obchody. Jednotlivé kapitoly jsou postupn ě zam ěř eny na výb ěr programovacího jazyka, databázového systému, zjišt ění aktuální stavu na poli open- source řešení, frameworku programovacího jazyka a následn ě vývoj aplikace. Při práci na aplikaci pro individuální internetový obchod by nebylo tolik nutné se zam ěř ovat na volbu, která je v dnešní dob ě k dispozici, ale u využití pro komer ční ú čely nabízet tento produkt, je nutné d ůkladn ě prozkoumat prost ředí a technologie, v kterých se má vyvíjet. Často je to boj mezi dv ěma platformami, a to Linux a Windows. Platforma Windows často nemá dobré mín ění, to je d ůsledkem nestability opera čních systém ů pro stolní po číta če, které byly v posledních patnácti letech k dispozici a práv ě naopak dobré mín ění si získává opera ční systém Linux. Samoz řejm ě to není dáno pouze stabilitou, ale také cenou samotných systém ů a softwaru s daným systémem spojeným. Dalším velkým rozhodovacím kritériem jsou finan ční náklady. Objevují se zde prost ředí, které jsou zcela zdarma, ale také prost ředí, které si žádají desítky, či stovky tisíc. Je tedy nutné si uv ědomit, jaký má daný projekt potenciál a zda je finan čně p řijatelné se dát danou cestou. - 4 - 1 Vymezení problém ů a cíle práce Chystáme se vytvo řit aplikaci, která budou sloužit jako kompletní systém pro provoz e- shopu, a to jak back-endové části, tak front-endová části. Na za čátku je t řeba si stanovit, v jakém programovacím jazyku budeme tuto aplikace vytvá řet, a dále je zapot řebí si uv ědomit, že veškerá data obsažená v dané aplikaci musejí být n ěkde uložena. Ukládání do textových soubor ů není ur čit ě tou správnou cestou, je tedy i nutné ur čit, jakého databázového systému využijeme. Práv ě t ěmito dv ěma problémy se budu dále zabývat a stanovím nejvhodn ější řešení. 1.1 Programovací jazyky Volba vhodného programovacího jazyka je základním kamenem, od kterého se bude odvíjet další rozvoj vytvo ření systému. Mezi nejpoužívan ější technologie v tomto odv ětví se dají za řadit ASP a PHP. Samoz řejm ě jsou zde i další sv ětov ě známé, mezi které se řadí Perl, Python, nebo Ruby. Já jsem se zam ěř il pouze na ASP a PHP, jelikož mají na celém sv ětě největší komunity p říznivc ů a za řadil bych je i v Česku jako nejoblíben ější technologie, kde p řevažuje komunita kolem PHP. 1.1.1 ASP ASP (Active Server Pages) je skriptovací platforma spole čnosti Microsoft, primárn ě ur čená pro dynamické zpracování webových stránek na stran ě serveru. Její první vydání bylo na konci roku 1996. Její nástupce ASP.NET, lze chápat jako širší a komplexn ější technologii, která se od ASP v mnoha ohledech fundamentáln ě liší. ASP.NET je sou částí .NET Frameworku pro tvorbu webových aplikací a služeb od za čátku roku 2002. Struktura .NET Frameworku je znázorn ěn na Obrázku 1. - 5 - Obrázek 1 - Architektura .NET Frameworku ASP.NET není novou verzí ASP, ale je to zcela nová technologie, která je integrální sou částí platformy .NET Framework. Koncept ASP.NET WebForms uleh čuje programátor ům p řechod od programování klasických aplikací pro Windows do prost ředí webu: stránky jsou poskládány z objekt ů, ovládacích prvk ů ( Controls ), které jsou prot ějškem ovládacích prvk ů ve Windows. P ři tvorb ě webových stránek je tedy možné používat ovládací prvky jako tla čítko ( Button ), nápis ( Label ) a další. T ěmto prvk ům lze p řiřazovat ur čité vlastnosti, zachytávat na nich události, atd. Tak, jako se ovládací prvky pro Windows samy kreslí do formulá řů na obrazovku, webové ovládací prvky produkují HTML kód, který tvo ří část výsledné stránky poslané do klientova prohlíže če. Klady • Programáto ři mohou vytvá řet aplikace v jakémkoliv programovacím jazyce podporujícím CLR, nap ř. Visual Basic.NET, JScript.NET, C#, Managed C++, ale i mutace Perlu nebo Pythonu a další. • Firma, která se specializuje jak na software, tak na webové aplikace, nemusí mít více tým ů programátor ů. Stejným nástrojem s velmi podobnými komponentami lze napsat i konzolovou aplikaci nad .NET Frameworkem. - 6 - • Objektový design od za čátku. • Výborný vývojový nástroj VisualStudio. • Generované HTML nebo XHTML je zcela validní za p ředpokladu, že programátor osobn ě n ěco nenaruší. • Možnost p římo provázat