Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect...

26
Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions http://www.cubido.at/ Max Knor Technical Evangelist Microsoft Österreich http://www.knor.net/blog/

Transcript of Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect...

Page 1: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions  Max.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

demo

Formularansicht

Page 18: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions  Max.

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.

demo

Speichern und Validierung

Page 20: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions  Max.

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.

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.

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.

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 25: Smart Business Web Clients mit Silverlight 4 & WCF RIA Services Markus Unterauer Software Architect Cubido Business Solutions  Max.

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.

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