Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta
Realizace obecného elektronického obchodu na platformě XML Bakalářská práce
Vedoucí práce: Ing. Roman Malo, Ph.D.
Václav Štikarovský
Brno 2006
Děkuji vedoucímu této bakalářské práce Ing. Romanu Malovi, Ph.D. za odborné vedení a cenné rady a konzultace.
2
Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně a s použitím literatury, kterou uvádím v seznamu. Tato práce souvisí s řešením VZ MSM 6215648904/03/03/06.
V Brně dne 20. června 2006
……………………
3
Abstract Štikarovský, V. The realization of an electronic shop by XML. Bachelor’s thesis. Brno, 2006. This bachelor’s thesis demonstrates the applicability of XML language for e-commerce. The analysis of several e-shops was carried out. The main features of “general e-shops” were identified on the basis of this obtained information. Consecutively, XML structures of these characteristics were created and described. Their utilization was demonstrated by the realization of particular application.
Abstrakt Štikarovský, V. Realizace obecného elektronického obchodu na platformě XML. Bakalářská práce. Brno, 2006. Tato bakalářská práce se zabývá možností využití XML jazyka v oblasti elektronického podnikání. Byla provedena analýza struktury několika internetových obchodů, na jejímž základě byly identifikovány rysy obecného internetového obchodu. Následně byly vytvořeny a popsány XML struktury těchto vlastností. Nakonec bylo demonstrováno jejich využití pro realizaci konkrétní aplikace.
4
Obsah 1
2
3
Úvod a cíl práce ................................................................................................................ 7 1.1
Úvod ........................................................................................................................... 7
1.2
Cíl práce ..................................................................................................................... 7
Současný stav internetového obchodování..................................................................... 8 2.1
Základní pojmy .......................................................................................................... 8
2.2
Typy elektronického obchodováni ............................................................................. 8
2.3
Současný stav v ČR.................................................................................................. 10
2.4
Výhody a nevýhody elektronického obchodu .......................................................... 12
2.5
Legislativa týkající se e-commerce v ČR................................................................. 13
Metodická východiska.................................................................................................... 15 3.1
XML ......................................................................................................................... 15
3.1.1
Co je XML ....................................................................................................... 15
3.1.2
Vlastnosti XML................................................................................................ 15
3.1.3
Použití XML..................................................................................................... 16
3.1.4
Syntaxe XML ................................................................................................... 17
3.2
XML schéma ............................................................................................................ 18
3.2.1
Význam schémat .............................................................................................. 18
3.2.2
Definice elementů a atributů ............................................................................ 19
3.2.3
Definice datových typů .................................................................................... 19
3.3
Transformace............................................................................................................ 20
3.3.1 3.4
4
XSL .................................................................................................................. 21 Analýza elektronických obchodů ............................................................................. 22
3.4.1
Design............................................................................................................... 23
3.4.2
Struktura stránek .............................................................................................. 23
3.4.3
Struktura dat ..................................................................................................... 23
Vlastní práce ................................................................................................................... 25 4.1
Analýza konkrétních internetových obchodů........................................................... 25
4.1.1
Pinec.cz ............................................................................................................ 25
4.1.2
Eorchestr.cz ...................................................................................................... 26
4.1.3
Horkysalek.cz ................................................................................................... 27
4.2
Specifikace obecných rysů elektronických obchodů ............................................... 28
4.3
XML schéma pro popis obecného internetového obchodu ...................................... 29
5
4.3.1
Struktura a sortiment e-obchodu ...................................................................... 30
4.3.2
Informace o provozovateli ............................................................................... 32
4.3.3
Informace o zákazníkovi .................................................................................. 33
4.4
Demonstrace využití XML struktur na konkrétní aplikaci....................................... 33
4.4.1
XML dokument ................................................................................................ 33
4.4.2
XML transformace ........................................................................................... 34
5
Závěr................................................................................................................................ 37
6
Literatura ........................................................................................................................ 38
Přílohy ..................................................................................................................................... 40
6
1 Úvod a cíl práce 1.1 Úvod Rychlý rozvoj a velké rozšíření internetu v posledních letech představuje velkou příležitost pro zavádění a integraci internetového obchodování (e-commerce) do každodenního života. Firmám se otevřely nové možnosti vstupu na další oblast trhu, který se dynamicky rozvíjí. Obchod přes internet poskytuje firmám nové možnosti prezentace a následný prodej svých služeb či výrobků. Aby byla firma schopná udržet se na trhu, musí umět rychle a levně získat informace o konkurenci, o trhu a preferencích spotřebitelů. Naopak spotřebitelé chtějí v dnešní době bez námahy nalézt prodejce, který hledané zboží dodá nejrychleji a nejlevněji. Aby to bylo možné, je nutné mít k dispozici efektivní způsoby sdílení a vyhledávání informací. XML (eXtensible Markup Language) je technologie, která umožňuje jednoduše, přehledně a efektivně pracovat s daty. Málokterá technologie se rozšířila tak rychle jako tento značkovací jazyk. Najde uplatnění nejen na internetu, ale prakticky všude, kde je potřeba pracovat se strukturovanými daty. Formátů pro výměnu dat existuje celá řada, ale většina je jen úzce zaměřena a má mnohá omezení. XML přináší mnohá vylepšení, např. usnadnění vyhledávání informací, možnost strukturování libovolných dokumentů apod., které se dají využít v oblasti elektronického obchodování a právě, proto se tímto velmi aktuálním tématem zabývá moje bakalářská práce.
1.2 Cíl práce Cílem bakalářské práce je analýza možností využití značkovacího jazyka XML při realizaci obecného elektronického obchodu. Samotné vypracování je rozděleno do několika dílčích úkolů. Prvním dílčím úkolem je diskuse současného stavu elektronického obchodování. Dalším pak analýza vybraných elektronických obchodů především z pohledu jejich struktury, dat a designu. Následuje stanovení jejich společných rysů a identifikace obecného elektronické obchodu. Za pomocí značkovacího jazyka XML jsou pak tyto rysy definovány a jejich použití je demonstrováno na realizaci konkrétního elektronického obchodu.
7
2 Současný stav internetového obchodování 2.1 Základní pojmy S rozvojem počítačové techniky a internetu souvisí i přesun obchodování na internet. Na začátku je nutné zavést několik základních pojmů, ve kterých je společné počáteční písmeno „e“, které znamená elektronický. E-business – souhrnný název pro všechny pojmy využití internetu v obchodě a službách např. •
e-commerce – elektronický obchod,
•
e-services – všechny služby v rámci internetu,
•
e-banking – přímé bankovnictví, ovládání bankovního účtu prostřednictvím internetu,
•
e-brokerage – správa portfolia cenných papírů prostřednictvím internetu [1]. Pro tuto práci je nejdůležitější pojem e-commerce, který má několik hlavních definicí.
Nejjednodušší z nich uvádí, že je to forma obchodního styku, kdy se celá transakce odehrává prostřednictvím
internetu
[2].
Pro
internetové
obchody
existuje
několik
dalších
pojmenování. Elektronický obchod, virtuální obchod, internetový obchod, on-line obchod nebo e-shop. V každém případě jde o obchod, který existuje v podobě internetových stránek [3]. V rámci obchodování na internetu se vytvářejí jakési virtuální domy či prodejny specializující se výhradně na jistý druh zboží nebo může jít o obdobu nákupů „pod jednou střechou“, kde lze nakoupit nejrůznější zboží, jako např. knihy, časopisy, CD, hardware, software, elektronika, oblečení, mobilní telefony apod. Internetový obchod může být také rozšířením nabídky prodeje zavedené obchodní firmy ze skutečného světa [1, 3].
2.2 Typy elektronického obchodováni V rámci konceptu elektronického podnikání rozlišujeme několik typů služeb: •
B2B (Business to Business) : je to obchod mezi firmami, výrobci či obchodníky,
•
B2C (Business to Consumer): prodej organizací koncovým zákazníkům. Tento typ internetového obchodu je v České republice nejrozšířenější,
•
B2B Marketspace – aplikace pro zefektivnění výměny informací, vyhledávání obchodních partnerů (komunikace mezi firmami).
8
Předešlé typy představují nejběžnější formy elektronického obchodování. Dále existují i následující modely: •
B2E (Business to Employee) – je zaměřen na zaměstnance a zvyšuje jejich informovanost,
•
B2G (Business to Government) – vztah mezi podnikem a veřejným sektorem,
•
B2R (Business to Reseller) – prodej distributorovi řetězce, který nakoupí zboží za účelem dalšího prodeje,
•
C2B (Consumer to Business) – konečný zákazník zadá podmínky (např. nabídne cenu) organizace pak rozhodne, zda nabídku akceptuje,
•
C2C (Consumer to Consumer) – prodej spotřebitele jinému spotřebiteli,
•
C2G (Consumer to Government) – vztah mezi spotřebitelem a státní veřejnou správou,
•
G2B (Government to Business) – vztah mezi veřejným sektorem a podnikem nebo spotřebitelem.
Obchodní modely e-commerce: Obchodní model spolu s marketingovou strategií umožňuje společnosti dosáhnout obchodní životaschopnosti. Obchodní model by měl udávat toky výrobků, informací a peněz, měl by obsahovat seznam zahrnutých obchodníků, jejich role a jaké výhody získají. Nejběžnější obchodní modely uplatňující se v e-commerce jsou tyto [4]: •
Elektronické obchody (e-shops) – Tento model vychází z prvotní prezentace firmy pomocí webovské stránky a následně je k ní připojen jednoduchý model elektronického obchodu. Většinou je tento model kombinován s tradičními marketingovými kanály [5],
•
Elektronická obchodní centra (e-malls) – několik obchodů pohromadě které jsou zastřešené pod jednou značkou se společným vstupem přes internet
•
Elektronické aukce (e-auctions) – mají použití všude tam, kde nabídka převyšuje poptávku,
•
Elektronické nabídky (e-procurement) – pro zveřejnění výzvy k výběrovým řízením (trendům), hledání dodavatelů atd. Většinou je provozována velkými podniky nebo veřejnými institucemi,
•
Virtuální společenství (virtual communities) – spojení několika firem se společným zájmem, které si vzájemně vyměňují informace a zkušenosti,
9
•
Tržiště třetí strany (third party marketplaces) – v tomto obchodním modelu provozovatel uveřejňuje katalogy několika dodavatelů a nabízí vyhledávací službu v těchto katalozích, objednávky a možnost placení v bezpečném prostředí,
•
Kooperativní prostředí (collaboration platforms) – je soustavou nástrojů a informačních prostředí pro kooperaci mezi firmami.
2.3 Současný stav v ČR Internetové obchodování je v posledních letech rychle a dynamicky se rozvíjející trh. Hlavní příčinou tohoto růstu je masové rozšíření internetu. Internetové obchody mají v současné době druhý největší obrat v ČR po řetězcích hypermarketů. Více než milion lidí, kteří za zboží a služby utratili zhruba deset miliard korun, nakoupilo loni v některém z českých internetových obchodů. Asociace APEK (Asociace pro elektronickou komerci) a ADMAZ (Asociace direkt marketingu a zásilkového obchodu) zrealizovaly projekt s názvem E-COMMERCE V ČR , ve kterém byl zjišťován počet objednávek každého obchodu/obchodního domu, výše tržeb, rozdělení zakázek podle krajů ČR a podle sortimentu zboží, a to za celý rok 2005. Tento projekt soustředil výsledky 35 významných internetových obchodníků, které veřejnosti přiblížily stav českého e-trhu v roce 2005. Omezením projektu E-COMMERCE V ČR je neúčast většího počtu obchodů on-line trhu. Tento předpoklad byl hned v počátku projektu brán v úvahu. Celkem všechny zúčastněné obchody dohromady deklarovaly tržby ve výši 3 miliardy Kč a 846 000 on-line objednávek. On-line trh ČR je pro rok 2005 celkově odhadován na 10 miliard Kč. Největším ze zúčastněných obchodníků podle deklarovaných tržeb byla v roce 2005 galerie obchodů Internet Mall, a.s. Podle počtu objednávek pak InternetShops, a.s. Mezi největšími 6 obchodníky se umístil také EUROCOMM Group, s.r.o. (provozující obchod Kasa.cz), Quelle, s.r.o., NWT Computer, s.r.o., Eternity Group, s.r.o. a Neckermann, s.r.o. [6]. O zájem nákupu v internetových obchodech se zajímá i Český statistický úřad. Podle jeho zveřejněných informací největší zájem mezi osobami nakupujícími přes internet je o elektronické vybavení, dále o knihy, časopisy a učebnice, vstupenky na kulturní akce, oblečení a sportovní potřeby a služby v oblasti cestování. Nemenší zájem je o loterie, sázení a o finanční služby (nákup akcií, pojištění) (viz Obr. 1) [7].
10
Obr. 1: Šetření o využívání ICT v domácnostech a mezi jednotlivci v roce 2005 (Nejčastěji nakupované zboží a služby přes internet v posledních 12 měsících) [7].
Obr. 2: Šetření o využívání ICT v domácnostech a mezi jednotlivci v roce 2003, 2004 a 2005, ČSÚ (Procento jednotlivců, kteří nakoupili na internetu v posledních 12 měsících, podle pohlaví a věku) [7]. S on-line nákupem mají zkušenost zejména lidé mladší (viz Obr. 2) a s vyšším vzděláním. Jako způsob platby za zboží/služby nakoupené přes internet se nejčastěji používá dobírka. Dále převod z bankovního účtu a hotovost. Platba platební kartou se v případě nákupů přes internet používá minimálně [7].
11
2.4 Výhody a nevýhody elektronického obchodu V České republice již existují firmy, které prostřednictvím elektronického obchodu realizují významnou, ne-li hlavní část svého obratu. S rostoucím rozvojem elektronického obchodu si stále více zákazníků oblíbilo tento způsob nakupování, který jak zákazníkům tak i obchodníkům nabízí spoustu výhod. Přináší jim, ale i některá negativa. Výhody pro zákazníky [1, 8]: •
nižší cena, slevy – internetové obchody často nabízejí nižší ceny než v "kamenných obchodech", aktuální slevy, akce a výprodeje. Navíc nabízí dovoz zboží až do domu nebo kanceláře, často zdarma,
•
pohodlí a úspora času – obrovskou výhodou tohoto způsobu je soustředění informací z různých obchodů na jednom místě, takže přístup k informacím je velmi rychlý a přehledný,
•
velké množství informací k dispozici,
•
globálnost – zákazník si může objednat zboží odkudkoliv,
•
široký sortiment,
•
personalizace – pokud u určitého obchodníka nakupuje zákazník opakovaně, prodejce mu může poskytnout nabídku přímo pro něj podle informací, které získal z jeho předchozích nákupů,
•
nepřetržitost – internet umožňuje nakupovat 24 hodin denně,
•
flexibilita plateb – více možností plateb (převodem z účtu, na dobírku, hotově při dodávce kurýrem, na splátky, apod.).
Nevýhody pro zákazníky: •
nedůvěra a obavy – zejména zákazníků, kteří nemají zatím zkušenost s obchodováním na internetu,
•
virtuální prodejce a zboží: zákazník nemůže zboží vyzkoušet, chybí osobní kontakt s prodejcem,
•
rychlá změna cen.
Výhody pro prodejce: •
minimální náklady na podnikání – není např. potřeba platit za zaměstnance, nájem za prodejnu aj., 12
•
specializace,
•
nižší ceny – z důvodu úspor nákladů mohou internetové společnosti nabídnout nižší ceny,
•
alternativní cesta – internetový obchod může být doplňkovou službou ke stávajícím obchodním možnostem,
•
zacílení – na konkrétní typ uživatele,
•
zjednodušení práce,
•
prostorová a časová neomezenost.
Nevýhody pro prodejce: •
konkurence,
•
získání nových čí udržení stávajících zákazníků,
•
slabá právní podpora – problémy související s reklamací zboží, s placením daní či poplatků,
•
problém plateb,
•
problém dopravy – obchodník musí zajistit nejvýhodnější variantu dodávky zboží,
•
investice do reklamy a propagace,
•
problémy anonymity – obchodníci si nemohou být jistí, kdo u nich nakupuje.
2.5 Legislativa týkající se e-commerce v ČR V současné době není elektronický obchod jako takový upraven žádnou právní normou. Některé předpisy sice s obchodním stykem v elektronické podobě počítají - např. obchodní zákoník a zákon o el. podpisu - ucelená norma, která by upravovala na jednom místě práva a povinnosti spojené s elektronických obchodem zatím ale chybí. Mezi nejdůležitější právní normy, které oblast elektronického obchodu přímo v některé jeho části upravují, nebo které se elektronického obchodu dotýkají nepřímo patří především: •
Zákon č. 40/1964 Sb., Občanský zákoník, ve znění pozdějších předpisů,
•
Zákon č. 513/1991 Sb., Obchodní zákoník, ve znění pozdějších předpisů,
•
Zákon č. 227/2000 Sb., o elektronickém podpisu,
•
Zákon č. 124/2002 Sb., o platebním styku,
•
Zákon č. 563/1991 Sb., o účetnictví,
•
Zákon č. 586/1992 Sb., o dani z příjmu,
13
•
Zákon č. 588/1992 Sb., o dani z přidané hodnoty,
•
Zákon č. 13/1993 Sb., o celním zákoně,
•
Zákon č. 151/2000 Sb., o telekomunikacích,
•
Zákon č. 101/2000 Sb., o ochraně osobních údajů. Informační povinnost elektronických obchodů upravuje zákon 367/2000 Sb., který
vkládá do Občanského zákoníku ustanovení EU o ochraně spotřebitele v případě smluv uzavřených na dálku (97/7/ES). Obchodník je povinen kupujícímu před nákupem na internetu sdělit především následující informace: •
základní identifikační údaje provozovatele obchodu jako obchodní jméno, adresa a identifikační číslo,
•
název a hlavní charakteristika zboží nebo služeb, jako je popis zboží, jeho technická specifikace,
•
cena zboží nebo služby včetně DPH a dalších poplatků, jako např. balné,
•
vyčíslení nákladů na dodání,
•
způsob platby,
•
způsob dodání,
•
doba, po kterou zůstává nabídka nebo cena v platnosti – kupující nesmí zjistit při dokončení objednávky, že původně uvedená cena se liší od kalkulované v objednávce,
•
informace o právu na odstoupení – spotřebiteli by měla být poskytnuta jednoduchá informace, že má právo od smlouvy odstoupit ve lhůtě 14 dnů od dodání zboží,
•
informace o službách po prodeji a zárukách, o podmínkách pro zrušení smlouvy, je-li uzavřena na dobu delší, než jeden rok nebo dobu neurčitou. Právo na odstoupení od smlouvy plyne ze zákona č. 367/2000 Sb., který upravuje i
identifikaci obchodníka a zboží [9, 10, 11].
14
3 Metodická východiska 3.1 XML 3.1.1 Co je XML XML (eXtensible Markup Language) je obecný značkovací jazyk, který byl vyvinut a standardizován konsorciem W3C. Je ideálním formátem pro ukládání strukturovaného a semistrukturovaného textu určeného pro šíření a konečnou publikaci na celé řadě médií. Dokument XML obsahuje specifické instrukce, nazývané tagy (značky), elementy a entity, které ohraničují části dokumentu. Jazyk XML určuje, jakým způsobem jsou označovány elementy, jak mohou být elementy vnořovány, jakým způsobem zapisovat atributy, komentáře a další konstrukce. Zásadní rozdíl oproti jazyku HTML je, že jazyk XML nemá žádné předdefinované značky (vytváří si je uživatel sám), kdežto jazyk HTML obsahuje pevně danou sadu tagů, s jejichž pomocí lze tyto dokumenty HTML vytvářet [12, 13, 14].
3.1.2 Vlastnosti XML V následujících odstavcích jsou popsány základní vlastnosti XML [12, 14]. Standardní formát pro výměnu informací V dnešní době je možné používat celou řadu operačních a informačních systémů. Není hodné používat pro výměnu dat formáty, které jsou svázány s konkrétním softwarem nebo hardwarem. Je potřeba používat jednoduchý formát přístupný všem, kterým může být např. XML. Jeho specifikace je každému zdarma k dispozici na serveru konsorcia W3C, které se stará i o mnoho dalších technologií. Práci s XML usnadňuje i to, že celý formát je založen na obyčejném textu [12, 14]. Mezinárodní podpora XML je první formát, který hned od samého počátku dbá na potřeby jiných jazyků, než je angličtina. Jako znaková sada se používá implicitně ISO 10646. Je to 32bitová znaková sada, která dokáže pojmout všechny znaky dnes používaných jazyků. V XML proto můžeme vytvářet dokumenty, které obsahují texty v mnoha jazycích najednou, můžeme kombinovat např. češtinu, angličtinu, ruštinu [12, 14].
15
Vysoký informační obsah Pomocí tagů vyznačujeme v dokumentu význam jednotlivých částí textu. Dokumenty obsahují mnohem více informací, než kdyby se používalo značkování zaměřené na vzhled (písmo, odsazení apod.). XML dokumenty jsou informačně bohatší, což lze s výhodou využít v mnoha oblastech. Největší přínos to bude znamenat pro vyhledávání, kdy lze určit i jaký význam má mít hledaný text [12, 14]. Snadná konverze do jiných formátů V mnoha případech potřebujeme XML dokument zobrazit na nějakém běžném médiu na obrazovce, nebo papíře. V tomto případě už samozřejmě chceme přesně ovlivnit, jak se obsah jednotlivých značek zobrazí. XML samo o sobě žádné takové prostředky nenabízí. Existuje však naštěstí hned několik stylových jazyků, které umožňují definovat, jak se mají jednotlivé elementy zobrazit. Souboru pravidel nebo příkazů, které definují, jak se dokument převede do jiného formátu, se říká styl [12, 14]. Automatická kontrola struktury dokumentu XML neobsahuje předdefinované značky (tagy), je třeba definovat vlastní, které budeme používat. Ty značky je možné definovat v XML schématu. Potom je možné automaticky kontrolovat, zda vytvářený XML dokument odpovídá této definici. Program, který tyto kontroly provádí, se nazývá parser. Při vývoji aplikací můžeme parser použít, a ten za nás detekuje většinu chyb v datech [12, 14]. Hypertext a odkazy XML umožňuje vytváření odkazů v rámci jednoho dokumentu i mezi dokumenty navzájem. Lze vytvářet i vícesměrné odkazy [12, 14].
3.1.3 Použití XML I když je technologie XML poměrně nová, je už dnes k dispozici mnoho softwarových balíků, které umožňují s XML pracovat. Mnoho z těchto programů je navíc k dispozici zdarma. V této kapitole budou nastíněny oblasti, ve kterých se XML nejčastěji nasazuje a přináší výhody oproti jiným technologiím [12].
16
B2B aplikace Jako vhodný formát pro přenos dat se jeví právě jazyk XML, který je velice jednoduchý a podporuje ho mnoho počítačových platforem. Pomocí XML si firmy mohou vyměňovat objednávky, faktury a mnoho dalších údajů [12]. WWW stránky Možnost definice vlastních značek, které přesně vyznačí význam jednotlivých částí stránky, má pozitivní efekt na přesnost a rychlost vyhledávání informací. Pro mnoho aplikací je však mnohem jednodušší používat již zažité HTML značky a pouze je vhodně doplnit o pár dalších, kterými se označí části stránky důležité pro vyhledávání. Aby bylo rozšiřování HTML značek snadné, pracuje konsorciumW3C na převodu jazyka HTML do XML. Prvním výsledkem je jazyk XHTML. Dokumenty jsou dány tím, že stránky v XHTML jsou zapisovány v souladu se syntaxí XML [12]. Metadata Metadata pro dokument představují takové údaje jako autor dokumentu, datum vytvoření, vlastník copyrightu, druh dokumentu apod. Pro vyhledávání, ale hlavně pro klasifikaci dokumentů je užitečné o nich znát co nejvíce metadat. Do kategorie metadat patří i například formát Microsoftu CDF (ChanellDefinition Format), který umožňuje jednoduchou syntaxí, založenou na XML, definovat zajímavé internetové zdroje [12]. Elektronické publikování Nové možnosti přináší do této oblasti technologie XML. Pokud máme naše dokumenty uloženy v XML, můžeme je pomocí stylů velice snadno automaticky konvertovat do mnoha dalších formátů. Z dokumentu můžeme vygenerovat PDF soubor nebo sadu HTML stránek, kde každá stránka představuje jednu kapitolu dokumentu [12].
3.1.4 Syntaxe XML Každý XML dokument se skládá z elementů, které jsou do sebe navzájem vnořené. Elementy se v textu vyznačují pomocí tzv. tagů. Většině elementů odpovídají dva tagy počáteční a ukončovací. Názvy tagů se zapisují mezi znaky „< a >“. Ukončovací tag má před svým názvem ještě znak „/“. Aby byl dokument považován za správně strukturovaný („well-formed“), musí mít nejméně následující vlastnosti: 17
•
musí mít právě jeden kořenový (root) element,
•
neprázdné elementy musí být ohraničeny startovací a ukončovací značkou. Prázdné elementy mohou být označeny tagem „prázdný element“,
•
všechny hodnoty atributů musí být uzavřeny v uvozovkách - jednoduchých (') nebo dvojitých ("), ale jednoduchá uvozovka musí být uzavřena jednoduchou a dvojitá dvojitou. Opačný pár uvozovek může být použit uvnitř hodnot,
•
elementy mohou být vnořeny, ale nemohou se překrývat; to znamená, že každý (ne kořenový) element musí být celý obsažen v jiném elementu [14].
Př.
<jmeno>Jan <prijmeni>Valter 1985
3.2 XML schéma 3.2.1 Význam schémat Primární význam schémat leží v jejich použití pro formální definici značkovacích jazyků, nebo datových formátů, založených na XML. Hlavní výhodou formalizované definice je jednoznačná interpretace, na rozdíl od definice popsané v přirozeném jazyce. Všichni uživatele, kteří chtějí používat dokumenty XML odpovídající danému schématu vědí, jak mohou dokumenty vypadat. XML schéma jednoznačně definuje, jak může dokument XML vypadat, proto lze použít pro validaci. Validace je proces, při kterém se ověřuje, zda nějaký konkrétní dokument XML vyhovuje všem omezením definovaným ve schématu. Můžeme si tak například ověřit, zda dokument, který nám někdo zaslal, opravdu vyhovuje formátu, na němž jsme se předtím domluvili [15].
18
3.2.2 Definice elementů a atributů Definice elementů Základem XML schématu je hierarchická struktura odpovídající struktuře požadovanému dokumentu, tvořená převážně elementy element. Kořenovým elementem je vždy element schématu, který celé schéma zastřešuje. Definice atributů Atributy rozšiřují informace o daném elementu. Atributy jsou součástí tzv. komplexního datového typu a definují se pomocí elementu attribute. Můžeme určit nejen jejich jméno a typ, ale také zda mají být povinné, jaká je jejich implicitní hodnota apod. [12, 15].
3.2.3 Definice datových typů Datové typy jsou samotným základem XML schémat. Největší potenciál XML schémat spočívá v možnosti definovat si vlastní datové typy. Ty přitom mohou vznikat zejména restrikcí nebo rozšířením některého z již existujících typů. Datové typy mohou být jednoduché či komplexní [12, 15]. Jednoduché datové typy XML schémata obsahují běžné základní datové typy jako textový řetězec, celá a desetinná čísla, binární data, logická hodnota, datum, čas, časový interval. V mnoha případech si s těmito typy vystačíme. K definici jednoduchého datového typu slouží element simpleType. Vyžadujeme-li však v aplikacích striktnější kontrolu dat, musíme si od zabudovaných typů odvodit vlastní typy. Nejběžnějším způsobem odvození je restrikce (provádí se pomocí elementu rescriction), kdy pomocí integritních omezení zúžíme obor přípustných hodnot. Kromě toho lze odvozovat nové typy vytvořením seznamu a sjednocením typů. Na existující datový typ můžeme najednou aplikovat několik integritních omezení a tak zúžit přípustné hodnoty [12, 15]. Integritní omezení: – definuje přesnou délku řetězce,
•
length
•
minLength
– minimální délka řetězce,
•
maxLength
– maximální délka řetězce,
•
pattern
•
enumeration
– omezení na základě regulárního výrazu, - výčet přípustných hodnot pro datový typ.
19
Př. <xs:simpleType name="PSČType"> <xs:restriction base="xs:string"> <xs:length value="6"/>
Komplexní datové typy Komplexní typy slouží k modelování struktury dokumentu, protože se může skládat z elementů a atributů. Atributy se uvádějí ve většině případů až na konci komplexního datového typu [12, 15]. Př. <xs:attribute name="ident" type"xs:ID" use="required"/>
U elementů můžeme určit v jakém pořadí se mají vyskytovat, kolikrát se mohou opakovat, zda jsou povinné či volitelné. Komplexní typ se definuje pomocí elementu complexType.
Podobně jako u jednoduchých typů můžeme definovat komplexní typ
samostatně, aby pak šel používat opakovaně pro různé elementy Uvnitř elementu complexType pak můžeme použít další elementy: •
sequence
–
je nejpoužívanější a určuje, že v něm obsažené definice elementů
(případně dalších vnořených struktur) se musí v dokumentu vyskytovat přesně v tom pořadí, jak jsou uvedeny, •
choice
– používá se v případě, že je nutné, aby se na určitém místě v dokumentu
vyskytoval jeden z několika elementů, •
all –
používá se v případech, kdy nezáleží na pořadí, v jakém jsou určité elementy
uvedeny, a není potřeba, aby uživatel dodržoval nějaké konkrétní pořadí [12, 15].
3.3 Transformace Jednou ze základních myšlenek XML je oddělení informačního obsahu dokumentu od definice grafického vzhledu. Jak bude konkrétní XML dokument vypadat, se definuje pomocí stylových jazyků. Výhodou je, že jeden styl může být použit pro mnoho dokumentů stejného druhu. O zpracování dokumentu na základě stylu se stará speciální program, kterému se říká stylový procesor (schéma viz Obr. 3) [12]. 20
Obr. 3: Cyklus zpracování stylů pomocí XSL procesoru.
3.3.1 XSL XSL (eXtensible Stylesheet Language) vznikl jako univerzální stylový jazyk. Princip práce XSL spočívá v řadě šablon, které jsou porovnávány s daty v XML dokumentu a pokud nastane shoda, je na daný úsek XML kódu aplikováno pravidlo obsažené v příslušné XSL šabloně [16]. Samotný standard XSL rozděluje jazyk XSL na dvě části. První část jazyka obsahuje
nástroje
pro
transformaci
XML
dokumentů,
nazývá
se
XSLT
(XSL
Transformations). Druhá část standardu pak definuje formátovací objekty nazývající se XSLFO (XSL formating objects) [12]. XSLT Jazyk XSLT umožňuje transformaci jednoho XML dokumentu na jiný dokument
např.
HTML nebo XML dokument s jinou strukturou. Pomocí XSLT je tedy možné během transformace přidávat do dokumentu nové elementy, přeskupovat pořadí elementů nebo je vynechat apod. Základním stavebním kamenem stylů v XSLT jsou šablony. Každá šablona určuje, na jaké části vstupního dokumentu je použita, a jak bude tato část dokumentu transformována do výstupního dokumentu [12, 13]. Př. <xsl:template match="výraz"> výstup
Existuje samozřejmě velké množství dalších XSLT instrukcí, které zde neuvádím jako např.xsl:stylesheet, xsl:choose, xsl:when, xsl:text, xsl:valueof atd.
21
XSL-FO Jazyk XSL-FO umožňuje velice kvalitně formátovat XML dokument pro tisk nebo pro prezentaci na obrazovce. Za pomoci „formátovacích objektů“ (FO) můžeme přesně specifikovat rozměry stránky, způsob zarovnání, použitá písma, barvy atd. V závislosti na použitém procesoru lze pak vygenerovat např. soubor PDF nebo dokument zobrazit na obrazovce [12, 13]. Základní FO lze rozdělit do následujících skupin: •
formátování a vzhled stránky,
•
formátování bloků,
•
formátování in-line objektů,
•
formátování objektů mimo řádku,
•
formátování tabulek,
•
formátování seznamů. Formátovacích objektů je celkem padesát šest. Jako nejčastěji používané bych zde uvedl
např. – kořenový uzel element formátovaného dokumentu XSL,
•
fo:root
•
fo:layout-master-set
– definuje sadu předloh, které určují rozvržení stránek
v dokumentu, •
fo:simple-page-master
– určuje geometrii stránky, která může být rozdělena až na
pět oblastí, – označuje oblast ve středu stránky,
•
fo:region-body
•
fo:page-sequence
•
fo:page-sequence-master
– určuje způsob tvorby posloupnosti stránek uvnitř dokumentu, – obsahuje posloupnosti předloh pro stránky, jež jsou
použity ke generování posloupností stránek, •
fo:flow
– ošetřuje způsob zobrazení toku textu ve výsledném dokumentu [12, 13, 17].
3.4 Analýza elektronických obchodů Analýza elektronických obchodů je v této bakalářské práci rozčleněna do tří hlavních částí, a to především z pohledu designu, struktury a dat.
22
3.4.1 Design Vzhled stránek je kromě funkčnosti jednou z nejdůležitějších věcí. Dobře navržené umístění loga, vhodná volba barev, písma a mnoha dalších vlastností může rozhodnout o získání zákazníků. Srovnání designu internetových obchodů je provedeno z několika základních charakteristických rysů: •
celkové uspořádání hlavní obrazovky (počet a použití jednotlivých tabulek),
•
způsob navigace (uspořádání menu),
•
barevné provedení.
3.4.2 Struktura stránek Stránky internetových obchodů jsou členěny do několika tabulek, ve kterých se zákazník orientuje (levé a pravé menu, záhlaví a zápatí, hlavní středová část a další). Struktura vybraných internetových obchodů byla srovnávána ze dvou pohledů: •
struktura katalogu firem (menu – členění, přehlednost),
•
struktura jednotlivých nabízených položek (členění informací o nabízeném zboží). Stromová struktura slouží pro snadné vyhledání položky k filtrování. Uzly na nejvyšší úrovni (Evidenční údaje, Klasifikace aj.) slouží jen k základnímu dělení.
3.4.3 Struktura dat Každý internetový obchod uchovává mnoho rozličných dat, které mohou zkvalitnit a zrychlit poskytované služby. Jsou to např.: •
Data o prodávaném zboží (technické parametry apod.)
•
Data o zákaznících
U některých internetových obchodů dává zákazník již při registraci souhlas s tím, že údaje o něm a jeho nákupech budou shromažďovány a používány. Registrační data mohou být využita pro zlepšení uživatelského komfortu. Mohou například zákazníka ušetřit zbytečného vyplňování stále stejných dat. •
Data o objednávkách
Údaje o objednávkách jednotlivých zákazníků jsou shromažďovány jednak kvůli zajištění dodávek zboží, vyřizování reklamací a v neposlední řadě mohou tato data posloužit, tak i ke zpětné kontrole zákazníka [18].
23
•
Data o dodavateli (provozovateli)
Spotřebitel musí mít možnost se kdykoliv seznámit s informacemi o dodavateli (úplné obchodní jméno dodavatele, IČ popř. DIČ, sídlo či kontaktní adresa, jméno a příjmení osoby zodpovědné za provoz obchodu atd.) [18]. Uchovávaná data mohou navíc sloužit pro souhrnné statistické informace o zákaznících, návštěvnosti, obratu apod.
24
4 Vlastní práce 4.1 Analýza konkrétních internetových obchodů Pro analýzu bylo vybráno několik internetových obchodů. Nicméně v následujících kapitolách bude pro ilustraci podrobně popsána struktura a základní rysy stránek pouze tří obchodů podle bodů uvedených v kapitole 3.4. Jejich volba byla provedena na základě osobních zkušeností a podmínky, aby nabízely zcela odlišné druhy zboží.
4.1.1 Pinec.cz První z vybraných internetových obchodů se zabývá distribucí potřeb pro stolní tenis. Tento obchod lze najít na internetových stránkách http://www.pinec.cz/. Design a struktura stránky Hlavní obrazovka je členěna do tří základních sloupců. Ve prostředním panelu jsou zobrazeny veškeré informace vybraných položek zboží a jejich kategorií. V levém panelu je zobrazeno menu rozdělené na dvě části. První obsahuje jednotlivé kategorie zboží členěného podle druhu a značek, druhá potom obsahuje nápovědu jak se orientovat v tomto internetovém obchodě. V pravém panelu jsou umístěny upoutávky na nové a nejprodávanější zboží. Ve funkčním záhlaví je možná volba registrace, kontrola nákupního košíku a lze tam najít informace o uživateli. Způsob navigace je v tomto internetovém obchodě nepřehledný, a to z důvodu po sobě jdoucích kategorií dělených podle druhu zboží a podle značek bez zjevného barevného nebo jiného rozlišení. Barevné provedení je střídmé, neagresivní. Čitelnost textu proti bílému pozadí je dobrá. Stránkám chybí výraznější barevné či grafické prvky, z toho důvodu nijak na první pohled nezaujmou. Dalším kritériem pro analýzu stránek byla struktura položek. Po vybrání konkrétního zboží se ve prostředním panelu objeví jeho podrobný popis: •
název,
•
cena (s a bez DPH),
•
popis – základní obecné představení výrobku a technické vlastnosti,
•
fotografie výrobku,
•
výrobce,
•
expedice,
•
záruční doba.
25
Struktura dat Veškerá data popisující konkrétní nabízené zboží, která se zobrazují zákazníkovi (viz „struktura položek“ popsána v předcházejícím odstavci), jsou uložena v databázi. Informace o zákaznících jsou shromaždovány při registraci a zahrnují jméno, příjmení, e-mail, telefon a úplnou adresu zákazníka. Dále si také zákazník volí přihlašovací údaje (jméno a heslo). U firemních zákazníků je nutné navíc uvést název firmy a její IČ, DIČ. Pro objednání zboží je nutné, aby byl zákazník přihlášen. Po přihlášeni je mu povolen přístup na stránku pro odeslání objednávky. Objednávka obsahuje informace o vybraném zboží a jeho požadovaném počtu. Dále zákazník určuje způsob platby a dopravy. Aktuální stav provedených objednávek může zákazník sledovat po kliknutí na odkaz „objednávky“ v menu zákazníka. V položce „nápověda“ lze najít veškeré informace o provozovateli – obchodní název firmy, jméno a příjmení, úplná adresa provozovatele, IČ, DIČ, telefon/fax číslo, e-mail a internetová adresa.
4.1.2 Eorchestr.cz Druhý z vybraných internetových obchodů je specializovaný prodejce hudebních nástrojů a příslušenství se zaměřením na orchestrální hudební nástroje. Tento obchod lze najít na internetových stránkách http://www.eorchestr.cz/. Design a struktura stránky Hlavní stránku tohoto internetového obchodu tvoří opět tři hlavní tabulky. V největší prostřední tabulce jsou zobrazeny vybrané nabídky a jednotlivé položky s veškerými údaji. Kategorie navigace s kontakty a informacemi o obchodě jsou umístěny v levé části obrazovky. V pravém oddílu je seznam deseti nejprodávanějších produktů a zboží v akci. V záhlaví je možná volba zobrazení úvodní stránky, registrace, kontrola nákupního košíku a lze tam najít informace o uživatelském účtu. Navigace tohoto internetového obchodu je členěna na několik částí (katalog zboží, informace, vyhledávání). Katalog zboží obsahuje jednotlivé kategorie produktů (kytary, bicí nástroje, žesťové apod.). V části „informace“ jsou kontakty a všechny další důležité podrobnosti o tomto obchodě. Vizuální uspořádání celých stránek a menu je přehledné a dá se v něm snadno orientovat. Barvy stránek a jednotlivých doplňků spolu ladí a působí živým dojmem. V designu tohoto internetového obchodu je používána moderní grafika. 26
U každého vybraného zboží jsou dostupné tyto informace: •
název,
•
cena (s DPH),
•
výrobce,
•
záruka,
•
popis,
•
volitelné příslušenství (seznam zboží související s vybraným výrobkem),
•
technické specifikace,
•
fotografie zboží.
Struktura dat Všechna data, která může uživatel najít o daném zboží jsou opět uchována v databázi daného obchodu. Údaje o zákaznících shromaždované tímto internetovým obchodem zahrnují jméno, příjmení, telefon, e-mail a úplnou adresu zákazníka. Pro běžného i firemního zákazníka může být ještě volitelně určena jiná adresa dodání zboží. Jako přihlašovací údaje slouží jméno email klienta. Firemní zákazník navíc opět musí uvést jméno firmy a její IČ a DIČ. Samotná objednávka je strukturovaná podobně jako u prvního internetového obchodu s tím, že zboží si může objednat i nepřihlášený uživatel po vyplnění základních osobních údajů. Údaje o provozovateli se zobrazí po otevření položky „kontakty“ a obsahují stejné informace jako u prvního analyzovaného obchodu (viz odd. 4.1.1).
4.1.3 Horkysalek.cz Třetí z vybraných internetových obchodů je provozována firmou Damark s.r.o., která se zabývá distribucí čaje, kávy a příslušenství, které usnadňují samotnou přípravu nápojů. Tento obchod lze najít na internetových stránkách http://www.horkysalek.cz/. Design a struktura stránky Uspořádání celých stránek je provedeno účelně a přehledně. Rozdělení je stejné jako u předešlých internetových obchodů. Menu v pravé části je členěno do několika hlavních kategorií (čaje, kávy, příslušenství, informace o zboží a další). Navigace je tedy intuitivní.
27
Barevně je stránka sladěna, pouze čitelnost menu je horší z důvodu podobné barvy použité na pozadí a barvy písma. Dynamicky se měnící obrázky v záhlaví podtrhují moderní design stránek, který ihned zaujme. Struktura každé z položek tohoto e-obchodu je opět roztříděna na tyto informace: •
název,
•
cena (s DPH),
•
země původu,
•
hmotnost balení,
•
popis,
•
fotografie zboží, Protože tento obchod nabízí zejména potraviny, nejsou zde potřeba žádná technická data.
Struktura dat Při registraci zákazníci musí uvést své jméno, příjmení, telefon, e-mail a úplnou adresu. I v tomto internetovém obchodě je možné uvést jinou adresu pro dodání zboží. Jako další volitelné údaje lze sdělit akademický titul zákazníka, požadovaný způsob platby a dopravy zboží. Firemní klient navíc opět uvádí jméno firmy a její IČ a DIČ a může uvést adresu fakturace. Objednávka vytvořená v tomto obchodě je návrhem kupní smlouvy. Kupní smlouva pak vzniká dodáním zboží a k jejímu vzniku není třeba formální potvrzení objednávky prodávajícím. Struktura objednávky je stejná jako v předchozích případech. Kontakt na dodavatele obsahuje nejen základní informace (obchodní název firmy, jméno, příjmení a úplná adresa provozovatele, IČ, DIČ), ale i telefonní čísla a e-maily jednatelů, číslo účtu bankovního spojení a informace o zápisu v OR.
4.2 Specifikace obecných rysů elektronických obchodů Přestože datová struktura závisí na konkrétním internetovém obchodu, respektive na druhu nabízených služeb či zboží, lze identifikovat určité rysy společné všem obchodům. Tyto společné rysy mohou být popsány vhodně zvoleným XML schématem, které specifikuje pravidla pro formalizaci XML dokumentu obsahující tyto společné znaky. Na základě provedené analýzy několika vybraných internetových obchodů byly tyto znaky identifikovány jak v rámci designu hlavní stránky, tak struktury jednotlivých položek. Hlavní stránky všech analyzovaných obchodů byly vždy členěny do několika hlavních sloupců. V levém oddílu byla vždy navigace sloužící pro výběr položek a orientaci na 28
stránkách případně dalších informací. V pravé části obrazovky jsou upoutávky na slevy, akce a nejprodávanější zboží. Hlavní prostřední panel slouží k představení firmy a eventuelních aktualit, následně při výběru kategorie nebo konkrétního zboží se v něm zobrazuje seznam položek nebo již konkrétní informace o vybraném zboží. U každého druhu výrobku zákazníka zajímají jiné údaje. Přesto existují vlastnosti, které jsou pro všechny výrobky stejné: •
název,
•
cena – některé obchody ji udávají s DPH, jiné bez DPH,
•
fotografie zboží – zvyšuje atraktivitu internetového prodeje,
•
popis – lze jej využít pro popis základních vlastností výrobku, i podrobných technických dat, ale ztrácíme výhody XML značkování. Většina internetových obchodů uvádí také doplňkové informace jako např. výrobce,
hmotnost, záruční dobu, informace o dodání výrobku, odkaz na internetové stránky s bližšími informacemi apod. Dalším
společným
znakem
všech
obchodů
jsou
shromažďované
informace
obsahovaly
informace
o zákaznících, které vždy zahrnovaly: •
jméno a příjmení zákazníka,
•
úplnou adresu zákazníka,
•
e-mail, telefon zákazníka,
•
u firemního klienta navíc obchodní název, IČ a DIČ firmy. Všechny
internetové
obchody
dále
shodně
o provozovateli/dodavateli. •
obchodní název firmy,
•
jméno, příjmení a úplná adresa provozovatele,
•
IČ, DIČ firmy,
•
telefon/fax čísla, e-mailové adresy provozovatele.
4.3 XML schéma pro popis obecného internetového obchodu Po identifikaci základních prvků obecného internetového obchodu, bylo vytvořeny tři XML schémata popisující společné rysy použitelné pro jakýkoliv obchod. První z nich popisuje dva hlavní elementy: strukturu a sortiment. Toto schéma je umístěno v souboru eshop.xsd. Druhé
29
schéma, uloženo v souboru s názvem firma_udaje.xsd, formalizuje informace o provozovateli internetového obchodu (majitele firmy) a třetí (zakaznik_udaje.xsd) popisuje údaje o zákaznících a dodavatelích.
4.3.1 Struktura a sortiment e-obchodu Všechny položky internetového obchodu jsou členěny do různých kategorií, což zvyšuje přehlednost stránek. Hlavní část, která zastřešuje celé první XML schéma, je tvořena elementem eshop. Pro lepší přehlednost XML dokumentu obsahuje tento element sekvenci dalších dvou elementů struktura
a sortiment. Element struktura obsahuje jednotlivé kategorie zboží
(zesilovače, CD přehrávače, reproduktory atd.) Př. XML dokumentu <struktura>
Zesilovače <poznamka>Kategorie zesilovačů bude obsahovat zesilovače integrované, koncové a předzesilovače. CD přehravače Tunery Reprosoustavy regálové
Element sortiment popisuje jednotlivé položky zboží. Podle východisek zjištěných z analýzy vybraných elektronických obchodů je zapotřebí, aby každý element polozka obsahoval název, cenu, fotografii a popis zboží. Jako další doplňkové informace pak obsahuje tyto volitelné elementy, ve schématu definovány volbou choice: •
doba_dodani
– za jakou dobu bude zboží dodáno,
30
– název výrobce zboží,
•
vyrobce
•
mnozstvi_skladem
•
zaruka
•
hmotnost
•
stranky_vyrobce
•
tech_spec
– počet kusů zboží na skladě,
– záruční doba, – hmotnost zboží, – odkaz na stránky výrobce,
– odborné údaje o zboží.
Jelikož technická data jsou pro každý výrobek zcela odlišná, tak byl vytvořen element tech_spec,
ve kterém mohou být definovány jakékoliv informace opět pomocí volby choice.
Ve volbě choice byl dále specifikován minimální a maximální počet výskytů, kterým byl zajištěn libovolný počet popisovaných technických vlastností zboží. Př. XML dokumentu <sortiment> <polozka id="p1" id_kat="s2">
NAD C 542 S 14250 <popis_zbozi>Hi-End CD přehrávač vybavený D/A převodníkem Burr-Brown a HDCD dekodérem
NAD <mnozstvi_skladem>10
4.1 stříbrná Burr-Brown Sigma-Delta 24 bit D/A převodník 108 110 7 <sirka>43.5 28.5
31
4.3.2 Informace o provozovateli Součástí každého internetového obchodu jsou informace o provozovateli. Druhé XML schéma proto definuje dokument obsahující základní element provozovatel, který obsahuje podelement
kontaktni_udaje,
který již
zahrnuje jednotlivé konkrétní
informace
o provozovateli: •
osoba,
•
obchodni_nazev,
•
adresa,
•
mail,
•
telefon,
•
IC,
•
DIC.
Jednotlivé elementy byly dále zpřesňovány tak, aby bylo zamezeno vkládání nesmyslných údajů při tvorbě XML dokumentu. Například, jelikož forma udávání úplné adresy není jednotná, byl tento element upřesněn elementem all, který říká, že zadávané hodnoty (ulice, číslo popisné, PSČ) se mohou vyskytovat v libovolném pořadí. Dalším příkladem může být zápis e-mailové adresy, který byl omezen pomocí elementu restriction a elementu pattern, který nastavuje pravidla pro zadání adresy. Př. XML dokumentu
<jmeno>Marek <prijmeni>Koválek Internet Mall, a.s. Sokolská 21 <stat>ČR <mesto>Praha 120 00 <mail>[email protected] 602245658 544248546
32
26204967 CZ26204967
Další informace o provozovateli jsou nepovinné (web, cislo_uctu, logo), proto byly zařazeny pod element choice (viz soubor: firma_udaje.xsd).
4.3.3 Informace o zákazníkovi Poslední XML schéma formalizující informace o zákazníkovi bylo opět vytvořeno podle analyzovaných údajů popsaných v kapitole 4.2. Protože se shromažďované informace lišily pro soukromého a firemního zákazníka, byl hlavní element zaznam rozdělen na podelementy zaznam_soukroma_osoba
a zaznam_firma. Ty obsahují podobné informace, jako již byly
uváděny u provozovatele (viz soubor: zakaznik_udaje.xsd).
4.4 Demonstrace využití XML struktur na konkrétní aplikaci Pro ověření funkčnosti navrhnutých XML struktur byl navrhnut hypotetický internetový obchod. V tomto obchodě byla jako hlavní sortiment zvolena elektronika, a to z důvodu, že je nutné k jejímu podrobnějšímu popsání velmi různorodé informace. Při jeho tvorbě bylo postupováno podle zjištěných hlavních bodů obecného internetového obchodu.
4.4.1 XML dokument Pro vytvoření reálného elektronického obchodu bylo potřeba nejdříve vytvořit dva XML dokumenty, které byly zformovány dle XML schémat popsaných v předcházejících kapitolách. Oba dokumenty jsou uloženy jako přílohy pod těmito názvy: eshop.xml a firma_udaje.xml. První dokument pracuje se dvěma základními elementy struktura a sortiment.
Pro strukturu bylo zvoleno pět základních kategorií (zesilovače, CD přehrávače,
tunery, reproduktory sloupové a regálové). Pro ilustraci byl ke každé kategorii přiřazen pomocí atributu ID_kat minimálně jeden produkt z elementu sortiment. Každou položku popisovaly povinné základní elementy (název, cena, popis). Veškeré technické informace týkající se konkrétního druhu výrobku jsou v XML dokumentu volitelné (choice), proto nemusí být na stránkách obchodu zobrazeny. Nicméně elektronika je zboží, pro které jsou tato data nutná, proto byly zařazeny vybrané informace (např. pro zesilovač: výkon, barva, vstupy apod.) do tzv. technických listů. Druhý XML dokument slouží pro identifikaci a popis kontaktních údajů provozovatele obchodu. 33
4.4.2 XML transformace Hlavní výhodou XML jazyka je oddělení obsahu dokumentu od konečného grafického návrhu internetových stránek obchodu. Pro přeměnu formalizovaného XML dokumentu bylo potřeba vytvořit šablony, které dokumenty transformovaly do podoby, která je již přijatelná pro tisk nebo prezentaci obchodu na internetu.
Obr. 4: Konečná podoba vytvořeného elektronického obchodu. XSLT Jak již bylo uvedeno v teoretické části, XSLT umožňuje transformaci XML dokumentu na HTML dokument. Proto jej bylo využito k definici grafického návrhu celého obchodu. Pomocí šablon (jež jsou uloženy v souborech styly.xsl, provozovatel.xsl, kategorie1.xsl a kategorie2.xsl) byly vybrány prvky XML dokumentu, které mají být zobrazeny a určena jejich podoba. Pro zlepšení vzhledu transformovaných dokumentů bylo použito navíc externích kaskádových stylů (optimalizovány pro internetový prohlížeč Mozilla Firefox), které jsou uloženy v souboru style_html.css (viz Obr. 4).
34
Design byl navržen podle používaných rozvržení analyzovaných obchodů – tedy ve prostředním hlavním panelu se zobrazují informace o zboží, které je možné si zvolit v levém panelu. XSL-FO Pro vygenerování technických listů, které nemusí zajímat širokou veřejnost procházející nabídku daného obchodu, bylo použito formátovacího jazyku XSL-FO (viz níže), aby tyto specifické informace o zboží byly odlišeny od informací základních. XSL-FO umožňuje formátovat XML dokument do pdf dokumentu, který je velmi výhodný pro tisk. Styl pro tuto transformaci je uložen v souboru styly-fo.xsl. Příklad tohoto pdf listu byl proveden pro první položku sortimentu v kategorii „zesilovače“ (viz Obr. 5). Př. Šablony XSL-FO <xsl:template match="sortiment">
font-weight="bold" font-style="oblique" line-
height="5"> <xsl:value-of select="polozka/nazev"/>
<xsl:text>Popis: <xsl:apply-templates select="polozka[id='p4']"/> <xsl:value-of select="polozka/popis_zbozi"/> <xsl:text> Barva: <xsl:value-of select="polozka/tech_spec/barva"/> <xsl:text> Typ zesilovače: <xsl:value-of select="polozka/tech_spec/typ_zesilovace"/> <xsl:text>Výkon (sinusový): <xsl:value-of select="polozka/tech_spec/vykon"/><xsl:text> W <xsl:text>Počet linkových výstupů: <xsl:value-of select="polozka/tech_spec/linkove_vystupy"/> <xsl:text>Počet linkových vstupů: <xsl:value-of select="polozka/tech_spec/linkove_vstupy"/> <xsl:text>Hodnota odstupu od šumu: <xsl:value-of select="polozka/tech_spec/odstup_sumu"/><xsl:text> db <xsl:text> Rozměry (v * s * h):
35
<xsl:value-of select="polozka/tech_spec/rozmery/vyska"/><xsl:text> cm * <xsl:value-of select="polozka/tech_spec/rozmery/sirka"/><xsl:text> cm * <xsl:value-of select="polozka/tech_spec/rozmery/hloubka"/><xsl:text> cm <xsl:text>Homotnost: <xsl:value-of select="polozka/hmotnost"/><xsl:text> kg
Obr. 5: Výřez z technického listu stereofonního zesilovače(z pdf dokumentu)
36
5 Závěr Vznik této bakalářské práce byl inspirován neustálým vzrůstem popularity internetových obchodů i značkovacího jazyka XML. Pro svoji jednoduchost a současně dostatečnou vyjadřovací schopnost je možné jej použít pro různé internetové a další aplikace. XML nabízí velkou škálu možností pro automatické zpracování strukturovaných dat, jejich následnou prezentaci a přináší usnadnění vyhledávání informací. Ve spojení s elektronickým obchodováním je skloňován čím dál častěji. Zejména z tohoto důvodu se tato bakalářská práce zabývala identifikací obecných rysů elektronických obchodů a posouzením, zda je reálné tyto rysy definovat za pomoci jazyka XML. Tato práce ukázala, že lze vytvořit XML schémata pro formalizaci XML dokumentů, která dostatečně popisují tento obecný obchod. Vážnější komplikací byl popis technických informací zboží. Technická data nejsou povinná pro všechen sortiment, což bylo vyřešeno volbou vhodných elementů v XML schématu, takže např. pro potraviny nejsou tyto údaje v XML dokumentu pak uvedeny. Pokud jsou však technické listy vyžadovány, je lepší, aby byly uvedeny mimo základní údaje a byly strukturovány, což vyžadovalo změnu ve schématu. Vytvořené a validované XML dokumenty byly transformovány pomocí XSLT a XSLFO do konečné podoby imaginárního obchodu s elektronikou. Výhoda XML jazyka spočívá také v jeho možné automatizaci např. v internetovém obchodě při zpracování formulářů (podnikové faktury, objednávky apod.) Automatizace ulehčuje práci a snižuje náklady, což je ekonomicky velmi výhodné a může to vést ke zlepšení služeb daného obchodu. Pro automatizaci tvorby reálného elektronického obchodu z XML dokumentu musí být použito PHP skriptů. Cílem této bakalářské práce však nebylo vytvořit plně funkční internetový obchod, proto jsou stránky obchodu pouze statické a neobsahují v podstatě žádné dynamické funkční částí. Slouží pouze pro demonstrativní ukázku použitých XML struktur. V budoucnosti je možné v této práci pokračovat a rozšířit ji v navazující diplomové práci, protože, jak bylo naznačeno, tato XML aplikace je otevřená dalšímu vývoji v oblasti internetových služeb a automatického zpracování.
37
6 Literatura [1] Blažková, M. Jak využít internet v marketingu. Praha: Grada Publishing, 2005. ISBN 80-247-1095-1. [2] Stuchlík, P., Dvořáček, M. Marketing na internetu. Praha: Grada Publishing, 2005. 92 s. ISBN 80-7169-957-8. [3] Informační kanál Web4company [on-line]. 2005. [cit. 3. 6. 2006]. Domovská stránka. Elektronická adresa http://web4company.cz. [4] Timmers, P. Electronic Commerce – marketing strategies andn business models. [on-line]. 2001. [cit. 3. 6. 2006]. Elektronická adresa http://users.pandora.be/paul.timmers/Paperback%20Web%20article.htm. [5] Modely elektronického obchodu. [on-line]. 2005. [cit. 5. 6. 2006]. Elektronická adresa https://quercus.kin.vslib.cz/~klara.antlova/UMK_K/modely.doc. [6] Asociace pro elektronickou komerci. E-commerce v ČR - První pohled zblízka. [on-line]. 5. 11. 2004. [cit. 6. 6. 2006]. Elektronická adresa http://www.apek.cz/apek/apek.nsf/0/26AC5EADEB4B9ECDC125717A003B2A6A. [7] Český statistický úřad. Domácnosti a jednotlivci (Využívání informačních a komunikačních technologií). [on-line]. 27. 9. 2005. [cit. 10. 6. 2006]. Elektronická adresa http://www.czso.cz/csu/redakce.nsf/i/domacnosti a jednotlivci. [8] Online obchody. [on-line]. 2005. [cit. 10. 6. 2006]. Elektronická adresa http://www.onlineobchody.com/. [9] BusinessInfo.cz – Oficiální portál pro podnikání a export. Elektronický obchod. [on-line]. 10. 4. 2003 [cit. 12. 6. 2006]. Elektronická adresa http://www.businessinfo.cz/cz/clanky/elektronicky-obchod/elektronickyobchod/1000819/7013/.
38
[10] Malo, R. ETE – prednaska2.ppt. [on-line]. 12. 10. 2005. [cit. 15. 6. 2006]. Elektronická adresa http://akela.mendelu.cz/~malo/xmlaplikace/prednasky/. [11] Kovařík, T. SYMBIO Digital, s. r. o. Zákonné povinnosti pro e-shopy. [on-line]. 6. 6. 2006. [cit. 16. 6. 2006]. Elektronická adresa http://www.symbio.cz/clanky/zakonne-povinnosti-pro-e-shopy.html. [12] Kosek, J. XML pro každého. Praha: Grada Publishing, 2000. ISBN 80-7169-860-1. [13] Bradley, N. XML kompletní průvodce. Praha: Grada Publishing, 2000. ISBN 80-7169949-7. [14] Internetová encyklopedie Wikipedia. [on-line]. 24. 12. 2005. [cit. 20. 6. 2006]. Domovská stránka. Elektronická adresa http://cs.wikipedia.org. [15] XML schémata. [on-line]. 12. 3. 2004. [cit. 20. 6. 2006]. Elektronická adresa http://www.apek.cz/apek/apek.nsf/0/C017E55733A9C547C125718E00263FAEhttp://www.k osek.cz/xml/schema/wxs.html . [16] Bulíček, J. Diplomová práce - Tvorba internetových aplikací v XML. [on-line]. České Budějovice: Pedagogická fakulta Jihočeské univerzity – Katedra Informatiky, 2000. [17] Malo, R. XML – prednaska6.ppt. [on-line]. 31. 10. 2005. [cit. 20. 6. 2006]. Elektronická adresa http://akela.mendelu.cz/~malo/xmlaplikace/prednasky/. [18] Asociace pro elektronickou komerci. Certifikační pravidla APEK Certifikovaný obchod. [on-line]. 5. 11. 2004. [cit. 20. 6. 2006]. Elektronická adresa http://www.apek.cz/apek/apek.nsf/0/C017E55733A9C547C125718E00263FAE.
39
Přílohy Obsah CD-ROM Součástí této bakalářské práce je i přiložený CD-ROM obsahující soubory které byly vytvořeny pro tuto práci. XML schémata eshop.xsd firma_udaje.xsd zakaznik_udaje.xsd XML dokumenty eshop.xml firma_udaje.xml XSL styly.xsl styl-fo.xsl provozovatel.xsl kategorie1.xsl kategorie2.xsl Kaskádové styly style_html.css Vygenerované dokumenty eshop.html provozovatel.html kategorie1.html kategorie2.html
40