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
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
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
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
Neues von Windows FormsNeues von Windows Forms
Dirk PrimbsDirk PrimbsTechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH
Smart Client Deployment mit Smart Client Deployment mit ClickOnceClickOnce
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
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
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
Smart Client DeploymentSmart Client Deployment
Jens HäupelJens HäupelTechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH
Software für mobile GeräteSoftware für mobile Geräte
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
Smart Device ApplicationsSmart Device Applications
Dirk PrimbsDirk PrimbsTechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH
Office System als Host für Office System als Host für Smart ClientsSmart Clients
Die MöglichkeitenDie MöglichkeitenTaskPaneTaskPane
ManagedManagedControlsControls
View ControlsView Controls
Managed Smart TagsManaged Smart Tags
Managed Add-InManaged Add-In
Data IslandsData Islands
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
Office System als Host für Smart ClientsOffice System als Host für Smart Clients
Jens HäupelJens HäupelTechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH
DataIsland
ServerCode
SharePoint Document Library Client
Databases CorporateSystems
Bill's Daten
URL Request
Reisekosten.aspx
Bill's neue Daten
Data IslandsData IslandsData IslandsData Islands
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