\


 Wednesday, 28 April 2004
Volte nejlepší mobilní telefon na serveru MobilMania

Na serveru Mobilmania vyhlásili každoroční  anketu o nejlepší mobilní telefon v kategoriích, rodina, práce, styl a zábava. I když si můžeme myslet o vypovídací hodnotě takových anket své, protože málokterý jejich účastník  má možnost i čas otestovat všechny mobily nebo alespoň reprezentativní vzorek a volí tedy většinou telefon, který si koupil, jde o zajímavou hru, která ukazuje, jak si jednotlivé značky na českém trhu stojí a jaká je přibližně jejich penetrace. Poučná bývá také konfrontace výsledků ankety s oficiálními údaji o prodaných telefonech od českých distributorů.

Navíc se dají vyhrát zajímavé ceny, víkend v Římě bych si nechal líbit.:) Tedy jen v případě, že v hotelu bude internetové připojení, protože minulý rok na svatební cestě v Řecku jsem si po prvním týdnu dovolené při prvních abstinenčních příznacích začal stahovat poštu přes vytáčené mobilní připojení. T-Mobile v té době ještě neposkytoval v Řecku GPRS roaming, takže jsem po návratu domů z faktury radost neměl.

Zpět k anketě. Takto jsem volil já.

Nejlepší telefon pro rodinu – Siemens C55. U této kategorie jsem vždy na vážkách, protože vím, že bych měl hlasovat pro funkčně chudé telefony, ale sám žádný takový nepoužívám. Nakonec vyhrál Siemens C55 – jeho vyspělějšího sourozence S55 jsem používal minulý rok a byl jsem spokojen. C55 jsem měl chvíli půjčen od jeho málo náročného uživatele a líbil se mi – slušný černobílý displej, ovládání Siemensu mně vyhovuje, telefon podporuje i Javu (MIDP 1.0),  i když má pro ni příliš málo paměti..

Nejlepší telefon pro práci – MDA II. Tady jsem neváhal, lepší přístroj zatím neznám. Až na drobné mušky, jakýmí jsou absence regulace hlasitost vyzváněcí melodie nezávisle na hlasitosti ostatních tónů nebo nemožnost trvale nastavit, že ke každé SMS požaduji doručenku, se jedná o přístroj, který nemá konkurenci. Jak to vypadá, s MDA II ještě nějaký měsíc vydržím. Kromě MDA II se mi také líbí sympaticky baculatá Nokia 6600 se Symbianem a podporou paměťových karet. Jeden z mála modelů, který se Nokii v minulém roce povedl.. Myslím, že telefon bez operačního systému už asi nikdy chtít nebudu.

Nejlepší telefon pro styl a reprezentaci – Siemens SX1. Působivý telefon s OS Symbian, funkčně podobný Nokii 6600, ale dle mého soudu s nepoužitelnou extravagantní klávesnicí. Cílové skupině fajnšmekrů ale určitě na konvenčně a možná až zpátečnicky vnímané ergonomii ovládání příliš nesejde.:)

Nejlepší telefon pro zábavu – N-Gage. Každý se bavíme jinak, ale N-Gage je přes všechnu oprávněnou kritiku zajímavý telefon nebo alespoň zajímavý příslib pro všechny hráče, kterým o funkce mobilního telefonu zase tak nejde. Jen to vyměňování paměťových karet s hrami mohla Nokia vyřešit lépe, šachování s krytem a baterií asi žádného náruživého hráče nenadchne.

V diskuzi můžete napsat, jaké mobilní telefony jste si minulý rok oblíbili Vy. Zajímalo by mě, která značka má mezi technicky orientovanými lidmi nejsilnější pozici, protože mýtus praví, že je to (Sony) Ericsson. Jak je vidět z mého hlasování, kde se SE neobjevil ani jednou, u mě to určitě neplatí. SE sice vyrábí skvělé telefony, ale většinou je shodí nějakým zásadním nedodělkem, jako je pomalé psaní SMS nebo šnečí rychlost celého firmwaru. Mimochodem, nevlastníte někdo SE T610 nebo SE T630? Zajímalo by mě, zda jejich implementace Javy podporuje sokety . Na internetu jsou dost protichůdné informace, takže stále nevím, zda je na ně možné instalovat síťové aplikace. Bez soketů je půvab již tak příliš chudé mobilní Javy zcela ztracen.



Wednesday, 28 April 2004 22:17:00 (Central Europe Standard Time, UTC+01:00)       
Comments [12]  Mobilitky


 Tuesday, 27 April 2004
Seminář o BizTalku

Dneska jsem skoro celý den strávil na semináři o BizTalku 2004. Dorazil jsem sice s hodinovým zpožděním, protože jsem ráno musel na tradičně neodkladnou analytickou schůzku  se zákazníkem, ale díky ní jsem nakonec přišel o zahajovací  marketingovou masáž. Štestí v neštěstí. Celý dnešní blok přednášek byl zajímavý, i když vzhledem k rozsahu tématu a nutnosti vysvětlit jej v pouhých dvou dnech je citelně znát, že přednášející odříkává své věty  v presu a že všechny vlastnosti BizTalku bez ohledu na jejich složitost musí vysvětlit na jednom zjednodušujícím slidu prezentace. Škoda, ale samostudium technologií je stejně dobrodružnější. ;)

Na BizTalku je nejzajímavější abstrahování od nízkoúrovňových implementačních záležitostí, jakými jsou ruční návrh XSD schémat nebo infrastruktura pro business procesy. Ve vizuálním režimu se dá navrhnout většina typických transformací a translací dat, je snadné rychle rozehrát sladěný orchestr různých business procesů, aniž bych musel měsíce trávit vývojem a testováním potřebných komponent.

Kdy a proč jsem se začal o BizTalk zajímat? Prvotním motivem bylo zjištění, že naší zákazníci si pod pro mě jednoznačnou zkratkou CRM představují systém, do nějž budou integrována všechna jejich data z přehršle různých systémů pracujících nad různými databázemi, které si každé oddělení firmy nechalo z vlastní ďábelské iniciativy vyvinout. Když ale chce top management firmy vidět souhrnná data o zákaznících ze všech systémů, tak se teprve ukáže, že ďábelská iniciativa nezbytně formuje jen celofiremní SW peklo. Jak data ze systémů získat? Kam je uložit? Jak zajistit jejich konzistenci? Není lepší datové sady i za cenu vyšší časové náročnosti integrovat online na požádání uživatele? To jsou jen jemné náznaky nepříjemných problémů čekajících na řešení.

Pro náš CRM systém E-Dirigent jsem navrhl snadno rozšiřitelnou vrstvu datových konektorů s jednoduchým veřejným rozhraním, ve které jsou všechny rozdíly při komunikaci s heterogenními datovými zdroji centralizovány, a zbylé vrstvy aplikace si nejsou vědomy, že komunikují například s WWW službou místo s výchozím MSSQL serverem. Problémy, které se musí řešit při online komunikaci s datovými zdroji nejsou příjemné - jen namátkou:

  1. Jak provést JOIN nad zdrojem, jenž JOIN nepodporuje?
  2. Co s agregačními funkcemi, které mají pracovat nad více datovými zdroji?
  3. Jak zajistit aktualizaci údajů napříč datovými zdroji v jediné transakci?

Nakonec funkční a relativně jednoduchý návrh vznikl. Protože si ale samozřejmě nemůžeme dovolit vyvinout úplně univerzální řešení, tak je návrh prošpikován kompromisy (tohle slovo opravdu nemám rád), a proto jsem se stále více přikláněl a přikláním k tomu, že na takové záležitosti je lepší u zákazníka nasadit vyzkoušený a fexibilní BizTalk. Mohu se ale mýlit. Budu rád, když mě poučí někdo, kdo BizTalk na Enterprise integrace používá. Je vůbec v Čechách někdo takový?



Tuesday, 27 April 2004 20:52:00 (Central Europe Standard Time, UTC+01:00)       
Comments [4]  Biztalk


UML 2.0 - zastavení první

Se snad blížícím se datem uvolnění  finální verze 2.0 jazyka UML je myslím přínosné popsat mé první zkušenosti s novou verzí. Myslím, že se druhá verze jazyka UML stejně jako verze 1.0 stane nepřehlédnutelným periodizačním mezníkem v oblasti analýzy a vývoje softwaru. S uvedením první verze jazyka UML v roce 1996 skončilo neplodné období válek mezi vzájemně se potírajícími  metodikami a jejich občas málo soudnými tvůrci, kteří by pravděpodobně nejraději své výtvory šířili s pěnou "u huby" ohněm i mečem. Málokdo také tušil, že UML předznamenává novou epochu. Epochu, v níž znalost UML je povinností nejen pro analytiky a designéry, ale alespoň pasivní znalost se předpokládá také u  vývojáře, jehož nejvyšší pracovní ambicí není kreativní psaní formulářů na editaci číselníků. Nic na tomto světě není nikdy perfektní a i pro UML po sérii dílčích vylepšení, jež vyústily ve verzi 1.5, nadešel čas na nový velký "release“ zaměřený na zacelení dlouhodobě pociťovaných mezer ve specifikaci, které se staly neblahým impulsem pro vznik proprietárních rozšíření. Tato rozšíření se zaměřovala hlavně na silnější podporu analytika modelujícího dynamické chovaní systémů. Three amigos vrací úder a odvrací hrozbu nového vysilujícího souboje disparátních specifikací vylepšeními ve verzi 2.0 jazyka UML. Vylepšeny byly nejen diagramy pro dynamické chování, ale byly také přidány zcela nové diagramy (Composite structure diagram, Timing diagram,  Interaction overview diagram) a rozšířeny takřka všechny ostatní a z verzí 1.x známé strukturní prvky.

Dnes se podíváme na vylepšení případů užití (Use Case), ve kterých ale k žádným velkým změnám nedošlo, protože jejich hlavním účelem  je vizualizovat funkční rozsah systému pro zákazníka a tak by příliš mnoho fines, ornamentů a vychytávek mohlo smysl diagramu spíše zatemnit. Případy užití jsou  přesto ve verzi 2.0 více provázány s ostatními diagramy, aby model systému působil kompaktnějším dojmem.

  1. Kromě seskupování případů užití do balíčků, je možné je nyní seskupit v klasifikátoru. Toho využijeme například tehdy, když budeme psát informační systém pro velkou společnost a v modelu bude klasifikátor divize vyjadřující rozdělení společnosti do menších celků. Jestliže se liší případy užití realizované zaměstnanci různých divizí, například divize finanční a divize technologické, můžeme z důvodu větší názornosti klasifikovat případy užití jejich seskupením pod jednotlivé divize.
  2. U vztahu Extend mezi případy užití je doporučeno zachytit podrobnosti rozšíření v poznámce (Note). Poznámka by měla mít strukturu:
    Condition:[Podmínka, při které nastane rozšíření]
    Extension Point:[Bod rozšíření]
  3. Když případ užití obsahuje větší množství bodů rozšíření, je možné pro jeho vyjádření použít alternativní symbol. Symbolem je obdélník, který je rozdělen nepřerušovanou čarou na dvě části. V horní části je jméno případu užití a ovál, který je tradičním symbolem případu užití. Ve spodní části se nachází seznam bodů rozšíření.
  4. Případ užití může nyní  “vlastnit” jiný diagram. Příkladem může být stavový diagram popisující průběh vyřizování objednávky u případu užití s názvem zpracování objednávky. Vložené diagramy nejsou určeny pro zákazníka, ale pro rychlé zachycení složitých vazeb mezi různými částmi modelu budou neocenitelné.


Monday, 26 April 2004 23:01:00 (Central Europe Standard Time, UTC+01:00)       
Comments [0]  UML


 Sunday, 25 April 2004
Výběr ze seznamu Id serverových ovládacích prvků na stránce

V konferenci EMWAC se objevil příspěvek http://konference.vyvojar.cz/post.aspx?id=53046, jehož autor chce do vlastnosti ve svém serverovém ovládacím prvku uložit Id jiného ovládacího prvku na stránce. Vývojář by neměl zapisovat Id přímo, ale vybírat ze seznamu na stránce vlastností. První myšlenkou autora příspěvku bylo nadeklarovat vlastnost jako WebControl - to je samozřejmě nesmysl. Když zkusíme perzistovat vlastnost na stránce (atribut PersistenceMode), tak dosáhneme pouze toho, že validátor ASPX stránky nás bude upozorňovat, že máme na stránce 2 prvky se stejným Id.

To, o co se autor snaží, umí všichni validátoři. Jejich vlastnost ControlToValidate nabídne Id všech prvků na stránce, kteří obsahují vlastnost dekorovanou atributem ValidationProperty. Vlastnost ControlToValidate je samozřejmě typu string. Seznam Id naplní speciální TypeConverter s názvem ValidatedControlConverter.

ValidatedControlConverter nelze použít pro načtení seznamu Id všech prvků na stránce, protože, jak jsem již napsal, ta bere v úvahu jen prvky s vlastností označenou atributem ValidationProperty. Proto jsem napsal ControlConverter, který nalezne Id všech prvků na stránce.

public

class ControlConverter : StringConverter

{

  public ControlConverter() : base ()

  {

  }

  public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)

  {

    

if ((context == null ) || (context.Container == null ))

        return null ;

     object [] foundControls = enumerateControls(context.Container);

     if (foundControls == null )

     return null ;

     return new StandardValuesCollection(foundControls);

  }

  public override bool GetStandardValuesSupported(ITypeDescriptorContext context)

  {

    return true ;

  }

  public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)

  {

    return false ;

  }

  private object [] enumerateControls(IContainer container)

  {

    ArrayList retList = new ArrayList();

    foreach (IComponent component in container.Components)

   {

      Control foundControl = component as Control;

      if (foundControl == null )

       continue ;

     if ((foundControl.ID == null ) ||

        (foundControl.ID == String.Empty))

           continue ;

      retList.Add(foundControl.ID);

  }

   return retList.ToArray();

  }

}

Converter se u vlastnosti použije takto:

[Browsable(

true )]

[TypeConverter(

typeof (ControlConverter))]

public string MyControl

{

  get

  {

    string myControl = ( string ) ViewState["MyControl"];

    return (myControl == null ? String.Empty : myControl);

  }

  set

  {

    ViewState["myControl"] =

value ;

  }

}



Sunday, 25 April 2004 18:44:00 (Central Europe Standard Time, UTC+01:00)       
Comments [2]  ASP.NET | .NET Framework


Proč další weblog?

V prvním příspěvku je nedobrým zvykem přivítat odvážného čtenáře a nepřímo mu polichotit, jaký prokázal dobrý vkus, že se stavil, a také jej nenásilně vést k poznání, že by bylo společenským faux pas, kdyby se nezastavil znovu. Nevím, jestli je v tom zákonitost přírodní nebo společenská , ale nejlepší v nesmrtelné disciplíně lichocení bývají rychlokvašení autoři, jejichž duševní invence a chuť psát zmizí po třech dalších upocených a z duševní mizérie vydolovaných příspěvcích. Takže první zásada, drbání za ušima, milý svéprávný čtenáři, na tomto weblogu nikdy nebude.

V nadpise příspěvku je otázka, která vyjadřuje mé vlastní pochybnosti o smyslu psaní weblogu. Je psaní weblogu pouhým projevem grafomanie a snahy autora vykřičet do světa své „originální“ já? Nebo je weblog sbírkou většinou nekomentovaných hypertextových odkazů, veřejně sdílenými záložkami autora, který tím chce světu cosi sdělit? Ale co? Snad, já také umím hledat v Googlu, a protože jsem vždy „in“ v technologiích, tak používám čtečku RSS? :) Takto pojaté weblogy jsou pouhým plevelem, roztříštěným, plochým a všedním svědectvím o aktivitách občas (buďme spravedliví) alespoň marginálně zajímavých dušiček, které nedokáží reflektovat sami sebe s dostatečným nadhledem. Zásada druhá – tento weblog není a nebude sbírkou mých do světa vykřičených komplexů, deprivací, úchylek a ani se nestane chytřejším bratrancem záložek z Internet Exploreru.

 Přes všechny mé výhrady jsem si weblog zřídil. Weblogy jsem kritizoval dlouho, ale nikdy jsem nedokázal říci, že weblogy jsou je pouhá efemérní móda, která nic nepřináší. Našel jsem si „své“ weblogy, které si rád přečtu. Jako pars pro toto bych uvedl weblog Patrika Zandla s názvem Marigold . Patrik Zandl velmi dobře ví, jak vytvořit zajímavý weblog – viz jeho článek. Myslím, že nejdůležitější v článku uváděnou zásadou je ta, která říká, že weblog by měl mít obsah určený nejen k přečtení a zapomenutí, ale také trvalejší obsah, kvůli kterému se budou čtenáří vracet. Zásada třetí – tento weblog se nechce stát další dokonalou ilustrací úsloví „jedním uchem dovnitř a tím druhým ven“. V pláštíku weblogu se budu vyjařovat k tématům, jež mě zajímají a o nichž si myslím, že budou zajímat i ostatní.

V předmluvě každé knihy je většinou informace o autorovi, a proto i v úvodním příspěvku weblogu napíšu alespoň pár základních údajů o sobě, abyste měli lepší představu, kdo to tu káže, a dokázali si alespoň v hrubých konturách personifikovat moji osobnost pro případná proklínání nebo vytvoření schematického portrétu, na nějž se házejí úlevné psychohygienické šipky.:) Je mi 26 let a pracuji jako analytik a vývojář v SW společnosti DIGI TRADE . Ve weblogu se budete setkávat s postřehy k UML, návrhovým vzorům a OO principům obecně. Vyvíjím hlavně na platformě NET Framework, kterou jsem si oblíbil ještě když byla v plenkách, respektive v Beta verzi, a proto se mnoho příspěvků bude týkat jí a také její „odlehčené-compact“ verze určené pro mobilní zařízení. Moje články o analýze a vývoji můžete najít na serveru Interval.cz . Přispívám také do konfererencí EMWAC VS.NET a Builder .Net. Za publikační činnost a příspěvky v konferencích mi byl v lednu 2004 společností Microsoft propůjčen MVP titul. Mobilní zařízení (PDA s Windows Mobile, mobilní telefony) a GSM/UMTS sítě jsou dalším tématem weblogu. Nyní je mým hlavním domácím mazlíčkem (samozřejmě kromě manželky :) ) MDA II , o němž jsem psal na MobilManii.

Ač souhrou okolností, nutností a náhod, které se občas eufemisticky říká život, se nyní zabývám hlavně technickými obory, nebylo tomu tak vždy, a moje studium se zaměřovalo na humanitní vědy. Jak to pregnantně vyjadřuje podtitulek weblogu, humanitní zájmy docelují moje vnímání světa a jsou příjemným korektivem k přetechnizovanému všednímu životu. Proto se na tomto weblogu setkáte i s komentáři k mé oblíbené literatuře (Ludvík Vaculík, Pavel Kohout, Jan Skácel, Oldřich Mikulášek, Dostojevskij...) a filosofii (Martin Heidegger, Jan Patočka, Vídeňský kroužek, strukturalismus, fenomenologie...). Jestliže Vám budou připadat některé mé závěry ve weblogu příliš subjektivní, apodiktické nebo paradoxní, pak vězte, že souhlasím s tezí „paradox je vášeň myšlení“ (Kierkegaard) a že pokud něco říkám, tak tím vyjadřuji „zde stojím, nemohu jinak“. Poslední citát pochází od Luthera a já jsem katolík. A tak je to u mě se vším.:)

Pokud jste dočetli příspěvek až sem, tak Vás vítám. Myslím, že si budeme rozumět.



Sunday, 25 April 2004 15:51:00 (Central Europe Standard Time, UTC+01:00)       
Comments [9]  Ostatní