<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>René Stein - Web Services</title>
    <link>http://blog.renestein.net/</link>
    <description>Názory vzešlé z mesaliance humanitní skepse a technologického optimismu</description>
    <image>
      <url>http://blog.renestein.net/themes/discreetBlogBlue/SpotImages/sfinga_rss.jpg</url>
      <title>René Stein - Web Services</title>
      <link>http://blog.renestein.net/</link>
    </image>
    <language>cs-CZ</language>
    <copyright>René Stein</copyright>
    <lastBuildDate>Mon, 21 Mar 2011 12:11:41 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.7174.0</generator>
    <managingEditor>rene@renestein.net</managingEditor>
    <webMaster>rene@renestein.net</webMaster>
    <item>
      <trackback:ping>http://blog.renestein.net/Trackback.aspx?guid=7aff293a-4afa-4efa-8bfa-78500f267cfa</trackback:ping>
      <pingback:server>http://blog.renestein.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.renestein.net/PermaLink,guid,7aff293a-4afa-4efa-8bfa-78500f267cfa.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://blog.renestein.net/CommentView,guid,7aff293a-4afa-4efa-8bfa-78500f267cfa.aspx</wfw:comment>
      <wfw:commentRss>http://blog.renestein.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7aff293a-4afa-4efa-8bfa-78500f267cfa</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Přibližně před rokem jsem u dvou firem začínal sérii technologických kurzů subjektivním
shrnutím změn (nejen) v aplikacích psaných v .Net Frameworku. Nedávno jsme ji s kolegou
náhodou otevřeli a pobavili jsme se nad tím, jak je rok v IT stále dlouhá doba a že
zde dvojnásobně platí “tempus fugit”. Napadlo mě, že se nad prezentací možná se pobaví
i někdo další, hlavně v pasážích, kde jemně naznačuju zálibu Microsoftu v zařezávání
technologií.<img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blog.renestein.net/content/binary/Windows-Live-Writer/de5bdc4acd85_ADFB/wlEmoticon-smile_2.png" /></p>
        <p>
U prezentace je třeba mít na paměti:
</p>
        <ol>
          <li>
Jedná se jen o osnovu “přehledové“ a cca dvouhodinové přednášky.<br /><br /></li>
          <li>
Témata, typy projektů a technologie jsou v přednášce voleny podle zájmu zákazníka.<br /><br /></li>
          <li>
Snažil jsem se nebýt hned  v této úvodní přednášce příliš ostrý a konfliktní.<img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blog.renestein.net/content/binary/Windows-Live-Writer/de5bdc4acd85_ADFB/wlEmoticon-smile_2.png" /><br /><br /></li>
          <li>
Zvolená témata se týkala oblastí, které jsme v dalších dnech probíraly detailněji
na konkrétních projektech vytvořených na návazných kurzech. Po pár zkušenostech si
myslím, že jediný smyslupný kurz zabývající se technologií či programovacím jazykem
je ten, na kterém píšete před účastníky kód. Tato přednáška byla koncipována jako
motivační úvod k dalším tématům.</li>
        </ol>
        <div style="width: 425px" id="__ss_7332936">
          <strong style="margin: 12px 0px 4px; display: block">
            <a title="Moderni trendy ve_vyvoji_aplikaci" href="http://www.slideshare.net/RENESTEIN/moderni-trendy-vevyvojiaplikaci">Moderni
trendy ve_vyvoji_aplikaci</a>
          </strong>
          <object id="__sse7332936" width="425" height="355">
            <param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=modernitrendyvevyvojiaplikaci-110321070156-phpapp01&amp;stripped_title=moderni-trendy-vevyvojiaplikaci&amp;userName=RENESTEIN" />
            <param name="allowFullScreen" value="true" />
            <param name="allowScriptAccess" value="always" />
            <embed name="__sse7332936" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=modernitrendyvevyvojiaplikaci-110321070156-phpapp01&amp;stripped_title=moderni-trendy-vevyvojiaplikaci&amp;userName=RENESTEIN" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355">
            </embed>
          </object>
          <div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px">View
more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/RENESTEIN">RENESTEIN</a>.
</div>
        </div>
        <img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=7aff293a-4afa-4efa-8bfa-78500f267cfa" />
      </body>
      <title>Prezentace Modern&amp;iacute; trendy ve v&amp;yacute;voji aplikac&amp;iacute;</title>
      <guid isPermaLink="false">http://blog.renestein.net/PermaLink,guid,7aff293a-4afa-4efa-8bfa-78500f267cfa.aspx</guid>
      <link>http://blog.renestein.net/Prezentace+Moderniacute+Trendy+Ve+Vyacutevoji+Aplikaciacute.aspx</link>
      <pubDate>Mon, 21 Mar 2011 12:11:41 GMT</pubDate>
      <description>&lt;p&gt;
Přibližně před rokem jsem u dvou firem začínal sérii technologických kurzů subjektivním
shrnutím změn (nejen) v aplikacích psaných v .Net Frameworku. Nedávno jsme ji s kolegou
náhodou otevřeli a pobavili jsme se nad tím, jak je rok v IT stále dlouhá doba a že
zde dvojnásobně platí “tempus fugit”. Napadlo mě, že se nad prezentací možná se pobaví
i někdo další, hlavně v pasážích, kde jemně naznačuju zálibu Microsoftu v zařezávání
technologií.&lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blog.renestein.net/content/binary/Windows-Live-Writer/de5bdc4acd85_ADFB/wlEmoticon-smile_2.png"&gt;
&lt;/p&gt;
&lt;p&gt;
U prezentace je třeba mít na paměti:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Jedná se jen o osnovu “přehledové“ a cca dvouhodinové přednášky.&lt;br&gt;
&lt;br&gt;
&lt;li&gt;
Témata, typy projektů a technologie jsou v přednášce voleny podle zájmu zákazníka.&lt;br&gt;
&lt;br&gt;
&lt;li&gt;
Snažil jsem se nebýt hned&amp;nbsp; v této úvodní přednášce příliš ostrý a konfliktní.&lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blog.renestein.net/content/binary/Windows-Live-Writer/de5bdc4acd85_ADFB/wlEmoticon-smile_2.png"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;li&gt;
Zvolená témata se týkala oblastí, které jsme v dalších dnech probíraly detailněji
na konkrétních projektech vytvořených na návazných kurzech. Po pár zkušenostech si
myslím, že jediný smyslupný kurz zabývající se technologií či programovacím jazykem
je ten, na kterém píšete před účastníky kód. Tato přednáška byla koncipována jako
motivační úvod k dalším tématům.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="width: 425px" id="__ss_7332936"&gt;&lt;strong style="margin: 12px 0px 4px; display: block"&gt;&lt;a title="Moderni trendy ve_vyvoji_aplikaci" href="http://www.slideshare.net/RENESTEIN/moderni-trendy-vevyvojiaplikaci"&gt;Moderni
trendy ve_vyvoji_aplikaci&lt;/a&gt;&lt;/strong&gt;
&lt;object id="__sse7332936" width="425" height="355"&gt;
&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=modernitrendyvevyvojiaplikaci-110321070156-phpapp01&amp;amp;stripped_title=moderni-trendy-vevyvojiaplikaci&amp;amp;userName=RENESTEIN" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed name="__sse7332936" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=modernitrendyvevyvojiaplikaci-110321070156-phpapp01&amp;amp;stripped_title=moderni-trendy-vevyvojiaplikaci&amp;amp;userName=RENESTEIN" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px"&gt;View
more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/RENESTEIN"&gt;RENESTEIN&lt;/a&gt;.
&lt;/div&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=7aff293a-4afa-4efa-8bfa-78500f267cfa" /&gt;</description>
      <comments>http://blog.renestein.net/CommentView,guid,7aff293a-4afa-4efa-8bfa-78500f267cfa.aspx</comments>
      <category>.NET Framework</category>
      <category>ASP.NET</category>
      <category>C#</category>
      <category>Compact .Net Framework</category>
      <category>LINQ</category>
      <category>RX Extensions</category>
      <category>Silverlight</category>
      <category>Web Services</category>
      <category>Windows Forms</category>
      <category>WP7</category>
    </item>
    <item>
      <trackback:ping>http://blog.renestein.net/Trackback.aspx?guid=fb14ac14-bc1c-4a26-85c4-a37a2181f79b</trackback:ping>
      <pingback:server>http://blog.renestein.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.renestein.net/PermaLink,guid,fb14ac14-bc1c-4a26-85c4-a37a2181f79b.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://blog.renestein.net/CommentView,guid,fb14ac14-bc1c-4a26-85c4-a37a2181f79b.aspx</wfw:comment>
      <wfw:commentRss>http://blog.renestein.net/SyndicationService.asmx/GetEntryCommentsRss?guid=fb14ac14-bc1c-4a26-85c4-a37a2181f79b</wfw:commentRss>
      <title>Stále neopravený bug při volání metody HttpWebRequest.BeginGetResponse?</title>
      <guid isPermaLink="false">http://blog.renestein.net/PermaLink,guid,fb14ac14-bc1c-4a26-85c4-a37a2181f79b.aspx</guid>
      <link>http://blog.renestein.net/St%c3%a1le+Neopraven%c3%bd+Bug+P%c5%99i+Vol%c3%a1n%c3%ad+Metody+HttpWebRequestBeginGetResponse.aspx</link>
      <pubDate>Wed, 07 May 2008 11:48:42 GMT</pubDate>
      <description>Ještě při psaní jedné aplikace běžící na .Net Framework verze 2.0 jsem objevil podivnou chybu, kdy se při asynchronním stahování stránek pomocí třídy HttpWebRquest asynchronní přístup skoro nelišil od synchronní verze. Metoda BeginGetResponse vrátila řízení volajícímu kódu teprve poté, co došlo ke &lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=fb14ac14-bc1c-4a26-85c4-a37a2181f79b"/&gt;</description>
      <comments>http://blog.renestein.net/CommentView,guid,fb14ac14-bc1c-4a26-85c4-a37a2181f79b.aspx</comments>
      <category>.NET Framework</category>
      <category>Web Services</category>
    </item>
    <item>
      <trackback:ping>http://blog.renestein.net/Trackback.aspx?guid=8cc07553-60ef-4b57-a816-c1dc141f3cb5</trackback:ping>
      <pingback:server>http://blog.renestein.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.renestein.net/PermaLink,guid,8cc07553-60ef-4b57-a816-c1dc141f3cb5.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://blog.renestein.net/CommentView,guid,8cc07553-60ef-4b57-a816-c1dc141f3cb5.aspx</wfw:comment>
      <wfw:commentRss>http://blog.renestein.net/SyndicationService.asmx/GetEntryCommentsRss?guid=8cc07553-60ef-4b57-a816-c1dc141f3cb5</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>Webové služby obohacené o SoapExtensionReflector</title>
      <guid isPermaLink="false">http://blog.renestein.net/PermaLink,guid,8cc07553-60ef-4b57-a816-c1dc141f3cb5.aspx</guid>
      <link>http://blog.renestein.net/Webov%c3%a9+Slu%c5%beby+Obohacen%c3%a9+O+SoapExtensionReflector.aspx</link>
      <pubDate>Mon, 25 Oct 2004 18:04:00 GMT</pubDate>
      <description>Když jsem psal článek o http modulech pro Interval s příkladem http modulu pro dynamické přidání dokumentace k operacím webových služeb, stále ...&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=8cc07553-60ef-4b57-a816-c1dc141f3cb5"/&gt;</description>
      <comments>http://blog.renestein.net/CommentView,guid,8cc07553-60ef-4b57-a816-c1dc141f3cb5.aspx</comments>
      <category>Web Services</category>
    </item>
    <item>
      <trackback:ping>http://blog.renestein.net/Trackback.aspx?guid=955db5ec-388a-454a-8423-21e1c59c368e</trackback:ping>
      <pingback:server>http://blog.renestein.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.renestein.net/PermaLink,guid,955db5ec-388a-454a-8423-21e1c59c368e.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://blog.renestein.net/CommentView,guid,955db5ec-388a-454a-8423-21e1c59c368e.aspx</wfw:comment>
      <wfw:commentRss>http://blog.renestein.net/SyndicationService.asmx/GetEntryCommentsRss?guid=955db5ec-388a-454a-8423-21e1c59c368e</wfw:commentRss>
      <title>Http modul pro změnu URL adresy ve WSDL webové služby</title>
      <guid isPermaLink="false">http://blog.renestein.net/PermaLink,guid,955db5ec-388a-454a-8423-21e1c59c368e.aspx</guid>
      <link>http://blog.renestein.net/Http+Modul+Pro+Zm%c4%9bnu+URL+Adresy+Ve+WSDL+Webov%c3%a9+Slu%c5%beby.aspx</link>
      <pubDate>Mon, 13 Sep 2004 14:12:00 GMT</pubDate>
      <description>Webové služby v ASP.NET generují dynamické WSDL, ve kterém je adresa služby (obsah elementu soap:address) dynamicky určena podle url původního požadavku. Například při použití reverzní proxy by se hodilo určit adresu ve wsdl dokumentu staticky a přitom stále ponechat na ASP.NET &lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=955db5ec-388a-454a-8423-21e1c59c368e"/&gt;</description>
      <comments>http://blog.renestein.net/CommentView,guid,955db5ec-388a-454a-8423-21e1c59c368e.aspx</comments>
      <category>Web Services</category>
    </item>
    <item>
      <trackback:ping>http://blog.renestein.net/Trackback.aspx?guid=6079ebc7-2ca4-4692-84d5-5d369f7b4923</trackback:ping>
      <pingback:server>http://blog.renestein.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.renestein.net/PermaLink,guid,6079ebc7-2ca4-4692-84d5-5d369f7b4923.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://blog.renestein.net/CommentView,guid,6079ebc7-2ca4-4692-84d5-5d369f7b4923.aspx</wfw:comment>
      <wfw:commentRss>http://blog.renestein.net/SyndicationService.asmx/GetEntryCommentsRss?guid=6079ebc7-2ca4-4692-84d5-5d369f7b4923</wfw:commentRss>
      <slash:comments>7</slash:comments>
      <title>Interval - článek Vývoj sofistikovaných WWW služeb v .Net Frameworku</title>
      <guid isPermaLink="false">http://blog.renestein.net/PermaLink,guid,6079ebc7-2ca4-4692-84d5-5d369f7b4923.aspx</guid>
      <link>http://blog.renestein.net/Interval+%c4%8cl%c3%a1nek+V%c3%bdvoj+Sofistikovan%c3%bdch+WWW+Slu%c5%beeb+V+Net+Frameworku.aspx</link>
      <pubDate>Wed, 19 May 2004 18:59:00 GMT</pubDate>
      <description>Na Intervalu mi dnes vyšel článek, který vysvětluje vytváření WWW služeb s použitím nového API pro příjem a zasílání zpráv ve Web Services Enhancements 2.0. Článek je úvodem do světa WSE, v dalších článcích se chci se zaměřit na vysvětlení jednotlivých standardů (ws:addressing, &lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=6079ebc7-2ca4-4692-84d5-5d369f7b4923"/&gt;</description>
      <comments>http://blog.renestein.net/CommentView,guid,6079ebc7-2ca4-4692-84d5-5d369f7b4923.aspx</comments>
      <category>Web Services</category>
    </item>
    <item>
      <trackback:ping>http://blog.renestein.net/Trackback.aspx?guid=262cc8c0-dadd-426c-868e-281bb27d4f2f</trackback:ping>
      <pingback:server>http://blog.renestein.net/pingback.aspx</pingback:server>
      <pingback:target>http://blog.renestein.net/PermaLink,guid,262cc8c0-dadd-426c-868e-281bb27d4f2f.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <wfw:comment>http://blog.renestein.net/CommentView,guid,262cc8c0-dadd-426c-868e-281bb27d4f2f.aspx</wfw:comment>
      <wfw:commentRss>http://blog.renestein.net/SyndicationService.asmx/GetEntryCommentsRss?guid=262cc8c0-dadd-426c-868e-281bb27d4f2f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Kniha Network programming for the Microsoft .Net Framework je úvodem do síťového programování.
Slovo úvodem bych zdůraznil, protože žádné rozsáhlé případové studie v ní nenaleznete.<br />
Po obligátním a povrchním úvodu do .Net Frameworku, nás autoři seznámí se “streamy”
a pochopitelně se soustředí na třídu NetworkStream. Následuje popis práce s thready
a ukázky asynchronního návrhového vzoru (metody Begin*, End*)- i když je problematice
věnováno plných 19 stran, nečekejte žádné "best practices", ale spíše upovídaný přepis
toho, co je v MSDN. Ukázek asynchronního návrhového vzoru je v celé knize hříšně opulentní
množství , takže tato kapitola je jen "lákavou" návnadou.<br />
Dále je v knize vysvětlen význam serializace a probrány jsou XML, binární a SOAP serializace.
Když už je serializace probírána do takových detailů, jakými jsou XML atributy, mohla
být zmíněna i dynamická redefinice atributů za asistence třídy XmlAttributeOverrides.<br />
Lehký úvod do jmenného prostoru System.Net, jehož smysl mi v kompozici knihy uniká,
je vystřídán popisem protokolů IPV4 a IPV6 a metod třídy DNS. Tato kapitola mi připadá
z celé knihy nejpovedenější, protože z ní čiší, že její autor své téma podrobně zná,
ale přitom dokáže na vyhrazeném prostoru vybrat to podstatné a nezabíhat do zdržujících
detailů.<br />
Následující dvě kapitoly tvoří jádro knihy, protože se zabývají klientskými a serverovými
sokety a také jejich nadstavbami s jednodušším API (TcpClient, TcpListener). Bohužel
tyto kapitoly trpí také největší nevyvážeností ve zpracování tématu. Přístup autorů
kolísá od pasivního přejímání informací z MSDN k neustálému zdůrazňování, že pro většinu
synchronních metod existují jejich asynchronní doplňky. Když jsem se tuto zajímavou
informaci dověděl potřetí a prohlédl si další úmorný Step By Step příklad určený pravděpodobně
programátorům po akutní lobotomii provedené brokovnicí, měl jsem chuť připojit se
dobře cíleným výstřelem k zástupu šťastných idiotů, abych dokázal kapitoly dočíst.
Tam, kde by měla být tématika zpracována velmi prodrobně i s ukázkami, se autoři omezí
na shrnující tabulky, jejichž pravděpodobně jediným smyslem je rychlé navýšení počtu
popsaných normostran. Moje výtka směřuje hlavně k zcela nedostatečné dokumentaci enumerace
SocketOption.<br />
Kromě TCP/IP protokolu jsou zde i ukázky UDP protokolu a implementace takzvaných "Raw"
soketů. "Raw" sokety jsou vysvětleny na příkladu ICMP protokolu (což není nic jiného
než všem důvěrně známý PING). Slušelo by se zmínit, že na Windows 2000 a XP mohou
"Raw" sokety otevřít pouze administrátoři. (ping.exe může spustit každý uživatel,
jde asi o jedinou výjimku).<br />
Důležitost tříd WebClient, WebResponse a WebRequest je vyzdvižena v kapitole nazvané
"Using the Network". Tato kapitola je povedená, i když zde asi nenaleznete nic překvapivého.
Zmíněny jsou cookies, různé způsoby autentizace, certifikáty, SSL.<br />
Z dalších kapitol rychle získáte pocit, že se autoři zavázali dodat dílko o vyšším
počtu stran, a proto zařadili témata jako jsou Web Services a .Net Remoting. Sice
jsou vždy naťuknuty pokročilé vlastnosti (SOAP extenze, Channel sinks), ale z jejich
odfláknutého vysvětlení si začátečník bude brzy zoufat a slabší nátura se k těmto
konceptům kvůli neumětelství autorů již nikdy nevrátí. Jako leitmotiv knihy:) se zde
objevuje podrobné vysvětlení asynchronního volání WWW služeb.<br />
Autoři se také s těžko pochopitelnou vervou pustí i do vysvětlování Code Acces Security.
Jejich snaha se ale omezí na výčet oprávnění a hrubý přehled významu konstitutivních
složek CAS, takže kdybych se s CAS setkal poprvé, získám mylný dojem, že CAS je nesmysl
bez jakékoli užitné hodnoty. Jsme také poučeni, že bychom měli komunikaci mezi sokety
kryptovat, protože svět plný hackerů čeká na naše pakety. Děkuji za osvětu, hned se
cítím jako up-to-date vývojář, teď si najdu jen ve slovníku cizích slov význam termínu
kryptovat, abych ty hackery svými programy sejmul. :)<br />
Doporučení pro psaní výkonných aplikací jsou shrnuta v mozaice nazvané "Network performance
and scalability. Zajímavá je hlavně část týkající se doporučení pro používání "Nagle"
algoritmu, ale ani ostatní rady vašim aplikacím neublíží. 
<br />
Zcela do počtu je kratičká poslední kapitola Advancements in .Net Framework programming,
jejíž originální teze by se dala shrnout "Nebojte se, v příští verzi bude zase vše
lepší, výkonnější a bezpečnější".<br />
Co říci závěrem? Jestliže se sokety začínáte a jste úplní zelenáči, kniha se Vam bude
hodit, i když si z ní odnesete hlavně poznatek, že sokety jsou tady proto, aby bylo
na čem demonstrovat dokonalý asynchronní návrhový vzor. :) Jste-li pokročilý vývojář
a v knize hledáte neotřelé rady starých zkušených harcovníků, schovejte peněženku,
zamáčkněte slzu kanoucí za odpíraným poznáním a vyberte si jiný titul.<br />
Anotace<br />
Název: Network Programming For the Microsoft .Net Framework<br />
Autoři: Jones, A; Ohlund, J; Olson, L;<br />
Nakladatelství: Microsoft Press 2004
</p>
        <img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=262cc8c0-dadd-426c-868e-281bb27d4f2f" />
      </body>
      <title>Kniha Network programming for the Microsoft .Net Framework</title>
      <guid isPermaLink="false">http://blog.renestein.net/PermaLink,guid,262cc8c0-dadd-426c-868e-281bb27d4f2f.aspx</guid>
      <link>http://blog.renestein.net/Kniha+Network+Programming+For+The+Microsoft+Net+Framework.aspx</link>
      <pubDate>Fri, 14 May 2004 19:05:00 GMT</pubDate>
      <description>
		&lt;p&gt;
Kniha Network programming for the Microsoft .Net Framework je úvodem do síťového programování.
Slovo úvodem bych zdůraznil, protože žádné rozsáhlé případové studie v ní nenaleznete.&lt;br /&gt;
Po obligátním a povrchním úvodu do .Net Frameworku, nás autoři seznámí se “streamy”
a pochopitelně se soustředí na třídu NetworkStream. Následuje popis práce s thready
a ukázky asynchronního návrhového vzoru (metody Begin*, End*)- i když je problematice
věnováno plných 19 stran, nečekejte žádné "best practices", ale spíše upovídaný přepis
toho, co je v MSDN. Ukázek asynchronního návrhového vzoru je v celé knize hříšně opulentní
množství , takže tato kapitola je jen "lákavou" návnadou.&lt;br /&gt;
Dále je v knize vysvětlen význam serializace a probrány jsou XML, binární a SOAP serializace.
Když už je serializace probírána do takových detailů, jakými jsou XML atributy, mohla
být zmíněna i dynamická redefinice atributů za asistence třídy XmlAttributeOverrides.&lt;br /&gt;
Lehký úvod do jmenného prostoru System.Net, jehož smysl mi v kompozici knihy uniká,
je vystřídán popisem protokolů IPV4 a IPV6 a metod třídy DNS. Tato kapitola mi připadá
z celé knihy nejpovedenější, protože z ní čiší, že její autor své téma podrobně zná,
ale přitom dokáže na vyhrazeném prostoru vybrat to podstatné a nezabíhat do zdržujících
detailů.&lt;br /&gt;
Následující dvě kapitoly tvoří jádro knihy, protože se zabývají klientskými a serverovými
sokety a také jejich nadstavbami s jednodušším API (TcpClient, TcpListener). Bohužel
tyto kapitoly trpí také největší nevyvážeností ve zpracování tématu. Přístup autorů
kolísá od pasivního přejímání informací z MSDN k neustálému zdůrazňování, že pro většinu
synchronních metod existují jejich asynchronní doplňky. Když jsem se tuto zajímavou
informaci dověděl potřetí a prohlédl si další úmorný Step By Step příklad určený pravděpodobně
programátorům po akutní lobotomii provedené brokovnicí, měl jsem chuť připojit se
dobře cíleným výstřelem k zástupu šťastných idiotů, abych dokázal kapitoly dočíst.
Tam, kde by měla být tématika zpracována velmi prodrobně i s ukázkami, se autoři omezí
na shrnující tabulky, jejichž pravděpodobně jediným smyslem je rychlé navýšení počtu
popsaných normostran. Moje výtka směřuje hlavně k zcela nedostatečné dokumentaci enumerace
SocketOption.&lt;br /&gt;
Kromě TCP/IP protokolu jsou zde i ukázky UDP protokolu a implementace takzvaných "Raw"
soketů. "Raw" sokety jsou vysvětleny na příkladu ICMP protokolu (což není nic jiného
než všem důvěrně známý PING). Slušelo by se zmínit, že na Windows 2000 a XP mohou
"Raw" sokety otevřít pouze administrátoři. (ping.exe může spustit každý uživatel,
jde asi o jedinou výjimku).&lt;br /&gt;
Důležitost tříd WebClient, WebResponse a WebRequest je vyzdvižena v kapitole nazvané
"Using the Network". Tato kapitola je povedená, i když zde asi nenaleznete nic překvapivého.
Zmíněny jsou cookies, různé způsoby autentizace, certifikáty, SSL.&lt;br /&gt;
Z dalších kapitol rychle získáte pocit, že se autoři zavázali dodat dílko o vyšším
počtu stran, a proto zařadili témata jako jsou Web Services a .Net Remoting. Sice
jsou vždy naťuknuty pokročilé vlastnosti (SOAP extenze, Channel sinks), ale z jejich
odfláknutého vysvětlení si začátečník bude brzy zoufat a slabší nátura se k těmto
konceptům kvůli neumětelství autorů již nikdy nevrátí. Jako leitmotiv knihy:) se zde
objevuje podrobné vysvětlení asynchronního volání WWW služeb.&lt;br /&gt;
Autoři se také s těžko pochopitelnou vervou pustí i do vysvětlování Code Acces Security.
Jejich snaha se ale omezí na výčet oprávnění a hrubý přehled významu konstitutivních
složek CAS, takže kdybych se s CAS setkal poprvé, získám mylný dojem, že CAS je nesmysl
bez jakékoli užitné hodnoty. Jsme také poučeni, že bychom měli komunikaci mezi sokety
kryptovat, protože svět plný hackerů čeká na naše pakety. Děkuji za osvětu, hned se
cítím jako up-to-date vývojář, teď si najdu jen ve slovníku cizích slov význam termínu
kryptovat, abych ty hackery svými programy sejmul. :)&lt;br /&gt;
Doporučení pro psaní výkonných aplikací jsou shrnuta v mozaice nazvané "Network performance
and scalability. Zajímavá je hlavně část týkající se doporučení pro používání "Nagle"
algoritmu, ale ani ostatní rady vašim aplikacím neublíží. 
&lt;br /&gt;
Zcela do počtu je kratičká poslední kapitola Advancements in .Net Framework programming,
jejíž originální teze by se dala shrnout "Nebojte se, v příští verzi bude zase vše
lepší, výkonnější a bezpečnější".&lt;br /&gt;
Co říci závěrem? Jestliže se sokety začínáte a jste úplní zelenáči, kniha se Vam bude
hodit, i když si z ní odnesete hlavně poznatek, že sokety jsou tady proto, aby bylo
na čem demonstrovat dokonalý asynchronní návrhový vzor. :) Jste-li pokročilý vývojář
a v knize hledáte neotřelé rady starých zkušených harcovníků, schovejte peněženku,
zamáčkněte slzu kanoucí za odpíraným poznáním a vyberte si jiný titul.&lt;br /&gt;
Anotace&lt;br /&gt;
Název: Network Programming For the Microsoft .Net Framework&lt;br /&gt;
Autoři: Jones, A; Ohlund, J; Olson, L;&lt;br /&gt;
Nakladatelství: Microsoft Press 2004
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=262cc8c0-dadd-426c-868e-281bb27d4f2f" /&gt;</description>
      <comments>http://blog.renestein.net/CommentView,guid,262cc8c0-dadd-426c-868e-281bb27d4f2f.aspx</comments>
      <category>.NET Framework</category>
      <category>.Net Remoting</category>
      <category>ASP.NET</category>
      <category>Web Services</category>
    </item>
  </channel>
</rss>