XBUP - Implementace podporyTento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje popis implementací podpory, především knihoven, nástrojů a demonstračních aplikací.
1. Implementace podpory
1.1. Implementace v Delphi
1.2. Implementace v Javě
1.3. Implementace v PHP
1.4. Implementace v C++
2. Přehled podpory
2.1. Podpůrné knihovny
2.2. Základní nástroje
2.3. Související služby
Podpora zde představuje soubor knihoven a aplikací, umožňující základní manipulaci s daty přenášenými protokolem XBUP. Implementace se zaměřují na vytvoření podpůrné knihovny obsahující parsovače, funkce pro podporu kódování UBNumber a podporu katalogů. Dále jsou vytvářeny ukázkové nástroje využívající tuto knihovnu. Implementace by měla být dostupná především v jazycích Java a C++. V současné době je preferován jazyk Java. Snahou je vytvořit později také implementaci pro vlastní programovací jazyk, vytvořený nad tímto projektem.
Zpracování dat, kódovaných protokolem XBUP, může být podporováno na úrovni aplikace několika možnými způsoby:
Miroslav Hajda: Programovací jazyk Object Pascal a programovací prostředí Delphi společnosti Borland International jsem zvolil s ohledem na to, že části programu jsem začal dělat zpočátku v programovacím jazyce Borland Pascal a měl jsem s tímto jazykem nejvíce zkušeností. Naneštěstí není tento jazyk příliš vhodný, především díky své omezené kompatibilitě s rodinami počítačů a operačními systémy. Přesto jsem se rozhodl vyvinout podporu právě v tomto jazyce s tím, že později přepracuji vzniklý kód do jiného programovacího jazyka, nebo navážu spolupráci s někým, kdo bude ochoten podporu v jiném jazyce naprogramovat.
Zvažována je také úprava pro Freepascal (Lazarus). Další výhodou je uvolnění verze Turbo Delphi, které naznačuje možný vývoj směrem k uvolnění jazyka pro bezplatné použití, snad alespoň pro nekomerční projekty.
Java, jakožto multiplatformní jazyk s výbornou podporou běhu, především nad vlastním virtuálním strojem, se jeví být vhodným kandidátem pro základní implementaci. Jazyk se vyznačuje dobrou abstrakcí, k dispozici je velké množství knihoven a bezplatně jsou k dispozici kvalitní vývojářské nástroje.
Webové stránky projektu, stejně jako webový katalog jsou naprogramovány v jazyce PHP. Hlavní důvodem byla nedostupnost jiného vhodného prostředí či serveru s podporou jiného vhodnějšího jazyka. Prozatím není v PHP dostupná podpora pro vlastní protokol.
Implementace v jazyce C++ byla prozatím odložena na později dokud nebude dokončena prototypovací fáze protokolu. Nicméně implementace v tomto jazyce bude zřejmě klíčová pro integraci do široce používaných programů a operačních systémů vůbec.
Podpora je rozdělena knihovny pro podporu kódování UBNumber a parsování dokumentu, podporu katalogů, základní a další ukázkové aplikace.
Cílem knihovny libxbup (XBLib) je nabídnout základní funkce pro práci s hodnotami kódovanými v kódování UBNumber a základní podporu pro parsování struktury a typů bloků.
Knihovna XBCatalog slouží pro realizaci lokální kopie katalogů typů bloků. Implementováno je především rozhraní pro přístup k tomuto katalogu a dále pak aktualizace obsahu z globálního katalogu dostupného například přes internet.
Součástí podpory jsou dále nástroje pro manipulaci s obsahem dokumentu. Jedná se především o XBEditor pro GUI a program XBShell, sloužící jako přístupové rozhraní přes textovou příkazovou řádku.
Dále je snahou nabídnout základní služby, především katalogovou službu s možností registrace vlastních specifikací dokumentů. Je tak možné vytvořit vlastní zrcadlový obraz globálního katalogu s možností aktualizací, nebo katalog místní, určený pro ukládání vlastních specifikací.
Homepage: http://xbup.sf.net
License: GNU Free Documentation License (FDL)
Latest update: 2010-01-06