Cleverlance Sm@rtClient
Co je Sm@rtClient
Definice univerzálního front-endu Sm@rtClient je poměrně stručná, ale výstižná.
Sm@rtClient je platforma řešení tenkého klienta, která podporuje:
- modelování,
- generování a
- provoz
uživatelských aplikací pro systémy podnikových poboček vázané na servery.
Definice obsahuje všechny důležité pojmy, které chceme zdůraznit.
Chytrý
Sm@rtClient byl vytvořen tak, aby jej bylo možné dokonale přizpůsobit novým a měnícím se potřebám pobočkových systémů bank. Je nezávislý na typu, technologii a dodavateli podnikových služeb (back-end systémů, obchodní logiky bankovních aplikací).
Z hlediska síťového provozu, s nímž pracuje, je velice nenáročný a v běžných existujících prostředích IT funguje výborně.
Sm@rtClient umožňuje lidem z firmy podílet se na určení podoby front-endu a právě vývoj je jeho stěžejní vlastností.
Platforma
Je důležité zdůraznit, že Sm@rtClient není aplikace, ale komplexní a ucelené pojetí front-endu s metodikou a softwarovou platformou pro modelování, generování a provoz klientských aplikací.
Proč další „chytrý“ klient?
Lidé se nás často ptají: „Proč další chytrý klient? Každý dodavatel tvrdí, že jeho řešení klienta je chytré a nejlepší.“ Na to můžeme odpovědět pouze to, že se skutečně nedomníváme, že na trhu je opravdu „chytrý“ klient.
Společnost Cleverlance za dobu své existence dodala desítky podnikových aplikací s různými typy klientských rozhraní. Pro střední vrstvu a obchodní logiku je k dispozici poměrně dobrá podpora z hlediska modelovacích nástrojů, nástrojů pro architekturu MDA a generátorů, navíc je tato architektura stabilizována. Ale v oblasti klientských rozhraní je situace naprosto odlišná.
V současné době, kdy jsou na trhu komfortní webové prohlížeče s podporou funkčně bohatého jazyka DHTML, stále existují vážná omezení. Panovalo přesvědčení, že webové aplikace nahradí standardní tlusté desktopové klienty. Model třívrstvých webových aplikací s webovým klientem měl podstatné výhody, až na dva zásadní problémy. Jednak tlustý klient poskytuje pohodlnější uživatelské rozhraní. Navíc jsou zde úlohy, které by měly běžet na straně klienta a ne na straně serveru.
Společnost Cleverlance vynaložila značné úsilí, aby poskytla zákazníkům technologii, která přinese výhody třívrstvé webové aplikace a zároveň komfort tlustého klienta. Tyto přednosti přináší technologie Sm@rtClient a její prostředky.
Vycházíme z předpokladu, že klasický tlustý klient není vhodný, protože jsou u něj potíže s distribucí kódu, vysoké náklady pro IT i koncového uživatele, nároky na správu a údržbu a navíc je omezen pouze na platformu PC.
Zároveň se domníváme, že čistý webový klient rovněž není vhodný. Tenký klient pokulhává, protože neposkytuje uživatelům takovou funkčnost, jakou lze vyvinout u tlustého klienta. Také je u něj velice obtížné, ne-li přímo nemožné, integrovat ostatní desktopové aplikace a hardwarová zařízení.
Současné technologie mají velmi slabou podporu (meta-) modelování a generování. Klasická pojetí vývoje vedou ke vzniku systémů, které je nejen těžké vyvinout, ale ještě těžší měnit a udržovat. Pokrok technologie ve smyslu stále výkonnějších softwarových platforem, lepších znalostí o kladech a záporech modelování a generování, nástroje a standardy pro vývoj formou modelů nám umožnily vytvořit skutečně „chytrého“ klienta, který to řeší.
Na čem je Sm@rtClient založen
Sm@rtClient spojuje ty nejlepší charakteristiky tenkého klienta, konkrétně:
- Aplikaci na serveru
- Nízké náklady na správu, upgrady a údržbu
- Slabý síťový provoz a nejlepší charakteristiky tlustého klienta
- Funkčně bohaté grafické prostředí, rozšířené ověřování
- Kontrola nad aplikací, mezipaměť, komprese
- Rozšířená podpora integrace aplikací a hardwaru
- Podpora knihoven stahovaných podle potřeby
+
- Podpora modelování uživatelských rozhraní a řetězců úkolů
- Podpora efektivního generování klientských aplikací
Sm@rtClient – filozofie
Filozofie řešení Sm@rtClient vychází z požadavků, které jsme určili na počátku, když jsme o takovém produktu začali uvažovat. Tyto požadavky jsou založeny na skutečných předpokladech zákazníků a vytvářejí podmínky pro zcela nové, inovativní pojetí vývoje aplikací.
· Know-how je odděleno od technologie
· Know-how je uloženo v úložišti a ne v pevně naprogramované aplikaci
· Know-how v úložišti lze opakovaně využívat pro generování kódu a sdílení
· Aplikace Sm@rtClient = platforma + formalizované know-how
· Platforma je překladačem know-how
· Je mnohem levnější změnit nebo upgradovat platformu, než předefinovat know-how
· Úložiště metadat
· Jsou v něm uloženy veškeré znalosti o doméně aplikace
· Úplné znamená: pro vygenerování aplikace není třeba nic dalšího
· Volně spojená platforma založená na stavebních blocích
· Pojítkem mezi stavebními bloky je XML
· Každý blok lze snadno upgradovat nebo změnit, protože je nezávislý
· Pojetí „modeluj a generuj“
· Modelovat a generovat lze prakticky cokoliv
· Řešení je založeno na metodice
· Pojetí „nulový“ kód (to znamená, že více než 90 % prezentačního a interakčního kódu je vygenerováno z úložiště metadat)
· Řešení je založeno na uznávaných standardech (BPML, W3C XForms, J2EE, .NET…)
Sm@rtClient – hlavní výhody
· Rychlejší uvádění produktů na trh.
· Know-how je uloženo v opakovaně použitelném úložišti a ne v pevně naprogramované aplikaci.
· Know-how je jen volně svázáno s infrastrukturou (softwarovou a hardwarovou).
· Zabudovaná nativní podpora prototypování
· Lidé z firmy se mohou podílet na určení podoby klientských aplikací.
· Vysoce komplexní prostředí založené na vzorcích (a mnoha podnikových procesech, formulářích, obrazovkách, podnikových službách, změnách).
· Univerzální front-end
· Lze připojit ke všem současným i budoucím podnikovým službám.
· Založeno na standardech (BPML, W3C XForms, XSD, J2EE…).
· Minimální „efekt pondělního rána“.
· Minimální síťový provoz.
· Vysoký výkon v existující infrastruktuře IT.
· Zabudovaná podpora lokalizace.
Pro koho je Sm@rtClient užitečný
Sm@rtClient je primárně určen pro zákazníky a prostředí odpovídající určitým charakteristikám:
· Složité a heterogenní prostředí
· Různé systémy back-endu nebo střední vrstvy
· Stovky uživatelů
· Stovky obrazovek, formulářů, funkcí obchodní logiky
Sm@rtClient nejlépe funguje v komplexním a heterogenním prostředí, kde klientská aplikace musí být integrována a musí sloužit různým doménám podniku. Pravidlem je, že „čím víc formulářů, obchodní logiky a uživatelů, tím je Sm@rtClient efektivnější.“
Typickým prostředím jsou finanční nebo bankovní instituce, státní správa a další velké společnosti s komplexními podnikovými procesy.
Jak to vlastně funguje
Každá malá i velká společnost v průběhu let nashromáždí různé, bohužel nekompatibilní a heterogenní systémy. Jde o poměrně normální stav, obvykle způsobený fůzemi různých společností s odlišnými architekturami. Kvůli zachování kontinuity provozu je velmi obtížné systémy změnit nebo nahradit. Proto je poměrně pochopitelné, že ke každému systému existuje vlastní klientská aplikace. Máte-li dvě nebo tři aplikace, není to problém, ale co když je nutné instalovat, používat a udržovat pět nebo deset klientských aplikací?
Řešením je univerzální klientská aplikace, která jednotným front-endem pokryje veškerou obchodní logiku back-endu a střední vrstvy. A právě s tím vám platforma Sm@rtClient může pomoci.
Aplikace Sm@rtClient pokrývá existující logiku v back-end systémech (komponentách a službách) a zpřístupňuje ji na jednotné vrstvě obchodní logiky. Tato vrstva je kompletně definována a modelována v úložišti modelu. Modelovanou obchodní logiku lze velmi snadno použít pro modelování interakce s obrazovkami front-endu. Modelování se provádí ve vizuálních modelovacích nástrojích, s nimiž lze pracovat velmi snadno a efektivně.
Celý proces modelování nové front-endové aplikace začíná obchodním modelem. Ten obsahuje převážně vysokoúrovňový popis podnikových procesů. Na základě vysokoúrovňového modelu podnikových procesů je pak model front-endu (model interakce uživatele) vizuálně modelován v nástroji TaskFlow Modeler. V prvním kole vývoje mohou front-endové procesy modelovat firemní pracovníci přímo z oblasti byznysu. Front-endový proces – tok úkolů – se skládá z činností. Činnost představuje zpracování obrazovky uživatele nebo volání obchodní logiky. Propojením činností je definován jejich tok. Tok není pouze sekvence činností, ale může také obsahovat různé ovládací prvky, které umožňují větvení, podmíněné zpracování, přiřazování atd.
Po vytvoření definice toku úkolů jsou navrženy jednotlivé obrazovky. Screen Modeler je snadno použitelný a intuitivní nástroj pro vizuální modelování formulářů a jejich propojení s datovými modely a pravidly ověřování.
Během procesu modelování je k dispozici opakovaný vývoj a prototypování. Velmi snadno lze spustit generátor, vygenerovat verzi pro testování, nasadit ji na zkušební server a ověřit vlastní model. V průběhu vývoje je také podporován simultánní vývoj mnoha uživatelů a verzování.
Když je model dokončen, ověřen a vyzkoušen, bude nasazen na produkční server. Klientské aplikace Sm@rtClient v pracovních stanicích uživatelů si automaticky stahují nové verze formulářů, pravidla ověřování a knihovny a jsou schopny zpracovávat nové aplikace.
Nové pojetí front-endu
Sm@rtClient nabízí inovativní pojetí front-endové aplikace. Z pohledu řešení Sm@rtClient je front-endová aplikace:
· Kompletně modelována a definována v úložišti modelu
· Nezávislá na obchodní logice (back-endových systémech, střední vrstvě)
· Výsledkem práce širokého okruhu pracovníků firmy a ne pouze týmu IT
· Deklarativně přizpůsobená
Kompletně modelována a definována v úložišti modelu
Front-endová aplikace Sm@rtClient je založena na modelu. Model je uložen v úložišti modelu a je vytvořen pomocí specializovaného modelovacího nástroje. Modelovací nástroj mohou snadno používat i pracovníci firmy, kteří nejsou specialisty přes IT. Další informace najdete v kapitole Model front-endu.
Nezávislost na obchodní logice
Jednou z nejdůležitějších charakteristik řešení Sm@rtClient je nezávislost na obchodní logice a možnost integrovat různé back-endové systémy (střední vrstvu) do jediné kompaktní a komplexní aplikace, v níž koncový uživatel nebude schopen rozlišit, z jakého systému datová funkčnost pochází. Aplikace Sm@rtClient je oddělena od implementačních specifik konkrétního back-endu univerzální vrstvou, kterou nazýváme zprostředkovatel služby. Zprostředkovatel služby zajišťuje transformaci univerzálního volání obchodní logiky aplikace Sm@rtClient na volání konkrétního back-endu/střední vrstvy (EJB, JMS ...).
Deklarativní přizpůsobení
Při vývoji klientských aplikací Sm@rtClient se nepoužívají tradiční metody programování. Aplikace jsou definovány pomocí deklarativního přizpůsobení. To znamená, že většina vývoje klientských aplikací probíhá vizuálně v modelovacích nástrojích.
Podívejme se například na rozdíly mezi tradičním programováním a deklarativním přizpůsobením. Tento příklad znázorňuje, jak změnit pravidlo ověřování určitého textového pole ve formuláři klientské aplikace.
Deklarativní přizpůsobení
· Otevření a vizuální návrh/změna obrazovky v modelovacím nástroji
· Testování obrazovky
· Tradiční pojetí (tlustý klient, webová aplikace...)
· Vyhledání zdrojového kódu pomocí dokumentace (dokumentace pravděpodobně nebude synchronní)
· Získání zdrojového kódu z verzovacího systému
· Provedení změn v několika úsecích zdrojového kódu
· Kompilace/sestavení/nasazení pro testování/ladění, kompilace/sestavení/nasazení pro testování/ladění
· Aktualizace dokumentace
· Aktualizace zdrojového kódu ve verzovacím systému

fspl.cleverlance.cz