Silverlight. datové služby. John Papa

Podobné dokumenty
Základy datových vazeb Silverlightu. Funkce Silverlightu 2. Podpora jazyků a technologie.net Framework

programování formulářů Windows

RAW s programem Adobe Photoshop CS

Zrychlete své WWW stránky!

Zoner PhotoStudio 11 archivace, správa, publikování a základní úpravy digitálních fotografií

Adobe Illustrator CS5

Zoner Photo Studio kouzlo digitální fotografie

IPPF PRŮVODCE PRAXÍ INTERNÍ AUDIT A PODVOD

Kapitola 1 Začínáme se Silverlightem

Pochvalná vyjádření k prvnímu vydání Hacking umění exploitace

John McWade. Jak na působivý grafický design Návrhy brožur, log, webů, newsletterů, vizitek či plakátů

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Informační systém pro podporu řízení, správu a zjišťování aktuálního stavu rozvrhované výuky

Jak postupovat při řízení kontinuity činností. Risk Analysis Consultans

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

CineStar Černý Most Praha

Adobe Creative Team. Adobe Photoshop CS5. Oficiální výukový kurz

Zpětná vazba od čtenářů 11 Dotazy 11 Zdrojové kódy ke knize 11 Errata 11 Typografické konvence použité v knize 12

Business Intelligence

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Tvorba informačních systémů

ÚVODNÍ SLOVO 5 NAŠE POSLÁNÍ 5 NAŠE VIZE 5 V ROCE 2014 JSME 7 V ROCE 2015 BUDEME 11 TAK JSME HOSPODAŘILI 13

Tvoříme PŘÍSTUPNÉ STRÁNKY. webové. Připraveno s ohledem na novelu Zákona č. 365/2000 Sb., o informačních systémech veřejné správy.

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Alan Hess fotografujte dobře DOMÁCÍ MAZLÍČCI od momentek ke skvělým fotografiím (psi, kočky, koně, ještěrky, morčata a mnoho dalších)

Tvorba aplikace typu klient/server pomocí Windows Communication Foundation

Stručný obsah. Část I. Část II. Část III. Úvod do vývoje v prostředí Visual Studio 25. Návrh uživatelského rozhraní 127

Windows Vista. základní průvodce. Brian Livingston a Paul Thurrott

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

WCF. IW5 - Programování v.net a C# WCF

Formy komunikace s knihovnami

Microsoft Visual C# 2010

Architektury informačních systémů

Poznámky k verzi Remote support platform 3.1

Architektury informačních systémů

1 Webový server, instalace PHP a MySQL 13

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Instalace demoverze

Animace ve WPF. Filip Gažák. Ing. Václav Novák, CSc. Školní rok:

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Microsoft Office 2003 Souhrnný technický dokument white paper

Nová pravidla marketingu a PR

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Nokia Nseries PC Suite vydání

E-distribuce dokumentů. elektronizaci publikování

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

APS Web Panel. Rozšiřující webový modul pro APS Administrator

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Nintex Workflow 2007 je nutné instalovat na Microsoft Windows Server 2003 nebo 2008.

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Technologie Sharepoint

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Předmluva 11 Typografická konvence použitá v knize Úvod do Excelu

Share online vydání

Požadavky pro výběrová řízení TerraBus ESB/G2x

INFORMAČNÍ SYSTÉMY NA WEBU

PROGRAMOVÁNÍ PRO MS WINDOWS 2

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Použitelnost. stránek. domovských. Jakob Nielsen & Marie Tahir. Foto: Jiří Heller

MST - sběr dat pomocí mobilních terminálů on-line/off-line

STRUČNÁ PŘÍRUČKA. Instalace ovladačů Nokia Connectivity Cable Drivers

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Jak Vám partnerské programy pomohou v rozvoji podnikání. Víte, že můžete získat software v hodnotě tisíců USD za zlomek ceny?

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Olga Rudikova 2. ročník APIN

1. Webový server, instalace PHP a MySQL 13

univerzální konektor pro napojení internetových obchodů a dalších aplikací na systém Altus Vario.

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Wonderware Information Server 4.0 Co je nového

Tvorba informačních systémů

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Inovace výuky prostřednictvím šablon pro SŠ

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Tutorial Pohyblivá zatížení

Xenon XP 1950g. Stručný návod k použití. Kabelový plošný skener CZ-QS-01 Rev A 07/19

Představuje. Technický Informační Systém nové generace

Michal Krátký, Miroslav Beneš

Obsah. Předmluva 13. O autorovi 15. Poděkování 16. O odborných korektorech 17. Úvod 19

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Lukáš Kubis. MSP pro VŠB-TU Ostrava

Tutorial Kombinace zatěžovacích stavů

Kapitola 5 WCF, webové služby a mezidoménové zásady

Spisová služba a zákon 300/2008 Ladislav Kleman, Petra Benediktová

APS Administrator.OP

Ing. Tomáš Řemelka. KAAS/JIP. Informace pro vývojáře agendových informačních systémů

ÚVODNÍ SLOVO 5 NAŠE POSLÁNÍ 5 NAŠE VIZE 5 V ROCE 2014 JSME 7 V ROCE 2015 BUDEME 11 TAK JSME HOSPODAŘILI 13

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Online tisk vydání

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Transkript:

Silverlight datové služby John Papa Kap_0o.indd 1 29.6.2009 16:18:04

Data-Driven Services with Silverlight John Papa ZONER software, a.s., 2009. Authorized translation of the English edition of Data-Driven Services with Silverlight 2, ISBN 9780596523091 2008 John Papa. This translation is published and sold by permision of O'Reilly Media, Inc., the owner of all rights to publish and sell the same. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from O'Reilly Media, Inc. ZONER software, a.s., 2009. Autorizovaný překlad originálního anglického vydání knihy Data-Driven Services with Silverlight 2, ISBN 9780596523091 2008 John Papa. Překlad je vydán a prodáván s výslovným svolením O'Reilly Media, Inc., vlastníkem veškerých práv na vydání i prodej tohoto titulu. Žádná část této publikace nesmí být reprodukována nebo předávána žádnou formou nebo způsobem, elektronicky ani mechanicky, včetně fotokopií, natáčení ani žádnými jinými systémy pro ukládání bez výslovného svolení O'Reilly Media, Inc. Silverlight datové služby Autor: John Papa Copyright ZONER software, a.s. Vydání první v roce 2009. Všechna práva vyhrazena. Zoner Press Katalogové číslo: ZR901 ZONER software, a.s. Nové sady 18, 602 00 Brno Překlad: Veronika Matějů Odborná korektura: RNDr. Jan Pokorný Šéfredaktor: Ing. Pavel Kristián DTP: Pavel Kristián, ml. Ilustrace na obálce: O'Reilly Media, Inc. Informace, které jsou v této knize zveřejněny, mohou byt chráněny jako patent. Jména produktů byla uvedena bez záruky jejich volného použití. Při tvorbě textů a vyobrazení bylo sice postupováno s maximální péčí, ale přesto nelze zcela vyloučit možnost výskytu chyb. Vydavatelé a autoři nepřebírají právní odpovědnost ani žádnou jinou záruku za použití chybných údajů a z toho vyplývajících důsledků. Všechna práva vyhrazena. Žádná část této publikace nesmí být reprodukována ani distribuována žádným způsobem ani prostředkem, ani reprodukována v databázi či na jiném záznamovém prostředku či v jiném systému bez výslovného svolení vydavatele, s výjimkou zveřejnění krátkých částí textu pro potřeby recenzí. Veškeré dotazy týkající se distribuce směřujte na: Zoner Press ZONER software, a.s Nové sady 18, 602 00 Brno tel.: 532 190 883, fax: 543 257 245 e-mail: knihy@zoner.cz www.zonerpress.cz ISBN 978-80-7413-041-0 Kap_0o.indd 2 29.6.2009 16:19:21

Věnováno mé rodině: Colleen, Haley, Madelyn, Elle a brzy i Landonovi. Jste pro mě skutečným požehnáním. Kap_0o.indd 3 29.6.2009 16:19:21

Podrobný obsah Předmluva 11 Úvod 13 Kapitola 1 Začínáme se Silverlightem 23 Význam přístupu k datům 23 Jdeme na to 24 Funkce Silverlightu 2 25 Podpora jazyků a technologie.net Framework 26 Model pro popis webových služeb a jejich operací 27 Volná vázanost datových služeb 27 Nový model ovládacích prvků 27 LINQ to Objects a LINQ to XML 28 LINQ 28 Rozšíření jazyka 30 Automatické vlastnosti v C# 30 Inicializátory objektů 33 Inicializátory kolekcí 34 Rozšiřující metody 35 Implicitní typy proměnných 37 Anonymní typy/implicitní typy 37 Anonymní typy a LINQ 38 Shrnutí 38 Kapitola 2 Základy datových vazeb Silverlightu 39 Život bez vazby 40 Datové vazby v Silverlightu 45 Pravidlo 1: FrameworkElement 46 Pravidlo 2: Závislostní vlastnost 47 Rozšířený zápis vazby XAML 50 Vlastnosti rozšiřující vazby 51 Kap_0o.indd 4 29.6.2009 16:19:21

Zjednodušená vazba 52 Vazba za běhu 53 Vytváření vazeb za běhu 54 Odebrání vazby 57 Vlastnost DataContext 58 DataContext a Source 59 Přenos vlastnosti DataContext 60 Vytváření vazeb v nástroji Blend 62 Shrnutí 66 Kapitola 3 Režimy a oznamování 67 Režimy vazeb 68 OneTime 68 OneWay 70 TwoWay 71 Režimy bez oznamování 72 Oznamovat či neoznamovat 78 Oznamování 78 Implementace rozhraní INotifyPropertyChanged 79 Přidání oznamování 84 Možnosti přepracování kódu (refactoring) 87 Shrnutí 90 Kapitola 4 Správa seznamů, šablon a konvertorů 91 Vazby k ovládacím prvkům založeným na seznamech 91 Nastavení vlastnosti ItemsSource 92 Úvahy o režimu vazby 94 Šablony a řádky 95 Datové šablony DataTemplate jako zdroje 95 Komplikovanější datové šablony DataTemplate 97 Výběr položek 100 Využívání různých režimů vazeb 104 5 Kap_0o.indd 5 29.6.2009 16:19:21

6 Seznamy a oznámení 105 Kolekce ObservableCollection<T> 106 Změna seznamu objektů List<T> 106 Změna kolekce ObservableCollection<T> 110 Konvertory 111 Rozhraní IValueConverter 112 Konverze 112 Shrnutí 116 Kapitola 5 WCF, webové služby a mezidoménové zásady 117 Webové služby ASMX 117 Vytvoření webové služby ASMX 118 Začněme příkladem 119 Vytváření webové služby ASMX 120 Odkazování na webovou službu ASMX 123 Vrácení kolekce ObservableCollection<T> 123 Využívání webové služby ASMX 124 Znovu ty vazby 124 Vytvoření třídy proxy 128 Asynchronní volání 129 Asynchronní dokončování 129 Spuštění webové služby ASMX 130 Mezidoménová volání a zásady 131 Mezidoménová omezení 132 Překračování hranice 132 Sledování požadavků 132 Soubor zásad Silverlightu 133 Soubor crossdomain.xml 135 Shrnutí přístupu mezi doménami 136 Vytvoření služby WCF spolupracující se Silverlightem 137 Vytváření webové služby WCF 137 Vazby 138 Nastavení služby WCF 138 Kap_0o.indd 6 29.6.2009 16:19:21

Vyvolání služby WCF 143 Volání služeb vytvořených jinými vývojáři 145 Shrnutí 149 Kapitola 6 Předávání entit prostřednictvím služeb WCF 151 Předávání entit mezi fyzickými vrstvami 151 Entity doménového modelu 152 Silverlight a entity 153 Implicitní serializace 153 Atributy serializace 157 Jak to dát vše dohromady 159 Využívání LINQ to SQL v Silverlightu 168 Serializace entity LINQ to SQL 169 Vytváření entit pomocí LINQ to SQL 169 Obsluha modelu LINQ to SQL 171 Využívání entit LINQ to SQL ze Silverlightu 174 Silverlight a Entity Framework 176 Vytvoření modelu Entity Framework 176 Využívání entit Entity Framework ze Silverlightu 180 Shrnutí 181 Kapitola 7 Užití služeb RESTful prostřednictvím tříd WebClient a HttpWebRequest 183 Základy služeb RESTful 183 Základní webové požadavky HTTP 184 Webové služby RESTful poskytují prostředky 184 Jedinečné identifikátory URI 185 Struktura služby RESTful 186 WebClient 188 Příprava na využívání služby RESTful pomocí WebClient 190 Vyvolání služby RESTful pomocí třídy WebClient 193 Vytváření XAML pro uživatelské rozhraní 195 Vyvolání služby pomocí třídy WebClient 197 7 Kap_0o.indd 7 29.6.2009 16:19:21

8 Zpracování odpovědi pomoci LINQ to XML 199 Indikace průběhu 203 HttpWebRequest 206 Třída HttpWebRequest v akci 209 Práce se zpětným voláním 210 Křížení vláken 211 Vlákna a třídy WebClient a HttpWebRequest 212 Shrnutí 212 Kapitola 8 Využívání služeb RESTful pomocí Silverlightu na Amazonu 213 Nejnovější trend: Cloud Services 213 Vytvoření nákupního košíku Amazonu 214 Akce RESTful 215 Vyhledávání knih 220 Parsování knih pomocí LINQ to XML 223 Vazby výsledků hledání 230 Operace nákupního košíku 234 Shrnutí 239 Kapitola 9 Vytváření služeb RESTful a využívání aplikace SilverTwit 241 Vytvoření služeb RESTful pomocí WCF 242 Vytváření služby RESTful 242 Vytváření rozhraní služby 243 Konfigurace služby RESTful 243 Definování kontraktu 244 Využívání služeb REST 248 Výchozí hodnoty 250 Stavové kódy HTTP 251 Obsluha JSON 252 Definování odpovědi JSON 253 LINQ to JSON 254 Zpracování produktů pomocí LINQ to JSON 256 Kap_0o.indd 8 29.6.2009 16:19:21

Odesílání dat do služby RESTful 262 Definování metod POST 263 Odesílání formátu JSON a XML 265 Případová studie: SilverTwit 268 Architektura SilverTwit 269 Uživatelské rozhraní SilverTwit 269 Webové služby RESTful SilverTwitWS 273 Cachování 277 Tweeting 278 Shrnutí 281 Kapitola 10 Informační kanály a Silverlight 283 Poskytování obsahu informačních kanálů 283 Požadování informačního kanálu 285 Čtení obsahu informačního kanálu 288 Vazba informačního kanálu 289 Konvertory 291 Mezidoménové zásady 296 Seskupování informačních kanálů 299 Shrnutí 302 Kapitola 11 Silverlight a ADO.NET Data Services 303 Přehled ADO.NET Data Services 304 Metody HTTP 304 Formáty zpráv 305 Metadata 309 Využití vlastních datových zdrojů 309 Pravidla přístupu 313 Adresování RESTful 314 Možnosti URI 315 Vytvoření třídy proxy 316 Asynchronní dotaz LINQ 317 9 Kap_0o.indd 9 29.6.2009 16:19:21

10 ADO.NET Data Services a Entity Framework 321 Vytváření služeb na datovém modelu entit 322 Přístup pro čtení 322 Rozšíření klientského modelu 325 Zapojení aplikace 332 Význam oznámení 334 Zpožděné načítání 336 Interceptory dotazů 339 Interceptory změn 339 Rozšiřování operací služby 341 Další možnosti ukládání 342 Vkládání a skupiny objektů 343 Optimistická souběžnost 346 Shrnutí 349 PŘÍLOHA A Přehled ADO.NET Data Services 351 Metody HTTP 351 System.Data.Services.Client 351 System.Data.Services 353 Možnosti URI v ADO.NET Data Services 354 Operátory URI v ADO.NET Data Services 354 Funkce URI v ADO.NET Data Services 355 PŘÍLOHA B Ladění aplikace Silverlightu pomocí nástrojů pro kontrolu HTTP 357 Fiddler2 357 Web Development Helper 363 Firebug 365 Rejstřík 367 Kap_0o.indd 10 29.6.2009 16:19:21

11 Předmluva Vzpomínám si, jak jsem v březnu 2006 seděl v přeplněné místnosti v Las Vegas a čekal, až někdo z Microsoftu zahájí svou přednášku s názvem WPF/E a byl jsem zvědavý, o čem bude. Během následující hodiny měli účastníci možnost procházet první barevné prezentace a animace v prohlížeči na různých platformách operačních systémů. Všichni jsme odcházeli plni nadšení a ptali jsme se, co dalšího tento malý vedlejší projekt s krycím názvem WPF/E přinese. Nyní již samozřejmě víme, že z WPF/E se stal Microsoft Silverlight. Nevěděli jsme však, kolik energie a potenciálu tato nová platforma přinese. Pravděpodobně žádná jiná platforma od příchodu.net Framework nevzbudila mezi vývojáři tolik zájmu. Silverlight je obsáhlá platforma pro internetové aplikace, jež rozšiřuje možnosti vývojářů.net i na prohlížeče a umožňuje využívání funkcí, které byly k dispozici již v aplikacích WPF (Windows Presentation Foundation).Tato technologie otevřela nové možnosti organizacím, jež mohou nyní své webové aplikace vytvářet s využitím existujících znalostí v oblasti vývoje.net mnohem rychleji a spolehlivěji než kdy dříve. Silverlight představuje také novou konkurenci mezi dalšími interaktivními platformami, je výzvou pro přední společnosti na trhu a nutí všechny k přinášení inovací. První veřejné vystoupení Silverlightu se uskutečnilo v malé místnosti stranou od běžného ruchu konference společnosti Microsoft a Silverlight se rychle stal platformou pro vývojáře usilující o zdokonalování svých internetových aplikací. Samozřejmě víme, že aplikace nejsou tvořeny jen barevnými schématy či animacemi. Většina těch, kdo si prohlížejí tradiční obchodní aplikace, ví, že v uživatelském rozhraní existuje jen málo točících se obdélníků, jež lze využívat k provádění každodenních operací v oblasti služeb zákazníkům, lidských zdrojů či systémů pro správu objednávek. Každá platforma, jež chce přežít v jakékoli or- Kap_0o.indd 11 29.6.2009 16:19:21

12 ganizaci, musí být schopna zajišťovat základní činnosti na základě informací poskytovaných koncovými uživateli. Pro každou aplikaci jsou nejdůležitější data. Vymaníme-li se z tradičního pojetí aplikací, i hry online jsou založeny na datech v určité formě. Svět technologií je obklopen daty, jež přicházejí a odcházejí z aplikací, ať již ve formě informačních kanálů, uživatelských vstupů, automatických služeb atd. data vládnou. Na Silverlightu jako platformě pro vás může být důležité cokoli, ale data budou vládnout také ve všech vašich aplikacích. Ať již budete vyvíjet další skvělou hru, rozšířené uživatelské rozhraní aplikace pro lidské zdroje či kiosek na letišti, vaše aplikace bude vždy pracovat s daty. Pro úspěšnou implementaci aplikací je nezbytné pochopit různé způsoby přijímání a poskytování dat v rámci Silverlightu. Na Silverlightu je skvělé to, že se v podstatě jedná o.net! Většinu svých stávajících znalostí o přístupu k datům můžete využít i při implementaci další platformy. Silverlight však vývojářům nabízí několik jedinečných příležitostí a možná i výzev. Díky svým zkušenostem v oblasti práce s daty na platformách Microsoft přináší John Papa specifický pohled na práci s daty na platformě Silverlightu. Ať již jde o tradiční webové služby ASP.NET, Windows Communication Foundation, informační kanály RSS či datové zdroje RESTful, pomohou vám Johnovy zkušenosti pochopit, jak tyto různé zdroje spolupracují se Silverlightem a jaké jsou nejlepší postupy při jejich implementaci. John vás provede jednotlivými koncepty a upozorní na nástroje a postupy, díky nimž dosáhnete úspěchu při vývoji svých aplikací v Silverlightu. Tato kniha by měla najít své místo v knihovně každého vývojáře aplikací Silverlightu. Podrobný popis přístupu k datům prostřednictvím Silverlightu je nepostradatelným průvodcem pro každého, kdo pracuje s daty. John podrobně vysvětluje, proč byste měli postupovat určitými způsoby a díky tomu lépe pochopíte, co se děje v zákulisí při přistupování Silverlightu k datům. Bez ohledu na to, jak budete tuto knihu využívat ať již jako průvodce nebo jako příručku stane se pro vás neocenitelným pomocníkem při získávání zkušeností, ale i později při vaší práci. Po přečtení této knihy se ze mne stal lepší vývojář v oblasti aplikací Silverlightu a bezpochyby bude velkým přínosem i pro vás. Tim Heuer Program Manager, Microsoft Kap_0o.indd 12 29.6.2009 16:19:21