ELEKTRONICKÉ OBCHODOVÁNÍ Pojem elektronického obchodování
TECHNOLOGIE ELEKTRONICKÉHO PODNIKÁNÍ
Hashim Habiballa Cíl předmětu Seznámit studenty se základními principy technologie elektronického podnikání z pohledu obecné informatiky. Důraz je kladen na moderní ekonomiku zaměřenou na znalosti. Student pochopí principy práce s informacemi, jejich prezentace, znalostních systémů a jejich implementace. Student bude schopen využít nejmodernější poznatky znalostního inženýrství na tvorbu elektronického obchodu a jeho efektivní řízení na základě znalostí. Student si také zopakuje informatická témata v širším smyslu související s reprezentací znalostí, inteligentním strojovém usuzování a rozhodováním.
1
ELEKTRONICKÉ OBCHODOVÁNÍ Pojem elektronického obchodování
Obsah: 1.
Elektronické obchodování .................................................................3 1.1. Pojem elektronického obchodování ............................................3 1.2. Modely elektronického obchodu .................................................4 1.3. Informatika ..................................................................................9 1.4. Výpočetní technika....................................................................10 2. Technologický základ elektronického podnikání ............................14 2.1. Počítačové sítě...........................................................................14 2.2. Topologie sítí.............................................................................15 2.3. Modemy a servery.....................................................................17 2.4. Internet ......................................................................................21 2.5. Služby Internetu ........................................................................23 2.6. Vyhledávací služby ...................................................................27 3. Informatika v elektronickém podnikání...........................................42 3.1. Algoritmy ..................................................................................42 3.2. Značkovací a skriptovací jazyky ...............................................52 3.3. XHTML.....................................................................................58 3.4. XML ..........................................................................................76 3.5. PHP............................................................................................80 3.6. Objektově orientované paradigma ..........................................108 3.7. Základní vlastnosti ..................................................................109 Znalosti ..........................................................................................113 4. 4.1. Data, informace a znalosti.......................................................113 4.2. Reprezentace znalostí..............................................................116 4.3. Modelování úsudku .................................................................126 4.4. Fuzzy logika ............................................................................134 5. Softwarové inženýrství ..................................................................138 5.1. Procesní řízení .........................................................................142 5.2. Modelování UML....................................................................146 5.3. Metodiky tvorby IS .................................................................150 6. Umělá inteligence ..........................................................................153 6.1. Pojem umělé inteligence .........................................................153 6.2. Rozdělení UI ...........................................................................156 6.3. Řešení úloh..............................................................................158 6.4. Plánování.................................................................................166 6.5. Expertní systémy .....................................................................174 6.6. Počítačové vidění ....................................................................182 6.7. Zpracování přirozeného jazyka ...............................................185 6.8. Rozpoznávání hlasu a řeči.......................................................191 6.9. OCR.........................................................................................198
2
ELEKTRONICKÉ OBCHODOVÁNÍ Pojem elektronického obchodování
1. Elektronické obchodování 1.1. Pojem elektronického obchodování
V dnešní době můžeme pozorovat úbytek zájmu o klasické formy obchodování založené na „kamenné“ provozovně, kde zákazník může běžnou komunikací dospět při uzavíraní obchodu k rozhodnutím na základě fyzického kontaktu se specialistou na dané zboží nebo službu. Obrovskou rychlostí však byly tyto formy obchodu nahrazeny novým fenoménem tzv. e-commerce (elektronické obchodování). Představuje aplikaci Internetových technologií na procesy prodeje a nákupu založených na využití webových technologií. V řadě odvětví je známa úspěšná realizace, například obchodování s akciemi, prodej knih a cestování. Podnikání prostřednictvím Webu se stává dominantní formou obchodování. E-commerce zahrnuje velké množství diverzifikovaných forem aktivit v oblasti podnikání. Elektronické podnikání (e-Business) je oblast informatiky zabývající se podporou procesů a vztahů mezi obchodními partnery, spolupracovníky a koncovými zákazníky, uskutečňovaných elektronickými médii. Tyto procesy a vztahy tak v sobě obsahují elektronicky realizovanou výměnu informací, produktů, služeb a provádění finančních transakcí. [Ga06] Dnes již existuje celá řada subjektů, které využívají elektronického podnikání. K těm nezákladnějším subjektům patří: podniky, firmy; koncový zákazník, spotřebitel; státní správa, státní orgány a instituce.
Obr. 1. Rozdělení forem e-commerce
3
E-commerce
ELEKTRONICKÉ OBCHODOVÁNÍ Modely elektronického obchodu
Z pohledu abstrakce modelů elektronického obchodu bychom se mohli na jednotlivé typy elektronického obchodování prostřednictvím míry digitalizace (virtualizace) tohoto procesu.
Obr.2 Dimenze e-commerce Čistý elektronický obchod je samozřejmě možný jen pro některé produkty, u klasických komodit je vždy fyzický kontakt více či méně nutný (fyzický produkt musí být transportován a dodán) [Bl05]. Avšak typickým čistým elektronickým obchodem může například prodej softwaru, pokud je realizován a dodej se uskuteční elektronickou formou. Zde může být vliv fyzického kontaktu zcela odstraněn a zákazník může plně komunikovat prostřednictvím digitálních agentů.
1.2. Modely elektronického obchodu
Konkrétní rozlišení modelů elektronického obchodu podle cílového subjektu, komodity a formy komunikace lze sumarizovat následovně [An06]: 1. 2. 3. 4. 5.
Elektronický obchod (e-Shop) Elektronické zásobování (e- Procurement ) Elektronický obchodní dům (e-Mall) př.www.emb.ch Elektronické aukce (e-Auctions) Virtuální společenství (Virtual Communities, získání přínosů z působení virtuální komunity)
4
ELEKTRONICKÉ OBCHODOVÁNÍ Modely elektronického obchodu
6. Spolupracující platformy (Collaboration Platforms, poskytování nástrojů a prostředí pro spolupráci mezi podniky) 7. Tržiště (Marketplace, využití služeb třetí strany) 8. Poskytovatel služeb hodnotového řetězce (integrace několika hodnototvorného řetězce – poskytování konzultačních služeb) 9. Informační portály, brokery a jiné služby
Další rozdělení je relizovano na základě praktického pozorování trhu: 1. Online retailer - Velkoobchod a maloobchod prostřednictvím internetu 2. Online portal - Poskytovatelé syndikovaného obsahu (internetové katalogy, informační portály apod.) 3. Internet access provider - Poskytování přístupu k internetu 4. Online content provider - Poskytovatel obsahu na internetu (např. zpravodajské servery) 5. Application service provider - Poskytování aplikací a služeb 6. Online broker - Využití služeb třetí strany ve formě distribučního kanálu 7. Online market maker - Modely, které propojují nabídku s poptávkou nakupující a prodávající) 8. Networked utility provider - Poskytovatel síťových a internetových služeb (webhosting, e-mailové služby apod.) Případně další alternativní dělení dle Affuaha a Tucciho: 1. Commission - Poskytování služeb či produktů za poplatek, jehož velikost se odvíjí od velikosti poskytované služby či produktu (zprostředkovatelský poplatek apod.) 2. Advertising - Poskytování služeb či obsahu zdarma, příjem je získáván od inzerentů za zobrazovanou reklamu 3. Markup - Prodej služeb či výrobků koncovým zákazníkům, profit získán na základě marže 4. Production - Prodej služeb či produktů přímo výrobcem 5. Referral - Poskytování provizí za zprostředkování obchodu 6. Subscription - Přístup ke službě nebo produktu na základě předplatného 7. Fee for service - Platby za využívání služeb, založené na měření přístupu („pay as you go“) Financování modelu je možné: 1. 2. 3. 4. 5.
Prodeje zboží Pronájmu služeb Času stráveného uživateli (služby) Příspěvků uživatelů Reklamy
5
ELEKTRONICKÉ OBCHODOVÁNÍ Modely elektronického obchodu
6. Sponzorství 7. Veřejné podpory Model musí být: 1. Přehledný 2. Konzistentní 3. Musí být schopen komunikovat s ostatními modely 4. Musí být snadné jej měnit 5. Srozumitelný Služby typu B2C:
Tržiště
•
Inzerce a speciální nabídky zboží
•
Elektronické katalogy nabízeného zboží a s nimi spojené vyhledávací služby
•
Presentace nabízeného zboží fotografiemi nebo různými vizuálními prostředky, další specifikace potřebných parametrů a jejich variant, detailní dokumentace produktů…
•
Poskytování odpovědí na dotazy zákazníka a řešení jeho problémů cestou el. pošty, diskusních skupin nebo nabídkou odpovědí na tzv. časté dotazy
•
Výběr a uložení zboží dle nabídky do virtuálního nákupního košíku, příp. rezervace různých služeb (ubytování, letenky….)
•
Platby elektronickou cestou pomocí kreditních karet, el. šeků, digitální hotovostí
Charakteristické znaky tržišť B2B: • • • • • •
Centralizovaný tržní prostor Neutralita Standardizované kontrakty, dokumenty, výrobky Záruka integrity trhu Platební a clearingové služby Důvěra a anonymita
Elektronické zásobování zahrnuje: •
identifikaci a vyhodnocení dodavatelů
•
výběr specifických produktů
•
podávání objednávek
•
dodání produktu včetně platby
6
ELEKTRONICKÉ OBCHODOVÁNÍ Modely elektronického obchodu
•
monitorování průběhu zásobovací transakce
•
vytvoření a řízení vztahu s dodavateli
•
řešení problémů
Produkty v elektronickém obchodování lze rozdělit na následující typy:
Přímé prostředky
Nepřímé prostředky
Produkty: suroviny zboží k dalšímu prodeji
kancelářská zařízení a potřeby náhradní díly počítačová zařízení, programy, publikace, reality základní prostředky, dopravní prostředky
Služby: pracovníci (na kontrakt – úkol) návrhářské práce vstupní a výstupní logistika
úklidové služby reklamní služby, konzultační služby komunikační služby (hovorové a datové) cestování bezpečnostní služby údržba majetku, údržba majetku a zařízení
Abychom mohli objektivními kritérii popsat kvalitu poskytovaných služeb, lze formulovat následující metriky: • • • • •
Doba cyklu Transakční náklady kupujícího Frekvence chyb Objem skladových zásob kupujícího (rozsah a finanční objem) Jednotková nákupní cena produktu
Charakteristika tržiště je založena na střetávání poptávky mnoha odběratelů s nabídkou mnoha dodavatelů. Na elektronickém tržišti stejně jako na tržišti klasickém dochází k nejrůznějším jednáním mezi dodavateli a odběrateli, která vedou k uzavírání konkrétních obchodů.
7
ELEKTRONICKÉ OBCHODOVÁNÍ Modely elektronického obchodu
Elektronická tržiště se primárně dělí na tři základní druhy: nákupní model elektronického tržiště Zakladatelem tohoto typu tržiště bývá nejčastěji jeden silný podnikatelský subjekt nebo aliance více subjektů, kteří jsou významnými odběrateli a mají značnou vyjednávací sílu. prodejní model elektronického tržiště tržiště je v tomto případě primárně zaměřeno na odbyt výrobků zakládajících subjektů. Nejčastějším modelem je vytvoření aliance dodavatelů, kteří nejsou vůči sobě v konkurenčním postavení, naopak se svými produkty vhodně doplňují. Jejich náklady na prodej zboží jsou v tomto případě mnohem nižší než v případě klasické formy prodeje, protože jsou rozloženy mezi více subjektů. spojení nákupního a prodejního modelu Může se jednat v první fázi například o elektronický model inzertního serveru. Takto postavené elektronické tržiště bývá provozováno nejčastěji třetím nezávislým subjektem. Další rozdělení dle komodit, se kterými se obchoduje: horizontální tržiště Tato tržiště nemají zaměření na konkrétní průmyslové odvětví, ale naopak zapojují do obchodování firmy napříč všemi odvětvími. Obchodovanými komoditami jsou v tomto případě především takové výrobky, které nakupuje téměř každá firma. Jedná se většinou o nepřímý materiál, jako jsou kancelářské potřeby, výpočetní a kancelářská technika apod. vertikální tržiště Jsou zaměřena na konkrétní průmyslový obor, např. na chemický průmysl, hutní a kovodělnou výrobu, zdravotní potřeby, a zapojují do svého obchodování firmy podnikající v daném průmyslovém odvětví. komoditní burzy Jsou určeny pro obchodování pouze s konkrétními komoditami.
8
ELEKTRONICKÉ OBCHODOVÁNÍ Informatika
1.3. Informatika Informatika patří k mladým vědním disciplínám, které se i na teoretické úrovni stále dynamicky vyvíjejí a zároveň můžeme i v našem praktickém životě vidět množství jejích aplikací, kterým se nevyhne prakticky nikdo. U informatiky se bohužel v poslední době setkáváme s nepochopením tohoto oboru a často se kompetence ve výuce zaměňují za tzv. informační gramotnost. V souvislosti s pojmem „informatika“ můžeme dostat mnoho různých výkladů, o jakou vědu se vlastně jedná. Existují (z našeho pohledu) spíše zavádějící pohledy, které informatiku spojují třeba s knihovnickými vědami. Dále se mnohdy ztotožňuje informatika s její menší částí tzv. teorií informace, což je nedílná součást informatiky, avšak pojem informatiky je mnohem širší a zahrnuje mnoho disciplín.
Teorie informace
Často se jako nejdůležitější obor informatiky zdůrazňuje teorie informace. Teorie informace vznikla koncem druhé světové války (potřeby leteckého provozu) a jejím otcem je prohlašován Claude Elwood Shannon. Je to matematická věda, patří do kybernetických věd. Zkoumá informaci jako základní jev, který umožňuje existenci složitých systémů, především organismů a společenství, a snaží se najít matematické vyjádření množství informace. Zabývá se přenosem, kódováním a měřením informace. Využívá teorii pravděpodobnosti, matematická statistika, teorie her, lineární algebra, teorie grafů a další vědy s hlubokým matematickým základem. Používá se v odvětvích jako je teorie přenosu informace (jak kódovat zprávu, aby na místo určení došla co nejméně porušená), problematika záznamu, vyhodnocení a třídění informace Naproti tomu Informatika je mnohem rozsáhlejší pojem který bychom mohli definovat následovně: Informatika je: Věda o systematickém zpracování informací, hlavně o automatickém zpracování pomocí číslicových počítačů (struktura, zpracování a využití zejména vědeckých informací - zobrazení, shromažďování, analytické a syntetické zpracování, ukládání, vyhledávání a rozšiřování) Navzdory obecným představám studentů jde opravdu o hluboce matematickou disciplínu. I tvorba jednoduchého počítačového programu musí být podložena například jeho analýzou složitosti ( jak rychlý je, jak efektivní, zda by nemohl být kratší, rychlejší), což vyžaduje znalost poměrně složité matematické teorie. Za všemi aplikovanými produkty informatiky (operačními systémy, databázemi,
9
Informatické vědy
ELEKTRONICKÉ OBCHODOVÁNÍ Výpočetní technika
programovacími jazyky) se skrývají propracované formální teorie, které tvoří páteř informatiky. Informatické vědy lze vidět jako rodinu navzájem provázaných disciplín (teoretické, praktické, technické, aplikované) a patří k nim především: • Formální logika – základ logických obvodů, problém umělé inteligence a simulace lidského uvažování • Teorie kódování – tvorba kódů, přenosu informací • Teorie automatů, teorie překladu, teorie formálních jazyků a gramatik, sémantika – tvorba operačních systémů a překladačů vyšších programovacích jazyků • Teorie složitosti – časové a paměťové nároky programu (problému) • Teorie vyčíslitelnosti – zda je daný problém vůbec v principu řešitelný • Robotika (odvětví technické kybernetiky) – výzkum a vývoj robotů (náhrada člověka) • Umělá inteligence – skupina disciplín, modelování intelektuální činnosti člověka počítačem při řešení složitých úloh, jejichž řešení vyžaduje vyšší stupeň inteligence než řešení rutinních výpočtů (samočinné rozpoznávání tvarů nebo předmětů, vytváření analogií mezi logickými úsudky, ověřování hypotéz a matematických důkazů, hraní her,…) • Počítačová simulace – napodobení funkce zkoumaných objektů počítačovým modelem • Počítačová grafika – matematické vyjádření křivek, definice tvaru písmen,… • Softwarové inženýrství – jak psát a ladit programy, jak organizovat programátorský tým, jak mají programy vypadat (barevné řešení programu, způsob ovládání programu) 1.4. Výpočetní technika I přes svou modernost má výpočetní technika bohatou historii. Můžeme se podívat na předchůdce dnešní moderní výpočetní techniky. Již od dávnověku si lidé snaží zjednodušit a hlavně zrychlit počítání. Vznikaly různá počítadla jako je řecký abakus, japonský saroban, čínský suan-pchan atd. V sedmnáctém století po objevu logaritmů byly sestaveny první logaritmická pravítka. Patent na něj získal Angličan E. Wingate. Ale již v šestnáctém století vznikaly první počítací stroje. Jeden z prvních takovýchto strojů navrhl Wilhelm Schickard (1592 - 1635). Nestačil však svůj nápad realizovat, neboť během třicetileté války zahynul při epidemie moru. Autorem jednoho z nejznámějších počítacích mechanických strojů zvaného "paskalina" byl významný francouzský fyzik Blais Pascal (1623 1662), který stroj postavil pro svého otce, jenž pracoval jako daňový úředník. V roce 1671 vytvořil německý matematik a fyzik Gottfried
10
ELEKTRONICKÉ OBCHODOVÁNÍ Výpočetní technika
Wilhem Leibnitz (1646 - 1716) počítač, který zvládal čtyři základní početní úkony. Leibnitz pochopil, že desítková soustava pro tyto stroje není nejvhodnější a sestavil dvojkovou neboli binární soustavu. Mezi další známé počítací stroje patří "počítač" M. Hahna z roku 1770, nedokončen avšak na svou dobu moderně navržen diferenční počítací stroj (Difference engine) Charlese Babbageho (1791 1871), kalkulátory švédského inženýra V. T. Odhnera z přelomu našeho století atd. 8. ledna 1889 dostal Hermann Hollerith pracující v registračním úřadu Spojených států patent na soupravu děrnoštítkových strojů, které značně zjednodušily zaznamenávání údajů o obyvatelstvu. O využití děrnoštítkových strojů projevily značný zájem banky, pojišťovny a velké firmy, a proto Hollerith založil v roce 1896 společnost Tabulating Machine Company. V roce 1924 tato firma a několik dalších podobných se spojila v mamutí koncern International Bussines Machine (IBM). Nultá generace počítačů V roce 1938 sestrojil německý inženýr Konrád Zuse první elektromechanický počítací automat nazvaný Z-1 pracující ve dvojkové soustavě. Stroj však byl dosti pomalý a nespolehlivý. Teprve roku 1941 společně s Helmutem Schreyerem sestrojil elektronický počítač Z-3, který obsahoval 2 600 elektromagnetických relé. Bohužel nadějný vynález byl během náletu na Berlín zničen zásahem bomby. Po válce Zuse sestrojil poměrně spolehlivý Z-4 pro univerzitu v Zürichu a Z-5 pro Leitzovy optické závody. 7.srpna 1944 na Harwardské univerzitě uvedl Howard Aiken do provozu počítač ASCC (Automatic Sequence Controlled Calculator), znám pod vojenským názvem MARK I. Toto zařízení mělo hmotnost pět tun a skládalo se z 3 500 elektromagnetických relé, mnoha set kilometrů drátových spojů a několika tisíc dekadických koleček poháněných elektromotorem. Sečtení dvou čísel trvalo asi třetinu sekundy, násobení asi dvacetkrát déle. Na tomto stroji byla během stovky hodin vypočtena konfigurace uranové nálože první atomové pumy, která byla odpálena 16.června 1945 v poušti Alamogordo. Po válce sestrojil Aieken ještě Mark II, pracující již s dvojkovou soustavou a Mark III, řízen programem, který byl odbavován z otáčejícího se magnetického bubnu. Generace počítačů
První generace počítačů 16.února 1946 se odbyla premiéra pro novináře a odborníky počítače ENIAC (Electronic Numerical Integrator and Computer). Toto třicetitunové monstrum, které zabralo téměř celou bývalou univerzitní tělocvičnu se skládalo mimo jiné z 18.000 elektronek, 1.500 relé, 70.000 odporů a dvou leteckých motorů, které celé zařízení svými vrtulemi chladily. Na rozdíl od svých předchůdců neměl ENIAC žádné pohyblivé části.
11
ELEKTRONICKÉ OBCHODOVÁNÍ Výpočetní technika
Velmi nepružně vytvořené schéma ENIACu přetvořil původem maďarský matematik John von Neumann (1903 - 1957). Jeho mnohem univerzálnější počítač byl nazván EDVAC a byl dokončen v Bellových laboratořích roku 1951. Od speciálních jednoúčelových počítačů (BINAC - pro letecké společnosti) se postupně přecházelo k výrobě počítačů univerzálním (UNIVAC, IBM 650). Charakteristika: - 1945 až 1956 - základem je elektronka - příkon 100 až 10 kW - operační rychlost 100 až 10.000 operací za sekundu - vnitřní paměť 1-2 KB - magnetické bubny, děrné štítky a děrné pásky Druhá generace počítačů V prosinci 1947 předvedli v Bellových laboratořích John Bardeen, Walter H. Brattain a William B. Shockley první polovodičový tranzistor, který se stal základem počítačů druhé generace. Charakteristika: - 1957 až 1963 - základem jsou polovodičové součástky (tranzistor) - příkon 1 až 2 kW - operační rychlost vzrostla na 10.000 až 250.000 operací za sekundu - vnitřní paměť 16 až 32 KB - feritové paměti, magnetické disky a pásky - vedle assemblerů se začaly prosazovat i nezávislé problémově orientované jazyky (Fortran, COBOL, ALGOL) - roztříštěnost koncepcí nedovolovala spojování počítačů a periferií různých značek (od různých výrobců) Třetí generace počítačů a současnost Další velký přelom znamenal v roce 1961 první integrovaný obvod (IO), který tehdy sdružoval čtyři tranzistory na jediném čipu. Integrované obvody SSI a MSI se staly základním prvkem počítačů třetí generace. Charakteristika: - 1964 až 1981 - základem IO SSI, MSI a LSI - operační rychlost až 1.000.000 operací za sekundu - vnitřní paměť 0,5 až 2 MB - zvýšení kompatibility - větší vnější paměti (magnetické štítky, rotující magnetické disky)
12
ELEKTRONICKÉ OBCHODOVÁNÍ Výpočetní technika
- vyšší programovací jazyky (LISP, Pascal...) - modulární sestavování počítače - terminálové sítě umožňující větší počet terminálů připojených k centrálnímu počítači Další rozdělování na generace ztratilo význam. Vývoj šel tak rychlým tempem, že od dalšího začleňování se opustilo. Dnešní integrované obvody obsahuji desítky miliónů tranzistorů a jejich počet se neustále zvyšuje. Neumannovo blokové schéma počítače John von Neumann navrhl krátce po druhé světové válce schéma počítače, které je s malými úpravami platné dodnes. Činnost počítače řídí řadič, který vydává povely všem ostatním částem, tedy vstupním a výstupním zařízením, operační paměti a aritmetickologické jednotce (ALU).
Sběrnicové schéma počítače Moderní počítače využívají tzv. sběrnice. Jejím úkolem je přenášet data a veškeré signály v rámci počítače mezi jeho jednotlivými částmi. Sběrnice podporuje modularitu systému (je možné relativně jednoduše přidávat či ubírat další moduly - části počítače). Sběrnici si můžeme rozdělit na tři základní části: - datová sběrnice - řídící sběrnice - adresová sběrnice
13
Neumannovo schéma
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Počítačové sítě
2. Technologický základ elektronického podnikání Počítačové sítě nás dnes provázejí na každém kroku. Ať už jde o vyhledávání informací na Internetu nebo propojené síťové databáze na úřadech, všechny se řídí základními pravidly, které si nyní v krátkosti vyložíme. 2.1. Počítačové sítě LAN a WAN
Počítačové sítě můžeme rozdělit na sítě LAN (Local Area Network) a WAN (Wide Area Network). Pro důkladnější pochopení, o který druh se jedná, je vhodné stanovit kritéria pro rozdělení na sítě lokální a rozlehlé. Někdy se sítě označují jako MAN – metropolitní. Prvním kritériem je vzdálenost jednotlivých uzlů sítě. Zatímco u sítí LAN jsou povětšinou vzdálenosti velikostí několika metrů až stovek metrů, u sítí WAN jsou tyto vzdálenosti mnohem větší a uzlové body bývají rozmístěny v rozsáhlejším regionu (mezi městy, státy i kontinenty). Dalším kritériem pro rozlišení je druh uzlových počítačů. U sítí LAN jsou zpravidla uzlovými počítači osobní počítače a pracovní stanice, tedy zřízení, které jsou určeny vesměs pro jediného uživatele. Naopak uzlovými počítači rozlehlých sítí bývají nejčastěji počítače z kategorie tzv. střediskových, případně minipočítače, tedy stroje, vybavené sítí terminálů, schopné sloužit většímu počtu uživatelů současně, a pracující nepřetržitě. Třetím rozdílem bývá způsob propojení uzlových počítačů. U lokálních sítí veškerý hardware nutný k vytvoření sítě kupuje přímo provozovatel sítě. Naproti tomu u sítí WAN jsou uzlové počítače propojeny pomocí přenosných kanálů, které si majitel nebo provozovatel sítě většinou pouze pronajímá od spojových organizací. Posledním rozdílem mezi sítěmi WAN a LAN bývá účel, ke kterému jsou sítě zřizovány. V případě LAN jde obvykle o sdílení nákladných hardwarových periferií (např. laserová tiskárna), sdílení souborů, aplikací, přístup do společných databází a jednoduchá komunikace mezi uživateli sítě. U rozlehlých sítí jde o přenos zpráv a souborů na velké vzdálenosti, možnost přístupu na vzdálený počítač a do rozsáhlých databází a využití výpočetní kapacity jiného počítače. peer to peer - menší počet uzlů, které mají stejné postavení v síti clinet / server - větší počet počítačů, sdílení většího množství dat. Server má dominantní postavení v síti. Počítače se v sítích zapojují podle různých topologií (star, sběrnicová, stromová...).
14
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Topologie sítí
2.2. Topologie sítí Sběrnicová topologie (Bus) – všechny počítače jsou připojeny ke společnému pasivnímu přenosovému médiu, například koaxiálnímu kabelu. K výhodám této topologie patří absence aktivní prvků, které prodražují zřizovací náklady, nezávislost stanice na výpadku jiné stanice, snadné všesměrové vysílání. Mezi nevýhody však můžeme zařadit nemožnost současného vysílání více uzlů, vysílat smí vždy jen jedna stanice. Při přerušení kabeláže dochází k výpadku celé sítě.
Stromová topologie (Tree) – jedná se rozšíření sběrnicové topologie o aktivní prvky, které mohou síť hierarchicky rozčlenit a zvýšit propustnost sítě.
Hvězdicová topologie (Star) – veškerá komunikace probíhá přes centrální uzel sítě. Výpadek jedné stanice nezpůsobí výpadek sítě. Takováto síť je relativně snadno rozšířitelná.
15
Topologie sítí
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Topologie sítí
Kruhová topologie (Ring) – každý uzel je spojen s předcházejícím i následujícím, žádný z uzlů není krajní.Síť nepotřebuje centrální uzel, naproti tomu výpadek stanice způsobí kolaps v celé síti.
Páteřní síť (Backbone) – tato topologie se používá při propojení více lokálních sítí (i různých topologií). Nosná část sítě musí mít vysokou propustnost, aby nezpůsobovala zpomalování činnosti. Výpadek jedné lokální větve nezpůsobí výpadek celé sítě. Topologie má však větší finanční náklady na zřízení sítě.
16
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Modemy a servery
2.3. Modemy a servery Název modem vychází ze zkratky slov modulátor - demodulátor, což přesně odpovídá činnosti modemů. Modem je zařízení, které umožňuje počítači komunikovat se vzdáleným počítačem pomocí např. telefonní linky. Data jsou do modemu přivedena ve formě digitální a přenos mezi dvěma modemy se děje ve formě analogové. Linky, které data přenášejí mohou být: - komutované - jedná se o všeobecně dostupné telefonní sítě - pronajaté - jsou určené výhradně pro určité uživatele Modemy můžeme rozdělit na: - externí - modem má vlastní zdroj, někdy i paměť, diody pro kontrolu činnosti modemu. Nejčastěji bývají připojeny ke COM portu. - interní - ve formě přídavné karty. Jsou o něco levnější, nemají kontrolní diody, vlastní napájecí zdroj a jsou plně závislé na činnosti počítače - PCMCIA (PC Card) - pro svou vysokou cenu se využívají jen u přenosných počítačů -
synchronní asynchronní
-
hardwarový softwarový
Modemy podléhají standardizaci komise CCITT. Jednotlivé standardy se označují V.xx. Příklady: V.32 – 9600 bps v plném duplexu, oprava chyb při přenosu, specifikace procesu při navazování spojení V.32 bis – 14400 bps v reliable a synchronním režimu, při potížích se modem přepíná do V.32 (snížení přenosové rychlosti na 9600 bps). V.34 - komunikační rychlost 28800 bps a 33600b/s, komunikace modem počítač se děje přes rychlejší paralelní port. Faktická průchodnost paralelního portu je až 115.2 Kbps. V.42 a V.42 bis - doporučení pro bezporuchový přenos dat pomocí firemních MNP protokolů. V.90 – standard pro přenosovou rychlost 56 Kbps. V.92 MNP protokoly - jedná se firemní protokoly firmy Microcom, které jsou určeny pro bezchybný a bezpečný přenos dat pomocí modemů. Protokoly se dělí do tříd s označením Třída 1 až Třída 10. Příklady: Třída 5 zabezpečuje zvýšení průchodnosti dat až o 200%, používá adaptabilního algoritmu komprese dat. Třída 10 -uplatňuje se všude, kde jsou nekvalitní linky. Modemy pracující s MNP protokoly mohou pracovat ve třech různých režimech: Auto-Reliable mod - modem se po navázání spojení se vzdáleným modemem v typicky asynchronním provedení přesvědčí o tom, zda
17
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Modemy a servery
vzdálený modem je schopen komunikovat pomocí MNP protokolů. Pokud ano, pak se oba modemy dohodnou o spojení s co nejvyššími parametry. V opačném případě komunikují v Direct (přímém) asynchronním spojením. Reliable mod - modem vytvoří spojení se vzdáleným modemem jen v případě, že jsou oba schopny pracovat s MNP protokolem, jinak je spojení přerušeno. Normal mod - modem je schopen komunikovat se vzdáleným protokolem bez opravných protokolů. Modemy se ovládají pomocí speciálního jazyka, který byl původně vyvinut firmou Hayes Microcomputer Product Inc. Každý příkaz začíná písmeny AT. Příklady: ATA - zvedne sluchátko, vyšle tón „answer“ a čeká na inicializační tón druhého modemu ATP - nastaví pulzní volbu ATT - nastaví tónovou volbu ATDP - vytočí telefonní číslo pulzně ATDT - vytočí telefonní číslo tónově ATZ - reset modemu ATN - vybírá pracovní režim modemu. ATN0 - Normál režim, ATN1 Direct režim, ATN2 - Reliable režim, ATN3 - Auto-Reliable režim u modemu s protokolem MNP 5. Fázová modulace (PM) PM je proces, při kterém jsou generovány dva signály se shodným kmitočtem a s fázovým posunem. ISDN modemy ISDN (Integrated Services Digital Network) – digitální síť. Přenos uživatelských informací je v síti ISDN přenášen po B kanálu a informace zabezpečující navázání, uskutečnění spojení a další signalizační funkce jsou přenášeny po zvláštním D kanálu. B kanál se v síti ISDN používá pro placený přenos informací jak hlasových, tak datových. Komunikační rychlost tohoto kanálu je 64 kbit/s. Obvykle se používají dva kanály typu B. Pokud se spojí můžeme data přenášet rychlostí až 128 kbit/s. D kanál je určen pro přenos signalizace a jeho rychlost je 16 kbit/s nebo 64 kbit/s v závislosti na typu přípojky. Sálové počítače a servery Kromě běžně využívaných osobních počítačů existuje rovněž skupina počítačů, u kterých je požadován velmi velký výkon. Pro speciální použití (rozsáhlé vědeckotechnické výpočty, vojenské využití, zpracování rozsáhlých dat,...) se stále využívá velmi výkonných sálových počítačů či minipočítačů. Ty jsou většinou sestavovány přímo pro konkrétní využití a nasazení. Vysoký výkon a spolehlivost jsou ovšem vyváženy obrovskými pořizovacími náklady. S rozvojem architektury klient/server se objevila nová kategorie s názvem server.
18
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Modemy a servery
Anatomie serveru První servery byly vlastně jen lépe vybavené osobní počítače a jako souborové a tiskové servery byly využívány v rámci lokálních sítí. S nástupem architektury klient/server se objevily databázové, komunikační a aplikační servery, jejichž nároky na výkon a hlavně spolehlivost jsou mnohonásobně vyšší. Současné servery proto kombinují technologií osobních počítačů s technologiemi sálových počítačů a minipočítačů. V mnohem větší míře než u sálových počítačů se využívá standardizace, což podporuje otevřenost a modularitu systémů. Nejdále se standardizace dostala v oblasti tzv. PC serverů. Procesory serveru se postupně přesunují od 32 bitových k 64 bitovým procesorům. Důležitější než kmitočet procesoru je jeho architektura, která je superskalární a superzřetězená. Procesory mají všechny moderní rysy: spekulativní provádění instrukcí, předpověď větvení, provádění instrukcí mimo pořadí a podobně. Pro zrychlení práce s pamětí se zvětšuje velikost paměti cache L1 umístěné přímo na čipu procesoru i cache L2. Běžným se stává vytváření víceprocesorových systémů. Nároky na operační paměť serverů jsou samozřejmě mnohonásobně větší než běžných počítačových systémů a kapacita se pohybuje v řádech stovek MB až jednotek GB. V oblasti kvality paměti se však serverové systémy od běžných počítačových systémů podstatně neliší. Důležitým faktorem výkonnosti je systémová sběrnice, která se mnohdy stává nejužším místem systému. Proto se u víceprocesorových serverů klasická technologie sdílené systémové sběrnice nahrazuje například technologií přepojování datových toků. Víceprocesorové servery můžeme podle míry sdílení operační paměti a vstupně výstupních systémů rozdělit na tři základní skupiny: a) Symetrické multiprocesorové systémy (SMP) b) Masivně – paralelní systémy (MMP) c) Klastry Symetrické multiprocesorové systémy V technologii SMP jsou procesory z hlediska prováděných funkcí a z hlediska vztahu k dalším komponentám serveru rovnocenné. Koordinaci činnosti všech procesorů provádí sdílený operační systém. Jedině cache první a druhé úrovně je prvkem, který patří jen určitému procesoru, operační paměť je sdílená. Díky tomu je vývoj aplikací pro SMP servery relativně jednoduchý a neliší se příliš od vývoje pro běžné systémy. Největším problémem této architektury bývá sdílená systémová sběrnice, která se u víceprosorových serverů stává úzkým místem systému. Masivně – paralelní systémy Na rozdíl od SMP systémů, kde jsou sdíleny téměř všechny části počítače (od operačního systému, operační paměti až po vstupně-výstupní zařízení),
19
Multiprocessing
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Modemy a servery
je MMP systém složen s několika relativně samostatných subsystémů. Jednotlivé procesorové uzly jsou vybaveny vlastní operační pamětí i vlastními vstupně-výstupními kanály a zařízeními. To klade mnohem nižší nároky na datovou propustnost jednotlivých kanálů pro komunikaci mezi jednotlivými procesorovými uzly. U MMP je pak možné zvyšovat počet procesorů až do řádů stovek nebo tisíců a využívají se pro extrémně náročné aplikace. Nevýhodou tohoto systému je vysoká náročnost při vytváření aplikací, které by důkladně využívaly možnosti architektury MMP. Klastry Tato technologie využívá shlukování (klastrování) samostatných serverů do virtuálního superserverů. Jednotlivé uzly klastru mohou být tvořeny jednoprocesorovými servery nebo servery SMP. Jednotlivé uzly disponují vlastním operačním systémem, vlastní operační pamětí i diskovým subsystémem, který však ukládá jen kód operačního systému a aplikace. Zpracovávaná data jsou ukládána na sdílených diskových systémech, které bývají sdíleny prostřednictvím rychlé počítačové sítě, případně rozhraním Fibre Channel. Klastrování nabízí zvýšení bezpečnosti a odolnosti vůči selhání, například pomocí zrcadlení diskových subsystémů, zdvojení komunikačních kanálů či zrcadlení serverů (jeden z dvojice serverů slouží jako záloha). Další výhodou technologie klastrování je, že další uzly nemusí v systému sloužit pouze jako záloha, ale mohou paralelně řešit danou aplikaci. K nevýhodám dané architektury patří náročnější správa, složitější programování a vyšší ceny. Klastry se nasazují všude tam, kde technologie SMP naráží na výkonnostní hranice a kde je stále potřeba pracovat se sdílenými daty. Kromě výše uvedených technologií se používají i méně standardní řešení, která například dané technologie různým způsobem kombinují. Mainframe a minipočítače Mainframe (mainframecomputer, superpočítač, sálový počítač) je velmi výkonný počítač, který je založený na obrovském výpočetním výkonu, rozsáhlých diskových a paměťových kapacitách, masivním paralelním zpracování dat. Pracuje jako řídící jednotka, ke které jsou připojeny terminály. Mezi nejznámější mainframy patří počítače firem IBM (S/390), DEC, HewlettPackard, počítače řady Cray. Počítače jsou pro svůj vysoký výpočetní výkon určeny hlavně pro rozsáhlé vědeckotechnické výpočty v oblasti vědy a výzkumu (například simulace složitých fyzikálních jevů). Název minipočítače zavedla koncem šedesátých let firma DEC pro kategorii počítačů, které pro svou obsluhu nepotřebovaly rozsáhlý obslužný tým, většinou již stačil jeden člověk. Rozměry a ceny byly mnohem menší než u tehdejších sálových počítačů. Samozřejmě se snížil i výkon. Počítače byly určeny pro menší firmy a univerzity. K minipočítačům, které se však v žádném případě svými rozměry nepodobají dnešní osobním počítačům (většinou se jednalo o několik
20
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Internet
„skříní“ v jedné místnosti, se již připojovaly terminály s obrazovkovým výstupem. 2.4.
Internet
Stejně jako v případě mnoha úspěšných technologií hledejme počátek Internetu ve vojenském výzkumu, který v době studené války a hrozby jaderné války dostal za úkol vyvinout síť schopnou přežít jaderný zásah. Poměrně brzy byl rodící se ARPANET zpřístupněn i dalším pracovníkům výzkumu a vývoje pracujícím pro ministerstvo obrany USA, a ještě později byl uvolněn i pro čistě civilní výzkum a celou akademickou sféru. Přitom se k zárodečné síti ARPANET postupně připojovaly další akademické a vědeckovýzkumné sítě, až si výsledná soustava vzájemně propojených sítí zasloužila své dnešní jméno Internet. Přibližně od roku 1990 se Internet začíná otevírat i komerčnímu využití, jež nabývá stále významnějších rozměrů.
vznik Internetu
Internet tedy funguje jako velmi volný konglomerát zúčastněných sítí, které používají síťový protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a doplňkové služby umožňující přidělování fyzických i symbolických adres distribuovaným způsobem. Architektura tohoto systému je zcela decentralizovaná.
Dokud byl Internet na počátku své existence financován ministerstvem obrany USA a posléze i civilní grantovou agenturou NSF (National Science Foundation), bylo možné uvažovat o „vlastnictví“ Internetu ze strany těchto institucí. Další sítě, které se k Internetu postupně připojovaly, však měly své konkrétní vlastníky, kteří jimi zůstali i po připojení sítě k Internetu. Dnes proto neexistuje žádný konkrétní vlastník Internetu jako takového, ale existují pouze konkrétní vlastníci dílčích částí Internetu (tj. dílčích sítí připojených k Internetu). Stejně tak není možné platit za používání Internetu jako takového, tj. konkrétní financování všech jednotlivých součástí Internetu je záležitostí vzájemných dohod mezi konkrétními vlastníky těchto částí. Koncoví uživatelé proto za přístup k Internetu platí tomu, kdo jim jejich připojení zprostředkovává. Jestliže Internet jako celek nemá žádného konkrétního vlastníka, nemůže existovat subjekt, který by si z titulu vlastnických práv mohl nárokovat i právo řídit Internet. Ve skutečnosti jsou tedy jednotlivé části Internetu řízeny svými konkrétními vlastníky a aspekty globálního charakteru (zejména pak provozní povahy) jsou regulovány vzájemnými dohodami těchto vlastnických subjektů. Současně s tím mohou existovat a existují subjekty, pověřené vykonáváním dílčích řídících rolí globálního dosahu, například koordinací přidělování tzv. IP adres, poskytováním informačních služeb o Internetu apod. Nejvyšší morální autoritou v Internetu zřejmě je
21
Kdo Internet řídí?
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Internet
společnost Internet Society. Jde o dobrovolné sdružení jednotlivců i organizací, kteří cítí odpovědnost za jeho další rozvoj. Společnost Internet Society rovněž zastřešuje standardizační aktivity v rámci Internetu. Ani společnost Internet Society si však nepřisuzuje vlastnická práva k Internetu. Dříve, než se Internet otevřel komerčnímu světu (cca v roce 1990), připojovaly se k němu prakticky jen celé již existující sítě. Jednotliví koncoví uživatelé tak získávali přístup k Internetu „hromadně“ a jako jistý vedlejší efekt toho, že již jsou připojeni ke své původní síti, která se nyní propojila s Internetem. V současné době se tato strategie zásadně mění, tj. k Internetu se dnes připojuje stále více „individuálních“ uživatelů, kteří nejsou zapojeni do žádné jiné sítě. nejčastější typy přípojek
Technologických možností připojení k Internetu, existuje celá řada, přesto je ale možné identifikovat tři nejčastěji používané varianty připojení: komutované připojení (někdy též: vytáčené připojení, či vytáčená linka, od anglického "dial-up"). Podstatou tohoto připojení je využití veřejné telefonní sítě pro potřeby propojení uživatelova počítače se vstupním bodem do sítě jeho poskytovatele připojení (providera). Jelikož je veřejná telefonní síť uzpůsobená potřebám přenosu hlasu, zatímco pro potřeby komutovaného připojení je potřeba přenášet data, je nutné používat vhodné modemy. Důležitou vlastností komutovaného připojení je to, že má dočasný charakter, a vzniká až na základě konkrétní potřeby na straně uživatele (a poté zase zaniká). Naproti tomu toto komutované připojení nemůže být iniciováno zvnějšku, například někým kdo by chtěl kontaktovat uživatele. Nevýhodou komutovaného připojení je i relativně malá spolehlivost a dosažitelná přenosová rychlost. V dnešní době již přestává být pro uživatele dostatečné, jelikož připojení pevnou linkou dosáhlo podstatného snížení cen. připojení pevnou linkou (též: pevné připojení). Zde je mezi uživatelem a providerem zřízeno spojení, existující trvale v čase. V úvahu přitom připadá více konkrétních možností realizace tohoto spojení (například může jít o pronajatý datový okruh telefonního typu, digitální datový okruh, ale třeba také o dvoubodový bezdrátový spoj v podobě tzv. bezdrátové místní smyčky apod.). Důležité je, že spojení i možnost přenosu dat existují trvale, a uživatel je tedy vždy dosažitelný. Tento způsob připojení připadá v úvahu zejména pro připojování celých lokálních sítí, resp. více počítačů vzájemně propojených do lokální sítě. Dále připadá v úvahu pro takové subjekty, které chtějí provozovat vlastní internetové služby. mobilní připojení Tato varianta je charakteristická tím, že umožňuje aby se uživatel připojoval k Internetu v zásadě odkudkoli, a hlavně se mohl se svým počítačem během připojení pohybovat (například cestovat v autě, ve vlaku
22
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Služby Internetu
apod.). V současné době je takováto možnost mobilního připojení realizována zejména prostřednictvím sítě mobilních telefonů GSM, a má typicky charakter dočasného spojení. V úvahu však připadá i připojení přes satelit
2.5. Služby Internetu Jednou za základních informačních potřeb je potřeba komunikace - ať již komunikace individuální, mezi dvěma subjekty, či potřeba komunikace skupinové, mezi více subjekty současně. Dnešní Internet nabízí takové služby, které podporují skupinovou i individuální komunikaci jak spřaženým (on-line) způsobem, a tedy v reálném čase, tak i způsobem nespřaženým (off-line). O dvou nejpoužívanějších způsobech takovéto komunikace pojednává následující kapitola. O elektronické poště, jejích možnostech a způsobu fungování již bylo napsáno opravdu velmi mnoho. Nicméně, elektronická pošta si získala tak velkou oblibu a stala se doslova novodobým fenoménem v oblasti mezilidské komunikace především z důvodu, že funguje na principu off - line, a tudíž nevyžaduje současnou přítomnost odesilatele i příjemce. V praxi to znamená, že odesilatel může svou zprávu sestavit tehdy, kdy na to má čas, kdy se na to může soustředit, a stejně tak si i příjemce může přečíst došlou zprávu a zareagovat na ni tehdy, kdy se to hodí zase jemu. Tím se tedy individuální diskuse prostřednictvím elektronické pošty principiálně odlišuje například od telefonního hovoru. Elektronická pošta samozřejmě umožňuje i přenos příloh (včetně netextových příloh). I když je elektronická pošta svou podstatou prostředkem individuální komunikace, lze ji poměrně jednoduše využívat i pro komunikaci skupinovou, např. jednoduchým rozesláním jednoho a téhož příspěvku současně více adresátům. Nyní se pokusme stručně vysvětlit, jak elektronická pošta funguje. Napíšeme dopis na svém počítači a použijeme nějaký program, který ho odešle. Znamená to, že se náš počítač spojí s počítačem našeho internetového poskytovatele, kam se naše maily nahrají. Odtud prostřednictvím Internetu putují do dalšího počítače podle doménového jména, které je součástí každé elektronické adresy. Zde se pošta hromadí tak dlouho, dokud si ji adresát nevyzvedne. Adresát si musí poštu taky otevřít pomocí nějakého vhodného programu. Počítače, které mají na starosti přenos pošty se nazývají „poštovní servery“. Programy, které pracují s poštou se nazývají „poštovní klienti“. Poštovních klientů je celá řada. Mezi nejpoužívanější patří: Microsoft Outlook Express, Netscape Messenger, WinPMail a další. Až dosud jsme se zabývali klasickou elektronickou poštou, kterou si člověk většinou stahuje pomocí serveru svého providera. Využívá k tomu
23
Jak elektronická pošta funguje? freemailový účet
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Služby Internetu
takzvaný protokol POP3 (Post Office Protocol, verze 3), ale tím se nemusíme moc zabývat. Kdo chce používat elektronickou poštu, má ještě jednu možnost, jak si svou e-mailovou schránku založit. Jedná se o tzv. freemailový účet, který dnes nabízí velké množství firem i na českém Internetu. Služba je úplně zdarma. Freemailový účet má několik výhod: Můžeme si takových schránek založit libovolné množství a k poštovní schránce máme přístup přes webový prohlížeč. Funguje to tak, že z libovolného počítače, který je připojen na Internet, vstoupíme na web, kde je tato služba nabízena, a zaregistrujeme se (tj. vyplníme údaje ve formuláři včetně uživatelského jména a hesla, které budeme pak stále používat). Poštu si můžeme přečíst na kterémkoli počítači na světě. Tento předpoklad určitě ocení ti, kdo hodně cestují. Je tu samozřejmě i jedna nevýhoda: freemailová korespondence je méně bezpečná. Mezi nejznámější freemailové poskytovatele patří: www.post.cz, www.centrum.cz, email.seznam.cz, mujmail.atlas.cz a další. e-mailová adresa elektronická konference
Základní tvar E-mailové adresy: [email protected] E-mailová adresa nesmí obsahovat žádnou diakritiku a skládá se ze 4 částí: − uživatelského jména; − zavináče; − názvu domény; − přípony.
Dokonalejším řešením skupinové komunikace jsou tzv. elektronické konference. Účastníci konference, kteří sdílejí zájem o určité téma, se zaregistrují u tzv. správce konference, kterému jsou pak adresovány jednotlivé příspěvky do konference a ty pak správce podle seznamu buďto bez zásahu nebo po výběru a případné úpravě (u tzv. moderovaných konferencí) rozešle všem účastníkům. Správcem přitom může být člověk, který současně může být i moderátorem konference, nebo automaticky pracující program (příslušná konference je pak nemoderovaná).
Zdaleka nejpopulárnější službou dnešního Internetu je služba hypertext World-Wide Web, označovaná zkratkou WWW, někdy též zkratkou W3. Idea WWW vznikla v laboratoři fyziky vysokých energií CERN (ve Švýcarsku). Na rozdíl od běžných, tzv. lineárních textů, na které jsme zvyklí z tradičních publikací, mohou být informace ve WWW uspořádány ve formě hypertextu, tj. takového textu, jehož různé součásti jednotlivá slova, celé skupiny slov, věty, nebo například i jednotlivá písmena - mohou představovat odkazy vedoucí buď na jiná místa v tomtéž textu (dokumentu), nebo na jiné dokumenty jako takové, nebo na
24
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Služby Internetu
konkrétní místa v jiných dokumentech. Navíc jsou tyto odkazy aktivní, v tom smyslu, že jejich vybráním (např. kliknutím myši) klientský program služby WWW interpretuje jako pokyn k přechodu na místo, kam odkaz směřuje. Takovéto aktivní odkazy přitom mohou vést jak do hypertextových dokumentů, nacházejících se na stejném místě (na stejném WWW serveru) jako výchozí dokument, tak i do dokumentů, které se nachází na kterémkoli jiném místě v rámci Internetu. Dokumentem přitom nemusí být pouze text. Může jít o obrázek, videosekvenci nebo zvukový dokument. Tímto způsobem lze vytvářet multimediální prezentace.
Hypertexty se vytvářejí v jazyce HTML. Práci s dokumenty WWW usnadňují tzv. prohlížeče (anglicky browser). Nejrozšířenější jsou Netscape, Internet Explorer a další. Zpočátku měl navrch Netscape, postupně však převládl Explorer, který je dodáván jako součást operačního systému Windows. Každý z nich poskytuje rozsáhlé standardní služby, ale liší se v různých nadstavbách a vylepšeních. Prohlížeče lze používat i jako editory stránek WEB (lze s nimi vytvářet nové stránky, upravovat existující apod.) i v prostředí Windows bez problémů s českou diakritikou v režimu (téměř) WYSIWYG (What You See Is What You Get, tj. co vidíš na obrazovce, to se ti vytiskne). Pro účely WWW byl firmou Sun Microsystems vyvinut i programovací jazyk Java, který rozšiřuje možnosti
25
jazyk HTML
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Služby Internetu
tvůrců stránek. Pro jednodušší aplikace byl z jazyka Java odvozen jazyk Javascript. WAP
Rozvoj nových technologií (tj. spojení mobilních telefonů a Internetu) dramaticky zvyšuje počet uživatelů Internetu. Mobilní telefony má více lidí než počítače, snahou je proto dostat na ně také Internet. Výsledkem tohoto úsilí je standard WAP (Wireless Applications Protocol). Jde vlastně o způsob komunikace mezi dvěma prostředími, které pro sebe původně nebyla určena – mezi mobilním telefonem s miniaturním a nekvalitním displejem a Internetem s bohatou a náročnou grafikou. WAP je proto schopen zprostředkovat pouze některé základní (či spíše komerčně nejzajímavější) služby webu, např. jednoduché zpravodajství, elektronický obchod, bankovnictví atd. Abyste mohli využívat služeb WAP, potřebujete telefon vybavený touto funkcí a mobilního operátora, který standard WAP podporuje. Třetí podmínkou je, aby navštěvované stránky byly pro tuto možnost upraveny, např. wapovský portál wap.atlas.cz. Jak číst webovou adresu? Vysvětlíme si to na příkladě:
http://www.volny.cz/ http://www.volny.cz/habiballa .cz/habiballa/ habiballa/index.htm http:// - tak začíná většina webových adres: zkratka http počítači říká, jaký protokol bude při čtení stránky používat – HyperText Transfer Protocol. Alternativou je zkratka ftp neboli File Transfer Protocol, který se používá pro přenos souborů. Většina prohlížečů však napsání této části adresy nevyžaduje. www – „třemi wéčky“ začíná mnoho webových adres, i když to není nezbytně nutné – stejně tak může být před jménem domény napsáno „web“ či cokoliv jiného, dokonce tam nemusí být vůbec nic, záleží to výhradně na provozovateli stránek. volny.cz – nejdůležitější část adresy neboli jeho domény: podle koncovky lze poznat její druh či původ (koncovkou .com končí většina amerických komerčních domén, české domény mají většinou koncovku .cz) habiballa – jméno složky, kde je hledaný dokument na serveru uložen (počet složek ohraničených lomítky může být teoreticky libovolně mnoho – záleží na struktuře dat uložených na hostitelském počítači). index.htm – jméno dokumentu, který se nakonec načte do okna prohlížeče. Browsery většinou zobrazí takto označenou stránku, pokud není specifikován konkrétní soubor, lze také obvykle používat default.htm. Pro prezentování nejrůznějších informací jsou k dispozici různé služby. Z pohledu uživatele však platí, že míra užitečnosti takovýchto nabídek,
26
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
resp. snadnost orientace v nich a snadnost nalezení toho, co uživatel hledá, je určena především schopnostmi a zkušenostmi uživatele. Pokud uživatel alespoň přibližně „ví kam sáhnout“, obvykle již pro něj není velkým problémem skutečně získat to, o co má zájem, resp. co potřebuje. Mnohem větším problémem může být samotné hledání v tak obrovském množství informací, jaké dnešní Internet představuje. Podívejme se proto, jaké jsou prakticky použitelné možnosti vyhledávání v rámci Internetu.
2.6.
Vyhledávací služby
Pro vyhledávání nejrůznějších zdrojů v Internetu se dnes používají specializované vyhledávací služby, které se sice v mnoha aspektem významně liší, ale v zásadě jsou postaveny na stejném principu. Ten vychází z architektury klient/server a spočívá v tom, že servery každé vyhledávací služby mají vždy stanoven určitý okruh působnosti, v rámci kterého pravidelně (například 1x týdně) sbírají informace určitého typu například informace o tom, jaké soubory se nalézají v jednotlivých adresářích serverů. Tyto informace si pak servery vyhledávacích služeb uchovávají u sebe (například ve vhodné databázi). Koncový uživatel, který něco konkrétního hledá, se pak obrací se svým požadavkem (dotazem) na tyto servery, a ty mu odpovídají informací o umístění toho, co uživatel hledá (v případě úspěšného dotazu). Konkrétní vyhledávací služby se pak liší zejména v tom, jaký druh informací sbírají - což pak následně určuje i to, co může uživatel chtít hledat. Možnosti vyhledávání informací na webu jsou představovány dvěma základními typy vyhledávacích nástrojů, předmětovými katalogy založenými na ručním sběru dat a vyhledávacími stroji, jež využívají pro sběr a vytváření databází automatizovaných prostředků. Katalogy jsou velmi rozsáhlé seznamy stránek, které někdo podle určitého klíče třídí a ačkoliv jsou stále oblíbeným informačním zdrojem pro řadu uživatelů webu, je nepochybné, že vyhledávací stroje poskytují nejen více informací o současném obsahu webových stránek, ale nabízejí i podstatně širší možnosti pro cílené vyhledávání.
Vyhledávací stroj je databáze zdrojů získaných z webu automatizovaným sběrem informací umístěných na webových serverech. Tuto databázi mohou uživatelé prohledávat prostřednictvím dotazů. Slova z dotazů jsou porovnávána s informacemi v databázi, nalezené informace odpovídající dotazu jsou setříděny podle toho, jak vyhovují položenému dotazu, a zobrazeny uživateli sestupně podle míry relevance.
27
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
hlavní funkční části vyhledávacích strojů
Způsob hodnocení výsledků vyhledávání vychází zpravidla ze dvou základních faktorů: z vlastního obsahu webového dokumentu (sídla) a z vnějších vlivů, jež rovněž významně přispívají k tomu, že se určitá webová sídla nebo dokumenty ocitají na předních místech při řazení výsledků vyhledávání. Pokud jde o obsah dokumentů, hrají roli při vyhodnocování relevance především četnost výskytu slov v dokumentu, jejich pozice ve struktuře dokumentu, výskyt slov v dalších dokumentech v daném webovém sídle a způsob, jakým je webový dokument vytvořen (např. použití rámů může negativně ovlivnit indexaci webového sídla vyhledávacím strojem). Mezi vnější faktory, které mají vliv na posouzení míry relevance vyhledaných odkazů, patří hlavně obliba zdroje, výsledky z partnerských vyhledávacích služeb a placené služby. Vyhledávací stroje (search engines) jsou tvořeny čtyřmi základními funkčními částmi: roboty, jejichž hlavním úkolem je sběr informací na webových serverech; indexačním programem zpracovávajícím informace, jež získají z webu roboty; vyhledávacím programem, který na základě uživatelova dotazu vyhledává a zpracovává informace z databáze vytvořené indexačním programem tak, aby výsledky co nejlépe vyhovovaly položenému dotazu; rozhraním, jež dotazy uživatele předává vyhledávacímu stroji a zobrazuje výsledky hledání uživateli. Z pohledu toho, jaké dokumenty nakonec služba na základě dotazu vyhledá, je velmi důležitý indexační program. Informace jsou z dokumentů získávány a zpracovávány do databází na základě rozhodnutí tvůrců těchto programů o tom, na kterých místech se v dokumentech vyskytují důležité informace. Rozsah načítaných informací bývá samozřejmě ovlivněn i technologickým zázemím provozovatele vyhledávací služby. Sbírané údaje se proto u jednotlivých služeb liší, což je jednou z příčin rozdílného zpracování téhož dotazu několika vyhledávacími službami.
Jaké informace z webu roboti sbírají Vyhledávací stroje jsou jejich provozovateli zpravidla označovány jako fulltextové vyhledávače. Znamená to tedy, že by jejich databáze (indexy) měly být vytvářeny na základě zpracování úplných textů načtených z webových serverů. Není to ovšem vždy zcela pravdivé tvrzení, i když v současnosti je možné říci, že většina nejznámějších vyhledávacích strojů – Google, AllTheWeb, Yahoo! Search, nebo AltaVista – opravdu načítá do svých databází plné texty webových dokumentů. Patří k nim i české
28
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
vyhledávací stroje Jyxo a Morfeo. I zde však platí určitá omezení, jež se týkají dokumentů, jejichž velikost přesahuje jednotlivými vyhledávači stanovenou mez (například Google indexuje pouze úvodních 101 KB webového dokumentu, Yahoo! Search úvodních 500 KB). Čím vyšší je četnost výskytu hledaných termínů v daném dokumentu, tím výše se webové sídlo nebo jednotlivý dokument ocitne při zobrazení výsledku vyhledávání. Některé vyhledávací služby zobrazují rovněž informace o datu vytvoření nebo aktualizace dokumentu, což je z pohledu uživatele důležitý údaj. Mezi informace, jimž vyhledávací stroje věnují zvláštní pozornost a jimž přikládají význam, patří: názvy dokumentů je to první a nejspíš ta nejdůležitější část dokumentu vztahující se k jeho obsahu, kterou vyhledávací stroj získává; proto také je slovům z názvu dokumentu přikládán zásadní význam, protože právě na základě tohoto textu se uživatelé často rozhodují o tom, který z vyhledaných dokumentů odpovídá nejlépe jimi hledanému zdroji; nadpisy (titulky a mezititulky), tj. člení vlastní text dokumentu do menších logických celků; vyhledávací stroje předpokládají, že autoři shrnují v těchto prvcích dokumentu obsah následujících úseků textu; názvy hypertextových odkazů, tj. názvy by měly výstižně vyjádřit obsah odkazovaného zdroje, měly by být informativní; vlastní text dokumentu; webová adresa; obrázkové nadpisy, tj. pokud obrázek nese významnou informaci; zvláště tehdy, nahrazuje-li text, který by jinak byl obsažen ve zdrojovém kódu. Velmi užitečným zdrojem informací je obsah webového sídla, tedy webová stránka, která obsahuje seznam buď všech nebo alespoň těch nejdůležitějších odkazů na dokumenty, které tvoří webové sídlo. Má význam nejen pro uživatele, jimž usnadňuje orientaci, ale také pro roboty vyhledávacích strojů, kterým pomáhá nalézt při načítání informací o daném webovém sídle všechny dokumenty.
Obecně lze říci, že problém vyhledávání v rámci WWW nemá žádné jednoduché a univerzální řešení. Ve světě WWW existuje mnoho různě zaměřených vyhledávacích služeb, tzv. prohledávačů (anglicky search engines), například AltaVista, Yahoo, Lycos, Infoseek nebo jejich české obdoby Seznam, Kompas, Atlas apod. Některé „sbírají“ svá data plně automaticky, zatímco jiné se spoléhají alespoň na částečnou účast člověka.
29
významné součásti dokumentů pro práci vyhledávacích strojů
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
typy prohledávačů
Tyto prohledávače můžeme v zásadě rozdělit na dvě kategorie: • tzv. fulltextové prohledávače (jako typické představitele uveďme AltaVista nebo Atlas), které na základě zadaných klíčových slov nebo jejich kombinací prohledávají celé texty dokumentů a zasílají uživateli seznam dokumentů, v nichž se vyskytuje jím zadaná kombinace klíčových slov. Podle výsledku prohledávání má pak uživatel možnost svůj dotaz dále zpřesňovat. •
hierarchické („stromové“) prohledávače, které uživateli nabízejí kategorie dokumentů sestavených do stromové struktury a uživatel může pátrat v této struktuře na potřebné úrovni detailu. Na tomto principu pracují např. Yahoo nebo Seznam.
Každý ze způsobů má své přednosti i nedostatky a většinou se používají kombinovaně. Doporučuje se použít více prohledávačů, neboť se mezi sebou liší ve výběru serverů, které indexují, v rozsahu apod. Existují i kombinované prohledávače, která za uživatele vyvolají různé elementární prohledávače a seznam uživateli předložených dokumentů využívá vah přiřazených jednotlivým prohledávačům. Nakonec však vždy musí nastoupit člověk, otevřít dokumenty, o kterých usoudí, že by pro něj mohly být zajímavé (což se ne vždy povede, poměrně často není adresa aktuální a dokument buď byl vyřazen nebo přemístěn na jinou adresu) a zde začíná tzv. surfování - otevřený dokument vám nabídne další odkazy, které by mohly být zajímavé .... Prohledávače celosvětového internetu 1.
KATALOGY (ROZCESTNÍKY) o DMOZ (http://www.dmoz.org/) o YAHOO (http://www.yahoo.com)
2.
ROZCESTNÍKY S RATINGEM nabízejí sice méně odkazů, ale zato těch s nejvyšším ohodnocením. o Top10Links (http://www.top10links.com) Jak odborníky, tak uživateli je hodnoceno nejvýše 20 nejlepších serverů každé kategorie. o ALEXA (http://info.alexa.com) Přednostně vyhledává více navštěvovaná místa. Na základě informací o návštěvnosti nabídne, kromě možnosti návštěvy hledaného sídla, také přehled o něm, jeho hodnocení, jeho historii a hlavně seznam ostatních míst, která navštívili stejní uživatelé.
3.
FULLTEXTOVÉ PROHLEDÁVÁNÍ o GOOGLE (http://www.google.com) je nejpoužívanější vyhledávač.
30
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
MSN SEARCH (http://search.msn.com) je vyhledávač, který realizuje relevantní (nespamové, tj. bez nevyžádané reklamy) vyhledávání. o ALTAVISTA (http://www.altavista.com) je velmi často používaný vyhledávač o
4.
HLEDÁNÍ PROGRAMŮ o DOWNLOAD.COM (http://www.download.com) je vynikající archív programů. o TUCOWS (http://tucows.cesnet.cz) je archivem programů pro sítě, internet a pro jejich nástroje.
5.
ZPRAVODAJSKÉ SERVERY o OnlineNewspapers.Com(http://www.onlinen ewspapers.com) Rozcestník, který nabízí všechny nejvýznamnější světové zpravodajské portály.
6.
SLOVNÍKY o SLOVNÍKOVÉ CENTRUM (http://www.yourdictionary.com) téměř 200 jazyků, každý s desítkama slovníků. o WordReference (http://www.wordreference.com/definition) Tento slovník využívá „WordNet lexical database" vyvinutou na Princeton University. Jednou z hlavních výhod je řazení slov do skupin synonym. To je výhodné zejména pro neanglicky mluvící cizince, kteří jsou nejčastějšími návštěvníky. K dispozici je i fórum pro vaše dotazy. o FreeTranslation (http://www.freetranslation.com) Zdarma přístupný automatický překladač textů a webových sídel. Překládá z/do angličtiny do/z španělštiny, francouzštiny, němčiny, italštiny, čínštiny, holandštiny, portugalštiny, ruštiny a norštiny. o Maths Thesaurus (http://thesaurus.maths.org/mmkb/view.html) je online výkladový slovník matematiky. o FOLDOC (http://foldoc.org) je výkladový slovník počítačové terminologie "Free OnLine Directory of Computing".
7.
SVĚTOVÉ ENCYKLOPEDIE o ANSWERS.COM (http://www.answers.com) je encyklopedické centrum, které je postaveno na spolupráci s celou řadou známých portálů. Zahrnuje online
31
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
encyklopedii včetně výslovnosti, výkladového slovníku, podrobné definice a dalších podrobností. o OXFORD REFERENCE ONLINE (http://www.oxfordreference.com/pub/views/home.html)
o
o o
o
o
8.
Jádro kolekce je tvořeno asi stovkou známých a důvěryhodných slovníků, příruček a encyklopedií. Internet Magazine zvolil Oxford Reference Online webovým sídlem r. 2002. Tato encyklopedie slouží akademickým pracovištím po celém světě (i v České republice) bez nutnosti registrace a tím i poplatků s využitím přístupu "Athens". BRITANNICA (http://www.britannica.com) Světově proslulá encyklopedie, která má ve své tištěné verzi 32 svazků. ENCARTA (http://encarta.msn.com) Známá encyklopedie společnosti MicroSoft. WIKIPEDIA (http://encarta.msn.com) "Otevřená" encyklopedie, do které mohou přidávat a opravovat hesla samotní uživatelé. Je to velmi nadějný projekt, který se vyznačuje neobyčejně strmým rozvojem. Wikipedia má více jazykových verzí, ta anglická má (leden 2005) přibližně 450 tisíc položek. Některé položky obsahují i několik stran textu. ENCYCLOPEDIA.COM (http://www.encyclopedia.com) Poskytuje zdarma více než 57 000 často aktualizovaných hesel z Columbia Encyklopedia (6. vydání). Každé heslo je dovybaveno odkazy na novinové a časopisecké statě a rovněž na obrázky a mapy podporované službou eLibrary. Eric Weisstein's World of Science (http://scienceworld.wolfram.com) Vynikající příručky/encyklopedie Erica Weissteina z oborů matematika, fyzika, astronomie, chemie a také biografie. Portál je budován a udržován jako služba pro vědeckou veřejnost.
MAPY A ATLASY (SVĚTOVÉ ČI EVROPSKÉ) o MULTIMAP (http://www.multimap.com) Mapy a plány celého světa. o Map24 (http://www.uk.map24.com) Velký pomocník pro motoristy. Asi nejlepší pro trasování cest po zemích Evropské unie. o MAPORAMA (http://www.maporama.com) Nabízí interaktivní mapy a plány zemí a měst a hlavně trasováni cest po celem světě (v mnoha světových jazycích - bohužel nikoliv česky).
32
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
Prohledávače českého internetu:
9.
VYHLEDÁVACÍ CENTRÁLY o ALENKA (http://alenka.pinknet.cz) Nabízí jak katalogy tak různé druhy vyhledávání (včetně lidí) ze všech známých databází (vynikající) o Global Search (http://www.globalsearch.cz) Globální vyhledávač nejen v českém internetu, používá zavádějící doménu Google.cz
10.
KATALOGY (ROZCESTNÍKY) o SEZNAM (http://www.seznam.cz) Nejnavštěvovanější rozcestník českého internetu. o ATLAS (http://www.atlas.cz) Rozcestník (ale i fulltextový vyhledáč) v českém internetu. o CENTRUM (http://www.centrum.cz) Poměrně nový portál společnosti NetCentrum.
11.
FULLTEXTOVÉ PROHLEDÁVÁNÍ o Český Google (http://www.google.com/intl/cs/ ) Chcete-li pracovat s českým Goodlem a nenastaví-li se vám při tom český jazyk automaticky, použijte tuto upřesněnou adresu. o MORFEO (http://www.globalsearch.cz) (DŘÍVE WEBFAST) Moderní účinná služba se svým uspořádáním napadně podobá Googleu. Po přechodu na portál Morfeo používá dokonalejší technologie s českým ohýbáním slov, korekcí překlepů a nabídkou synonym. o JYXO (http://jyxo.cz) Fulltextové vyhledávání s českým skloňováním a časováním a s českou kontrolou pravopisu. JYXO je strmě nastupující službou, která indexuje několik desítek milionů dokumentů s každodenní aktualizací. o SEZNAM (http://www.seznam.cz) Fulltextové vyhledávání nejen v Českém Internetu (využívá službu GOOGLE). o ATLAS (http://www.atlas.cz) Fulltextové vyhledávání nejen v Českém Internetu (využívá službu JYXO). o CENTRUM (http://www.centrum.cz) Fulltextové vyhledávání nejen v Českém Internetu (využívá službu WEBFAST).
12.
HLEDÁNÍ SOUBORŮ (PROGRAMŮ)
33
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
o o o
o
o
o
SLUNEČNICE (http://www.slunecnice.cz) Nejlepší český archív i vyhledávač softwaru. ISOFTWARE (http://www.isoftware.cz) Krásný archív i vyhledávač softwaru. STUDNA (http://www.studna.cz) Archív i vyhledávač softwaru, který má i hodnocení softwaru od redaktorů. STAHUJ.CZ (http://www.stahuj.cz) Nový, ale rychle a nadějně se rozvíjející vyhledávač i archív. Má hodnocení od uživatelů. COMMS4FREE (http://comms4free.hyperlink.cz) Volně šiřitelné programy pro internet. DOWNLOAD ATLASU (http://download.atlas.cz) Zaměřeno nejen na programy pro internet.
13.
ZPRAVODAJSKÉ SERVERY o iDNES (http://www.idnes.cz) Nejznámější všeobecné zpravodajství patří společnosti MAFRA. o NOVINKY (http://www.novinky.cz) Velmi navštěvovaný zpravodajský portál patří serveru Seznam a deníku Právo. o ATLAS (http://zpravy.atlas.cz) Zpravodajský server, který trvale vykazuje vysokou návštěvnost. o CENTRUM (http://zpravy.centrum.cz) Zpravodajský server, který patří ke čtveřici těch nejlepších.
14.
DOPRAVCI A JÍZDNÍ ŘÁDY o ABUS (http://www.busportal.cz) Jízdní řády autobusů. o Jízdní Řády (http://jizdnirady.atlas.cz) Kombinované jízdní řády vlaků, autobusů, místní doprava a letecká doprava.
15.
TELEFONNÍ A JINÉ SEZNAMY o Český Telecom (http://phone.quick.cz) Telefonní seznam České republiky. o Zlaté Stránky (http://zlatestranky.idnes.cz) Hledání v databázi firem ČR.
16.
POŠTOVNÍ SMĚROVACÍ ČÍSLA o PSČ (http://www.psc.cz) Vyhledávácí služba serveru Wizards.cz. o PSC.UNAS.CZ (http://psc.unas.cz) Seznam poštovních směrovacíh čísel v ČR i SR, tříděný jak podle pošt, tak podle obcí. Je také možné vyhledávat podle
34
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
názvu města, obce, či městské části (nebo také pouze část názvu). 17.
PRAVIDLA o PRAVIDLA PRAVOPISU (http://www.pravidla.cz) Pravidla českého pravopisu patří mezi novinky r. 2003. Obsahují zkratky, tituly, pravidla pro písmena i, y, ě, ale také pravidla pro měkké souhlásky, předložky a předpony, psaní slov přejatých, psaní velkých písmen, psaní spřežek, spojovací čárka (spojovník), členicí znaménka, .. o SPORTOVNÍ PRAVIDLA (http://www.sportovnipravidla.cz) Kompletní sportovní pravidla (a také základy sportovních pravidel) několika desítek u nás známých i méně známých sportů.
18.
ENCYKLOPEDIE o VŠEVĚD (http://www.vseved.cz) Výborná encyklopedie společnosti Netpoint s.r.o. o CO JE CO (http://www.cojeco.cz) Velmi dynamicky se rozvíjející všeobecná encyklopedie. o COTO.JE (http://www.cotoje.cz) Sdružuje vyhledávání z Ottovy encyklopedie, Malé československé encyklopedie a Encyklopedie Universum. o KDO JE KDO (http://www.kdojekdo.cz) Vyhledává a představuje osobnosti z nejrůznějších oborů lidské činnosti. o WIKIPEDIE (http://cs.wikipedia.org) Česká Wikipedie je (obdobně jako její anglická kolegyně Wikipedia) otevřené internetová encyklopedie, která má v dubnu 2006 již více než 28 tisíc článků.
19.
SLOVNÍKY o Pětijazyčný slovník na serveru iHned (http://ib.ihned.cz/slovnik) pochází od splečnosti LangSoft s.r.o. o Vícejazyčný slovník (http://www.slovnik.cz) Slovní zásoba vychází ze zredukované slovní zásoby PC Translator společnosti LangSoft. Nabízí rychlý překlad z/do celkem 7 jazyků: anglický, německý, francouzský, italský, španělský, ruský, latinský a český o Výkladový slovník počítačových pojmů (http://www.zive.cz/slovnik) Slovník na serveru Živě o Slovník cizích slov (http://www.slovnikcizich-slov.cz)
35
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
Tento slovník obsahuje (duben 2006) přibližně 40 tisíc slov a výrazů. o Slovník cizích slov (ABZ) (http://slovnik-cizich-slov.abz.cz) Databáze obsahuje (duben 2006) více než 18 tisíc pojmů, což orientačně odpovídá 400 stránkovému tištěnému slovníku. o Pedagogicko - psychologický slovník (http://www.ceskaskola.cz/Slovnik/slovnik.as) 20.
HLEDÁNÍ ZAMĚSTNÁNÍ ČI PRÁCE o JOBS (http://www.jobs.cz) Nabídka a poptávka práce, brigády a práce pro studenty, poradna, finanční rádce, .. o VOLNÁ MÍSTA (http://www.sprace.cz) Nabídky zaměstnání, životopis, zaměstnavatelé, úřady práce, .. o JOBlist (http://www.joblist.cz) Seznam volných pracovních míst a uchazečů o zaměstnání pro celou ČR, zasílání volných míst i životopisů e-mailem. o CV ONLINE (http://www.cvonline.cz) Internetová společnost poskytující služby v oblasti lidských zdrojů. Jejím cílem je pomáhat zaměstnavatelům při vyhledávání vhodných zaměstnanců.
21.
INZERCE o INZERT EXPRES (http://www.inzertexpres.cz) Integrovaná inzertni služba (Brno) o ANNONCE (http://www.annonce.cz) Největší inzertní noviny pro ČR on-line (Praha).
Až se s vyhledávači naučíte více pracovat, budete pravděpodobně používat službu, která se jmenuje rozšířené (fultextové) vyhledávání. Svůj dotaz tam můžete položit velmi přesně za použití takzvaných logických spojek – ty hlavní jsou tři: A, NEBO a NE. V této kapitole si na jednoduchých příkladech ukážeme, jak správně formulovat dotazy, abychom našli jen to, co právě hledáme.
36
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
Fulltextový vyhledávač prochází stránky českého a částečně i zahraničního internetu, stahuje si jejich obsah a vytváří z něj databázi (index). V této databázi můžete vyhledávat podle obsahu stránek, stačí zadat dotaz do vyhledávacího okénka nahoře na stránce a kliknout na tlačítko hledej. Zobrazí se výsledky hledání, sestávající z odkazů na stránky, které odpovídají hledanému tématu.
Např. Centrum.cz (www.centrum.cz) používá pro fulltextové hledání technologii Morfeo [1], založenou na systému Sherlock Holmes [2]. Morfeo plně podporuje práci s českým jazykem (ohýbání slov, vyhledávání synonym, kontrola překlepů). Jeho další předností je aktuální databáze stránek - celý český internet aktualizuje každé čtyři týdny. Stránky, které se mění často, jsou aktualizovány několikrát týdně, neboť nové zprávy z velkých zpravodajských serverů přibývají do databáze každou hodinu.
Co všechno fulltext prohledává?
Vyhledávácí technologie Morfeo prohledává všechny stránky na českém internetu, tedy všechny stránky z domény „.cz“. Navíc vyhledává ve stránkách mimo doménu „.cz“, které jsou registrovány v katalogu „Centrum.cz“ a ve stránkách, které jejich majitelé sami přidají do databáze.
Při vyhledávání můžete použít tyto funkce podporující češtinu: 1. Ohýbání slov Při použití slov vyhledáváte zadaný dotaz včetně jeho různých tvarů - časování, skloňování, jednotná a množná čísla, spisovné a nespisovné varianty slov, alternativní tvary, atd. Ohýbání slov je automaticky zapnuté, nechcete-li slova ohýbat, odškrtněte checkbox "ohýbání slov" vedle vyhledávacího okénka. Příklad: Pokud hledáte slovo domů, hledají se zároveň slova dům, domy, domu ... 2. Synonyma Při použití této funkce vyhledáváte dotaz včetně jejich synonym. Všechna synonyma pro Vás nemusí mít vždy význam (např. synonymum ke slovu hlava může být i článek), proto můžete výběr omezit vyškrtnutím slov v zobrazené tabulce. Synonyma jsou automaticky vypnuté, chcete-li je používat, zaškrtněte checkbox "synonyma" vedle vyhledávacího okénka. Příklad: Hledáte-li slovo dům, hledají se zároveň slova barák, budova, stavba ..., pokud některá z nich v tabulce nevyškrtnete.
37
podpora češtiny
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
Překlepy Vyhledávač Vás upozorní na nesprávně zadaná slova - překlepy, gramatické chyby apod Pokud chcete svůj dotaz upřesnit, můžete použít rozšířené hledání. Zde můžete omezit rozsah hledání například pouze na určitou doménu, jazyk, formát dokumentu a další. Pokročilé dotazy (jednoduchá syntaxe) V případě, že neradi používáte uživatelská rozhraní, můžete svůj dotaz zpřesnit zadáním pokročilého dotazu do vyhledávacího okénka podle následující syntaxe. tučňák tuleň vorvaň stránky, kde se vyskytují všechna zadaná slova ('tučňák' i 'tuleň' i 'vorvaň' současně) ?tučňák ?tuleň ?vorvaň stránky, na kterých se vyskytují slova 'tučňák' nebo 'tuleň' nebo 'vorvaň' (všechna nebo jen některá z nich). "tučňák oslí" stránky, kde se vyskytuje text "tučňák oslí" (jako fráze) "tomáš * masaryk" stránky, na kterých se vyskytují slova 'tomáš' a 'masaryk' blízko u sebe a mezi nimi může být další slovo nebo více slov; spolehlivě najde například stránky s textem 'Tomáš Garrigue Masaryk' tuleň -vorvaň stránky, kde se vyskytuje slovo 'tuleň' a nevyskytuje se na nich slovo 'vorvaň' tuč* stránky, na kterých se vyskytují slova začínající na 'tuč' - je potřeba zadat alespoň tři písmena title:tučňák stránky, které obsahují slovo 'tučňák' v titulku ctitle:tučňák stránky, které obsahují slovo 'tučňák' v katalogovém titulku cdesc:tučňák stránky, které obsahují slovo 'tučňák' v katalogovém popisku hdr:tučňák stránky, které obsahují slovo 'tučňák' v nadpisu (H1 ... H6) keywd:tučňák stránky, které obsahují slovo 'tučňák' jako klíčové slovo
38
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
alt:tučňák stránky, které obsahují slovo 'tučňák' v popisku obrázku link:http://www.zoo.cz vyhledá stránky, z nichž vede odkaz na 'http://www.zoo.cz' Pokročilé dotazy (pokročilá syntaxe) Pokročilé dotazy můžete zadávat na všech stránkách uvedením znaku '!' (vykřičník) na začátek dotazu. V režimu pokročilého vyhledávání Morfeo umožňuje výskyty slov libovolně kombinovat pomocí logických spojek (AND, OR) a operátorů (NOT), ovlivňovat třídění výsledků a omezovat vyhledávání podle dalších kritérií. ! "tučňák" OR "tuleň" stránky, na kterých se vyskytují slova 'tučňák' nebo 'tuleň' (všechna nebo jen některá z nich). ! "tučňák" AND "tuleň" stránky, na kterých se vyskytují slova 'tučňák' a 'tuleň' současně ! "tučňák" AND "tuleň" AND NOT "vorvaň" stránky, na kterých se vyskytují slova 'tučňák' a 'tuleň' současně a nevyskytuje se na nich slovo 'vorvaň' ! "automobil" . MAYBE "bouraný" . MAYBE "ojet*" . NOT "bazar" stránky, na kterých se vyskytuje slovo 'automobil', mohou se vyskytovat slova 'bouraný' nebo slova začínající na 'ojet' (tj. 'ojetý', 'ojeté', ...) a nesmí se vyskytnout slovo 'bazar'. Operátor '.' (tečka) umožňuje v mnoha případech elegantně zapsat dotaz. Výrazy zapsané v uvozovkách (slova nebo fráze) spojte tečkami a můžete je navíc opatřit těmito prefixy: 'NOT' ... slovo nebo fráze se nesmí vyskytovat; 'MAYBE' ... slovo nebo fráze se může vyskytovat (v takovém případě zvyšuje finální Q); bez prefixu ... znamená povinný výskyt slova nebo fráze. ! "tučňák patagonský" stránky, na kterých se vyskytuje text 'tučňák patagonský' (jako fráze) ! "tomáš * masaryk" stránky, na kterých se vyskytují slova 'tomáš' a 'masaryk' blízko u sebe a mezi nimi může být další slovo nebo více slov; spolehlivě najde například stránky s textem 'Tomáš Garrigue Masaryk' ! "oslí"/30000 AND "tučňák" zvýší ohodnocení slova 'oslí' z implicitních 10000 na 30000, pro ohodnocení slova lze nastavit -30000..30000.
39
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
! ("oslí"/30000 OR "císařský") AND "tučňák" zobrazí stránky obsahující slova 'tučňák' a současně slovo 'císařský' nebo 'oslí' tak, že výše v pořadí budou stránky obsahující slovo 'oslí' ! "vorvaň" . MAYBE "tučňák" stránky obsahující slovo 'vorvaň' a mohou obsahovat i slovo 'tučňák', ale dotazu budou vyhovovat i stránky, které slovo 'tučňák' neobsahují ! ALT "tučňák" vyhledá slovo 'tučňák' v popisku obrázku. Podobně lze vyhledávání omezit i na jiné typy textu: TITLE (titulek stránky), EMPH (zvýrazněná slova - tučně, kurzívou atd.), SMALL (malé písmo), HDR (nadpisy; případně HDR1 a HDR2 pro velké resp. malé nadpisy), KEYWD (klíčová slova), META (metainformace o dokumentu), URLWORD (slova vyskytující se v URL stránky), EXT (slova vyskytující se v odkazech na stránku), TEXT (ostatní typy slov - obyčejný nezvýrazněný text). ! LINK "http://www.zoo.cz" vyhledá stránky, z nichž vede odkaz na 'http://www.zoo.cz'. Podobně lze hledat podle jména serveru, na kterém je stránka umístěna (HOST "www.zoo.cz"), podle domény (DOMAIN "zoo.cz"), případně zjistit, co Morfeo ví o konkrétní stránce (URL "http://www.zoo.cz/index.html"). ! "tučňák" AND DOMAIN "zoo.cz" stránky v doméně 'zoo.cz' na kterých se vyskytuje slovo 'tučňák' ! FILETYPE="pdf" "tučňák" soubory ve formátu PDF, ve kterých se vyskytuje slovo tučňák. Podobně je možno použít typy "text", "html", "msword" a "excel", popř. všechny typy takto kombinovat: ! FILETYPE={"html","pdf","msword"} "tučňák" ! LANG="en" "tučňák" soubory v angličtině, ve kterých se vyskytuje slovo tučňák. Dále je možno použít kódy cs, sk, en, de. Popř. jazyky kombinovat: ! LANG={"cs","sk"} "tučňák" ! ACCENTS 2 "žena" pouze stránky obsahující slovo 'žena', pouze s diakritikou, nevyhledá slovo 'zena'. Možné mody hledání: 0 - default - pokud dotaz neobsahuje diakritiku vyhledává bez diakritiky, jinak vyhledává s diakritikou v dokumentech, které nějakou diakritiku obsahují, jinde bez, 1 - bez ohledu na diakritiku, 2 - striktně dodržovat diakritiku. Pokud uvedete ACCENTS na začátku dotazu,
40
TECHNOLOGICKÝ ZÁKLAD ELEKTRONICKÉHO PODNIKÁNÍ Vyhledávací služby
platí pro celý dotaz, pokud za nějakým slovem, týká se omezení pouze tohoto slova. ! TITLELEN 20 "tučňák" nastavení délky titulku na 20 znaků. (Podobně CONTEXT - délka popisku) ! SITEMAX 0 "tučňák" nastavení site compression (0 - Nepoužívat site compression, 1 default - úplná site compression, 2 - zobrazovat maximálně dva odkazy s podobnou adresou) ! AGE < 604800 "tučňák" stránky, na kterých se vyskytuje slovo 'tučňák' a stránka je mladší než 7 dní (uvedená hodnota je počet sekund), lze použít operátory <, >, =, <=, >=, <> Pokud chcete vyhledávat ve službě, která není v záložkách vyhledávače nebo záložky neradi používáte, můžete pro vyhledávání např. na „Centrum.cz“ použít zkratky. Stačí před dotaz ve vyhledávacím okénku zadat zkratku pro konkrétní službu ukončenou dvojtečkou. Zobrazí se výsledek hledání v konkrétní službě [3]. mapy: plzeň zobrazí mapu Plzně ve službě Mapy. zbozi: pračka vyhledá všechny nabídky obsahující slovo pračka ve službě Zboží, tedy v nabídkách elektronických obchodů. slov ca: ježek přeloží slovo ježek z češtiny (c) do angličtiny (a) pomocí služby Slovníky. Lze použít také pro překlad z češtiny do němčiny (n), francouzštiny (f), italštiny (i), ruštiny (r), nebo zpětně z těchto jazyků do češtiny (použijte písmenka v obráceném pořadí - např. "ac") slevy: televize vyhledá všechny slevy na televize ve službě Slevy. zprávy: václav klaus vyhledá všechny internetové zprávy týkající se Václava Klause. firmy: kadeřnictví vyhledá všechna kadeřnictví v databázi Firmy Centrum.cz. obr: motýl vyhledá všechny obrázky motýlů v databázi Obrázků. svet: penguin vyhledá stránky obsahující slovo penguin v zahraničním vyhledávači.
41
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
3. Informatika v elektronickém podnikání
3.1. Algoritmy
Algoritmus a překladač
Předpis pro výkon nějaké činnosti, kterou má zabezpečit automatizovaně počítač, se nazývá program. Program je procesoru předkládán ve tvaru kódu, tj. jako posloupnost instrukcí procesoru — elementárních příkazů, které je daný procesor schopen přímo provádět. Program je nutné vytvořit v programovacím jazyce a nazývá se zdrojový text programu, který musí být přeložen na instrukce procesoru a to zajišťuje překladač (podkapitola je založena na textu [Po93]). V principu překladu existují dva druhy - kompilační překladač zkráceně mluvíme o kompilátorech a interpretační překladač a interpretech. Kompilátor přeloží zdrojový text programu na cílový kód. Cílový kód je pak nezávislý na kompilátoru, při změně zdrojového kódu je potřeba opakovaně zkompilovat celý zdrojový text. Interpret je naproti tomu řídícím prvkem přeloženého programu — postupně čte program, překládá a ihned vykonává příkazy zdrojového kódu. V případě chybného zdrojového kódu se ale tím pádem odhalí chybný zápis v daném jazyce. Stejně jako v realitě má každý z typů své výhody a nevýhody. Interpretovaný program umožňuje modifikaci dat a případně i zdrojového kódu přímo za běhu, je však pomalý spuštěn může být jen překladačem. Kompilátor připraví efektivní nezávislý program, který udržuje v operační paměti počítače pouze svůj kód a svá data, jehož prostředky pro interaktivní změny jsou však značně omezené. Příkladem interpretu může být Java Runtime Engine, který slouží k interpretaci připraveného kódu v jazyce Java (typicky soubor s příponou .jar). Je zřejmé, že i za technologiemi elektronického obchodu musí nutně stát sofistikované algoritmy, které umožňují řízení a prezentaci uživateli. Cílem těchto implementovaných algoritmů je co nejvíce člověka oprostit od časově náročných operací a celou činnost maximálně automatizovat. Programy určené pro počítače zapisujeme v programovacích jazycích. Programovací jazyk, kterému rozumí procesor počítače, se nazývá strojovým jazykem a pouze programy v něm zapsané mohou být daným počítačem přímo provedeny. Psaní programu ve strojovém jazyku je však značně obtížné, neboť strojový jazyk je navržen s ohledem na technickou realizaci procesoru a je značně vzdálen potřebám a běžným vyjadřovacím prostředkům člověka. Kromě toho, různé typy procesorů mají různé strojové jazyky, takže přenesení programu ve strojovém jazyku z jednoho
42
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
typu procesoru na jiný znamená přepsání programu do jiného jazyka. Tyto problémy jsou dnes vyřešeny existencí vyšších programovacích jazyků, které vycházejí vstříc potřebám a zvyklostem člověka. Aby však bylo možno provést výpočet podle programu zapsaném ve vyšším programovacím jazyku, musí být tento jazyk na daném počítači implementován, tzn. musí existovat programové vybavení, jehož základem je program zvaný překladač, které přeloží program z vyššího jazyka do strojového kódu nebo zajistí výpočet jiným způsobem. Základem úspěšného programátora je především jeho schopnost algoritmizovat danou úlohu. Algoritmem se všeobecně rozumí postup při řešení určité třídy úloh. Nemusíme uvažovat o nějakých složitých algoritmech příkladem může být i algoritmus na sčítaní velkých čísel. Zalgoritmizovat problém a řešit ho automatizovaně počítačem znamená navrhnout takový postup implementovatelný do programovacího jazyka. Při učení algoritmizace není nejdůležitější implementace v konkrétním jazyce, ale pávě postup řešení. Tento postup musí mít jisté vlastnosti hromadnost (lze měnit vstup z nějakého stanoveného rozsahu), determinovanost (postup musí být přímý bez alternativ, tj. jednoznačný), konečnost a resultativnost (po provedení všech kroků dostaneme výsledek). Klíčovým je používaní proměnných, čímž rozumíme datový objekt, který má své pevně stanovené jméno a jeho stav (obsah) vyjadřující nějaký údaj (data) se může v průběhu výpočtu měnit. Údaj, který je stavem objektu vyjádřen, nazýváme hodnotou proměnné. Jednou ze základních akcí výpočetních procesů je přiřazení hodnoty proměnné. Předepisujeme jí přiřazovacím příkazem, který budeme psát ve tvaru proměnná := výraz Tento příkaz se provede tak, že se nejprve vypočte hodnota výrazu uvedeného na pravé straně příkazu a ta se pak přiřadí proměnné na levé straně příkazu. Nejjednodušším případem výrazu je zápis hodnoty např. ve tvaru dekadického čísla což je konstanta – nelze za běhu programu změnit konstantu, ale přiřadí-li se proměnné, pak tato proměnná samozřejmě může měnit svou hodnotu. Dále lze tvořit výrazy z operandů - proměnných a konstant – a spojovat je operátory předepisujících pro základní aritmetické operace. Při výpočtu se prostřednictvím vstupních zařízení (jakým je např. klávesnice nebo snímač děrné pásky) zadávají vstupní data, tj. vstupní údaje, ze kterých výpočet vychází, a na výstupní zařízení (jakým je např. obrazovka nebo tiskárna) se zapisují výstupní data, tj. výsledky výpočtu. Stačí předpokládat, že při výpočtu se postupně bude číst posloupnost vstupních dat a postupně se bude vytvářet posloupnost výstupních dat. Pro účely algoritmizace proto zavedeme zjednodušené tvary příkazů vstupu a výstupu, pomocí nichž budeme vyjadřovat, v kterém místě výpočtu se mají akce vstupu či výstupu provést.
43
Proměnné
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
Posloupnost příkazů
Přiřazovací příkaz a příkazy vstupu a výstupu patří mezi tzv. jednoduché příkazy, kterými se předepisují základní výpočetní akce. Zabývejme se nyní konstrukcemi, kterými se předepisuje návaznost akcí. Tyto konstrukce se nazývají řídicí struktury. Základní řídicí strukturou je posloupnost příkazů, která předepisuje postupné (sekvenční) provedení příkazů v ní uvedených. Na obrázku jsou znázorněny tři způsoby jejího zápisu, které se nejčastěji používají. Ve všech případech jsou P1, P2 ... Pn dílčí příkazy, které se mají postupně provést.
Na obrázku a) je posloupnost příkazů zapsána vývojovým diagramem. Vývojové diagramy představují grafickou a stále ještě oblíbenou formu zápisu algoritmu. Příkazy v nich zapisujeme do značek a jejich návaznost vyjadřujeme orientovanými spojnicemi. Tvary a významy některých značek, které budeme při kreslení vývojových diagramů používat, jsou na následujícím obrázku.
Vývojový diagram, Strukturogram Programovací jazyk
Na obrázku b) je posloupnost příkazů vyjádřena tzv. struktogramem. Příkazy v něm píšeme do bloků, které na sebe navazují v tom pořadí, v jakém mají být provedeny. Další tvary bloků používaných při kreslení struktogramů (a stejně tak další tvary značek pro vývojové diagramy) uvedeme později. Sestavujeme-li algoritmus, neznamená to, že jej musíme zapsat v některé z grafických forem. Moderní programovací jazyky (jako je např. Pascal, Ada a další) totiž umožňují natolik přehledný zápis, že jejich symboliku, někdy různě rozšířenou a doplněnou, můžeme velmi dobře použít i při algoritmizaci (poznamenejme, že mezi tyto jazyky nepatří Basic ani FORTRAN, v nichž nejsou strukturované příkazy umožňující přehledný zápis řídicích struktur). Velmi přehledně lze zapisovat algoritmy také pomocí jazyka Pascal. V něm se posloupnost příkazů zapisuje tak, jak je uvedeno na obr. c: Na začátku posloupnosti stojí slovo begin (=začátek), příkazy vzájemně oddělujeme středníkem (na rozdělení do řádků nezáleží) a na konci posloupnosti napíšeme slovo end (=konec). Poznamenejme ještě, že z hlediska dalšího použití se tento zápis posloupnosti příkazů
44
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
považuje za jediný (strukturovaný) příkaz, který nazýváme složeným příkazem. Umíme-li zapsat posloupnost příkazů, můžeme již sestavit jednoduché algoritmy. Příklad tří forem zápisu jediného algoritmu následuje.
Málokterý problém je natolik jednoduchý, že při sestavování algoritmu jeho řešení vystačíme jen s posloupností základních příkazů. I v poměrně jednoduchých případech jsou zapotřebí řídicí struktury, které předepisují různé alternativy dalšího postupu vázané na splnění určité podmínky (tzv. větvení) resp. opakované provádění určitých akcí (tzv. cykly). Větvení budeme předepisovat řídicí strukturou, kterou nazveme podmíněný příkaz a jejíž vyjádření vývojovým diagramem, struktogramem a pascalskou notací je níže zobrazeno. B je logický výraz, který buď platí nebo neplatí (tzn. nabývá pravdivostních hodnot "pravda" - angl. true resp. "nepravda" - angl. false) a vyjadřuje testovanou podmínku, P1 a P2 jsou příkazy předepisující dvě alternativy postupu. Jestliže B platí, provede se příkaz P1, jinak se provede příkaz P2. Například v jazyce C++ (na jehož základě je vybudován jazyk PHP a JAVA) vypadá podmínka následovně: If (B) P1 else P2
Zvláštním případem větvení je situace, kdy k příkazu P1 není alternativní příkaz P2, tzn. kdy se jedná o podmíněné provedení příkazu v závislosti na splnění určité podmínky
45
Podmíněný příkaz
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
Dílčími příkazy v řídicích strukturách mohou být nejen jednoduché příkazy, ale znovu řídicí struktury (strukturované příkazy). Seznámíme se nyní s jednou důležitou metodickou zásadou programování, která se nazývá zásada postupného rozkladu shora dolů. Tato zásada doporučuje při návrhu algoritmu rozložit zadaný problém nejprve na jednodušší podproblémy. Hlavní myšlenky algoritmu pak můžeme vyjádřit přehledně a srozumitelně tak, že na specifikované podproblémy se jen odvoláváme, aniž bychom ještě předkládali jejich řešení. Tím získáme nejprve hrubé řešení zadaného problému, které v další etapě zjemníme (tzn. popíšeme řešení specifikovaných podproblému). Přitom znovu můžeme použít uvedený postup, jsou-li dílčí podproblémy ještě příliš složité. Návrh algoritmu postupným rozkladem ilustruje následující příklad. Sestavíme algoritmus pro nalezení největšího ze tří čísel. (Opět nás zajímá pouze hodnota, nikoliv pořadí, takže např. pro vstup 7 7 3 má být výsledek 7.) Vstup: x y z Výstup: max(x,y,z) V naší úloze je jednodušším podproblémem určení většího ze dvou čísel. Jestliže větší z čísel x a y označíme max(x,y), můžeme s využitím této symboliky sestavit hrubé řešení. Ve druhé etapě rozepíšeme řešení podproblémů, čímž získáme podrobné řešení.
Cyklus se vstupní podmínkou
Na tomto algoritmu si ještě ukážeme postup simulace výpočtu, který by měl programátor - začátečník často používat. Přesvědčí se tím o tom, jak navržený algoritmus pracuje. Simulace výpočtu se někdy nazývá trasování a spočívá v tom, že postupně provádíme jednotlivé příkazy, přičemž si jejich efekt zaznamenáváme na papír. Abychom se v těchto záznamech vyznali, vytváříme z nich tzv. trasovací tabulku. Sloupce tabulky označíme jmény proměnných a zapisujeme do nich hodnoty proměnných po provedení jednotlivých příkazů. Vedle tabulky si napíšeme vstupní data, pro která budeme výpočet provádět. Pro výpočty realizované na počítačích je typické opakované provádění příkazů. Předepisujeme je řídícími strukturami, které nazýváme cykly. Základní řídící strukturu cyklu můžeme obecně vyjádřit příkazem "pokud platí B opakuj P"
46
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
kde B je podmínka, při jejímž splnění se příkaz P opakuje (tento příkaz nazýváme tělem cyklu). Cyklus končí (resp. se neprovede ani jednou), když podmínka B není splněna. Zápis tohoto příkazu vývojovým diagramem, struktogramem a v pascalské notaci je uveden níže. Pro odlišení od dalších příkazů cyklu jej budeme nazývat příkazem cyklu while (while = pokud, do = dělej). Například v C++ lze cyklus tohoto typu popsat: While (B) P1
Sestavíme algoritmus pro výpočet zbytku po dělení dvou přirozených čísel. Vstup: x y , kde x a y jsou přirozená čísla Výstup: q , kde q je zbytek po dělení čísla x číslem y Postup založíme na tom, že dělení nahradíme opakovaným odčítáním podle vztahu x – y – y - ... – y = q , q < y Pro jednotlivé hodnoty zavedeme proměnné X (dělenec), Y (dělitel) a Q (zbytek). Podle vztahu můžeme zbytek vypočítat tak, že proměnné Q přiřadíme hodnotu dělence a potom od ní, pokud to ještě není zbytek, opakovaně odečítáme dělitele, tzn. opakovaně provádíme příkaz Q:=Q-Y. Základem algoritmu tedy bude cyklus "pokud Q≥Y (tzn. Q není zbytkem) opakuj Q:=Q-Y". Tento cyklus skončí, až neplatí podmínka Q≥Y, tzn. platí Q
47
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
Je obzvláště důležité, abychom příkaz cyklu dobře pochopili. Proto si ověříme sestavený algoritmus trasováním. Následuje tedy trasovací tabulka pro vstupní data 13 5 (výsledek je 3) a pro vstupní data 4 7 (výsledek je 4).
Modifikace pro cyklus probíhající až do splnění podmínky B: "opakuj P až do splnění B" , Cyklus s výstupní podmínkou
kde P je opět tělo cyklu (tj. příkaz, který se má opakovat), B je podmínka, při jejímž splnění cyklus končí (při nesplnění se tělo cyklu opakuje).
Podle slova, kterým začíná zápis tohoto příkazu v Pascalu, jej budeme nazývat příkazem cyklu repeat. V jazyce C++ se jedná o následující strukturu (ovšem pozor podmínku je třeba brát negovaně oproti Pascalu, tj. B je podmínka pokračování cyklu
48
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
nikoliv ukončení). V této souvislosti je dobré si osvojit zásady logických úprav, např. not(A and B) = not A or not B. do P1 while (B)
Cyklus repeat se liší od cyklu while v tom, že podmínka ukončení cyklu se testuje až za tělem cyklu, kdežto v cyklu while před tělem cyklu. Znamená to, že tělo cyklu repeat se vždy provede alespoň jednou, zatímco tělo cyklu while se nemusí provést ani jednou (cyklus while je tedy obecnější řídící strukturou). Jak jsme uvedli na začátku této kapitoly, charakteristickou vlastností algoritmů je konečnost: výpočet probíhající podle daného algoritmu a vycházející z přípustných vstupních dat musí po konečném počtu kroků skončit. Při sestavování algoritmu se však můžeme dopustit chyby, nesprávně vytvořit nebo použít nějaký cyklus a program, který na základě algoritmu napíšeme, se může při výpočtu "zacyklit". Chyby, které se při ladění programu (tzn. při testování programu na počítači) projevují zacyklením, tj. neustálým opakováním určitých akcí, které navenek nemusí mít žádný efekt, se obtížně identifikují. Je proto třeba jim předcházet již při algoritmizaci tím, že si uvědomujeme možnost jejich vzniku a cykly navrhujeme tak, aby byly co nejvíce přehledné a bezpečné. Některé okolnosti, které mohou způsobit nekonečnost cyklu, si nyní ukážeme. Všimněme si nejprve triviálního příkladu nesprávného cyklu: while I≠0 do J:=I-1 . Tělo cyklu v tomto příkazu nemá žádný vliv na proměnnou I, která se vyskytuje v podmínce na ukončení cyklu. Proto, platí-li před vstupem do cyklu I≠0, bude se tělo cyklu neustále opakovat, neboť žádným jeho provedením se hodnota I nemůže změnit na nulu a tedy logický výraz I≠0 nemůže přestat platit. Tento příklad můžeme zobecnit a formulovat tak jednu důležitou zásadu pro navrhování cyklů while a repeat: V příkazech cyklu while B do P
resp.
repeat P until B
musí tělo cyklu P obsahovat příkaz, který mění hodnotu proměnné použité v logickém výrazu B. Změna hodnoty takové proměnné je nutná k tomu, aby po konečném počtu provedení těla cyklu se změnila hodnota logického výrazu B, a tím se cyklus ukončil. Přestože výše uvedená zásada je pro konstrukci správného cyklu důležitá, konečnost cyklů ještě zcela nezaručuje. Ukážeme si to opět na příkladu. Uvažujme cyklus repeat P; I:=I+1 until I=N
49
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
kde P je nějaký příkaz, který nemění hodnotu proměnné I. Tento cyklus v některých případech skončí a v jiných ne. Pokusme se je rozlišit: Jelikož každým provedením těla cyklu se hodnota proměnné I zvětší o 1 a podmínka na ukončení (která se zde testuje po provedení těla cyklu) je I=N, je pro skončení cyklu zapotřebí, a před jeho zahájením platilo I
Cyklus s pevným počtem opakování
Přestože tento příkaz musíme při psaní programu rozepsat pomocí jiných příkazů, je pro algoritmizaci užitečný, neboť vyjadřuje určitý princip řešení (N-provedení nějakého příkazu) nezávisle na způsobu jeho realizace. Můžeme proto říci, že tento příkaz je vhodný při sestavování hrubého popisu řešení. Sestavíme algoritmus pro výpočet mocniny. Vstup: x n , n je nezáporné celé číslo n Výstup: x n x
50
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Algoritmy
N-tou mocninu čísla x vypočteme podle vztahu x = x.x. ... .x n-krát Zavedeme tedy proměnné X a N pro vstupní data a Z pro výsledek. Požadovanou hodnotu získáme tak, že N-krát provedeme příkaz Z:=Z*X kde počáteční hodnotou proměnné Z bude 1. Můžeme tedy sestavit hrubé řešení. Rozložíme nyní příkaz "N-krát opakuj". Zavedeme pomocnou proměnnou I, ve které si budeme pamatovat, kolikrát bylo tělo cyklu provedeno. V těle cyklu tedy přibude příkaz I:=I+1. Vzhledem k tomu, že připouštíme též N=0, což znamená ani jedno provedení těla cyklu, rozepíšeme příkaz "N-krát opakuj" pomocí cyklu while, který bude probíhat, pokud platí I
Na závěr ještě uvádíme zápis algoritmu pascalskou formou za použití první varianty rozkladu: var X,N,I,Z:integer; begin read(X,N); I:=0; while I
I=A+1,
I=A+2,
51
...
I=B .
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Značkovací a skriptovací jazyky
Pro odlišení od předchozích příkazů cyklu jej budeme nazývat příkazem for.
Typickým algoritmem, ve kterém se používá cyklus s řídící proměnnou, je algoritmus výpočtu faktoriálu. Z analýzy, kterou jsme před jeho sestavením provedli, vyplývá, že požadovaného výsledku v proměnné F dosáhneme opakovaným provedením příkazu F:=F*I pro I od 2 do N.
3.2. Značkovací a skriptovací jazyky Při tvorbě efektivního elektronického obchodu nelze již dnes vystačit jen se statickými webovými prezentacemi. To platí nejen o velkých elektronických obchodech typu e-mall, ale i pro úzce orientované obchody typu e-shop. Efektivní obchodování musí nutně používat databázové rozhraní, ať už jde o zboží, zákazníky nebo logistickou podporu.
Jazyk HTML
Theodor Nelson začal pracovat na realizaci nelineárního spojování dokumentů známem jako hypertext. Odtud již nebylo daleko ke zkratce HTML, tj. HyperText Markup Language = „hypertextový značkovací jazyk“ Značkovací jazyk (markup language) je formálně definovaný jazyk, který zavádí množinu speciálních symbolů. Tyto symboly se obvykle nazývají značky (markups), někdy též tagy. Značky se vkládají do původního dokumentu, vyznačují části textu a obohacují tak dokument o další informace. Mohou definovat buď strukturu - pak hovoříme o logických značkách (deskriptivním značkování), nebo formát - k tomuto účelu slouží vizuální značky (procedurální značkování). Toto dělení nezmiňuji náhodně, neboť hrálo, a dodnes hraje, ve vývoji a použitelnosti značkovacích jazyků nezanedbatelnou a mnohdy i zcela klíčovou roli. Roku 1986 vzniká SGML (Standard Generalized Markup Language), definovaný v normě ISO 8879. Tento obecný značkovací jazyk umožňuje definici vlastních (podřízených) značkovacích jazyků na základě vlastní definice typu dokumentu - DTD. Jazyk HTML je jednou z aplikací
52
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Značkovací a skriptovací jazyky
SGML, každá verze HTML používá značky tak, jak je popsáno v každé příslušné DTD. Následuje vývoj HTML, jak jej v publikaci Dynamické HTML popisuje Pavel Mikle, (Unis Publishing 1997). 1989 - Tim Berners-Lee přichází s projektem vytvoření distribuovaného hypertextového systému - ve výzkumných laboratořích CERN ve Švýcarsku je zahájen projekt WWW 1991, 1992 - zveřejněna neformální specifikace HTML - první veřejně dostupná verze prohlížeče; pouze textový režim 1993 - na světě pracuje kolem padesáti serverů - dokončen první grafický prohlížeč dokumentů NCSA Mosaic; pro prostředí X-Window - návrh jazyka HTML verze 2.0 1994 - první mezinárodní konference věnovaná systému WWW - autor programu Mosaic zakládá společnost Mosaic Communications Corp.; tato uvede za krátkou dobu prohlížeč pod názvem Netscape - v září založena organizace World Wide Web Consortium (dále jen W3C) - CERN předává vývoj WWW francouzskému institutu INRIA 1995 - WWW se rozšiřuje - oficiální specifikace HTML 2.0 (INRIA) - Netscape uvádí neoficiální rozšíření HTML, známé jako HTML 3.0 1996 - oficiální specifikace HTML 3.2 (W3C); v porovnání s HTML 3.0 je chudší - Microsoft vypouští svůj první prohlížeč zdarma, Internet Explorer 3.0; první podpora CSS - specifikace CSS level 1 1997 - specifikace HTML 4.0 (W3C); přidány rámy a plovoucí rámy, vylepšeny formuláře a tabulky, větší podpora skriptů - Microsoft vydává Internet Explorer 4.0; směr - DHTML
53
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Značkovací a skriptovací jazyky
1998 - Microsoft vydává Internet Explorer 5.0 - první specifikace XML 1.0 - specifikace CSS level 2 1999 - specifikace HTML 4.01 2000 - první specifikace XHTML 1.0 - specifikace XML 1.0 (Second edition) 2001 - Microsoft vydává Internet Explorer 6 - specifikace XHTML 1.1 2002 - reformulace XHTML 1.0 2003 - pracovní návrh XHTML 2.0 - pracovní návrh revize CSS level 2.1 - pracovní návrh CSS level 3 Webové standardy SGML (Standard Generalized Markup Language ) Je univerzální značkovací metajazyk, který umožňuje definovat značkovací jazyky jako své vlastní podmnožiny. SGML je komplexní jazyk poskytující mnoho značkovacích syntaxí, ale jeho složitost brání většímu rozšíření. HTML (HyperText Markup Language – „hypertextový značkovací jazyk“) HTML se už ve své první verzi, díky své jednoduchosti, stal velmi populární. Původně byl HTML určen pro zobrazování struktury dokumentu bez vážnějšího důrazu na vizuální a grafickou interpretaci. Při vývoji HTML však došlo, na nátlak ze strany tvůrců stránek a prohlížečů, k jistému odklonu tím, že se do nových verzí HTML začali postupně přidávat různé formátovací značky pro vzhled a interaktivitu. Klíčová chyba nastala, když se jako nástroj pro design webu začaly používat tabulky. Tabulka měla a má sloužit pro prezentaci tabulkových dat. Nikoliv pro utváření vzhledu stránky. To způsobilo, že se z jednoduchého značkovacího jazyka stal nástroj na tvorbu prezentací a formátovací značky pak tvořili podstatný díl obsahu webových stránek (specifikace HTML 3.2 z roku 1996). Tím se vytratila struktura a čitelnost,
54
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Značkovací a skriptovací jazyky
která byla hlavním záměrem původního HTML a internet do jisté míry ovládl chaos. XML (eXtensible Markup Language – „rozšiřitelný značkovací jazyk“) Je obecný značkovací jazyk, který byl vyvinut a standardizován konsorciem W3C. Umožňuje snadné vytváření konkrétních značkovacích jazyků pro různé účely a široké spektrum různých typů dat. Jazyk je určen především pro výměnu dat mezi aplikacemi a pro publikování dokumentů. Jazyk umožňuje popsat strukturu dokumentu z hlediska věcného obsahu jednotlivých částí, nezabývá se sám o sobě vzhledem dokumentu nebo jeho částí. Prezentace dokumentu (vzhled) se potom definuje připojeným stylem. Další možností je pomocí různých stylů provést transformaci do jiného typu dokumentu, nebo do jiné struktury XML. Původní jazyk pro publikování HTML již přestal vyhovovat především pro svou složitost, která vznikla jeho postupným (a svévolným) rozšiřováním. Jazyk XML nemá žádné předdefinované značky (tagy, názvy jednotlivých elementů) a také jeho syntaxe je podstatně přísnější, než HTML.
Technologie a formáty související s XML S jazykem XML se pojí mnoho nových technologií, které práci s ním výrazně ulehčují a obohacují. Pro adresaci konkrétních částí XML dokumentu se používá jazyk XPath. Jeho princip je velmi podobný adresaci v souborovém systému. XPath je velmi mocný a zároveň dostatečně "jemný" jazyk, který otevírá uživateli širokou škálu možností jak vyznačit, co a podle jakých kritérií vybírat. Není problém vybrat elementy, jejichž nějaký atribut má nějakou požadovanou hodnotu, vybrat všechny podelementy určitého elementu, vybrat pouze některé atributy,... V současné době se už začíná hojně používat XPath verze 2.0, který přináší oproti starší verzi (1.0) "pouze" další a přesnější možnosti adresace. O odkazy se stará technologie XLink. XLink definuje XML konstrukce, které popisují odkazy mezi zdroji. Ovšem tyto odkazy jsou daleko obecnější než například klasické hypertextové odkazy v HTML. Na jednom odkazu se nemusí podílet pouze dva dokumenty, ale může jich být mnohem víc, jako odkaz může fungovat libovolný element (ne pouze A element) atd. Specifikací a standardů je samozřejmě mnohem víc, kupříkladu XPointer (odkazy v rámci dokumentu), XInclude ("vnoření" XML dokumentu (nebo holého textového souboru) do jiného XML dokumentu), XMLBase (explicitní specifikace URI dokumentu pro řešení relativních URI v odkazech na externí obrázky, kaskádové styly,...) atp. Dále jsou to jiné způsoby definice typu dokumentu, které se snaží nahradit již přece jen
55
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Značkovací a skriptovací jazyky
poněkud obstarožní a nepružné (ale stále nejpoužívanější) DTD XMLSchema, Relax NG, Schematron...
XHTML (eXtensible Hypertext Markup Language – „rozšiřitelný hypertextový značkovací jazyk“) Na přelomu století se ukazuje, že HTML je díky svému odklonu od původní myšlenky příliš rozvolněný formát a potřeba více striktního formátu začíná být nutností. V roce 2000 tak přichází na svět první specifikace XHTML. Je značkovací jazyk pro tvorbu hypertextových dokumentů v prostředí WWW vyvinutý W3C. Původně se předpokládalo, že se stane nástupcem jazyka HTML, jehož vývoj byl verzí 4.01 ukončen. V roce 2007 však došlo k založení pracovní skupiny, která má za cíl vytvořit novou verzi HTML, která ponese označení HTML 5.0. XHTML je stále paralelně vyvíjeno a stále se pracuje na verzi 2.0. CSS (Cascading Style Sheets – „tabulky kaskádových stylů“) Jr to jazyk pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML. Jazyk byl navržen standardizační organizací W3C, autorem prvotního návrhu byl Håkon Wium Lie. Byly vydány zatím dvě úrovně specifikace CSS1 a CSS2, dokončuje se revize CSS 2.1 a pracuje se na verzi CSS3. Hlavním smyslem je umožnit návrhářům oddělit vzhled dokumentu od jeho struktury a obsahu. Původně to měl umožnit už jazyk HTML, ale v důsledku nedostatečných standardů a konkurenčního boje výrobců prohlížečů se vyvinul jinak. Starší verze HTML obsahují celou řadu elementů, které nepopisují obsah a strukturu dokumentu, ale i způsob jeho zobrazení. Z hlediska zpracování dokumentů a vyhledávání informací není takový vývoj žádoucí.
Dalším zajímavým jazykem, který se zrodil v souvislosti s rozmachem mobilní komunikace a vytvořením WAPu, je WML (Wireless Markup Language). Možná se sami sebe ptáte, proč se pro "mobilní internet" používá právě WML? Inu, odpověď na tuto otázku jsem již částečně naznačil v minulém odstavci. WML je instancí XML, tedy pro jeho zpracování stačí zásobník, jednoduchý datový typ, který v pohodě zvládnou obsluhovat i málo výkonné procesory s malou operační pamětí mobilní telefony. Další důvody jsou nabíledni: malé výstupní zařízení (display), omezené vstupní zařízení, pomalý přenos, dlouhá odezva,... Samotný jazyk je opravdu velice jednoduchý a směrem do budoucnosti se dá předpokládat, že s dalším vývojem našich "mobilních přátel" bude tendence přejít na jazyk složitější (XHTML?). Ale nechme se překvapit. O dalších jazycích se zmíním jen letmo - už teď je jich ohromné množství, neboť v každé význačné (nebo jen populární) oblasti lidské činnosti začínají různé více či méně organizované společnosti lidí tvořit pro svůj obor vhodné DTD - a tedy značkovací jazyk. Matematikové mají
56
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ Značkovací a skriptovací jazyky
MathML, který je vhodný pro popis různých matematických výrazů, které posléze umožňují některé webové služby i vypočítat. Dále existují jazyky pro popis slovníků, záložek (bookmarků webových prohlížečů), CALS, TeXML a mnohé další. Pokud však chceme vytvářet opravdu funkční a automatizovaný web pro obchodování typu B2C, musíme použít něco více než statické HTML. Pro účely dynamického webu se nejčastěji používají skriptovací jazyky PHP a ASP, případně také JavaScript. PHP má výhodu, že je volně šiřitelé a lze ho napojit na další freewarový prostředek, kterým je databázový server MySQL. ASP je produktem společnosti Microsoft a tudíž servery na něm založené jsou licencovanými produkty za úplatu. HTML je značkovací jazyk. Značkuje (označuje) části dokumentu, stránky. To znamená, že pomocí HTML určujeme, jaký význam bude mít ta která část HTML stránky. Tedy pomocí HTML řekneme, že tenhle kus textu bude nadpis, jíný kus textu odstavec a jiný tabulka. Jestliže chcete udělat i ty úplně nejjednodušší webové stránky, HTML (XHTML) potřebujete. CSS je formátovací jazyk. To znamená, že určuje, jak bude která část stránky vypadat. Pomocí CSS stylu tedy můžeme určit vzhled stránky. Tedy CSS říká, že nadpis (o kterém HTML určilo, že je nadpis) bude modrý, že odstavec se bude zarovnávat vlevo a že tabulka bude na zeleném pozadí. Naopak užneříká, která část stránky bude tím nadpisem, odstavcem či tabulkou. CSS tedy určuje jen vzhled stránky. Tedy vše, co se týká barvy, písma, velikosti prvků a podobně. I CSS styly k tvorbě stránek potřebujete, i když ne úplně nezbytně. Jde to i bez nich, ale takový způsob je už velkým přežitkem, dělat stránky bez CSS je špatně. Proto se už od začátku učte CSS současně s HTML (XHTML). PHP je skriptovací jazyk. Dělají se pomocí něj různé webové aplikace jako je kniha hostů, počítadlo návštěv, anketa, diskusní fórum nebo chat. Rozhodně s PHP nezačínejte, pokud ještě neovládáte základy HTML, budete je totiž potřebovat. JavaScript je také skriptovací jazyk. Rozdíl mezi JavaScriptem a PHP je v tom, že PHP funguje na serveru a JavaScript na klientovi. To znamená, že to, co dělá JavaScript se vždy odehrává na vašem počítači (resp. na počítači uživatele vašich stránek) a neodesílá žádná data na server. Pomocí JavaScriptu tedy nevytvoříte nic, co by muselo proběhnout Internetem. JavaScripty dokonce fungují, i když nejste k Internetu zrovna připojeni.
57
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
XHTML je nástupce HTML založený na XML. Rozlišujeme 3 druhy XHTML: XHTML 1.0 Strict čistě strukturální značkování, neobsahuje žádné značky spojené s formátováním vzhledu XHTML 1.0 Transitional povoluje atributy pro formátování textu a odkazů v elementu body a některé další atributy XHTML 1.0 Frameset používá se při použití rámců pro rozdělení okna prohlížeče na dvě nebo víXHTML je nástupce HTML založený na XML. Rozlišujeme 3 druhy XHTML: XHTML 1.0 Strict čistě strukturální značkování, neobsahuje žádné značky spojené s formátováním vzhledu XHTML 1.0 Transitional povoluje atributy pro formátování textu a odkazů v elementu body a některé další atributy XHTML 1.0 Frameset používa se při použití rámců pro rozdělení okna prohlížeče na dvě nebo více částí 3.3. XHTML XHTML - Exteded HyperText Markup Language XHTML je značkovací jazyk. XHTML soubor má koncovku html nebo htm. Nyní se pro webové stránky používá právě XHTML (dříve HTML), který vychází z obecného standardu pro výměnu dat XML. XHTML popisuje význam obsahu (srovnání HTML a XHTML). Ale to není důležité. Elementy a značky XHTML utváří dokument pomocí značek. A to už je důležité. Například: normální text <strong>zvýrazněný text To co jsem nyní zapsal je XHTML zdrojový kód. Tento zdrojový kód se zapisuje v textovém editoru (nebo editoru webových stránek) a ukládá se s koncovkou .html nebo .htm, takový dokument se následně otevírá v internetovém prohlížeči (Internet Explorer, Mozilla FireFox...) A to je nejdůležitější. Na začátek tučného textu vložíte značku <strong> a na konec uzavírací značku , zpětné lomítko slouží k určení, že jde o uzavírající
58
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
značku. Vymezený text, včetně značek se nazývá element nebo prvek. Značky se vždy zapisují malými písmeny! Atributy Většina prvků může mít atributy, ty upřesňují jeho vlastnosti. <strong title="ahoj">ahoj Element strong vyznačuje zvýrazněný text - v prohlížeči bývá nejčastěji vykreslen tučným textem. Atribut title obvykle vytvoří bublinu s popiskem (ta se zobrazuje po najetí myši). Zde je příklad zápisu značek:
odstavec <strong>zvýrazněný text
Mezery a řádky Když zapíšete v XHTML kódu více než jednu mezeru, budou se tyto mezery interpretovat jako jedna. Budete-li tedy chtít zapsat mezer více můžete použít zápis - jde o entitu, o pevnou mezeru. Podobný problém nastává se zalamováním řádků, pokud použijete enter nic se nestane, pokud chcete odřádkovat je nutné použít prvek , jinak si prohlížeč zalomí text sám (podle velikosti obrazovku, objektu). Některé znaky nemohou být v kódu použity, protože by se špatně interpretovaly, nebo neinterpretovaly ( ). Důležité je, že entita končí středníkem. více o entitách. Pokud chceme vytvářet web pomocí moderního XHTML namísto standardního HTML (Hyper Text Markup Language) je potřeba dodržovat mnohem striktněji jeho pravidla. Pro HTML existují prohlížeče, které jsou velmi robustní ve smyslu nekorektní syntaxe uživatelského webu. Nyní shrneme nejdůležitější pravidla •
Před samotným dokumentem se nachází deklarace.
•
Povinná je deklarace typu dokumentu (DTD), bez něhož by prohlížeč nemohl správně stránku zobrazit. XHTML 1.0 Strict XHTML 1.0 Transitional
59
Pravidla XHTML
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
XHTML 1.0 Frameset •
Kořenový element html obsahuje atribut xmlns, který určuje jmenný prostor dokumentu (namespace) a jazyk, který je v dokumentu použit.
•
Element html vždy obsahuje dva elementy, head (hlavičku) a body (tělo dokumentu). Hlavička musí obsahovat element title a měla by obsahovat i metatag pro kódování (kvůli starším prohlížečům).
•
Všechny tagy i atributy musí být malými písmeny, XHTML je case-sensitive.
•
Všechny hodnoty atributů musí být v XHTML v uvozovkách.
•
Všechny XHTML tagy musí být párové. Při použití prázdného tagu se musí tag ukončit lomítkem, např.
•
Tagy se nesmí nikdy křížit.
•
Striktní XHTML neobsahuje žádné atributy sloužící k formátování. Oproti HTML jsou z XHTML vypuštěny formátovací tagy (jako např. font, b, i).
•
Vkládané skripty na straně klienta (např. javascript) by měly být vloženy do sekce CDATA. Starší prohlížeče ale CDATA nepodporují.
V HTML se používají speciální značky – tagy. Tagy jsou tvořeny znaky „<” a „>” mezi nimiž je název tagu (takto: ). Vše ostatní, co není mezi těmito znaky, se zobrazuje jako výsledný text na stránce. Tagy pak určují, jaký má text význam (např. jestli se jedná o nadpis, tabulku, či hypertextový odkaz). V XHTML jsou všechny tagy párové, to znamená, že ke každému počátečnímu tagu musí existovat tag ukončovací, ten se liší od počátečního tím, že před názvem tagu obsahuje lomítko („/”). Celé to pak vypadá takto: Text zobrazovaný na stránce.
60
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
Pokud použijeme tag, který neobsahuje žádný text, který by bylo nutno obklopit počátečním a koncovým tagem (týká se to např. tagu img u obrázku), použijeme zápis: Jeden tag může být uvnitř druhého tagu, ale tagy se nikdy nesmí křížit! špatně Text zobrazovaný na stránce. dobře Text zobrazovaný na stránce. Všechny tagy píšeme malým písmenem, XHTML je case-sensitive, tzn. že vlastně vůbec nezná. Pozn.: „tag” není názvem žádného tagu. Elementem nazýváme celou sekvenci počínaje počátečním tagem a konče tagem ukončovacím. Existují tři základní druhy elementů, blokové, inline a nahrazované. Podle významu, který textu přiřazují je můžeme rozdělit ještě na elementy pro strukturování dokumentu, textové elementy, elementy pro tvorbu odkazů, elementy pro tvorbu tabulek elementy pro tvorbu seznamů a podobně. Blokové elementy jsou elementy, které tvoří nějaký blok. Zjednodušeně to znamená, že po takovém elementu je text dokumentu zalomen, odřádkován. Blokovými elementy jsou například h1 pro nadpis nebo p pro odstavec. Inline elementy jsou ty, které se nachází uvnitř textu, nedochází po nich k zalomení. Obvykle plní funkci zvýraznění nějaké části textu. Je to například a pro hypertextový odkaz. Nahrazované elementy jsou nahrazeny nějakým obsahem, pro začlenění dokumentu jsou důležité jejich rozměry. Například img pro obrázek. Elementy mohou mít své atributy. Ty jsou přiřazením nějaké vlastnosti danému elementu. Atributy se píší do počátečního tagu, může jich být více (oddělují se mezerou), nemusí být žádný. Každý atribut má svou hodnutu. Hodnota atributu musí být v XHTML zapsána v uvozovkách. <element atribut="hodnota _atributu">Text zobrazovaný na stránce. Pozn.: Hodnotu atributu můžeme zapsat i do apostrofů. V pravidlech XHTML už jsme si vysvětlili, že dokument začíná deklarací XML, následuje DTD, potom tag HTML obsahující hlavičku a tělo dokumentu. Můžeme tedy sestavit celý základ stránky.
61
Párování
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" /> Titulek stránky
Odstavec textu.
Tak takto by měla vypadat kostra stránky. Soubor uložíme s příponou htm nebo html.
Struktura dokumentu
Přehled použitých značek: html označuje, že se bude jednat o HTML dokument, obsahuje head a body head hlavička, obsahuje title, metatagy (např. kódování), odkazy na externí dokumenty definice stylu, skripty, apod. title titulek stránky, to co se objeví jako název okna body tělo dokumentu, tady se bude nacházet celý obsah stránky p označení odstavce Existuje 6 úrovní nadpisů, označují se tagy h1, h2, h3, h4, h5 a h6, kde 1 je úroveň nejvyšší. Úrovně se liší velikostí písma, všechny nadpisy jsou implicitně zarovnávány vlevo.
Nadpis
Nadpis
Nadpis
Nadpis
Nadpis
Nadpis
1. 2. 3. 4. 5. 6.
úrovně
úrovně úrovně úrovně úrovně úrovně
A takový je výsledek:
62
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
Odkazy jsou základem hypertextovosti Internetu. Bez odkazů by se uživatel nikam nedostal. V textu jsou odkazy vizuálně odlišeny, standardně je to barevným odlišením a podtržením. Při přejetí myši přes odkaz se mění kurzor (obvykle ze šipky na tlapičku), kliknutím je odkaz aktivován a dochází k přesměrování. Pro odkaz se používá element a (z anglického slova „anchor“ - kotva). Jeho atributem je href. Ten udává, kde je umístěn cílový dokument (tedy na kterou stránku odkaz směřuje). Samotné umístění pak zadáváme absolutní nebo relativní cestou. Absolutní odkaz se používá pro odkázání na dokument umístěný na jiném serveru, např. jako odkaz na jinou stránku. Odkaz na jinou stránku musí vždy obsahovat http://. Hashim Habiballa Hodnotou atributu href je tedy adresa cílového dokumentu (v tomto případě http://www.volny.cz/habiballa). Zobrazovaný a klikatelný text bude Hashim Habiballa. Relativní odkaz použijeme, pokud odkazujeme v rámci stránky. Při použití relativního odkazu prohlížeč sám doplňuje URL stránky, z které je odkazováno. Pokud tedy odkazujeme na dokument nacházející se ve stejném adresáři, stačí napsat jen jméno souboru. úvod Pokud se dokument nachází v jiném adresáři, musíme do URL zahrnout celou cestu od místa, kde se cesty k odkazovanému a odkazujícímu dokumentu začaly odlišovat. Ford Fusion Pokud se budeme chtít dostat v adresářové struktuře o úroveň výš, použijeme k tomu dvou teček, tj. ... Pokud bychom tedy chtěli ze stránky fusion.htm (viz. výše) odkázat na stránku FiatPalio.htm, která je uložená v adresáři Fiat a ten se nachází v adresáři:
63
Odkaz
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
Fiat Palio Někdy je dobré odkazovat i na části stránky, to se hodí jednak pokud je stránka delší — pak v úvodu použijeme odkazy na její jednotlivé častí a dále pokud z jiné stránky potřebujeme použít odkaz na přesně určenou část stránky (aby uživatel nemusel hledat). Pro označení místa, na které chceme odkázat použijeme atruibut id, v odkazu potom použijeme jako vždy atribut href, který ale bude tentokrát začínat hash-markem #. Často se toto používá také při odkazování na začátek stránky. zpět na začátek Stejným způsobem pak odkazujeme i z jiné stránky, jen musíme přidat klasickám způsobem odkaz na celý dokumet a za něj odkaz na konkrétní místo. Spotřeba Takový odkaz můžeme dát někam nakonec stránky, po kliknutí prohlížeč sám „odroluje” tak, že se element odznačený příslušným názvem dostane do horní části okna prohlížeče. Pozn.: Odkazovaná část dokumentu se do horní části okna pochopitelně nedostane v případě, že pokračování stránky není dostatečně dlouhé k zaplnění celého okna prohlížeče (bude pak někde uvnitř okna…). Část dokumentu, na kterou takto odkazujeme označíme takto (v našem případě budeme odkazovat na hlavní nadpis stránky):
Hlavní nadpis stránky
K otevření odkazu v novém okně slouží atribut target s hodnotou _blank. V novém okně se obvykle otvírají odkazy, které směřují na „cizí stránky”. Otevírat v novém okně odkazy na vlastní stránky (tím myslím například otevírání položek menu v novém okně) je naprostý nesmysl. Vlastně samotné otevírání odkazů v novém okně si myslím, že je nesmysl, uživatel je snad natolik inteligentní, aby se sám rozhodl, jestli si otevře odkaz v novém nebo ve stejném okně. Bohužel jakmile určíme otevření v novém okně uživatel již tuto možnost volby nemá, což si myslím není dobré. Hashim Habiballa Pozn.: Atribut target není povolen v XHTML 1.0 Strict, v Transitional ano. Každý odkaz by měl mít svůj titulek. Tím je text, který uživateli přiblíží, kam vlastně odkaz směřuje. Titulek se zobrazí při najetí kursoru myši na odkaz. Titulky odkazů jsou důležité také např. pro čtecí zařízení, umožňují lepší orientaci na webu. Hashim Habiballa
64
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
Neuspořádaný neboli nečíslovaný seznam se značí tagem ul (unordered list). Položka seznamu je li (list item). Položka může obsahovat i více odstavců. Před každou položkou se standardně vytváří odrážka.
žirafa
slon
velbloud
Uspořádaný neboli číslovaný seznam se značí tagem ol (ordered list). Položka seznamu je opět li. Před položku se automaticky vypisuje její pořadové číslo.
žirafa
slon
velbloud
Seznamy
Definiční seznam se používá obvykle v případě, kdy potřebujeme např. vypsat nějaké termíny a k nim jejich definice nebo popisy. Je pro něj tag dl (definition list). Definovaný termín se označuje tagem dt (term), definice termínu tagem dd (definition).
žirafa
zvíře s dlouhým krkem
slon
zvíře s chobotem
velbloud
zvíře s jedním nebo dvěma hrby
Tabulka se vytváří pomocí elementu table. Pro řádek tabulky slouží tag tr (table row), pro buňky tabulky tagy th (table head; pro buňky v záhlaví tabulky) a td (table data). Buňky se vkládají uvnitř řádku tabulky, kolik buněk, tolik bude mít tabulka sloupců. Buňky záhlaví jsou standardně formátovány tučným písmem, zarovnány na střed. V tabulce se používá atribut summary, který shrnuje obsah tabulky. Slouží pro lepší přístupnost webu.
65
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
1
2
aaa
bbb
ccc
ddd
Tabulky
Pro nadpis tabulky se používá element caption. Ten by měl být uveden uvnitř tagu table ještě před prvním řádkem.
Nadpis tabulky
1
2
aaa
bbb
ccc
ddd
Atribut colspan sloučí dohromady několik buněk v jednom řádku. Atribut rowspan sloučí buňky ve sloupci. Jako hodnotu těchto atributů zapisujeme počet buněk, které chceme takto sloučit.
Nadpis tabulky
1
66
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
aaa
bbb
ccc
Pro vložení obrázku slouží nepárový element img. Povinnými atributy jsou src, jehož hodnotou je název obrázku, případně i s cestou a alt obsahující alternativní text, který se zobrazí, pokud je obrázek prohlížeči nedostupný, buď proto, že se na zadané adrese nenachází nebo proto, že prohlížeč obrázky nezobrazuje. Alternativní text by měl tedy nějakým způsobem příblížit co je na obrázku těm, kteří jej nevidí. Obrázky na webu bychom měli na webu používat opatrně. Kromě výběru vhodných obrázků je třeba dbát na jejich datovou velikost, zdaleka ne každý si může dovolit prohlížet stránky, jejichž velikost se dá počítat v megabytech. Obrázky, které nemají jinou funkcni než „zlepšení designu“ stránky by měli být vkládány pouze pomocí CSS stylu a to jako obrázek na pozadí. Velikost obrázku Velikost obrázku není povinné zadávat, přesto je velkou chybou toto opomenout. Pokud totiž velikost obrázku nezadáte, prohlížeč si na jeho zobrazení nevyhraní dostatečny prostor a jelikož okolní text se samozřejmě načte dřív než obrázek (protože je co se týče velikosti dat menší), způsobí to jakési „poskakování” stránky ve chvíli, kdy se začínají načítat obrázky, které potřebují více prostoru než mají a okolní text jim vlastně musí uhýbat. Stejně tak je vhodné zadávat obrázku jeho skutečnou velikost, nezmenšovat ani nezvětšovat pomocí prohlížeče, ale pomocí grafického editoru. Pokud totiž obrázek o velikosti např. 100×100 pixelů zmenšíme v prohlížeči na 50×50, docílíme tak sice požadované velikosti, ale uživatel bude zbytečně stahovat více dat, protože bude stahovat samozřejmě obrázek v původní velikosti.
67
Obrázky
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
Pro určení velikosti obrázku se používají atributy width (šířka) a height (výška) nebo stejnojmenné vlastnosti v CSS. Velmi účinným a nepřehlédnutelným designovým prvkem je tzv. Obrázková mapa. Obrázkové mapy využijeme například pro různé navigační lišty. Je to obrázek, jehož jednotlivé části mají sloužit jako odkazy na různá místa. Mapa se vytváří pomocí elementu map. Jeho povinným atributem je id, což je atribut sloužící jako identifikátor této mapy. Jeho hodnotou je tedy nějaký textový řetězec, s kterým se později bude obrázek této mapy dovolávat. Element map obsahuje libovolný počet (nejméně jeden) elementů area, které vymezují prostor z obrázku, který bude odkazem a určují kam bude odkazovat. Tvar hranice aktivní oblasti (tj. místo, na které budeme moci kliknout a odkázat se na daný dokument) určuje atribut shape. Jeho hodnotou je buď rect (obdélník), poly (mnohoúhelník) nebo circle (kruh). Konkrétní vymezení oblasti je dáno v atributu coords. Jeho hodnotou jsou čísla oddělená čárkou, která definují vrcholy n-úhelníku. V případě obdélníku je to v pořadí: souřadnice x levého horního rohu, souřadnice y levého horního rohu, souřadnice x pravého dolního rohu, souřadnice y pravého dolního rohu. Obdobně po sobě budou následovat všechny vrcholy mnohoúhelníku. V případě kružnice jsou zadávána čísla v pořadí: souřadnice x středu, souřadnice y středu, poloměr kružnice. Pozn.: Počátek soustavy souřadnic je v levém horním rohu, tedy levý horní roh má souřadnice [0,0]. Souřadnice x roste ve směru zleva doprava, souřadnice y ve směru shora dolů. Mapa odkazů
Povinným atributem u area je alt a neméně důležitým href, který určuje cíl odkazu. Takto můžeme tedy rozdělit obrázek na několik aktivních oblastí. Mapa je již vytvořená, stačí jen říct obrázku, aby ji použil. Toho docílíme pomoci atributu usemap (atribut tagu img). Jeho hodnotou bude tentýž řetězec, jaký jsme použili v tagu map u atributu id. A teď už jen zbývá si to všechno sepsat na konkrétním příkladě: <map id="mapa" name="mapa"> <area href="#1" alt="část 1" coords="0,0,33,31" /> <area href="#2" alt="část 2" coords="34,0,66,31" /> <area href="#3" alt="část 3" coords="67,0,98,31" /> Pozn.: Atribut name je použit kvůli nové verzi Firefoxu, který zřejmě chybně zpracovává id.
68
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
Výsledná obrázková mapa tedy bude vypadat takto: obrázková mapa A můžete vidět, že každá ze tří částí obrázku skutečně odkazuje jinam. Dalším dnes oblíbeným prvkem webů bývá Flashová animace. Ta se vnoří stejně jako jiné objekty pomocí následujícího příkazu. Meta tagy poskytují alespoň základní informaci o obsahu stránky. Prohlížec je sice přímo nezobrazuje, ale jsou důležité pro zařazení stránky do vyhledávačů. Meta tagy obsahují meta data – informace o stránce. nachází se v hlavičce (head) HTML dokumentu. Nejdůležitějším je meta tag pro kódování češtiny. Pokud ho nepoužijete, text stránek, resp. české znaky se budou zobrazovat nekorektně. Kódování češtiny je nutné uvést ještě před tagem title. <meta http-equiv="Content-Type" content="text/html; charset=windows1250" /> Část charset=windows-1250 označuje použitou znakovou sadu. Pro češtinu se často používají tyto znakové sady: * windows-1250 * iso-8859-2 * utf-8 Meta description popis stránky Pro popis obsahu stránky slouží meta tag description. Jeho obsah se může objevit jako popisek odkazu ve vyhledávačích, takže je určitě dobré dbát na to, aby neobsahoval nesmyslné informace. Slova obsažená v tomto meta tagu mívají také pro vyhledávače vyšší váhu. <meta name="description" content="Meta tagy charset, description a keywords a jejich použití" /> Meta tag keywords obsahuje seznam klíčových slov stránky. To jsou nejdůležitější slova, kterými se stránka zabývá.
Meta tag keywords nemá příliš velký význam. Určen je pro vyhledávače, ale většina vyhledávačů jeho obsah ignoruje zcela, ostatní alespoň do té míry, že nepřiřazují hodnotu slovům obsaženým pouze v keywords a nikde jinde ve stránce. Meta tag author obsahuje informace o autorovi stránky. <meta name="author" content="Petra Větrovská" /> Meta robots pro roboty vyhledávače Informace o tom, zda a jakým způsobem mají roboti indexovat stránku obsahuje meta tag robots. <meta name="robots" content="index,follow" /> Nastavení index,follow je výchozí, takže se používat nemusí. Znamená to indexovat (index) stránku a následovat (follow) odkazy. Další hodnoty jsou noindex (neindexovat) a nofollow (nejít po odkazech). Hodnoty se mohou samozřejmě kombinovat, třeba index,nofollow – robot stránku zaindexuje, ale nebude sledovat odkazy, které z ní vedou. Speciálně pro Google existuje meta tag googlebot. <meta name="googlebot" content="snippet,archive" /> Meta tagy
Opět nastavení snippet,archive je výchozí. Znamená zobrazovat u popisku odkazu část textu stránky (snippet) a ukládat stránku do archivu (archive). Další hodnoty jsou nosnippet a noarchive. Meta tag language obsahuje jazyk použitý ve stránce. <meta name="Content-language" content="cs" /> Možnost vyhledání webu je nesmírně důležitá. Pokud web nikdo nenajde, jako by nebyl. Na této stránce popíšu, jak dostat web do databáze vyhledávače a jak zařídít, aby byl správně zaindexován. Vyhledávání v internetu zajišťují tzv. fulltextové vyhledávače (neboli zcela česky řečeno plnotextové vyhledávače). Vyhledávač vytváří jakousi velkou databázi stránek v Internetu. Stránky pro vyhledávače shromažďují a indexují tzv. roboti. Jsou to stroje, které se pohybují Internetem pomocí hypertextových odkazů. Pohybuje se vlastně podobně jako uživatel, který kliká na odkazy a přemisťuje se tak ze stránky na stránku. To mimo jiné znamená, že stránku, na kterou
70
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
neexistuje žádný odkaz robot nenajde. Taková stránka se pak nedostane do vyhledávače a tudíž ji není možné vyhledat. Poté, co robot stránku zaindexuje je možné ji pomocí příslušného vyhledávače vyhledat (každý vyhledávač má vlastního robota). Vyhledávání bude úspěšné (stránka bude nalezena) pokud se zadané výrazy shodují s těmi v textu stránek (resp. v zaindexované části textu stránek, vyhledávače nemusí zaindexovat stránku celou, ale jen její část několik kilobajtů od začátku). Hledaný text nemusí být ale jen v textu stránky, klíčová slova mohou být obsažena jen v textových odkazech a web na ně bude také vyhledatelný. Dokonce stačí, aby na web vedly nějaké odkazy z tématicky zaměřených webů a web bude vyhledatelný i na jejich klíčová slova. Zpětné odkazy Běžné způsoby jak získat tzv. zpětné odkazy na svou stránku jsou prakticky vzato dva (pomíjím možnosti jako diskuzní fóra či odkazové farmy). První možností je dohodnout se s nějakým vlastníkem webu o umístění odkazu, třeba formou „výměnné reklamy”. Druhou možnost nabízí tzv. katalogy (rozcestníky). Internetový katalog (např. seznam.cz) je vlastně stránka, na které si můžete svůj odkaz zaregistrovat do vybrané sekce podle zaměření webu. Tuto nabídku obvykle naleznete pod souslovím „přidat odkaz”. Tyto služby jsou poskytovány obvykle zdarma, ale také placeně, čehož se hojně využívá především u komerčních webů. Pokud tedy odkaz na stránku již existuje (obecně platí čím více, tím lépe), nezbývá vlastně nic jiného než čekat na návštěvu robota. To může trvat několik dní až týdnů, ale s trochou štěstí to může být hned zítra. Větší šanci na brzkou návštěvu robota zřejmě budeme mít, pokud se odkaz na ní bude nacházet přímo na vstupní stránce (popř. jiné stránce na kterou existují přímé odkazy z jiných webů). Robot totiž ne vždy zaindexuje a prochází celý web. Vyhledávače přikládají různým slovům různou váhu, podle důležitosti jejich výskytu v textu. Vyšší váhu mají slova obsažená v titulku dokumentu (title), v URL adrese či nadpisu nejvyšší úrovně (h1). Klíčová slova (keywords) zadaná v metatagu keywords nemají na vyhledání dokumentu zdaleka takový vliv, jak si hodně lidí myslí. Podobné je to s metatagem description. Vyhledávače jim obvykle nepřidávají příliš velkou váhu (obvykle je berou jako běžný výskyt v textu), některé vyhledávače klíčová slova dokonce zcela ignorují. Je to především z důvodu zneužití těchto metatagů ze strany tvůrců webu, kteří zadávají slova, která se neshodují s obsahem webu, aby zvýšili návštěvnost webu. Nenalezení relevantního dokumentu na dotaz může způsobit několik faktorů.
71
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
Velmi časté jsou chyby v HTML stránkách i jejich HTTP hlavičkách. Robotu, potažmo vyhledávači je sice jedno, jestli jsou stránky validní nebo ne, některé chyby však mohou robotu část textu znepřístupnit. * neuzavřený komentář – text je od začátku komentáře do konce stránky ignorován * chybějící koncové uvozovky u hodnoty atributu – text je chápán jako atribut (tudíž je ignorován) až do té doby, dokud se neobjeví další uvozovky * stránky s rámci bez odkazu na obsah pro alternativní prohlížeče – pokud stránka v rámcích v tagu noframe neobsahuje smyslupný text, nebude zřejmě správně zaindexována (mnoho titulních stránek se dá ve vyhledávači najít s textem typu „Máte špatný prohlížeč, nainstalujte si jiný”) * chybějící ALT text u obrázku – nezpůsobí sice nezaindexování části textu, ale pro vyhledávače je důležitý, zvláště pokud se jedná o obrázek, který zároveň slouží jako odkaz. Informace o znakové sadě Robot potřebuje správnou informaci o znakové sadě. Musí být správně vyplněna položka content-type v metatagu v hlavičce stránky včetně atributu charset. Robot nevidí vše Jestli se dá o robotovi říct,– že používá prohlížeč, tak používá ten úplně nejjednodušší, nejstarší a prostě jen textový. Obvykle robot zná jen HTML (XHTML). Nevidí: * skripty – robot neinterpretuje JavaScript, Java applety, ani VBScript * obrázky – pokud máte místo všech možných nadpisů a menu obrázky, robot je nepřečte, i když je na nich jen text; přečíst může pouze jejich atribut alt, kde by se měl popis obrázku vyskytovat. Totéž platí i pro flash, proto pozor především na flashové menu, v takovém případě robot nemá šanci stránkou vůbec projít. A pokud se už nechcete toho nádherného animovaného menu vzdát, tak aspoň přidělějte nějakou klasickovou textově odkazovou alternativu. Snaha některých autorů webů o co možná nejlepší umístění ve vyhledávači vede v některých případech až k podvodům. Podvodem je zjednodušeně řečeno vytváření odlišného webu pro robota a pro člověka. Člověk vidí, to co je na obrazovce, robot vidí to, co je v kódu. Podvodem je například tzv. „neviditelný text”, což je text barvy pozadí. Robot není hloupý a pozná podvodníky. A taky je za podvádění trestá. Pokud autor takto uvádí klíčová slova nesouvisející s obsahem stránky, popř. nadměrný počet klíčových slov, může být penalizován. Pro web může taková penalizace znamenat zhoršení pozice ve vyhledávači, ale i vyřazení z databáze indexovaných webů.
72
INFORMATIKA V ELEKTRONICKÉM PODNIKÁNÍ XHTML
Formuláře To je systém políček a tlačítek, který odesílá data jiným stránkám, nebo skriptům. Tag