Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft...

20
Entwicklung und Einsatz von Smart Client- Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH http://blogs.msdn.com/ jensha Dirk Primbs Developer Evangelist Microsoft Deutschland GmbH http://blogs.msdn.com/ dirkpr

Transcript of Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft...

Page 1: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Entwicklung und Einsatz von Smart Client-Anwendungen

Entwicklung und Einsatz von Smart Client-Anwendungen

Jens HäupelDeveloper Evangelist

Microsoft Deutschland GmbHhttp://blogs.msdn.com/jensha

Dirk PrimbsDeveloper EvangelistMicrosoft Deutschland GmbHhttp://blogs.msdn.com/dirkpr

Page 2: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Nutzt Web ServicesNutzt Web Services on-/offlinefähigon-/offlinefähig

Auf verschiedenen Auf verschiedenen Gerätetypen Gerätetypen verfügbarverfügbar

Nutzt lokale Nutzt lokale RechenpowerRechenpower

Einfaches Einfaches DeploymentDeployment

Was ist ein Smart Client?Was ist ein Smart Client?DefinitionsversuchDefinitionsversuch

Page 3: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Smart Client TechnologienSmart Client Technologien

Windows Forms (.NET Framework)Windows Forms (.NET Framework) Gestaltung ansprechender und leitungsfähiger Gestaltung ansprechender und leitungsfähiger

BenutzeroberflächeBenutzeroberfläche

Tablet PC Tablet PC Digital Ink, HandschriftverarbeitungDigital Ink, Handschriftverarbeitung

Office SystemOffice System Gewohnte BenutzeroberflächeGewohnte Benutzeroberfläche FunktionsvielfaltFunktionsvielfalt

.NET Compact Framework.NET Compact Framework Pocket PCPocket PC Smart PhoneSmart Phone

Page 4: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Windows Forms NewsWindows Forms News

ControlsControls ToolstripToolstrip Toolstrip Control Toolstrip Control

ContainerContainer SplitContainerSplitContainer WebBrowser ControlWebBrowser Control MaskedTextBoxMaskedTextBox

DataData BindingSourceBindingSource BindingNavigatorBindingNavigator DataGridViewDataGridView SimpleBindingSimpleBinding ErrorIcons, -ProviderErrorIcons, -Provider

DesignerDesigner SnapLinesSnapLines SmartTasksSmartTasks DocumentOutline ViewDocumentOutline View LayoutContainerLayoutContainer

SonstigeSonstige SettingsSettings Asynchrone KomponentenAsynchrone Komponenten Sound APISound API ToolboxToolbox

Page 5: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Neues von Windows FormsNeues von Windows Forms

Dirk PrimbsDirk PrimbsTechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH

Page 6: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Smart Client Deployment mit Smart Client Deployment mit ClickOnceClickOnce

Page 7: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Wie funktioniert ClickOnce?Wie funktioniert ClickOnce?

Deployment Manifest

Deployment Manifest

Application Manifest

1.0

Application Manifest

1.0

Link auf Server

Link auf Server

Application Manifest

1.1

Application Manifest

1.1

Assembly List…

Version 1.1 ist aktuell

Assembly List…

Version 1.0 ist aktuell

Page 8: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Sichere DeploymentsSichere Deployments

Manifests müssen signiert seinManifests müssen signiert sein XMLDSIG (z.B. X.509 Zertifikat)XMLDSIG (z.B. X.509 Zertifikat)

Updates nur gleicher Signatur wie Updates nur gleicher Signatur wie VorversionVorversion Keine unbeabsichtigte oder vorsätzliche Keine unbeabsichtigte oder vorsätzliche

Verteilung von Viren möglichVerteilung von Viren möglich

File-Hash im Manifest verhindert File-Hash im Manifest verhindert Manipulation Manipulation der Dateiender Dateien

Page 9: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

App Manifest

Download On DemandDownload On Demand

Core App Module A Module B

Client

Server

Plug InAssembly

Plug InAssembly

Deploy Manifest

Requestfor Core App Core App

Module A Module B

Plug InAssembly

Plug InAssembly

Core App Module A Module B

Core App Module A Module B

Core Group

Core App Module A Module B

Core App Module A Module B

Plug InAssembly

Plug InAssembly

Group A Group B

Page 10: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Smart Client DeploymentSmart Client Deployment

Jens HäupelJens HäupelTechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH

Page 11: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Software für mobile GeräteSoftware für mobile Geräte

Page 12: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Anpassung an Host DeviceAnpassung an Host Deviceob Desktop, PocketPC, SmartPhone…ob Desktop, PocketPC, SmartPhone…

VS.NET adressiert auch mobile Geräte VS.NET adressiert auch mobile Geräte .NET Compact Framework (CF) für .NET Compact Framework (CF) für

Windows CE GeräteWindows CE Geräte die gleiche Syntax, dieselbe IDE für alle die gleiche Syntax, dieselbe IDE für alle

Typen von GerätenTypen von Geräten Daten sammeln / präsentieren in der Daten sammeln / präsentieren in der

für das Gerät am besten geeignetsten für das Gerät am besten geeignetsten FormForm

Weniger “Verdrahtungs”-Code Weniger “Verdrahtungs”-Code durch spezielle Klassen im CFdurch spezielle Klassen im CF

Page 13: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Smart Device ApplicationsSmart Device Applications

Dirk PrimbsDirk PrimbsTechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH

Page 14: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Office System als Host für Office System als Host für Smart ClientsSmart Clients

Page 15: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Die MöglichkeitenDie MöglichkeitenTaskPaneTaskPane

ManagedManagedControlsControls

View ControlsView Controls

Managed Smart TagsManaged Smart Tags

Managed Add-InManaged Add-In

Data IslandsData Islands

Page 16: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Die TaskPaneDie TaskPane Anpaßbarer Bereich mit vielfältigen Anpaßbarer Bereich mit vielfältigen

Möglichkeiten Möglichkeiten Vieles out-of-the-boxVieles out-of-the-box

Shared Workspace, XML Source, Shared Workspace, XML Source, Research Pane, …Research Pane, …

VSTO 2.0 bietet .NET Code VSTO 2.0 bietet .NET Code Modell für die AufgabenleisteModell für die Aufgabenleiste Einfachste AnbindungEinfachste Anbindung Managed ControlsManaged Controls DatabindingDatabinding Sprache der WahlSprache der Wahl

Page 17: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

Office System als Host für Smart ClientsOffice System als Host für Smart Clients

Jens HäupelJens HäupelTechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH

Page 18: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

DataIsland

ServerCode

SharePoint Document Library Client

Databases CorporateSystems

Bill's Daten

URL Request

Reisekosten.aspx

Bill's neue Daten

Data IslandsData IslandsData IslandsData Islands

Page 19: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.

ZusammenfassungZusammenfassung

Windows FormsWindows Forms Modernes Look & Feel, weniger CodeModernes Look & Feel, weniger Code

ClickOnce DeploymentClickOnce Deployment Einfachstes Deployment über http, ftp, unc, ...Einfachstes Deployment über http, ftp, unc, ... Sicher durch ZertifikateSicher durch Zertifikate

Smart Device ApplicationsSmart Device Applications Kein anderes Tool, just Visual StudioKein anderes Tool, just Visual Studio

Office System als Host für Smart ClientsOffice System als Host für Smart Clients .NET Controls in TaskPane / direkt im UI.NET Controls in TaskPane / direkt im UI Superschnelle Integration für EntwicklerSuperschnelle Integration für Entwickler

Page 20: Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH  Dirk Primbs.