Vyšlo na www.novinky.cz dne 25.4.2000
Vytištěno z adresy: http://www.earchiv.cz/anovinky/ai4339.php3

Qbizm a její HyperQbs

Na nedávné konferenci Prague Internet World se poprvé představila nově vzniklá společnost Qbizm technologies, se svým vývojovým systémem HyperQbs™. Jaká je její „vývojářská filosofie“ a s čím se chce prosadit?

Brněnská společnost INET, známá asi nejvíce jako zakladatel a provozovatel Virtuálního obchodního domu! (SHOP.CZ), již v průběhu března oznámila, že hodlá vyčlenit své vývojářské aktivity a ty dále rozvíjet v rámci samostatné firmy. Ta dostala jméno Qbizm technologies, a jak už její název trochu nasvědčuje, mělo by se jednat o americkou firmu (se sídlem v Silicon Valley v USA, zřejmě kvůli adrese), zatímco její vývojářské zázemí bude především zde v Čechách. Původní společnost INET, ze které do Qbizm přechází i její zakladatel Petr Ulrich, by si měla ponechat provozování dosavadního SHOPu.cz.

Proč nová firma?

[Obr: qbizmlogo.gif (32863 Bytes)]
Osamostatnění, či spíše odštěpení vývojářských aktivit od „rutinní e-commerce“ není zase až tak překvapivé, protože o brněnském INETu bylo dobře známo, že se zabývá vývojem internetových aplikací a „jede“ v mnoha různých projektech. Podle mého názoru lidé v INETu jistou dobu používali „hotové“ vývojářské nástroje, ale časem si vytvořili jak své vlastní nástroje, tak i svou vlastní filosofii a metodologii vývoje aplikací, a rozhodli se na ni vsadit — založit si vlastní firmu (Qbizm technologies) a živit se vývojem i poskytováním vývojářských nástrojů. Na nedávno skončené konferenci Prague Internet World pak veřejnosti poprvé představili svou „vývojářskou filosofii“ i nástroje, na které sází svou budoucnost. Nástrojem je především produkt HyperQbs™.

Nihil novo sub sole?

Jaká tedy je nová „vývojářská filosofie“, se kterou se lidé z INETu rozhodli vydat do světa? Když jsem poslouchal jejich prezentaci, připadalo mi to jako oprášení starých dobrých „programátorských pravd“ a jejich zasazení do nové terminologie a nového prostředí internetových aplikací. Nejsou to žádné převratné novinky, ale to považuji spíše za plus než za mínus. Dovolím si zde popsat svůj pohled na to, o co jde (oficiální popis najdete na webu zde).

Vše je založeno na následujících základních principech:

  • Dekompozice a modulární přístup: Již hodně dávno lidé pochopili, že opravdu velké věci jsou snáze řešitelné, když se rozdělí na menší části, které lze řešit samostatně. Ještě efektivnější je pak to, když jsou příslušné části navrženy dostatečně univerzálně, aby mohly být opakovaně využity (jako programové moduly).
  • Objektový princip: Programátoři, kteří měli vytvářet rozsáhlejší programy, velmi brzy poznali na vlastní kůži, jak dobré je dodržovat určité „zásady slušného programování“ (označované obvykle jako strukturované programování). Jinak se totiž i oni sami přestávali orientovat v tom, co vlastně vytvořili. Časem ale lidé pochopili, že podobné „slušné chování“ se musí týkat i dat a manipulace s nimi. Vše vyústilo v trend vytvářet relativně malé a co nejvíce do sebe uzavřené celky, spojující data i kód představující operace nad nimi — tak aby navenek pronikalo jen to, co „má být vidět“, a všechny ostatní detaily mohly zůstat uzavřeny uvnitř objektů. Těmto celkům se začalo říkat objekty.
Filosofie lidí z INETu na tyto přístupy úspěšně navazuje, stejně tak jako na další osvědčené postupy (mj. událostmi řízené programování), ale používá jinou terminologii — místo o objektech hovoří o kostkách, a jejich skládání do větších funkčních celků přirovnává ke skládání kostek známé stavebnice LEGO (nebo také ke kubismu, odsud i netradiční název firmy a jejího klíčového produktu HyperQBS).

Dva nové rysy

Tradiční objektový přístup se ale týká především fáze návrhu nejrůznějších softwarových systémů, a nikoli již jejich běhu (předpokládá se spíše, že výsledkem překladu objektově orientovaného kódu je monolitická aplikace). Filosofie Qbizm technologies je ale taková, že „stavební bloky“ (kostky) budou existovat samostatně jak ve fázi návrhu, tak i ve fázi svého provozu! To pak nutně znamená, že k provozování aplikací vyvinutých pomocí kostek bude zapotřebí i vhodný run-time engine, který bude zajišťovat všechny potřebné úkony za běhu aplikace, včetně generování výstupů směřujících k uživateli.

Smysl zachování objektů až do doby běhu aplikace souvisí i s dalším zajímavým rysem, kterým je snaha oddělit od sebe činnost dvou profesí, které se tradičně neumějí příliš dohodnout a spolupracovat. Jde o designéry a grafiky, kteří jsou zaměřeni hlavně na prezentační aspekty a je nutné je řadit spíše k uměleckým profesím; druhou skupinou pak jsou „vývojáři“, tedy spíše programátoři, kteří se orientují hlavně na funkčnost, a méně již na to, jak něco vypadá a tváří se vůči uživateli. Kostky, jako základní stavební kameny v HyperQbs, využívají objektového principu k tomu, aby maximálně oddělovaly práci obou těchto profesí — řečeno velmi lapidárně, každý má jasně dáno, do čeho smí „sahat“, a do čeho ne, a to aniž by bylo třeba zapojení druhé z obou profesí. Takže když si pak zákazník v téměř dokončeném projektu přeje, aby něco vypadalo jinak, než to právě vypadá (ale fungovat to může stejně), zvládne vše zajistit pouze grafik a nepotřebuje k tomu programátora (nebo naopak, změnu funkčnosti bez změny vzhledu zvládne programátor bez účasti grafika).

Trocha realismu na závěr

Společnost Qbizm technologies, která se na PIWu představila, se již může pyšnit určitým počtem vcelku úspěšných projektů, založených na použití výše naznačené filosofie a vývojových prostředků (viz zde). Samotný produkt HyperQbs je přitom založen na Javě a XML, a jeho specifikace na oficiálním serveru Qbizm technologies vyzdvihují takové vlastnosti jako:

  • rychlé prototypování internetových aplikací (tj. umožňuje to rychle něco udělat alespoň v prototypu, aby se zákazník podíval a reagoval na to)
  • možnost konfigurování aplikační logiky beze změny zdrojového kódu
  • celkové urychlení vývoje, snadné a rychlé zvládnutí nástroje,
  • vysoká škálovatelnost a rozšiřitelnost

Celkový dojem rozhodně není špatný, alespoň při takto letmém pohledu na celou filosofii a koncepci toho, s čím se nová společnost Qbizm technologies hodlá prosadit. Na druhou stranu to ale na mne působí velmi univerzálním dojmem, jako řešení vhodné snad pro cokoli, a takovéto univerzálně zaměřené věci se v praxi prosazují obtížněji než řešení skromnější, zaměřená na užší segment vývojářského trhu. Navíc, pokud jsem vše správně pochopil, jde o řešení, které se hodí pro nové projekty začínající na příslovečné zelené louce, a ne pro projekty navazující na určitou existující základnu. V zásadě jde o proprietární řešení (zasahující až do run-time enginu), byť postavené na standardních platformách (Javě a XML), což také není výraznou předností.

V dnešní době ovšem podstatnou měrou rozhoduje i schopnost prosadit se na trhu a prodat své řešení, a tak bude jistě velmi zajímavé sledovat, jak se v ČR založená americká firma skutečně prosadí. Budu jí držet palce.