smart business web clients mit silverlight 4 & wcf ria services markus unterauer software...
TRANSCRIPT
![Page 1: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/1.jpg)
Smart Business Web Clientsmit Silverlight 4 & WCF RIA Services
Markus UnterauerSoftware ArchitectCubido Business Solutionshttp://www.cubido.at/
Max KnorTechnical Evangelist
Microsoft Österreichhttp://www.knor.net/blog/
![Page 2: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/2.jpg)
Quellcode der Demoapplikation aufhttp://bigdays10.codeplex.com/
![Page 3: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/3.jpg)
Demoszenario „Helfen-helfen“• Hilfsorganisationen (Organisation) können Hilfseinsätze
posten (Demand)
• Bei jeden Einsatz fallen unterschiedliche Tätigkeiten an (DemandDetails)
• Benutzer (UserDetail) können sich für Tätigkeiten bei Einsätzen registrieren (Mission)
• Für erfolgreiche Einsätze gibt es Punkte (BonusAccount), die dann gegen kleine Geschenke eingetauscht werden können (BonusItem)
![Page 4: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/4.jpg)
Helfen-helfen - Architektur
Backend Client(Silverlight 4 / RIA)
Web Frontend(ASP.NET / AJAX / MVC)
Anwendungs-Server
Web Server
(Web) Service
HTTP/HTML
TDS
D A LB LU I
![Page 5: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/5.jpg)
Helfen-helfen – Teil des Datenmodells
![Page 6: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/6.jpg)
Silverlight vs. ASP.NET vs. WPFfür Business Apps
• Effizientes Arbeiten mit Daten im Mittelpunkt• Einfaches Deployment und Update auf mehreren
Plattformen
Anwender & IT fordern
• Schnelle Reaktion des UI (Datenprüfung, Daten-Lookup, …)• Näher an Excel (z.B. Editieren direkt im DataGrid)• Mächtige Controls (DropTarget, Webcam, RichTextBox, …)• Auto-Update, Out-Of-Browser Modus
Silverlight 4 bietet
![Page 7: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/7.jpg)
Ziele von WCF RIA Services
• Arbeiten mit asynchronen Webservices ist mühsam und unintuitiv
• Vor allem für datenzentrierte Applikationen
Einfachere Entwicklung von Rich-Internet-Apps
• Fertige Module für Datenzugriff, Validierung, Sicherheit, …
ASP.NET Produktivität für Silverlight RIA-Clients
![Page 8: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/8.jpg)
Agenda• Zielsetzung
• Architektur der WCF RIA Services
• Erste Schritte mit WCF RIA Services
• Business Application Beispiel– Einfache Listendarstellung– Blättern, Sortieren, Filtern– Formularansicht– Speichern & Validierung– Contextmenü, Clipboard, DropTarget
![Page 9: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/9.jpg)
ApplicationBrowser Rich Internet Application
DB
Service
Other Applications
Client und Server – Eine Einheit?!• Client als Erweiterung des Servers• Applikation als Gesamtheit aus Client + Server
Data Access Layer
AppLogic
Services
HTMLPresentati
onLogic
Network
![Page 10: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/10.jpg)
Windows Communication Foundation
Programming Model
Service Model
Data Contract
Channel Model
RIAServices
Core Services
Service Contract Service Behavior
WorkflowServices
Formats(Atom, JSON, XML,…)
Transports(HTTP, TCP,…)
Protocols(SOAP, HTTP, OData,…)
Web Http Services
DataServices
![Page 11: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/11.jpg)
demo
Erste Schritte mit WCF RIA Services
![Page 12: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/12.jpg)
Client Projekt
Applikationsarchitektur
Server Projekt
DomainService
Data Acces
s Layer (DAL)
Entities
Applikation
ViewsDomainContex
t
EntitiesBuild,
reflect & code-gen
![Page 13: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/13.jpg)
demo
WCF RIA Services, DataGrid, Visual Studio Data Sources
Einfache Listendarstellung
![Page 14: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/14.jpg)
Einfache Listendarstellung
• „Data Sources“ – Fenster– Drag & Drop für gebundene Listen
• Domain Data Source– Kapselt Servicemethoden & Entitäten
• DataGrid
Zusammenfassung
![Page 15: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/15.jpg)
demo
DataGrid, DataPager
Blättern, Sortieren, Filtern
![Page 16: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/16.jpg)
Blättern, Sortieren, Filtern
• Busy Indicator– System.Windows.Controls.Toolkit.dll– IsBusy gebunden auf DomainDataSource.DomainContext.IsLoading
• Data Pager– System.Windows.Controls.Toolkit.dll– Rückgabe muss sortiert sein! (OrderBy(..) am Server)– „Echtes“ Paging --> in der Datenbank, nicht In-Memory
• Filterung– FilterDescriptors Collection der DomainDataSource
Zusammenfassung
![Page 17: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/17.jpg)
demo
Formularansicht
![Page 18: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/18.jpg)
Formularansicht
• DataGrid Template Column– Button für Navigation zur Detailseite
• Silverlight Seitennavigation– Alles hinter „#“: Lokal für Silverlight– NavigationService.Navigate( "http://...#/
DetailsView?ID=1234")– NavigationContext.QueryString
• „Data Sources“ Fenster auch für Formulare
Zusammenfassung
![Page 19: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/19.jpg)
demo
Speichern und Validierung
![Page 20: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/20.jpg)
Speichern und Validierung
• DomainDataSource– Lokales Changetracking– SubmitChanges()
• Validierung– DataAnnotation Attribute in
domainservice.metadata.cs– Client & Server Validierung (gemeinsamer Code)– Required, ReadOnly, StringLength,
RegularExpression, …
Zusammenfassung
![Page 21: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/21.jpg)
demo
Drag&Drop, COM Interop,Contextmenü, Clipboard
![Page 22: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/22.jpg)
Contextmenü, Clipboard, DropTarget
• Contextmenü– MouseRightButtonDown Event: e.Handled = true– MouseRightButtonUp Event– Contextmenü muss selbst umgesetzt werden
• Clipboard– SetText(…), GetText(…)– Erster Aufruf: Freigabedialog für Benutzer
– DropTarget (für FileInfo[])– UIElement.AllowDrop = true– DragEnter, DragOver, Drop Events
Zusammenfassung
![Page 23: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/23.jpg)
Ziel erreicht?
Viele UI-Controls für effiziente Business-Apps
Einfachere Entwicklung: Client und Server als Einheit
ASP.NET Produktivität für Silverlight RIA-Clients
![Page 24: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/24.jpg)
Links zu Silverlight 4 und RIA
• Silverlight– SL Home: http://www.microsoft.com/silverlight/– SL 4 beta: http://www.silverlight.net/getstarted/silverlight-4-beta/– Toolkit: http://silverlight.codeplex.com/
• WCF RIA Services– http://silverlight.net/getstarted/riaservices/
• Silverlight Control Libraries– http://www.telerik.com/products/silverlight.aspx– http://www.devexpress.com/Products/NET/Controls/Silverlight/
![Page 25: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/25.jpg)
Fragen?
www.cubido.at
www.codefest.at
![Page 26: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions Max](https://reader035.vdocuments.site/reader035/viewer/2022062512/55204d7049795902118c29f6/html5/thumbnails/26.jpg)
Die nächsten Vorträge
Track 1: Security war gestern, Protection ist heute!
Track 2: A Lap around SharePoint 2010
Track 3: Visual Studio 2010 Ultimate & Team Foundation Server – Teil 1
Track 4: CSS Layouts und ASP.NET 4
Track 5: Alles auf einen Blick: die integrierte ERP- und BI-Lösung auf Knopfdruck