{"id":13,"date":"2008-05-22T11:08:00","date_gmt":"2008-05-22T09:08:00","guid":{"rendered":"http:\/\/bielamowicz.info\/blog\/?p=13"},"modified":"2018-07-04T21:02:11","modified_gmt":"2018-07-04T20:02:11","slug":"zly-podrecznik-developing-xml-web-services-and-server-components","status":"publish","type":"post","link":"http:\/\/bielamowicz.info\/index.php\/2008\/zly-podrecznik-developing-xml-web-services-and-server-components\/","title":{"rendered":"Z\u0142y podr\u0119cznik &#8211; Developing XML Web Services and Server Components"},"content":{"rendered":"<p><img decoding=\"async\" title=\"Developing XML Web Services and Server Components with Microsoft Visual Basic .NET and Microsoft Visual C# .NET\" src=\"http:\/\/bielamowicz.info\/images\/70-320.jpg\" alt=\"Developing XML Web Services and Server Components with Microsoft Visual Basic .NET and Microsoft Visual C# .NET\" align=\"right\" border=\"2\" hspace=\"10\" vspace=\"10\" \/><\/p>\n<p>D\u0142ugo my\u015bla\u0142em jak opisa\u0107 t\u0105 ksi\u0105\u017ck\u0119. W ko\u0144cu przysz\u0142a mi na my\u015bl analogia budowlana ze \u015bwiata drogownictwa. Pomy\u015bla\u0142em o po\u0142udniowej autostradowej obwodnicy Krakowa. Droga ta spina ze sob\u0105 autostrad\u0119 A4 z Wroc\u0142awia i Katowic z Zakopiank\u0105 i Drog\u0105 Krajow\u0105 4, wiod\u0105c\u0105 w kierunku Tarnowa i Rzeszowa. Na pocz\u0105tku lat 90tych ubieg\u0142ego wieku po\u0142\u0105czono autostrad\u0119 A4 z Zakopiank\u0105, par\u0119 lat p\u00f3\u017aniej doci\u0105gni\u0119to do \u201eczw\u00f3rki\u201d (a obecnie trwa budowa autostrady do Szarowa ko\u0142o Bochni).<!--more--><\/p>\n<p>Pami\u0119tam, \u017ce zanim owa obwodnica powsta\u0142a, Droga Krajowa 4 prowadzi\u0142a przez centrum Krakowa, a nast\u0119pnie ulic\u0105 Wielick\u0105 wybiega\u0142a z miasta na wsch\u00f3d. Jakie\u015b dwa kilometry za Prokocimiem dwujezdniowa droga zbiega\u0142a w d\u00f3\u0142 do skrzy\u017cowania z ulic\u0105 Ma\u0142a G\u00f3ra, na kt\u00f3rym kierowcy spotykali ostatni\u0105 przed d\u0142u\u017csz\u0105 drog\u0105 sygnalizacj\u0119 \u015bwietln\u0105. Za skrzy\u017cowaniem droga ulatywa\u0142a w g\u00f3r\u0119, w kierunku Wieliczki ju\u017c jako jednojezdniowa, w\u0105ska, DK4.<\/p>\n<p>Gdy rozpocz\u0119\u0142a si\u0119 budowa obwodnicy, przy owym skrzy\u017cowaniu pojawi\u0142y si\u0119 maszyny budowlane. Na samym skrzy\u017cowaniu, jak i w jego okolicy, niczym sen pijanego projektanta, zacz\u0119\u0142y pojawia\u0107 si\u0119 dziwne betonowe konstrukcje. Ruch prowadzony by\u0142 drog\u0105 technologiczn\u0105 pomi\u0119dzy tymi dziwnymi budowlami. Wszystko sprawia\u0142o wra\u017cenie totalnego chaosu: a to w jednym suchym miejscu budowano most nad nieistniej\u0105c\u0105 rzek\u0105, a to wbijano gdzie\u015b samotnie stoj\u0105ce na polu betonowe podpory, a to spychacze sypa\u0142y nie wiedzie\u0107 czemu ziemne wa\u0142y. Stopniowo sen pijanego konstruktora zaczyna\u0142 \u0142\u0105czy\u0107 si\u0119 w ca\u0142o\u015b\u0107: pod \u201eniepotrzebny\u201d most skierowano lokaln\u0105 ma\u0142\u0105 rzeczk\u0119, wa\u0142y zacz\u0119\u0142y uk\u0142ada\u0107 si\u0119 w zjazdy z autostrady, na podporach pojawi\u0142 si\u0119 wiadukt. To, co dla nas sta\u0142o si\u0119 widoczne dopiero po zako\u0144czeniu budowy, dla robotnik\u00f3w by\u0142o znane od samego pocz\u0105tku, gdy\u017c dysponowali oni planami.<\/p>\n<p>Takie w\u0142a\u015bnie my\u015bli nasun\u0119\u0142y mi si\u0119 czytaj\u0105c ksi\u0105\u017ck\u0119 \u201eDeveloping XML Web Services and Server Components with Microsoft Visual Basic .NET and Microsoft Visual C# .NET\u201d. Wi\u0119kszo\u015b\u0107 rozdzia\u0142\u00f3w tworzona jest w\u0142a\u015bnie niczym wielki rozjazd drogowy: poszczeg\u00f3lne lekcje zdaj\u0105 si\u0119 stercze\u0107 w polu jako niczym nie powi\u0105zane ze sob\u0105 elementy konstrukcji. Ot, tu si\u0119 napisze co\u015b o atrybutach zwi\u0105zanych z COM+, ot tu co\u015b si\u0119 napisze o bezpiecze\u0144stwie. Ca\u0142o\u015bciowy obraz pojawia\u0142 si\u0119 najcz\u0119\u015bciej dopiero przy okazji laboratorium, maj\u0105cego (teoretycznie) pokazywa\u0107 praktyczne zastosowanie poznanych technologii, a de facto stanowi\u0105cego jedyne wyt\u0142umaczenie jak dane klocki ze sob\u0105 dzia\u0142aj\u0105.<\/p>\n<p>Sam materia\u0142 egzamin\u00f3w 70-310 i 70-320 (do kt\u00f3rych podr\u0119cznik ma przygotowywa\u0107) jest do\u015b\u0107 obszerny \u2013 s\u0105 to komponenty serwerowe i Web Service, przy czym jako komponenty serwerowe rozumiane s\u0105 tu tak\u017ce us\u0142ugi Windows oraz technologia COM+. Oczywi\u015bcie zrozumie\u0107 nale\u017cy \u017ce same egzaminy, jak i sam podr\u0119cznik, maj\u0105 ju\u017c kilka dobrych lat, i omawiane w nich technologie nie zawsze przetrwa\u0142y do dzi\u015b: o ile bowiem ADO.NET i Web Service u\u017cywane s\u0105 obecnie, o tyle us\u0142ugi Windows i COM+ zaczynaj\u0105 by\u0107 powoli technologiami niszowymi i tymi, kt\u00f3re Microsoft okre\u015bla pi\u0119knym s\u0142owem \u201elegacy\u201d.<\/p>\n<p>Ksi\u0105\u017cka rozpoczyna si\u0119 od wprowadzenia do .NET i kr\u00f3tkiego om\u00f3wienia cech tej platformy. Sk\u0105din\u0105d jest to chyba najlepszy jej rozdzia\u0142. Dalej jest tylko gorzej \u2013 rozdzia\u0142 drugi to us\u0142ugi systemu Windows. Po raz pierwszy ksi\u0105\u017cka ujawnia syndrom \u201ebudowy skrzy\u017cowania\u201d. Podobna sytuacja dotyczy rozdzia\u0142u trzeciego, gdzie mowa jest o COM+. Dla kogo\u015b kto nie zna COM+ rozdzia\u0142 ten r\u00f3wnie dobrze m\u00f3g\u0142by by\u0107 napisany po chi\u0144sku \u2013 jego warto\u015b\u0107 dydaktyczna jest znikoma. Nieco lepiej jest przy om\u00f3wieniu .NET Remotingu w rozdziale czwartym, cho\u0107 i tak ca\u0142o\u015b\u0107 sprawia wra\u017cenie opisu \u201ejak wymy\u0107 swoj\u0105 lew\u0105 stop\u0119 za pomoc\u0105 j\u0119zyka\u201d (jakby nie da\u0142o si\u0119 u\u017cy\u0107 r\u0119ki i prysznica).<\/p>\n<p>Sytuacja ulega pewnej poprawie w rozdziale pi\u0105tym, omawiaj\u0105cym technologi\u0119 ADO.NET. Niestety, om\u00f3wienie dotyczy wersji 1.0 \u015brodowiska .NET, kt\u00f3ra obecna by\u0142a na rynku bardzo kr\u00f3tko i zosta\u0142a szybko wyparta przez wersj\u0119 1.1. Jest to o tyle wa\u017cne, \u017ce wersja 1.0 posiada\u0142a w standardzie tylko i wy\u0142\u0105cznie sterowniki baz danych dla SQL Servera i mechanizmu OLE DB. Dopiero wersja 1.1 doda\u0142a obs\u0142ug\u0119 sterownik\u00f3w Oracle oraz mo\u017cliwo\u015b\u0107 u\u017cycia ODBC. Nie to jest jednak najwi\u0119kszym b\u0142\u0119dem tego podr\u0119cznika: w rozdziale tym zabrak\u0142o om\u00f3wienia obiektowego modelu ADO.NET.<\/p>\n<p>Warto o tym wspomnie\u0107, gdy\u017c jest to naprawd\u0119 wa\u017cne rozwi\u0105zanie \u2013 ka\u017cdy sterownik baz danych to zestaw obiekt\u00f3w implementuj\u0105cych zestaw standardowych interfejs\u00f3w. W po\u0142\u0105czeniu z wzorcami projektowymi takimi jak fabryka abstrakcji i metoda fabrykuj\u0105ca, mo\u017cliwe staje si\u0119 stworzenie kodu, w kt\u00f3rym faktycznie u\u017cywany engine bazy danych jest spraw\u0105 tylko i wy\u0142\u0105cznie konfiguracji. Sam jestem autorem aplikacji, kt\u00f3ra dane trzyma\u0107 mo\u017ce w PostgreSQL, MS-SQL czy Firebird w zale\u017cno\u015bci od zawarto\u015bci pliku konfiguracyjnego. Oczywi\u015bcie obecnie cz\u0119sto u\u017cywane s\u0105 r\u00f3\u017cnorakie mappery, niemniej jednak warto wiedzie\u0107 jakie zasady przy\u015bwiecaj\u0105 tw\u00f3rcom owych mapper\u00f3w \u2013 a tego w tej ksi\u0105\u017cce brakuje.<\/p>\n<p>Rozdzia\u0142 sz\u00f3sty to kr\u00f3tka wycieczka po pracy z XMLem, za\u015b rozdzia\u0142 si\u00f3dmy to kr\u00f3tki opis technologii Web Service. Opis na tyle kr\u00f3tki, \u017ce Web Service dosta\u0142y rozdzia\u0142 \u00f3smy, kt\u00f3ry w swym tytule obwieszcza nam, \u017ce oto naucza \u201ezaawansowanych\u201d element\u00f3w. Oczywi\u015bcie w por\u00f3wnaniu do <a href=\"http:\/\/www.amazon.com\/gp\/product\/0596002505?ie=UTF8&amp;tag=rzeczosztucep-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596002505\">Programming .NET Web Services<\/a> autorstwa Alexa Ferrary i Matthew MacDonalda to rozdzia\u0142 ten jest po prostu pusty. Zako\u0144czenie ksi\u0105\u017cki stanowi\u0105 dwa rozdzia\u0142y o testowaniu i wdra\u017caniu opisanych w ksi\u0105\u017cce element\u00f3w, cho\u0107 zamieszczono je chyba jedynie po to, aby da\u0107 zado\u015b\u0107 wymaganiom egzaminu&#8230;<\/p>\n<p>Og\u00f3lnie rzecz bior\u0105c po do\u015b\u0107 dobrym podr\u0119czniku do ASP.NET, Microsoft Press zaliczy\u0142 wpadk\u0119. Fakt, uda\u0142o mi si\u0119 zda\u0107 egzamin 70-320, jednak jego wynik by\u0142 dla mnie do\u015b\u0107 niezadowalaj\u0105cy, bior\u0105c pod uwag\u0119 czas sp\u0119dzony z t\u0105 ksi\u0105\u017ck\u0105.<\/p>\n<p><strong>Microsoft Corporation<\/strong> (jak firma mo\u017ce by\u0107 autorem ksi\u0105\u017cki?): <em>Developing XML Web Services and Server Components with Microsoft Visual Basic .NET and Microsoft Visual C# .NET<\/em>, Microsoft Press, Redmond 2003<\/p>\n","protected":false},"excerpt":{"rendered":"<p>D\u0142ugo my\u015bla\u0142em jak opisa\u0107 t\u0105 ksi\u0105\u017ck\u0119. W ko\u0144cu przysz\u0142a mi na my\u015bl analogia budowlana ze \u015bwiata drogownictwa. Pomy\u015bla\u0142em o po\u0142udniowej autostradowej obwodnicy Krakowa. Droga ta spina ze sob\u0105 autostrad\u0119 A4 z Wroc\u0142awia i Katowic z Zakopiank\u0105 i Drog\u0105 Krajow\u0105 4, wiod\u0105c\u0105 w kierunku Tarnowa i Rzeszowa. Na pocz\u0105tku lat 90tych ubieg\u0142ego wieku po\u0142\u0105czono autostrad\u0119 A4 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/bielamowicz.info\/index.php\/2008\/zly-podrecznik-developing-xml-web-services-and-server-components\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Z\u0142y podr\u0119cznik &#8211; Developing XML Web Services and Server Components&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-13","post","type-post","status-publish","format-standard","hentry","category-informatyka"],"_links":{"self":[{"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":2,"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"predecessor-version":[{"id":206,"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/posts\/13\/revisions\/206"}],"wp:attachment":[{"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bielamowicz.info\/index.php\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}