čtvrtek 11. prosince 2003

Programujeme LEGO stavebince

Takřka pokaždé když se synovcem mé přítelkyně stavíme(tedy já stavím a dávám mu rady) z LEGO stavebnice , mám nutkání zatlačit slzu v oku při vzpomínce na báječná dětská dobrodružství, která jsem zažil se stavebnicí LEGO. Prakticky mě stačilo někam posadit, šoupnout LEGO a byl klid.

Dnes už se snad ani LEGU nedá říkat stavebnice, spíše se jedná o celé systémy. Opravdu mě překvapila informace, že LEGO systémy Robotics RIS (Robotics Invention System 2.0™) lze propojit z PC, nainstalovat patřičný software a stvořená monstra ovládat programově.

Ba co více, RIS obsahuje vlastní grafický programovací jazyk RCX Code. Robotics Invention System 2.0™ - Stručný návod napsal na a vlastních stránkách věnovaných stavebnicím LEGO publikoval Robert Seifert. Škoda ceny stavebnice jenž se pohybuje kolem 200$ a pravděpodobnými problémy s distribucí po ČR, ale lákadlo je to jako hrom.

Bug patrol aneb hledáme a odstraňujeme chyby systematicky

Chyby jsou součástí všeho co děláme, chyby v aplikacích jenž vyvíjíme jsou nedílnou součástí vývojového procesu. Postupy usnadňující odhalení chyb jsou všeobecně známé, jedná se například unit testing apod. Na druhou stranu jsou ještě procesy, které nám pomáhají chybám předcházet. Do této kategorie lze zařadit nástroje, které analyzují napsaný kód a hledají ty části, které by nám mohly způsobit vznik chyby.

Článek Joe Walkera Bug patrol - Automate your software improvement process je o chybách a nástrojích, které umožňují analyzovat kód a předcházet chybám hned v jejich prvopočátku. Mnoho z těchto nástrojů může být integrováno přímo do vývojového prostředí a může být zapojeno přímo při kompilaci. Tímto způsobem využívám PMD plug-in ve vývojovém prostředí Eclipse. Navíc většina nástrojů lze spouštět jako úlohy pro Ant, což umožňuje testovat kompletní kód v určitých fázích vývoje.

pondělí 8. prosince 2003

Pár linků

Evoluce webových aplikací ve znamení RIA(Rich Internet Appliactions)

Mnoho současných webových aplikací, naráží se stále vzrůstajícími požadavky na hranice technologie, kterou poskytují jejich klienti v podobě internetových prohlížečů.

Srozumitelným jazykem těchto klientů se stal jazyk HTML, který se hodí zejména k popisu obecných informací a pro složitější popis v případě složitějších UI jsou jeho možnosti velice omezené. Na tomto faktu nic nemění ani spousta dalších podpůrných technologií jako DOM, ECMAScript, CSS a tak dále.

Další problémy přináší interakce mezi uživatelem a webovou aplikací, kde každá změna stavu přináší neustálé znovunačítání celých stránek. Připočteme li k tomuto i nutnost ošetření dalších stavů jako jsou například tlačítka back, forward, reload atd., kdy musí být zákonitě vyvinuto úsilí pro držení trvalých informací formou session managementu nebo otrockého přeposílaní stavovývh dat z jedné strany na druhou.

Řešení těchto problémů leží ve vícevrstvé architektuře na bedrech klienta, lépe řečeno v případě webových aplikací na internetovém prohlížeči. Právě rozšíření internetového prohlížeče o chytrou prezentační vrstvu(Rich Client Presentation Tier) umožňje řešit mnoho z těchto problémů. Právě tato vrstva umožní přerod z ošklivého káčátka v uživatelsky použitelnou a komfortní aplikaci.

Chytrá prezentační vrstva by měla nabízet logiku pro zobrazení obsahu a dále by měla umožnit komunikovat ostatním částem aplikace nezávisle na sobě se serverem. Tento mechanismus založený na asynchronním zasílání zpráv je důležitý pro autonomní chování jednotlivých částí aplikace. Dále můžeme připočíst událostně řízený model, který umožňuje oproštění se od nutnosti generovat specifické HTML pro každou odpověď.

Samozřejmě jsem nastínil jenom zlomek o funkci chytré prezentační vrstvy. Stejně jako se postupem času vyvinula do dnešní podoby střední vrstva se všemi návrhovými vzory řešícími její problémy, tak se již začala a dále bude vyvíjet chytrá prezentační vrstva.

Webové aplikace dosáhli obrovského boomu především diky internetovým prohlížečům, jenž byly masivně rozšířeny. V případě chytrých aplikací předpokládám, že se bude jednat o trend, který nastartovala firma Macromedia v případě technologie Macromedia Flex představující onu chytrou prezentační vrstvu.

Více informací nabízí článek z rubriky Macromedia Flex Article Extending Design Patterns into RIA, který vřele doporučuji k prostudování.

neděle 7. prosince 2003

Porovnání bezpečtnosti platformy Java a .NET

Článků a pojednání na téma Java vs. .NET bylo sepsáno více než dost. Z mého pohledu se článek Denise Piliptchouka Java vs. NET security, Part 1 porovnávající bezpečnostní rysy těchto architektur řadí mezi ty objektivnější. Autor se zaměřuje na porovnání následujících bezpečnostních aspektů nabízených oběma platformami

  • Možnosti konfigurace bezp. oprávnění
  • Verifikace kódu
  • Možnost aplikační isolace
  • Bezpečtnostní možnosti jazyku

Ač je Java mnohem starší, bezpečnost pro ní byla vždy jednou s priorit a proto není divu, že s podstatně mladším .NETem drží krok a v mnoha případech nabízí dokonce lepší řešení.