[XBUP]XBUP - Dokumentace: Motivace projektu

Úvod

Tento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje motivaci vzniku projektu a další důvody pro vývoj a nasazení projektu do praxe.

O úroveň výše

Obsah

1. Motivace
  1.1. Nespokojenost s aktuálním stavem
    1.1.1. Nevýhody binárních řešení
    1.1.2. Nevýhody textových formátů
  1.2. Potenciální přínos
    1.2.1. Přínos uživatelům
    1.2.2. Přínos programátorům
2. Případy použití
  2.1. Přenos metadat v multimediálním vysílání
  2.2. Výměnný formát pro geografické systémy
  2.3. Formát pro rozsáhlou 3D grafiku
  2.4. Výměnné formáty pro malá zařízení
  2.5. Komplexní formáty
  2.6. Dlouhodobá archivace
3. Odkazy

1. Motivace

Hlavním důvodem pro založení tohoto projektu byla nespokojenost se současným stavem. Velká roztříštěnost používaných řešení bez jednotného standardu ztěžuje programátorům práci a zpomaluje vývoj informačních technologií. Současně také nejsou formáty schopny pokrýt širší požadavky na výkon či interoperabilitu. Nic také nenasvědčovalo tomu, že by se situace měla v dohledné době zlepšit. S rostoucí složitostí a rozsahem softwarových produktů se také zdá čím dál více vhodnější používat co nejformálnější přístupy, jako například zavedením abstrakce, verifikace definic, či rozdělení protokolu na datovou a prezentační vrstvu.

1.1. Nespokojenost s aktuálním stavem

Praktické použití soudobých počítačových formátů je provázeno řadou problémů. Aplikace musejí zpracovávat mnoho různých formátů, otevírat soubory starších verzí a provádět konverze, navíc je podpora formátů většinou statická a vestavěná do jednotlivých aplikací či určena pro specifickou platformu. Chyby či úspory při návrhu formátu se pak často projeví zkrácením životnosti a mnohem vyššími náklady při pozdějších opravách.

1.1.1. Nevýhody binárních řešení

Soudobá binární řešení jsou většinou určeny na omezené konkrétní použití a mnohá řešení si firmy chrání jako vlastnictví, či je používají jako techniku konkurenčního boje (vendor lock-in). Některé další nevýhody jsou následující:

Jako příklady lépe řešených binárních formátů lze uvést například IFF/RIFF (PNG, AVI), Matroska, či ASN.1.

1.1.2. Nevýhody textových formátů

Příkladem jiného řešení, je použití textových formátů s pevnými značkami pro definici struktur, například tzv. plain textu, či XML. Značkovací jazyky jsou široce nasazovány na webu a jejich popularita dále stoupá. Výhodou je snadná rozšiřitelnost, dobrá čitelnost, teoretická neomezenost rozsahu číselných a řetězcových hodnot, podpora mnoha světových jazyků a další. Textový tvar také nutí firmy zveřejňovat dokumenty ve stejném tvaru, v jakém je vyvíjí a to ztěžuje vývoj nedokumentovaných formátů. Díky jednotné vnitřní struktuře a existenci implementací pro většinu široce používaných programovacích jazyků, mají tyto formáty širokou podporu a jsou dobrou inspirací hledaného řešení. Díky nim se také ukazuje, že dnes už není potřeba tolik dbát na úspornost, tedy paměťovou a výpočetní efektivitu a je možné se zaměřit na abstrakci a reprezentaci metainformací. Mezi nevýhody patří:

Další výhrady je možné najít například v dokumentech vztahujících se k iniciativě Binary XML.

1.2. Potenciální přínos

Snahou tohoto projektu je vyřešit co nejvíce současných problémů a umožnit lepší rozvoj informačních technologií. Projekt by měl být optimálně v každém kroku hledat co nejlepší kompromis k základním požadavkům. Výsledný produkt by tak měl přinést výhody jak běžnému uživateli, tak vývojářům. K dosažení maximálního přiblížení k dokonalému řešení by mělo být možné na vybrané kroky projektu aplikovat formální metody.

1.2.1. Přínos uživatelům

Projekt by chtěl pro uživatele dosáhnout takové situace, že práce s dokumenty bude bezproblémová a uživatelé budou moci bez problémů otevírat i starší dokumenty, které budou automaticky dle potřeby převáděny na nové verze transparentně bez nutnosti zásahu uživatele. Dokumenty budou vzájemně propojeny a dle potřeby se budou z internetu stahovat další potřebné knihovny, či převodní skripty. Dokumenty nebudou vázány na konkrétní jazyk, takže pro práci s nimi nebude nutné se učit cizí jazyky, a to ani na úrovni hlubšího průzkumu dokumentu. K dispozici by měly být, např. jako součást operačního systému, nástroje pro ověřování, šifrování a případnou opravu poškozených dokumentů, stejně jako pro úpravu a převody. Dokument by tedy měl být přenositelný do různých národních prostředí, zahrnující transparentní převody měrných jednotek, měn a další národních specifik. Celkově by projekt měl umožnit běžnému uživateli dlouhodobě bez problémů využívat nové i starší funkce programů, umožnit volbu mezi řadou konkurenčních produktů a zajistit, že se může spolehnout na to, že s jeho dokumenty budou moci pracovat i lidé s počítači a programy od jiných firem a to i v daleké budoucnosti.

1.2.2. Přínos programátorům

Z programátorského hlediska nepřináší tento projekt žádné zásadní inovace, ani nevylučuje používání současných technologií. Chce však přinést výhody především díky jednotnému přístupu k datům a metadatům s dlouhodobě neměnným tvarem založeným na pevných matematických základech. To by mělo programátorům usnadnit zpracovávat dokumenty v tomto protokolu, vytvářet nové formáty pro realizaci dat s možností široké znovupoužitelnosti v dalších formátech a mít přitom přehled o již existujících specifikacích. Pomocí dostupných nástrojů by mělo být možné zobrazit strukturu dokumentu v člověkem přijatelně čitelné a pochopitelné formě s možností přidání významu dat. Použití protokolu by také nemělo vést k neúměrně vysokým nárokům na výpočetní výkon ani kapacitu paměti. Také by mělo být snadné implementovat skripty pro kompatibilitu a propojování více formátů, případně formáty používat pro platformově nezávislá rozhraní a umožnit tak vytváření komplexnějších aplikací. Výsledný protokol by tak měl usnadnit vzájemnou komunikaci mezi počítači, umožnit lepší organizaci dat na datových médiích a stát se základem dalších pokročilejších projektů, jako např. multiparadigmatického programovacího jazyka s volitelnou syntaxí pro vyšší abstrakci, verifikaci a výkonější kompilaci.

2. Příklady použití

Případy použití jsou z větší části převzaty z dokumentů W3C pro XML Binary Characterization Use Cases, týkajících se binárního XML. Týkají se sice binarizované varianty XML, ale je možné je vhodně aplikovat i na tento projekt.

2.1. Přenos metadat v multimediálním vysílání

Chceme-li do datových proudů multimediálních vysílání přidávat další pomocné informace, je úspora místa kritická. Vezmeme-li například televizní, nebo rádiové vysílání a informace o právě běžícím programu, uvádění těchto informací v XML by nebylo příliš efektivní.

Důležitá je zde především úspora přenosové kapacity, nenáročnost zpracování, jednosměrnost komunikace a zpětná kompatibilita.

2.2. Výměnný formát pro geografické systémy

Především v energetice a informačních systémech pro správu dalších inženýrských sítí, stějně jako i pro katastr nemovitostí, se jeví být vhodné nasadit standard pro výměnu dat. Důraz je zde kladen především na úspornou reprezentaci reálných čísel a výkon při zpracování rozsáhlých map a velkého množství údajů.

2.3. Formát pro rozsáhlou 3D grafiku

Další z možných využití je nasazení projektu pro vytvoření jednotného standardu pro výměnu 3D grafiky (v reálném čase). Jedná se o obdobu předchozího příkladu a kritický je zde opět především výkon a velikost.

2.4. Výměnné formáty pro malá zařízení

Další z oblastí s kritickým důrazem na velikost a výkon jsou malá zařízení, jako například mobilní telefony, PDA a podobně. Ty jsou omezeny jak dostupnými kapacitami, tak výkonem svých výpočetních jednotek. Navíc je zde velká pestrost použitých architektur.

2.5. Komplexní formáty

Dalším možným nasazením je použití protokolu pro reprezentaci komplexních formátů, kombinujících široké spektrum dat různých typů, ať už multimédií, textových dokumentů s grafickým rozvržením a podobně. Přínosem by zde mohl být jednotný přístup k těmto datům.

2.6. Dlouhodobá archivace

Struktura protokolu by měla umožňovat dlouhodobou zpracovatelnost dokumentu díky jednotným strukturám a konverzním funkcím, stejně jako dobré definici dokumentu.

3. Odkazy

Seznam zdrojů, literatury a relevantních odkazů.

XBC-Use Cases - XML Binary Characterization Use Cases [http://www.w3.org/TR/xbc-use-cases/]
Binary XML - XML Binary Characterization Working Group [http://www.w3.org/XML/Binary]

Homepage: http://xbup.sf.net
License: GNU Free Documentation License (FDL)
Latest update: 2008-10-05