Smart Client German Architects Forum 2004 Martin Vollmer Architekturberater Developer Platform & Strategy Group Microsoft Deutschland GmbH [email protected] 1 Microsoft Architects Forum Agenda 2 Geschichte der Clients Was ist ein Smart Client? Office 2003 als Smart Client Deployment, Security, Versioning … Zukunft des Smart Client Zusammenfassung Microsoft Architects Forum Client Evolution Client-Server Smart Clients PC GUI Fähigkeiten Web PC CUI Dumb Terminal 3 Zeit Microsoft Architects Forum Thin Client Architektur ‘Deployment’ Browser Page Page UI Data UI Logic Client 4 Business Logic Web Server Microsoft Architects Forum Rich Client Architektur 1 Main Form Datenzugriffs Schicht Und meist BL Client 5 ADO, OLE DB, ODBC Datenbank Server Microsoft Architects Forum Rich Client Architektur Main Form Web Service Service Agent Client 6 2 Web Service Proxy Web Server Microsoft Architects Forum Agenda 7 Geschichte der Clients Was ist ein Smart Client? Office 2003 als Smart Client Deployment, Security, Versioning … Zukunft des Smart Client Zusammenfassung Microsoft Architects Forum Smart Client Architektur Main Form Web Service Service Agent Client 8 Web Service Proxy Web Server Microsoft Architects Forum Was ist ein Smart Client? Definition der Fähigkeiten 9 Nutzt lokale CPU Konsumiert WebServices Unterstützt online / offline Szenarien Kann sich dem Gerät anpassen Intelligentes Deployment Microsoft Architects Forum Web Services & Offline/Online Unterstützung “großer” Footprint schwieriges Deployment DLL “Hölle” Rich User Experience Große Reichweite Entwicklerprduktivität einfaches Change Management Anpassung an Geräte 10 Poor User Experience einfaches Deployment Antwortzeiten Netzwerk Abhängigkeit Rich UI Schwierig zu entwickeln Microsoft Architects Forum Microsoft Smart Client Plattformen Windows Forms Office System 2003 Windows Mobile heutige Generation Version 1.1 Nächste Generation 11 Version 2.0 Version 1.1 “Whidbey” Version 2.0 Microsoft Architects Forum Smart Client Technologien .NET Framework (Full & Compact) Windows Applikationen Office XML - InfoPath, WordML, ExcelML SmartTags & SmartDocuments Visual Studio Tools For Office - Word and Excel Information Bridge Framework - Meta-Data Driven Solutions Hybrid 12 Windows Forms Office Smart Clients Deployment, App Isolation, CAS, Binding Embedded Browser, Browser Host Microsoft Architects Forum Microsoft Smart Client Plattformen Windows Forms Heutige Generation Version 2.0 ClickOnce deployment, update, rollback Optisch ansprechende Benutzeroberfläche Version 1.1 Nächste Generation Radikal Officevereinfachte System 2003 Anwendungsentwicklung Windows Mobile Version 1.1 “Whidbey” Neue Daten Controls Office “Look and Feel” 2.0 Version Entwicklerproduktivität Vereinfacht die Bearbeitung von Daten Weniger “lines of code” .NET Framework Verbreitung 13 Installiert auf mehr als 120 Millionen PCs Vorinstalliert auf 60% aller neuen PCs und ansteigend Auf der SP2 CD enthalten Endverbraucher Bei 55% installiert bis zum Ende von ’04 Bei 75% installiert bis zum Ende von ‘05 Geschäftskunden Bei 50% installiert bis zum Ende von ’04 Bei 68% installiert bis zum Ende von ’05 Microsoft Architects Forum Smart Client Architektur Operational Management Security Communication User Interface Components User Process Components Service Interfaces Business Workflows Data Access Logic Components Data Source 14 Business Components Business Entities Service Agents Service Microsoft Architects Forum Windows Forms Smart Client Design Guide und Building Blocks von PAG Smart Client Architecture and Design Guide http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/SCAG.asp User Interface Process Application Block – V. 2.0 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/uipab.asp Data Access Application Block for .NET http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp Smart Client Offline Application Block http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/offline.asp Updater Application Block for .NET http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/updater.asp Authorization and Profile Application Block http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/authpro.asp Exception Management Application Block for .NET http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/emab-rm.asp 15 Microsoft Architects Forum Microsoft Client Plattformen WindowsSmart Mobile Windows Forms Heutige Generation Office System 2003 Windows Mobile Sofortiger Zugriff auf Daten Version 1.1 Version 1.1 überall und jederzeit Nächste Generation Der Formfaktor und sofortige Version 2.0 “Whidbey” 2.0 Bereitschaft nachVersion dem Einschalten besser geeignet im Außendienst Zugriff auf existierende Web Services in SOAs Nutzt die vorhandenen Fähigkeiten und den vorhandenen Code auf Geräten mit .NET Compact Framework 16 Microsoft Architects Forum Agenda 17 Geschichte der Clients Was ist ein Smart Client? Office 2003 als Smart Client Deployment, Security, Versioning … Zukunft des Smart Client Zusammenfassung Microsoft Architects Forum Office System Microsoft Smart Client Plattformen Windows Verbindet “LiveForms Business Daten” mitOffice System 2003 Dokumenten - auch Offline Heutige Generation Nächste Generation Erreichbarkeit von über 400 Millionen Office Benutzern Keine extra Trainings und Anschubzeit von neuen Anwendungen Reduziert hausgemachte Fehler in neuen Anwendungen Nutzt die reichhaltige und zuverlässige Office Funktionalität 18 Beschleunigt und verbessert das Treffen von Version 1.1 Version 1.1 Entscheidungen Verbessert Mitarbeiter Produktivität Reduziert Fehler verursacht durch Version 2.0 “Whidbey” Version 2.0 Datenwiedereingabe und copy/paste Nutzt die existierende Erfahrung mit Office bei den Benutzern Windows Mobile Hohe Entwicklerproduktivität = weniger Entwicklungszeit Verbesserte Wartbarkeit & Deployment Optimiert die Nutzung des PC & der zentralen Resourcen Microsoft Architects Forum Office als Smart Client Plattform 19 Klassiker „Visual Basic for Applications“ (VBA) Smart Documents Visual Studio Tools for Office (VSTO) Information Bridge Framework (IBF) Microsoft InfoPath 2003 Visual Studio Tools for Office 2005 (Beta) Microsoft Architects Forum Projekttyp Office in Visual Studio Programmiert in managed code Neue Debugging Möglichkeiten Sicheres Deployment Visual Studio Tools für Office 20 Microsoft Architects Forum Agenda 21 Geschichte der Clients Was ist ein Smart Client? Office 2003 als Smart Client Deployment, Security, Versioning … Zukunft des Smart Client Zusammenfassung Microsoft Architects Forum Deployment Hintergrund Historische Probleme Drei Hauptprobleme bei Komponentensoftware Komplizierte Installation 22 Interoperabilität Zwischen Komponenten Über Prozessgrenzen Versionierung Sprachunabhängigkeit Betrifft viele Bereiche des Systems Dateien werden an mehrere Stellen kopiert Einträge in der Registry Schwierig zu kopieren oder entfernen “DLL Hölle” Fehlende, eingebaute Sicherheit Microsoft Architects Forum Deployment Hintergrund Willkommen beim .NET Framework Assemblies Vorteile 23 DLL oder EXE mit: IL Code Typ Information Manifest mit “assembly metadata” Admin hat Kontrolle über Konfigurationsdateien Keine Registry Einträge erforderlich “Private assemblies” “Public assemblies” bereitgestellt durch GAC Side-by-side Versionierung Code Access Security (CAS) Microsoft Architects Forum Optionen beim Deployment Klassisch über Windows Installer 2.0 XCopy Deployment No-Touch Deployment Unter Benutzung der Internet Explorers Eigenentwicklung mit Assembly.LoadFrom(url) .NET Application Updater Block Click-Once Deployment mit VS 2005 (Beta) 24 Microsoft Architects Forum Application Updater Block Downloader 1 Validator Post-Proc 2 Manifest Updater 4 Application Config Assembly Application Folder App 3 Config App Config Assembly .NET Framework Assembly Client 25 Deployment Server Microsoft Architects Forum No-Touch Deployment .NET Updater Application Block (UAB) “Plug-and-play” Komponenten Eines von den Microsoft “Patterns and Practices” Oder man entwickelt seinen eigenen …: angepassten Controler speziellen Downloader massgeschneiderten Validator individuellen Post-processor Komplett dokumentiert und erweiterbar http://msdn.microsoft.com/library/default.asp?url=/libra ry/en-us/dnbda/html/updater.asp 26 Microsoft Architects Forum Deployment mit VS2005 Auto-Updating Applications Integration in Windows Sicheres Deployment Click-Once Deployment mit Visual Studio 2005 27 Microsoft Architects Forum Agenda 28 Geschichte der Clients Was ist ein Smart Client? Office 2003 als Smart Client Deployment, Security, Versioning … Zukunft des Smart Client Zusammenfassung Microsoft Architects Forum Platform Roadmap 3 Wellen welche nicht ganz in Longhorn kulminieren Heute Whidbey + Yukon Longhorn Basic Web Services Advanced Web Services Indigo SQL Server 2000 SQL Server ‘Yukon’ WinFS Nach Longhorn Smart Client & Präsentation Office 2003 WinForms Office 2003 WinForms Avalon Grundlagen .NET Framework 1.1 .NET Framework 2.0 WinFx NGSCB… Kommunikation Daten 29 Microsoft Architects Forum Longhorn Architektur 30 Microsoft Architects Forum Longhorn Architektur TM Presentation Data Communication Base Operating System Services 31 Microsoft Architects Forum Ankündigung von WinFX™ Schnellere, einfachere Entwicklung Basiert auf dem .NET Framework Gut strukturiertes “Programmier-Framework” für Windows Weiterhin Verpflichtung zur Abwärtskompatibilität 32 Microsoft Architects Forum Windows Kommunikation Erleichtert Service orientierte Entwicklung Advanced WebServices 33 Sicher, zuverlässig, Transaktionen, asynchron Heterogene Interoperabilität leistungsfähige Messaging Infrastruktur Vereinfacht die Erstellung von Services Programmiermodell erweitert bestehende Möglichkeiten Microsoft Architects Forum Indigo und Vereinheitlichung ASMX and WSE .NET Remoting Simple Config Interoperable Service-Oriented Broad Vision Extensibility Object-Oriented Enterprise Services System.Messaging Attributes Transactions Components Queuing Reliable Msg Durable Msg Indigo 34 Microsoft Architects Forum Vereinheitlichtes Präsentationsmodell für Windows Applikationen, Web Applikationen, Grafik, Media und Animationen Vektor orientiert Native Unterstützung für “advanced input” Unterstützung von deklarativer Programmierung 35 Microsoft Architects Forum Deklarative Programmierung für Windows Code Named “XAML” Markup Sprache für Windows Code und Inhalt sind getrennt Aufbau von Applikationen in einfachen deklarativen Ausdrücken Leicht zu lernen, schreiben und lesen Vereinfachung der Zusammenarbeit von Designer und Entwickler Einfach von Werkzeugen zu konsumieren und zu generieren <Button Width="100px"> OK <Button.Background> LightBlue </Button.Background> </Button> 36 Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = new Length(100); Dim b1 As New Button b1.Content = "OK" b1.Background = New SolidColorBrush(Colors.LightBlue) b1.Width = New Length(100) Microsoft Architects Forum 37 Microsoft Architects Forum Zusammenfassung „Loslassen“ vom Thin-Client Paradigma .NET macht es möglich … Office 2003 als Smart Client Framework .NET + Application Blocks = großartige Smart Client Entwicklungsplattform 38 Noch besser in Visual Studio 2005 Planung für : Deployment, Security, Offline, Behandlung der Daten, Antwortzeiten “Responsiveness” Microsoft Architects Forum Smart Client Resources Learn about the .NET Framework Windows Forms http://msdn.microsoft.com/newsgroups dotnet.framework.windowsforms office.developer.* MSDN Architecture Center 39 http://msdn.microsoft.com/office Newsgroups http://www.windowsforms.net Sample code, forums, articles, etc. Check out the Windows Forms Quick Start in the SDK Office http://www.microsoft.com/net http://msdn.microsoft.com/Architecture Microsoft Architects Forum Patterns & Practices Resources http://www.microsoft.com/practices Smart Client Architecture Guide http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnpag/html/scag.asp Application Blocks Offline Application Block http://msdn.microsoft.com/architecture/default.aspx?pull=/library/ en-us/dnpag/html/offline.asp Application Updater Block http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnbda/html/updater.asp Caching Application Block http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnpag/html/CachingBlock.asp 40 Microsoft Architects Forum Office Developer Resources Microsoft® Office 2003 Overview of Developer Technologies 41 Brand New! Available for the first time here at MGB 50+ pages of fantastic Office development overview content Internal: http://arsenalcontent/ContentDetail.aspx?C ontentID=53931 Publicly available at: http://msdn.microsoft.com/office/ within a few months Contact: Joe Andreshak (jandre) Microsoft Architects Forum Visual Studio Tools for Office Office Developer Center: http://msdn.com/office/ Visual Studio Tools for the Microsoft Office System http://msdn.microsoft.com/office/understanding/vsto/ Training http://msdn.microsoft.com/library/default.asp?url=/library/enus/odc_2003_ta/html/odc_landVSTO03_tr.asp Understanding the Excel Object Model from a .NET Developer's Perspective http://msdn.microsoft.com/library/default.asp?url=/library/enus/odc_vsto2003_ta/html/ExcelObj.asp Understanding the Word Object Model from a .NET Developer's Perspective http://msdn.microsoft.com/library/default.asp?url=/library/enus/odc_vsto2003_ta/html/WordObject.asp Migrate Word VBA solutions to Visual Studio Tools for Office http://msdn.microsoft.com/office/understanding/vsto/articles/default.aspx?pull=/library/enus/odc_vsto2003_ta/html/odc_vstvbatovsto.asp 42 Microsoft Architects Forum Compact Framework & IBF Resources Compact Framework: Information Bridge Framework: http://msdn.microsoft.com/office/understanding/ibframework/default.aspx Charles Maxson Articles on MSDN: 43 http://msdn.microsoft.com/vstudio/device/compact.asp http://msdn.microsoft.com/vstudio/device/availability.asp http://smartdevices.microsoftdev.com/Downloads/default.aspx Using Information Bridge Framework Solutions with the Office System Approaching Solutions with Information Bridge Framework Building User Interfaces with the Information Bridge Framework Microsoft Architects Forum © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 44 Microsoft Architects Forum