3.2 Základní software

 

3.2.1 Funkce základního softwaru

 

Základní software (dále jen ZSW) zahrnuje programy, které jsou určeny pro přímé řízení počítačových zdrojů a vytvářéní podmínek, za kterých jsou zpracovávány jednotlivé uživatelské aplikace. Jak je vidět z obr. 3.1, je to vrstva programů, které jsou nejblíže technickým prostředkům počítače.

 

Obr. 3.1 Vrstvy programového vybavení (softwaru)

 

Mezi ZSW řadíme

- operační systémy;

- databázové systémy;

- prostředky pro vývoj programů;

- prostředky pro komunikaci;

- middleware (technologický software);

- pomocné programy - utility.

 

3.2.2 Operační systémy

 

3.2.2.1 Charakteristika operačních systémů

 

      Operační systém (dále jen OS) je jádrem programového vybavení. Každý počítač musí mít operační systém, který monitoruje a řídí veškeré hardwarové a softwarové aktivity počítače, řídí tedy činnost celého výpočetního systému. Hlavním úkolem OS je zprostředkovávat spojení mezi technickými prostředky a aplikačním softwarem, uživatel tedy nekomunikuje přímo s vrstvou technických prostředků, ale žádané operace se provádějí prostřednictvím služeb OS. OS tak sleduje požadavky programů uživatele a má možnost je optimalizovat z pohledu využití disponibilních technických zdrojů.

 

3.2.2.2 Obecné funkce operačních systémů

 

            Pokud bychom chtěli úlohu OS zobecnit, můžeme říci, že OS plní tyto funkce:

            - Řídí a spravuje technické prostředky a jejich komponenty (přiděluje čas procesoru, kapacitu paměti, vstupních a výstupních zařízení, řídí priority tohoto přidělování). V souvislosti s tím se stará o maximalizaci propustnosti systému (tzn. že při optimálním využití zdrojů se zvyšuje množství úloh zpracovaných za jednotku času). Na druhé straně umožňuje minimalizovat čas na provedení uživatelských požadavků (snižuje tzv. dobu odezvy systému, tj. čas, který uplyne od okamžiku, kdy byl požadavek zadán, do doby, kdy uživatel obdrží reakci na tento požadavek).

            - Spravuje data (řídí jejich vstup a výstup, uložení a zpětné vyvolání, tedy obsluhuje manipulaci s daty). OS tak najedné straně umožňuje uživateli provádět řadu operací se soubory, na druhé straně však sleduje a eviduje i další informace o těchto souborech. Tyto údaje jsou uživateli obvykle nějak filtrovány (OS sleduje údaje o fyzickém uložení souborů, ale uživatel se při lokalizaci souboru

odkazuje pouze pomocí logického jména zařízení - např. disketa A:, disky C:, D:, F:, G: apod.).

      - Řídí zpracování úloh (úlohou -jobem - se obvykle rozumí jeden nebo více provázaných programů). OS řídí přípravu úloh, jejich plánování, řídí a sleduje jejich průběh tak, aby byla zajištěna maximální efektivnost zpracování.

            - Podporuje komunikaci uživatele s počítačem (prostřednictvím vhodného uživatelského rozhraní - viz dále). Průběžně sleduje práci celého výpočetního systému a informuje uživatele i o vzniklých problémech či chybách.

            - Podporuje bezpečnost a spolehlivost výpočetního systému (např. umožňuje použití hesel pro přístup do různých částí aplikačního programu nebo řešení různé úrovně přístupových práv na počítačové síti apod.).

 

            Součástí operačního systému jsou i komponenty umožňující práci tzv. ovladačů (driverů) ovládajících jednotlivá vstupní/výstupní zařízení. Ovladače tvoří rozhraní mezi různorodými periferiemi a jednotnou komunikací mezi nimi. Tato architektura umožňuje rozšiřování počítače o nová přídavná zařízení a jejich začlenění do operačního systému pouze přidáním jejich ovladačů. Například

grafické karty a jiné komponenty PC nestačí pouze připojit k počítači, ale je třeba zajistit i jejich řízení - pouze tak mohou správně zpracovávat příkazy. Ovladač přitom řídí komunikaci mezi periferií a počítačem se zřetelem k zvláštnostem dané periferie. Ovladačejsou závislé na typu periferie a pomocí instalačního programu se začleňují do operačního systému. Ovladače se starají o to, aby

bylo maximálně využito hardwarového potenciálu dané periferie.

           

            Kupujete-li si tiskárnu, nový monitor či myš, obdržíte kromě vlastního zařízení a manuálu ještě disketu s příslušným ovladačem. Pro připojení nového zařízení do svého počítače musíte instalovat ovladač na svůj disk. Jinak by operační systém s tímto novým zařízením nebyl schopen komunikovat.

 

            Aby mohl OS pracovat, musí být při spuštění počítače jádro OS zavedeno do vnitřní paměti (paměf RAM) - tento proces se označuje jako "bootování ". Programy jádra OS pak podle potřeby zavádějí do operační paměti další součásti OS nebo aplikační programy.

            Jak se vlastně setkává uživatel s funkcemi operačního systému? Uživatel si obvykle některé funkce OS ani neuvědomuje, ale přesto jich denně využívá. Například chce-li uživatel pracovat s aplikačním programem, musí zadat pokyn k jeho spuštění (např. zapsáním jeho jména v příkazové řádce nebo výběrem ikony reprezentující tento program nebo výběrem jména programu z nabídky). Ukládání dat do vnější paměti je také úlohou pro OS.

            Další běžnou úlohou OS je tvorba, údržba a využívání adresářů (knihoven, složek) pro ukládání souborů. Ve smyslu přesunů mezi vnější a vnitřní pamětí, které zajištuje operační systém, je soubor základním prvkem. Souborje z hlediska operačního systému bud'souborem obsahujícím data (např. dokument faktury, tabulka či obrázek), nebo souborem obsahujícím program (např. program pro textové zpracování, aplikační program pro výplatu mezd, grafický program apod.). Programy lze v širším slova smyslu považovat také za data, jde však o data řídící, protože jejich funkcí je řídit práci počítače. Každý soubor musí být v rámci OS identifikován - musí mít své jméno. Součástí jména souboru může být i tzv. přípona (rozšíření, extension), jejíž používání zpřehledňuje práci se soubory. Pravidla pro tvorbu jmen souborů jsou opět dána pravidly příslušného OS.         Se soubory potřebujeme různě manipulovat, přejmenovávat je, kopírovat, rušit, přesouvat do jiných adresářů nebo na jiná zařízení. OS umožňuje i před prvním zápisem do diskové paměti připravit médium tak, aby počítač byl schopen na něj zapisovat a z něj číst. Tato činnost se označuje jako formátování. Zde máme na mysli především formátování disket, protože u pevného disku tuto operaci běžný uživatel neprovádí a pokud by ji provedl omylem, může mít nedozírné následky - ztrátu obsahu celého média!

 

     Poznámka: V současné době se již většinou prodcívají diskety naformátované.

 

            Samozřejmě že předchozí výčet funkcí OS, s kterými se uživatel běžně setkává, není vyčerpávající, některé funkce jsou vyvolávány i nepřímo, např. při zpracování uživatelského programu, a provádějí se vlastně na pozadí nějaké uživatelské funkce (např. při práci s aplikací probíhá automaticky přidělování paměti, času procesoru, sleduje se jejich využití apod.).

 

3.2.2.3 Rozdélení operačních systémů

 

            OS používané pro různé úrovně počítačů se liší svou komplexností a orientací. Například OS pro střediskové počítače (mainframe) musí koordinovat funkce řady procesorů, sledovat komunikaci stovek terminálů v počítačové síti. Na druhé straně OS osobního počítače nepřipojeného do sítě zajišťuje práci jednoho uživatele a řešení jednoduchých úloh z kancelářské oblasti.

 

            Programy se vytvářejí vždy s ohledem na konkrétní počítač s konkrétním OS. Program, který funguje dobře pod jedním OS, nemusí být kompatibilní s ostatními OS. Pro minimalizaci tohoto nedostatku některé OS vytvářejí tzv. virtuální počítač který umožňuje emulovat jiné počítačové systémy i jiné operačni systémy.

 

            Operační systémy můžeme obecně rozdělit

 

            a) Podle počtu uživatelů - jedno a víceuživatelské OS. Víceuživatelské OS musí zajistit přístup více uživatelů do systému současně - jde především o tzv. síťové OS.

 

            b) Podle počtu zpracovávaných úloh (programů) - jedno a více programové. Více programové OS umožňují spouštět více programů najednou (tzv. multitasking). Například uživatel kreslí obrázek v CoreIDRAW, kromě toho je spuštěn textový editor WORD a současně např. může probíhat kontrola pomocí antivirového programu. Uživatel pak může mezi jednotlivými programy libovolně přecházet. Další důležitou funkcí OS je i tzv. multithreading, což znamená, že jedna úloha (jeden program) je rozdělena do menších celků, které mohou probíhat paralelně.

 

            c) Podle typu zpracování - existují v podstatě tři různé metody:

            l. Multiprocessing - umožňuje souběžné zpracování programů na počítači s více procesory. Každý procesor je buď přiřazen jednomu programu, nebo plní stejné funkce pro všechny programy. Tento typ zpracování je běžný u superpočítačů a počítačů úrovně mainframe.

            2. Interprocessing - znamená dynamické propojování mezi aplikacemi. Jde nejen o možnost vkládání objektů z jedné aplikace do druhé, ale především o automatickou aktualizaci těchto propojených dat. V MS Windows je tato metoda nazývána OLE (Object Linking and Embedding - viz část 3.3.7.1).

            3. Práce v reálném čase (Real-time processing). Metoda je určena zejména pro specifické aplikace - např. sledování životních funkcí pacienta, řízení atomové elektrárny apod. Všechny tyto aplikace vyžadují minimální dobu odezvy, takže uživatel má dojem, jako by komunikoval s počítačem v reálném čase.

 

            Jiným hlediskem pro klasifikaci OS jsou různé počítačové platformy. Můžeme tak rozlišovat:

            1. OS pro počítače střediskové (mainframe) - např. MVS/ESA pro počítače IBM nebo BS 2000 pro počítače Siemens.

            2. OS pro počítače střední třídy (tzv. midrange), které slouží především ve funkci serverů - např. OS/400 (IBM) nebo VMS (DEC), které doplňují nejrůznější varianty OS UNIX provozovatelné na nejrůznějších platformách - např. AIX (IBM), Solaris (Sun), HP-UX (Hewlett-Packard), SIMX, LINUX,WINDOWS.        3. OS pro osobní počítače

 

Operační systém Windows XP z hlediska programátora aplikací


     

3.2.2.4 Jak komunikuje uživatel s operačním systémem

 

Způsob, jakým uživatel zadává pokyny pro OS a v jaké formě dostává zprávy o výsledku provedení operace, je označován jako uživatelské rozhraní (uživatelský interface) operačního systému. Existují y podstatě dvě základní formy uživatelského rozhraní - textové a grafické.

 

Textové uživatelské rozhraní

            Například MS DOS je textově orientovaný OS, což znamená, že pokyny uživatel zadává prostřednictvím tzv. příkazové řádky. V ní se na výzvu k zadání příkazu (tzv. prompt > ) uvede příkaz a případné parametry, které blíže určují způsob vykonání daného příkazu. Parametrem může být:

· označení zařízení, např. A: disketa C: disk

· jména souborů TEXT.DOC EVID.PAS

· nebo přepínače /P (předchází je znak n

 

            Chce-li uživatel například zkopírovat soubor TEXT.DOC z disku na disketu musí uvést C:\> copy C:\TEXT.DOC A:\

                                                co (příkaz) odkud kam

 

            Chce-li uživatel při kopírování ještě soubor na disketě přejmenovat, zapíše C:\> copy C:\TEXT.DOC A:\NOVYDOC

 

            Při zapisování prikazů musí uživatel dodržet syntaxi (pravidla správného zápisu, tj. uvedení správného klíčového slova příkazu, správných oddělovačů, správného pořadí parametrů apod.). Pokud není syntaxe dodržena, OS ohlásí chybovou zprávu a příkaz nelze provést.

           

 

Obr. 3.2 Ukázka kopírovúní v textovém režimu

 

Grafické uživatelské rozhraní (GUI - Graphical User Interface)

            GUI obvykle zahrnuje řadu objektů, jejichž vhodné použití umožňuje uživateli komunikaci s operačním systémem:

 

            a) ikony (piktogramy), malé obrázky reprezentující např. aplikaci nebo aplikační program, adresáře, soubory, funkci nebo skupinu funkcí, dostupná zařízení (i v rámci celé sítě) apod.;

            b) ukazatel (kurzor) - malý pohyblivý symbol, přemistující se po obrazovce souhlasně s pohybem myši, v různých situacích a v kombinaci s různými objekty může nabývat různých tvarů;

            c) nabídky, menu - existuje hlavní menu, z kterého se další menu rozvinou obvykle po výběru určité volby;

            d) okna, v nichž se zobrazují právě spuštěné aplikace nebo otevřené soubory;

            e) ostatní grafické objekty, např. dialogová okna, různá tlačítka apod.

 

            Další informace a obrázky s přiklady výše uvedených objektů jsou uvedeny v části 3.7.

 

 

3.2.2.5 Síťové operační systémy

           

            V souvislosti se vznikem počítačových sítí je nutné, aby operační systémy kromě funkcí, které byly výše, zajišťovaly ještě funkce a operace, pro které je specifické, že vycházejí z komunikace různých uživatelů v síti. Jde o operace orientované na komunikaci včetně určitých prostředků umožňujících sdílení zdrojů (čas procesoru, soubory na vnějších pamětech apod.) a zajištující procesy probíhající na síti. Tyto funkce se nejprve zajišfovaly přidáním dalších síťových komponent k běžnému operačnímu systému (např. OS DOS + Lan Manager). Současné operační systémy směřují k tomu, že všechny tyto funkce zajišťuje jediný celek - sítový operační systém (NOS - Network Operating System). Jako příklad lze uvést OS Windows XP - server.

 

Mezi nejdůležitější funkce sítového OS patří:

- zajištění maximální průchodnosti sítě a její odolnosti proti poruchám, stálé monitorování stavu sítě, možnost obnovy provozu po chybách;

- sdílení a přidělování technických, programových a datových zdrojů  jednotlivým uživatelům v síti, vedení evidence a statistik o přidělených zdrojích;

- řízení provozu sítě - tj. analýza a optimalizace provozu, kapacitní plánování;

- konfigurační úlohy - identifikace zdrojů v síti, jejich řízení, změny;

- zajištění bezpečnosti a spolehlivosti - řešení pomocí přístupových práv uživatelů (identifikace uživatelským jménem a heslem), ochrana dat, možnosti kódování informací (kryptografie, digitální podpisy apod.).

 

            Síťový operační systém musí být schopen poskytovat podporu uživatelům sítě, a proto obsahuje tyto rozhodující služby:

            - adresářové služby - poskytují mechanismy pro identifikaci a správu uživatelů a zahrnují obvykle adresu pro elektronickou poštu, telefonní číslo, pracovní zařazení atd. Nabízejí přístup k celé síti prostřednictvím přihlášení a zajišťují transparentní přístup ke zdrojům. Adresářové služby mohou využívat výkonných utilit s grafickým uživatelským rozhraním, takže uživatelé a správci mohou přistupovat k síťovým zdrojům pomocí jednoduchých operací typu drug and drop (táhni a pusť)

            - souborové služby - manipulace se soubory, komprese jednotlivých souborů;

            - tiskové služby - možnost ovládání síťových tiskáren (tvorba a řízení tiskových front apod.);

            - bezpečnost - obsahuje obvykle několik úrovní řízení přístupu k souborům a adresářovým službám pomocí hesel a kódování;

            - integrované předávání zpráv - obsahuje vestavěné služby uchovávání a odesílání zpráv a základní elektronickou poštu;

            - směrování několika protokolů - v rámci heterogenních sítí umožňuje podporovat různé přenosové protokoly;

            - správa sítě - výkonné prostředky a utility pro správu a administraci serveru, možnost kontroly správné činnosti serverů a úrovně využití sítě.

 

            V počítačové síti existuje obvykle centrální počítač - server, ke kterému jsou připojeny jednotlivé stanice - klienti. V síti pak probíhají v zásadě dva druhy procesů - jeden je procesem klienta, druhý procesem probíhajícím na serveru. Tyto procesy jsou implementovány v softwaru. Protože funkce klienta i serveru jsou různé, liší se i vlastní software pro podporu těchto funkcí. Funkce síťového OS uvedeného výše odpovídají spíše pohledu na funkce serveru - řídí přístup uživatelů, zpřístupňuje jim data a programy, řadí jejich tiskové výstupy do tiskových front apod. (tzv. architektura fi1e/server). Naproti tomu architektura klient/server vychází z filosofie, že data se zpracovávají tam, kde jsou k dispozici - viz obrázek 3.3. a 3.3.a.

 

                                

                                            Obr. 3.3 Architektura file/server

           

Původně se termín "server" obešel bez dalších privlastků. vetšinou šlo o zařízení, jehož prostřednictvím uživatelé sdíleli soubory a tiskli na síťové tiskárně. Poté, co se na trhu objevily tiskárny vybavené vlastním sítovým rozhraním, začaly se rozlišovat servery souborové a servery tiskové. S nástupem architektury klient/server se objevil další termín - aplikační server.

 

 

                                            Obr. 3.3.a. Architektura aplikačního servru

Tak se souhrnně označovaly všechny servery, které zajišŤovaly další funkce, nejen sdílení souborů a tisk na síťových tiskárnách. Aplikační servery se postupně začaly specializovat a vznikly tak komunikační servery a databázové servery. Odlišné funkce jednotlivých typů serverů se výrazně projevují v odlišných nárocích na technické

a programové vybavení příslušného serveru, a to včetně použitého operačního systému.

            Souborový server poskytuje stanicím rozsáhlé diskové paměti a provádí správu dat. Zajišťuje otevírání a zavírání souborů, čtení a zápis ze/do souboru, ochranu dat před neoprávněným přístupem, tzn. že zajišťuje využívání hesel, přístupových práv, uzamykání souborů (vět) apod. Souborový server je výkonný počítač vybavený rozsáhlou diskovou pamětí (často diskovým polem), u kterého je kladen důraz na zajištění maximální datové propustnosti mezi pevnými disky a počítačovou sítí. Nejrozšířenějším a také nejúspěšnějším operačním systémem souborových serverů je Windows XP –Server  a Linux ze starších Nowell NeWare .

            Tiskový server umožňuje uživatelům tisknout na společné tiskárně. Server zpracovává frontu požadavků na tisk, umožňuje zastavení a ukončení tisku, změnu priority tisku, prohlížení fronty tisku atd. Uživatel si může obvykle určit typ formuláře, na který chce tisknout, požadovaný počet kopií, požadavek na tisk titulní strany, popř. prioritu tisku. Tiskový server je představován bud počítačem vybaveným tiskárnou a odpovídajícím programovým vybavením, které uživatelům umožňuje tuto tiskárnu sdílet a používat, nebo přímo tzv. síťovou tiskárnou, která má vlastní síťové rozhraní i příslušné programové vybavení a plně zastává funkci serveru. Zároveň je v mnoha operačních systémech možno soustředit do jediného počítače funkce jak souborového, tak i tiskového serveru.

            Databázový server slouží k sdílení dat na úrovni záznamů v databázi. Stanice, které využívají databáze uložené na diskové paměti serveru, sdělují své požadavky nejčastěji v jazyce SQL (Structured Query Language). Centralizace práce s databází zajišťuje velmi dobře její integritu a výrazně omezuje množství informací přenášených sítí. Z hlediska softwaru je jádrem databázového serveru databázový systém a ten na základě požadavků SQL provádí příslušné operace nad databází a výsledky zasílá klientovi. Na rozdíl od souborového serveru posílá na klienta pouze vlastní data (soubory) a jejich zpracování probíhá na klientovi.

            Aplikační server představuje v tři úrovňové architektuře klient/server prostřední část - vlastní zpracování. Této funkci odpovídají i požadavky na technické a programové vybavení. Řízení toku informací v organizaci si vyžaduje aplikační servery, které jsou rychlé, spolehlivé a schopné růst spolu s organizací. Rozhodující je rychlost přenosu dat mezi procesorem a počítačovou sítí, velikost operační paměti, výpočetní výkon, pružná správa a možnosti dalšího rozšiřování.

            Poštovní server, fax server, WWW server atd. je označení pro servery zajištující různé komunikační služby - poštovní server umožňuje přijímat a odesílat elektronickou poštu, faxový server zajišťuje všem uživatelům sítě odesílání a příjem faxů, WWW server zprostředkovává prezentaci WWW stránek atd.

            Při globálním pohledu na uživatelské programy je zřejmé, že mají některé rysy společné - komunikace s uživatelem, ukládání a zpřístupňování dat a konkrétní požadované zpracování. Zmíněné tři činnosti lze označit jako funkce:

· prezentační (uživatelské rozhraní a komunikace s uživatelem);

· aplikační (vlastní logika aplikace);

· správa dat.

            Možné způsobů dělby práce mezi klientem a serverem (viz obrázek 3.4).

 

 

 

Obr. 3.4 Varianty dvouúrovňové architektury klient/server

 

            Distributed Presentation - veškerá činnost zůstává na straně serveru, pouze finální prezentace dat uživateli je zajišťována klientem (server generuje výstupy ve znakovém režimu do textového okna, které uživatel nevidí, protože klient je převede a prezentuje uživateli v grafickém režimu, analogicky to platí i pro obrácený směr - vstup dat od uživatele). Hlavní výhodou tohoto řešení je, že serverová část aplikace může používat standardní systémové prostředky pro zobrazování dat na znakových výstupních zařízeních.

            Remote Presentation - veškeré prezentační funkce jsou ponechány na klientovi, veškeré aplikační funkce a funkce spojené se správou dat zajišťuje server.

            Distributed Function - klient obstarává veškeré prezentační funkce, server má na starosti správu dat, o aplikační funkce se obě složky dělí, tzn. část zpracování probíhá na klientovi, část na serveru.

            Remote Data Management - tato varianta předpokládá, že veškeré prezentační a aplikační funkce zajišťuje klient, server se věnuje pouze správě dat.

            Jak je z obrázku patrné, dvě části modelu klient/server vedou k dvouúrovňové architektuře. Trendem posledních let je však stále větší osamostatňování databázových systémů a jejich přesun na samostatné počítače, které jsou pro tuto činnost optimalizovány. Současně se stále více prosazuje služba WWW jakožto univerzální prezentační nástroj, který umožní přistupovat k různým službám a systémům prostřednictvím jednotného uživatelského rozhraní - prohlížeče WWW

(viz dále). Oba tyto trendy vedou k tříúrovňové architektuře klient/server (viz obrázek 3.5).

 

Současný stav a trendy v oblasti operačních systémů

Zaměříme se na 3 hlavní oblasti:

· vývoj funkcí OS;

· vnitřní architektura OS

· druhy OS.

 

 

Obr. 3.5 Tří úrovňová architektura klient/server

 

            Z pohledu vývoje funkcí směřují operační systémy k neustálému rozšiřování o další funkce ve smyslu komunikace (dříve to byly pouze rozšiřující komponenty nad běžným OS).

            Z pohledu vnitřní architektury trend směřuje k tzv. mikrokernelu. Jde vlastně o malé jádro OS obsahující základní funkce, ke kterému lze modulárně přidávat funkce další. Toto řešení přispívá k zajištění portability OS i k efektivnosti využívání zdrojů počítačového systému.

 

Druhy OS

            V kategorii mainframe (střediskové počítače) již dlouhou dobu existují solidní, spolehlivé operační systémy, které se rozvíjejí a těší se stálé přízni řady uživatelů zejména z důvodů zajištění kompatibility a díky své robustnosti z hlediska obsluhy neadekvátních stavů.

               Ve třídě středních počítačů (midrange) existují v zásadě 3 skupiny OS:

 

      Poznámka: Současné operační systémy s grafickým uživatelským rozhraním se kvůli svým hardwarovým nárokům a množství funkcí, které poskytují, nehodí pro novou generaci tzv. příručních tedy přenosných zařízení. Společnost Microsoft proto začala již před delší dobou pracovat na novém systému, který byl vyvíjen pod kódovým označením Pegasus a v srpnu 96 byl uveden na trh pod jménem Windows CE. Jde o 32bitový OS s otevřenou architekturou, který podporuje multitasking. velká pozornost byla věnována komunikačním možnostem systému tedy i práci s elektronickou poštou a event. prohlížení WWW stránek. Systém lze však použít i do jiných zařízení než PC (napr". komunikační zařízení, mobilní telefony, internetové televize, webovské telefony apod).

 

3.2.3 Databázové systémy

      Mezi základní programové vybavení zařazujeme v současné době i tzv. silné databázové systémy (viz kap. 2): Jejich funkce jsou velmi blízké funkcím operačních systémů. Řada aplikačních softwarových balíků je postavena právě na platformě těchto databázových systémů. Podle modelu dat užitého v databázi se databázové systémy (SŘBD) dělí na hierarchické, síťové a relační, přičemž nejrozšířenější jsou systémy relační.

            K vedoucím světovým dodavatelům tzv. silných relačních databází patři vedle firem Oracle, Sybase a dalších i firma Informix Microsoft SQL Server 2005. Velké systémy tohoto typu mají celou řadu technologicky rozvinutých rysů, k nimž patří důkladná péče o bezpečnost provozu (odolnost proti zneužití či odcizení dat nebo proti havárii). Na straně serveru musí tyto systémy podporovat velmi komplikované hardwarové architektury, na straně klienta zase velkou rozmanitost softwarových i hardwarových platforem (Windows, OS/2, Unix Linux aj.). Musí umět zacházet s obrovskými objemy dat (např. až do stovek GB). Tyto databázové systémy umějí pracovat s nejrůznějšími typy dat - mezi nové datové typy patří obrázky, nestrukturované texty, stránky v HTML, Java applety, audio, video, multi-dimenzionální data a v neposlední řadě objekty.

            Hlavní výhodou je zabezpečení integrity dat. Tyto systémy podporují tzv. transakční zpracování dat, tzn. že datové změny jsou zapisovány na disk až po potvrzení příkazem; dojde-li k zhroucení hardwaru, softwaru nebo chybě uživatele v průběhu práce, dá se vše vrátit do původního stavu. Dalšími zabezpečovacími funkcemi jsou tzv. transakční deníky, které zaznamenávají všechny změny v databázi, a mirroring (zrcadlení), zapisující data na dvě fyzicky oddělená místa. V relačních databázových modelech je důležitým prvkem tzv. referenční integrita, která hlídá propojení (relace) mezi jednotlivými tabulkami modelu, aby nevznikaly tzv. odkazy nikam. Integritu zajišŤují mj. i triggery - procedury, které se automaticky vykonávají při provádění některých operací dotazovacího jazyka SQL. Databázové systémy tohoto typu umožňují i provoz na distribuovaných serverech ve více lokalitách na sítích WAN. Umožňují pak zacházet s fyzicky oddělenými částmi databáze, jako by šlo o databázi jedinou. Každá lokalita může např. být provozována i pod jiným operačním systémem, ale přesto data budou pro klienty dostupná na celé síti bez omezení.

 

Trendy

            K nejnovějším trendům v oblasti velkých databází patří tzv. univerzální servery. Klasická relační databáze (RDBMS) umožňuje ukládat pouze několik málo typů dat. V dnešní době se však ukazuje jako nezbytné, aby databáze zvládaly komplexnější datové typy včetně multimediálních záznamů a aby mohly obsahovat vestavěné procedury a funkce. Například analýza časových řad a další analytické funkce nezbytné pro softwarovou technologii nazvanou OLAP (On Line Analytical Processing) představují v prostředí relačních databází velmi komplikovaný problém. Moderní databázové systémy musí mít možnost zpracování velkých objemů dat a musí podporovat řízení i dlouhých transakcí (např. až 1 měsíc). Předpokládá se stále těsnější vazba na mobilní databáze obchodních cestujících a v neposlední řadě i možnost zpracování dat spravovaných jiným databázovým systémem.

            Počátkem 90. let se začaly objevovat komerčně dostupné objektové databáze (OODMBS), velmi vhodné např. pro práci s plnotextovými (fulltextovými) daty nebo pro oblast CAD/CAM (výhodou relačních databází však stále zůstává jejich jednoduchost, možnost tvorby dotazů pomocí dotazovacího jazyka SQL, kterou objektové databáze postrádají).

            Ideální univerzální databázový server by měl zahrnovat to nejlepší z relační i objektové databázové technologie, umožnit práci jak s relačními, tak multimediálními i objektovými daty. Měl by podporovat i transakční zpracování a tzv. warehousing (datové sklady).

 

3.2.4 Prostředky pro vývoj programů

 

            Programové prostředky jsou potřebné i pro vlastní vývoj programového vybavení. Každý nový program tedy vzniká za pomoci jiných programů. Ve své konečné podobě je program posloupností strojových instrukcí (ve strojovém jazyku) sdělujících počítači, co má dělat a s čím (s jakými daty). Tvůrce programu - programátor nezapisuje program ve strojovém jazyce, ale v některém z programovacích jazyků. Další programové prostředky - překladače nebo

interprety - pak překládají tyto tzv. zdrojové programy do strojového jazyka konkrétního počítače. Programovacíchjazyků existuje celá řada a správná volba závisí na tridě úloh, pro kterou program vytváříme. Jiné programovací jazyky se používají např. pro tvorbu operačního systému, jiné pro různé iírovně ekonomických aplikací atd. Tato kapitola je pouze přehledová, popis principů programování je detailněji uveden v části 3.6.

            Programovací jazyky lze v podstatě rozdělit buď na jazyky nižší a vyšší úrovně, neboje lze klasifikovat podle tzv. generací. Jazyky nižší iírovnějsou zastoupeny kromě strojového jazyka tzv. assemblery. Tyto jazyky jsou určeny pro konkrétní typ počítače, tj. jsou strojově orientované. Vyšší tiroveň tvoří programovací jazyky strojově nezávislé (tj. jsou určeny pro širší spektrum počítačů) - např. COBOL, C nebo tzv. jazyky 4GL. Nejvyšší tiroveň představuje vizuální programování a ovládání počítače pomocí přirozeného jazyka.

 

            Generací programovacích jazyků lze v současné době představit pět. Vztah mezi oběma pohledy na klasifikaci programovacích jazyků ukazuje obrázek 3.6.

 

Obr. 3.6 Různé pohledy na klasifikaci programovacích jazyků

 

            Z třetí generace programovacích jazyků vycházejí dvě větve. Na jedné straně jsou to tzv. jazyky 4. generace (4GL), na druhé straně se vývoj orientuje na prostředky tzv. vizuálního programování.

Nejznámější je voučasné době produkt Microsoftu Visual Studio.NET 2005 obsahující jazyky

Jazyky Visual Studia.NET :

Visual C++.NET

Visual C#.NET

Visual Basic.NET

 

            Jazyky čtvrté generace (4GL jazyky) představují skupinu jazyků, které jsou prezentovány jako tzv. user-friendly (uživatelsky přívětivé). Programování tak přestává být doménou specialistů -programátorů a své vlastní jednodušší programy si může vytvářet i uživatel sám. V podstatě jde o jazyky, které umožňují jednoduchým způsobem pracovat s databázemi a získávat z nich informace pro

rozhodování. Zatímco tentýž požadavek na zpřístupnění a prezentaci informací z databáze (např. vyber všechny studenty, kteří nemají k dnešnímu dni ani 3 bakalářské zkoušky anebo nemají 24 získaných kreditů) by v COBOLU představoval desítky řádků programu, v jazyku 4GL je to otázka několika řádků. Většinou jde o nástroje integrované v rámci databázových systémů. Srovnání náročnosti zápisu jedné úlohy ukazuje obrázek

 

            Poznámka: POC_HOD je název proměnné pro počet hodin, SAZBA název proměnné pro hodinovou sazbu a MZDA název proměnné pro celkovou vypočtenou mzdu.. Proměnná MZDA se vypočítá jako součin proměnných POC HOD a SAZBA. Výsledek je zaokrouhlen (ROUNDED).

 

ASSEMBLER:

      PACK 210(8,13),028(4,7)

      PACK 218(8,13),02F(4,7)

      MP 212(6,13),21D(3,13)

      SRP 213(5,13),03E(0,5)

      LlNPK O50(5,7),214(4,13)

      OI 054(7),X'FO'

 

STROJOVÝ JAZYK:

 

11110010 01110011 1101 001000010000 0111 000000101011

11110010 01110011 1101 001000011000 0111 000000101111

11111100 01010010 1101 001000010010 0000 000000111110

11110011 01000011 0lll 000001010000 1101 001000010100

10010110 11110000 0111 000001010100

 

Obr. 3.7 Příklad výpočtu mzdy (vynásobení hodinové mzdy sazbou za hodinu) v různých jazycích

 

            Ve vizuálním programování je preferováno grafické uživatelské rozhraní. Je vyšším stupněm objektového programování, v němž je pomocí vizuálních vývojových a ladicích prostředků možno snadno a rychle vytvářet nové aplikace (tzv. Rapid Application Development). Mezi násťroje této skupiny patří např. jazyky Visual Basic.Net  Visua C#.Net, Visual C++.Net Visual Studia 2005 vyšší úroveň pak přestavuje např. C++Builder, Delphy

            Trend směřuje konečně k využití i přirozeného jazyka, kdy počítač bude schopen akceptovat, interpretovat a provádět příkazy zadávané např. v angličtině nebo v jiném jazyku, a to jak psané, tak i vyslovené. Uživatel tak bude zbaven nutnosti naučit se pravidlům (syntaxi) daného programovacího jazyka, značná část dnešní programátorské rutiny se tedy přenese na počítač. Jde o oblast, která

je ve stadiu výzkumu a v souvislosti s hlasovým vstupem se dotýká nejen oblasti softwaru, ale i hardwaru a bude představovat obrovské nároky na obě tyto složky výpočetního systému.

 

            Poznámka: Při tvorbě rozsáhlých aplikací je třeba mít k dispozici další náístroje podporující i fáze analýzy a designu - např. nástroje CASE (viz kap. 6). Existují i prostředky, které umožňují přechody z prostředí CASE do běžného vývojového prostředí. Vznikají i nová vývojová prostředí, která mají v sobě prostředky CASE již integrovány.

 

3.2.5 Programové prostředky pro komunikaci

 

               Do této skupiny patří software umožňující práci v počítačových sítích:

- síťové OS (jejich charakteristika byla uvedena v části 3.2.2.5);

- programové komponenty zajištující realizaci různých komunikačních služeb a umožňující jejich využívání.

 

Programové prostředky podporující komunikační služby

               V rámci modelu klient-server existuje celá řada služeb, které jsou popsány v části 5.4. Zde pro příklad uvádíme použe elektronickou poštu a prostředky podporující práci s WWW stránkami na Internetu.

               Programové prostředky pro elektronickou poštu (běžně se používá pojem e-mail, electronic mail) musí umožňovat uživatelům posílat si mezi sebou zprávy nebo jiná data, uložená v elektronické podobě - např. i programy, obrázky apod. Výhoda tkví především v rychlosti posílání zpráv, která se oproti normální poště počítá řádově na sekundy až minuty. Další výhodou jsou relativně nízké náklady

a možnost využití zaslaných zpráv pro další elektronické zpracování. Velmi rozšířeným programem pro elektronickou poštu v prostředí Windows je Pegasus Mail. Programy pro práci s poštou bývají v současné době nedílnou součástí většiny kancelářských systémů Outlook Expres apod.

               Specifickým rozšířením elektronické pošty, které umožňuje vzájemnou komunikaci mezi mnoha uživateli současně, je elektronická konference (viz kapitola 5.).

 

Prostředky pro práci uživatele na Internetu

               Celý princip práce s WWW (World Wide Web) dokumenty je založen na architektuře typu klient/server. WWW dokumenty jsou ukládány na tzv. WWW serverech (dnes jich je několik stovek tisíc a jejich počet stále roste). Tyto dokumenty se označují jako WWW stránky a mohou obsahovat i odkazy na jiné WWW stránky, umístěné na různých jiných serverech. Stránky jsou na serverech dostupné pro uživatele pomocí speciálních klientských programů - tzv. prohlížečů, browserů. Browsery tedy zprostředkovávají styk WWW s uživatelem, který jim požadavek na prezentaci WWW stránky zadá pomocí jednoznačné specifikace stránky prostřednictvím adresy. Pomocí adresy je nalezen WWW server, na kterém je stránka umístěna. Server klientovi zašle a ten ji zpřístupní uživateli ve vhodném tvaru.

               U nás jsou nejrozšířenějšími browsery Netscape Navigator a Microsoft Internet Explorer (MIE). MIE je tzv. freeware, tj. uživatel si jej může z Internetu stáhnout a volněji používat. Netscapeje také dosažitelný na Internetu, bezplatný je však pouze pro akademické organizace. Browser

jako program typicky pracující v prostředí Windows není limitován na prosté zobrazení textových či obrazových dat, která přijal přes síťovou vrstvu od serveru. Rozšiřování jeho možností představuje zapojování tzv. plug-in modulů, které zajistí interpretaci dat přijatých od serveru do příslušného typu (zvuk, virtuální realita apod.).

               Zpočátku platila zásada, že mezi serverem a klientem služby WWW se přenášela pouze data, zatímco programy pro jejich zpracování se nacházely u klienta. Šlo bud o výše zmíněné browsery, nebo různé další externí programy, které sloužily k zpracování přijatých dat (např. přehrání zvukového záznamu apod.).

               V současné době se začínají klientům posílat nejen data, ale rovnou celé programy, které se u klienta spustí a vykonají příslušnou akci (promítnutí filmu, vykreslení grafu apod.). Znamená to, že vše, co klient získává ze sítě, již v sobě nese vše potřebné pro vlastní zpracování, prezentaci apod. Má-li být ke klientovi přenesen program, je nutno takový program v něčem naprogramovat. K tomu účelu slouží programovací jazyky, např. Java nebo Active X apod., jejichž předností je především univerzálnost.

               Dnes tvoří na WWW stránkách dostupných na Internetu zhruba 50 % dokumenty bez aktivních prvků, tedy statické stránky. Statické stránky se zobrazují vždy v neměnné podobě, která je shodná s jejich podobou v době návrhu. Pro tvorbu HTML dokumentů je možno použít např. program Microsoft FrontPage 97, jehož jádro tvoří editor a nástroje pro administraci Webu. Dynamické stránky a stránky s aktivními prvky se v konečné podobě vytvářejí až v době, kdy dojde k požadavku na zobrazení. Toho lze dosáhnout různými prostředky:

 

               - aplikací běžící na serveru - vyžaduje dobrou znalost programování a zvládnutí principů fungování internetových serverů a protokolu HTTP;

               - skripty běžícími na serveru - jde o běžnější prostředky, které např. mohou dynamické stránky generovat na základě uživatelem specifikovaného dotazu z databází. Při požadavku od klienta se skript nejprve na serveru zpracuje a ke klientovi se k zobrazení odešle HTML dokument, který je výsledkem tohoto skriptu;

               - pomocí appletů - jde o kompilované aplikace sestavené v jazyce Java, které je možno vkládat do HTML stránek;

               - skripty běžícími na klientovi - zdeje v současné době nejobecněji použitelným nástrojem JavaScript (Netscape), který sice souvisí s programovacímjazykem Java, ale má některé odlišnosti. Jeho konkurentemje VBScript (Microsoft) přímo odvozený od Visual Basicu, který je součástí koncepce Active X, ASPX.Net.

 

               .

 

3.2.6 Middleware (programové prostředky střední vrstvy, technologicky software)

 

            Middleware představují programové komponenty sloužící k zajištění spolupráce počítačů, zejména v modelu klient/server. Tyto prostředky zahrnují všechny programové komponenty mimo komponent zajišťujících prezentaci, aplikaci a přístup k datům. Podle jejich účelu (funkce) je lze rozdělit do řady skupin, například:

· obecný technologický software, např. sloupce komunikačních protokolů, prostředky pro předávání zpráv;

· databázově orientovaný software, např. ODBC (zajištění rozhraní pro pristup k databázím);

· podpora transakčních operací (transakční monitor).

 

3.2.7 Pomocné programy - utility

            Tato skupina sice vhodně doplňuje některé funkce operačních systémů, představuje však samostatně fungující programy. Patří sem např. nejrůznější diagnostické prostředky určené pro testování funkčnosti hardwarových komponent počítače nebo prostředky pro obnovu narušených souborů (příkladem mohou být Norton Utilities). Můžeme sem zařadit i prostředky pro prohlížení obsahu souborů na obrazovce (např. programy typu VIEW), které umožňují uživateli zobrazit obsah netextových souborů jinak pod operačním systémem nečitelných – např.

tabulky EXCELu, soubory PARADOXu apod. Významnou skupinu tvoří i tzv.

komprimační a dekomprimační programy, které umožňují snižovat kapacitu souboru či počet souborů, tj. provádějí kompresi dat (viz též část 2.3.3.4).

            Komprimační programy pracují obvykle na tomto principu: zadáme identifikaci souborů, které chceme archivovat, včetně zadání příkazů a přepínačů specifikujících podmínky archivace. Výsledkem činnosti je jediný velký soubor, v kterém daný komprimační program umí najít soubor v jeho původní podobě a pracovat s ním podle našich požadavků. Komprimací se sníží množství dat v průměru na polovinu až tři čtvrtiny (podle druhu dat a komprimačního programu). Komprimační program lze použít i pro snížení objemu dat přenášených počítačovou

sítí. Před vlastním zpracováním je nutno opět soubory dekomprimovat.

 

            Příklad 1: Na disku máme uloženo 100 souborů, které příliš často nepoužíváme. Pomocí komprimačního programu zmenšíme jejich kapacitu, kterou zabírají na diskové paměti, a vytvoříme z nich pouze jeden komprimovaný soubor (zvýší se tím i přehlednost v adresářích). Pokud bychom někdy chtěli použít některý ze zkomprimovaných souborů, musíme použít dekomprimační program, který všechny programy opět rozbalí do původního počtu i kapacity.

            Příklad 2: Potřebujeme zkopírovat na disketu soubory, které přesahují kapacitu jedné diskety. I v tomto případě pomůže komprimační program, který kapacitu souborů dosti značným způsobem

sníží. Pokud budeme chtít se soubory opět jednotlivě pracovat, musíme je dekomprimavat.

 

            Příkladem těchto programů jsou např. PKZIP (PKUNZIP), PKARC (PKXARC), ARJ atd. (Názvy uvedené v závorce představují dekomprimační programy.)

Často se komprimační techniky používají při distribuci softwaru. Na instalačních disketách jsou soubory komprimované a instalační program je načítá do vnitřní paměti, tam je automaticky "rozbaluje" do použitelné podoby a poté ukládá na pevný disk v nekomprimované podobě. Další využití komprimace je např. při ukládání obrázků - zde jde o princip práce s grafickými daty, komprimace probíhá automaticky bez požadavku uživatele.