smart business web clients mit silverlight 4 & wcf ria services markus unterauer software...

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/

Upload: melusina-zeiset

Post on 05-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

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