CLI201 Building Smart Client Applications with.NET: The Future of Software Development Tim Huckaby...
-
Upload
bonnie-baldwin -
Category
Documents
-
view
216 -
download
0
Transcript of CLI201 Building Smart Client Applications with.NET: The Future of Software Development Tim Huckaby...
CLI201CLI201Building Smart Client Building Smart Client Applications with .NET:Applications with .NET:The Future of Software DevelopmentThe Future of Software Development
Tim HuckabyTim HuckabyCEOCEOInterKnowlogyInterKnowlogyMicrosoft Regional DirectorMicrosoft Regional Director
About…About…
InterKnowlogy InterKnowlogy ((www.InterKnowlogy.comwww.InterKnowlogy.com))Tim Huckaby, CEOTim Huckaby, CEOSoftware Engineering / App Dev / Consulting Firm Software Engineering / App Dev / Consulting Firm headquartered in Carlsbad, CAheadquartered in Carlsbad, CAMicrosoft Gold Partner managed in Southern Microsoft Gold Partner managed in Southern California and RedmondCalifornia and RedmondDesign, Architect, Build and Deploy enterprise class Design, Architect, Build and Deploy enterprise class applications applications Industry Experts:Industry Experts:
90% of the company is published90% of the company is publishedMicrosoft .NET Application development for 5+ years!Microsoft .NET Application development for 5+ years!MicrosoftMicrosoft .NET Smart Client pioneers / industry leaders.NET Smart Client pioneers / industry leadersIntegration / Messaging, B2B / B2C, Wireless / Mobility Integration / Messaging, B2B / B2C, Wireless / Mobility Microsoft BizTalk Web Services, Microsoft Active Directory, Microsoft BizTalk Web Services, Microsoft Active Directory, Security, SSO, Authorization, AuthenticationSecurity, SSO, Authorization, AuthenticationSolutions on the emerging Microsoft serversSolutions on the emerging Microsoft serversLargest Client: MicrosoftLargest Client: Microsoft
AgendaAgenda
The Spectrum: From the Web to The Spectrum: From the Web to WindowsWindowsDefining smart client applicationsDefining smart client applicationsBuilding and deploying smart client Building and deploying smart client applications applications .NET Smart client application .NET Smart client application development technologiesdevelopment technologiesThe business value/ROI of smart client The business value/ROI of smart client applications applications Smart client technology roadmapSmart client technology roadmapDemosDemos
History of this SessionHistory of this Session
Tim has done different versions of this session at different Tim has done different versions of this session at different technical/BDM levels all over the world since May, 2003:technical/BDM levels all over the world since May, 2003:
The Visual Studio .NET 2003 launch in Oslo, NorwayThe Visual Studio .NET 2003 launch in Oslo, NorwayThe World Wide Partner Conference in New Orleans – up-leveled to a BDM The World Wide Partner Conference in New Orleans – up-leveled to a BDM audience.audience.Microsoft Tech Ed 2003 Australia, New Zealand and MalaysiaMicrosoft Tech Ed 2003 Australia, New Zealand and MalaysiaMicrosoft Tech Ed 2004 US and MalaysiaMicrosoft Tech Ed 2004 US and MalaysiaMicrosoft Tech Ed 2005 US Smart Client KeynoteMicrosoft Tech Ed 2005 US Smart Client Keynote.NET User Groups in Arizona, California, Colorado, Florida, Vermont, & .NET User Groups in Arizona, California, Colorado, Florida, Vermont, & others for INETAothers for INETAVisual Studio .NET Connections Conference in Palm Springs, CAVisual Studio .NET Connections Conference in Palm Springs, CAAs a chalk talk at the Microsoft Professional Developers Conference in Los As a chalk talk at the Microsoft Professional Developers Conference in Los AngelesAngelesAs a “brown bag” lunch session to the Developer Division of MicrosoftAs a “brown bag” lunch session to the Developer Division of MicrosoftAs two internal Microsoft presentations at the .NET Partner Advisory As two internal Microsoft presentations at the .NET Partner Advisory CounselCounselAs MSDN WebCasts in May of 2004 and January of 2005As MSDN WebCasts in May of 2004 and January of 2005Microsoft Smart Information Worker CIO Briefings, Spring 2004Microsoft Smart Information Worker CIO Briefings, Spring 2004SoCal Quarterly Architect Council Meetings, Spring 2004SoCal Quarterly Architect Council Meetings, Spring 2004At the Microsoft Global Briefing in July of 2004At the Microsoft Global Briefing in July of 2004
Windows and Web Application Windows and Web Application Comparison – OWA and OutlookComparison – OWA and Outlook
Microsoft Office Outlook Web Access Microsoft Office Outlook Web Access (OWA) is great when out of the office(OWA) is great when out of the office
Would you use OWA in the office?Would you use OWA in the office?
Would you use OWA on a train or Would you use OWA on a train or plane?plane?
Each has a target use, yet both Each has a target use, yet both implement the same application logicimplement the same application logic
The Argument The Argument forfor Browser-Based Browser-Based Application DevelopmentApplication Development
Easy DeploymentEasy DeploymentCentralized code base on a server farmCentralized code base on a server farm
Easy to update applicationEasy to update applicationSave code in one place, everyone gets the Save code in one place, everyone gets the latest releaselatest release
Central management of dataCentral management of dataEveryone access the same databaseEveryone access the same database
The Argument The Argument AgainstAgainst Browser-Based Browser-Based App-DevApp-Dev
Must be connected 100% to runMust be connected 100% to runAssumes Internet is 100% reliable… NOTAssumes Internet is 100% reliable… NOT
High bandwidth requirementsHigh bandwidth requirementsUser Interface and Data must travel across the Internet, each timeUser Interface and Data must travel across the Internet, each time
Lots of servers neededLots of servers neededApplication and data are centrally processedApplication and data are centrally processed
Lack of a rich integrated experienceLack of a rich integrated experienceNo access to and interaction with the user’s personal contextNo access to and interaction with the user’s personal contextNo integration with other applications, access to their printers, No integration with other applications, access to their printers, determining and using machine characteristics, etc. determining and using machine characteristics, etc.
Users see every problemUsers see every problemTheir business shuts down when you have a problemTheir business shuts down when you have a problem
Not to
o
Not to
o
smar
t… !!
smar
t… !!
Challenge for the Architect:Challenge for the Architect:Divide the Pros from the ConsDivide the Pros from the Cons
Architectural Internet Strategy:Architectural Internet Strategy:
Use Internet to deploy dataUse Internet to deploy data
Use Internet to deploy application, not run the applicationUse Internet to deploy application, not run the application
Use asynchronous browser model to update the UI and DataUse asynchronous browser model to update the UI and Data
Abstract Internet from running your businessAbstract Internet from running your business
The Contoso Realty .NET Smart The Contoso Realty .NET Smart Client Application DemoClient Application Demo
Intellectual capital stored in multiple Intellectual capital stored in multiple systemssystemsComplexity increases as number of Complexity increases as number of systems increasesystems increaseUsers productivity decreases as number Users productivity decreases as number of disparate systems and user interfaces of disparate systems and user interfaces increasesincreasesSystems effectiveSystems effectiveonly if users can only if users can interact with datainteract with datanaturallynaturallyNeed for data both Need for data both online and offlineonline and offline
The Client “Last Mile” ProblemThe Client “Last Mile” Problem
Pacific LifePacific Life
Brad SherrellBrad SherrellVP, Information TechnologyVP, Information TechnologyPacific Life, Life DivisionPacific Life, Life Division
The ProblemThe Problem
Too many user interfaces to learnToo many user interfaces to learn
Complicated business process requires Complicated business process requires sophisticated user interfacesophisticated user interface
Heavy data entry and validationHeavy data entry and validation
Users play multiple rolesUsers play multiple rolesDifferent functionality needed for Different functionality needed for each roleeach role
Users switch roles oftenUsers switch roles often
Not a lot of time for trainingNot a lot of time for training
Pacific Life MultilifePacific Life Multilife
Long-term strategy is Long-term strategy is to deploy a single to deploy a single
smart client smart client interfaceinterface
UI is tailored based on UI is tailored based on role and contextrole and context
Single place where Single place where associates perform associates perform their worktheir work
Need Service Oriented Need Service Oriented Architecture behind Architecture behind the scenesthe scenes
Built on a pattern-Built on a pattern-based frameworkbased framework
Smart Client Smart Client SolutionSolution
Web Services &Offline/Online
support
DeveloperProductivity
NetworkDependency
Poor UserExperience
ComplexTo Develop
Easy ChangeManagement
Ease ofDeployment
Tough toDeploy
HeavyFootprint
DLL Hell
Rich UserExperience
Responsive
CompetitiveCompetitiveAdvantageAdvantage
CommunicateCommunicate
DecideDecide
AuthorAuthor AbsorbAbsorb
CollaborateCollaborate
AccessAccess
End User Requirements Occasional usersHighly responsive & functional UIMobile usersEcosystem collaboration
Capabilities / AttributesTakes advantage of locally installed software & resourcesConnectedOffline capableIntelligent deployment and updateMultiple form factors
.NET Smart Client Applications - defined.NET Smart Client Applications - defined
“The Client is Back” Jonathan Schwartz, Sun’s president and COO Opening remarks at JavaOne 2004
“The problems with browser-based approaches…have become all too well-known”
“The current enthusiasm for a browser-based enterprise is shortsighted. As firms trade in their desktop clients for browsers they’ll find: primitive functionality…bandwidth gluttony… terrible usability.”
IBM Puts New Spin On Client Computing
(May 2004)
“…It sounds a bit like heresy, but the web-based portal does not really make a very effective interface to functionality that resides in many systems"
“Web-based solutions just can’t provide the rich users interface and performance which users like our traders need.”
“As proof of their disillusionment, a staggering one-third of IT decision makers report having plans for migrating some applications back to richer client environments.”
Industry Momentum is Building for a New ClientIndustry Momentum is Building for a New Client
Microsoft Smart ClientsMicrosoft Smart ClientsThe “Big Four” most compelling .NET The “Big Four” most compelling .NET application development offeringsapplication development offerings
Microsoft .NET Windows FormsMicrosoft .NET Windows Forms
Microsoft .NET Compact FrameworkMicrosoft .NET Compact Framework
Microsoft Office Professional 2003 Microsoft Office Professional 2003 offerings:offerings:
Microsoft Visual Studio Tools for the Microsoft Visual Studio Tools for the Office System (VSTO)Office System (VSTO)
Microsoft Office InfoPath 2003 Toolkit for Microsoft Office InfoPath 2003 Toolkit for Microsoft Visual Studio .NETMicrosoft Visual Studio .NET
Radically simplified Radically simplified application deploymentapplication deployment
ClickOnce deployment, ClickOnce deployment, update, rollbackupdate, rollback
Visually Appealing UIVisually Appealing UINew Data ControlsNew Data ControlsOffice Look and FeelOffice Look and Feel
Developer productivityDeveloper productivitySimplify working with Simplify working with datadataFewer lines of codeFewer lines of codeFew clicksFew clicks
Windows Forms Smart ClientsWindows Forms Smart Clients
.NET Framework distribution
120 million deploymentsPreinstalled on 60% of new machines and growingIncluded on SP2 CD
Office System Smart ClientsOffice System Smart Clients
Connect live business data to Connect live business data to your documents & access them off-lineyour documents & access them off-line
Leverage existing Office experience of Leverage existing Office experience of end usersend users
Leverage rich and robust Office Leverage rich and robust Office functionalityfunctionality
Platform InvestmentsPlatform Investments
Visual Studio 2005 Tools for OfficeVisual Studio 2005 Tools for Office
Strategic tool for developing Office solutionsStrategic tool for developing Office solutionsCurrently supports building document-centric solutions for Currently supports building document-centric solutions for Microsoft Office Word 2003 and Microsoft Office Excel 2003Microsoft Office Word 2003 and Microsoft Office Excel 2003
Office development approachableOffice development approachableProvides all the productivity of Visual StudioProvides all the productivity of Visual Studio
Provides all the power of the .NET FrameworkProvides all the power of the .NET Framework
Leverages the skills of .NET developersLeverages the skills of .NET developers
Secure and easy to deploySecure and easy to deployBased on .NET Code Access SecurityBased on .NET Code Access Security
Online ClickOnce deployment model with Online ClickOnce deployment model with Visual Studio 2005 (Beta)Visual Studio 2005 (Beta)
New feature areasNew feature areasExcel and Word available as design surfaces in Excel and Word available as design surfaces in Visual Studio Visual Studio
Drag and Drop any control onto document surfaceDrag and Drop any control onto document surfaceOffice objects as managed view controlsOffice objects as managed view controls
Schema-based programming model Schema-based programming model Writing to schema is faster and less brittleWriting to schema is faster and less brittleDeveloper-defined abstraction over documentsDeveloper-defined abstraction over documents
Office documents become views bound to dataOffice documents become views bound to dataEnables offline cachingEnables offline cachingEnables server-side data manipulation Enables server-side data manipulation withoutwithout running Office running Office
New framework for Smart DocumentsNew framework for Smart DocumentsGreatly simplifies creation of Word/Excel task pane solutionsGreatly simplifies creation of Word/Excel task pane solutions
Release schedule with Visual Studio 2005Release schedule with Visual Studio 2005Latest .NET features (Web services, security, deployment)Latest .NET features (Web services, security, deployment)
Visual Studio 2005 Tools for OfficeVisual Studio 2005 Tools for Office
Visual Studio 2005 Visual Studio 2005 Tools for OfficeTools for Office
Visual Studio Tools for OfficeVisual Studio Tools for Office
Word, Excel, InfoPath and Word, Excel, InfoPath and OutlookOutlook !...only !...only
Prerequisites (Development Computer):Prerequisites (Development Computer):Visual Studio .NET 2003 Visual Studio .NET 2003
Microsoft Office Professional Edition 2003Microsoft Office Professional Edition 2003
Windows Mobile Smart ClientsWindows Mobile Smart Clients
Instant access to data Instant access to data anywhere, anytimeanywhere, anytime
Form factor and instant-Form factor and instant-on more appropriate for on more appropriate for most field workmost field work
Access existing Web Access existing Web servicesservices
Leverage .NET Leverage .NET development skills and development skills and code on devices code on devices with .NET Compact with .NET Compact FrameworkFramework
.NET Compact Framework.NET Compact Framework
Visual Studio 2005 Visual Studio 2005 Smart Device ApplicationsSmart Device Applications
Feature OverviewFeature OverviewLanguages: Microsoft Visual C#, Languages: Microsoft Visual C#, Microsoft Visual Basic .NET, Microsoft Visual C++ Microsoft Visual Basic .NET, Microsoft Visual C++ Managed/Native Projects in one solutionManaged/Native Projects in one solutionCOM InteropCOM InteropDebuggingDebugging
Attach debugger to running process Attach debugger to running process
Integrated Microsoft Windows Mobile-based Integrated Microsoft Windows Mobile-based Smartphone supportSmartphone supportNew DesignersNew DesignersNew EmulatorNew EmulatorCAB and Setup ProjectsCAB and Setup ProjectsRemote ToolsRemote Tools
Registry, process viewer, file viewer, heap walker, etc.Registry, process viewer, file viewer, heap walker, etc.
Run From WebRun From Web Code DownloadCode Download MSI/ClientMSI/Client
ReachReach Low System ImpactLow System Impact Dynamic ModulesDynamic Modules Auto-DeploymentAuto-Deployment Auto-UpdateAuto-Update
Install / Run Per-UserInstall / Run Per-User Rich / Interactive ExperienceRich / Interactive Experience Best PerformanceBest Performance OfflineOffline Windows Shell IntegrationWindows Shell Integration Best Local Resource AccessBest Local Resource Access Unrestricted InstallationsUnrestricted Installations
Run from WebRun from Web Code DownloadCode Download MSI/ClientMSI/Client ClickOnceClickOnce
ReachReach Low System ImpactLow System Impact Dynamic ModulesDynamic Modules Auto-DeploymentAuto-Deployment Auto-UpdateAuto-Update Install / Run Per-UserInstall / Run Per-User Rich / Interactive ExperienceRich / Interactive Experience Best PerformanceBest Performance OfflineOffline Windows Shell IntegrationWindows Shell Integration Best Local Resource AccessBest Local Resource Access Unrestricted InstallationsUnrestricted Installations
Smart Client Deployment OptionsSmart Client Deployment Options
Application Development: Application Development: Smart Client vs. WebSmart Client vs. Web
Web apps are still more difficult to buildWeb apps are still more difficult to build
The rumor of HTML’s death was greatly The rumor of HTML’s death was greatly exaggerated…exaggerated…
The Windows application environment is The Windows application environment is superiorsuperior
The Windows GUI is more intuitive, users are The Windows GUI is more intuitive, users are more comfortablemore comfortable
Historically, Windows apps have been Historically, Windows apps have been difficult, if not impossible, to deploydifficult, if not impossible, to deploy
.NET deployment technologies have fixed most of .NET deployment technologies have fixed most of that…that…
Call to ActionCall to Action
Architect in the design phase for how an Architect in the design phase for how an application should be surfacedapplication should be surfaced
Get the Network and Infrastructure folks Get the Network and Infrastructure folks involved in the design up front, at the start involved in the design up front, at the start of the projectof the project
Get the .NET Framework to your Client Get the .NET Framework to your Client MachinesMachines
Get Office 2003 Professional deployedGet Office 2003 Professional deployed
The Future is Now!The Future is Now!
……Help drive the Smart Client RevolutionHelp drive the Smart Client Revolution
Where to Go Next at TechEd 2005Where to Go Next at TechEd 2005
• The Smart Client TrackThe Smart Client Track• RD Grok Talks – Community CabanaRD Grok Talks – Community Cabana• This session’s Cabana Talk in Cabana 8This session’s Cabana Talk in Cabana 8• HOLsHOLs• BOFsBOFs
•““What the heck is a Smart Client?!”What the heck is a Smart Client?!”•Tuesday night, 9PM, S321Tuesday night, 9PM, S321
NET Charity Celebrity Tech·Ed AuctionNET Charity Celebrity Tech·Ed Auction
Like what you see? Like what you see?
Bid forBid for 1 hour of my consulting time on 1 hour of my consulting time on eBay and all the funds go to charity! eBay and all the funds go to charity!
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=5587400881http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=5587400881
100%100% of your bid will go to of your bid will go to Tsunami Relief Effort in Aceh, Indonesia Tsunami Relief Effort in Aceh, Indonesia
Tim Huckaby, InterKnowlogyTim Huckaby, InterKnowlogyCabana Q&A in Cabana 8 – 3:15 to 4:30 Cabana Q&A in Cabana 8 – 3:15 to 4:30
More info on InterKnowlogy:More info on InterKnowlogy:www.InterKnowlogy.comwww.InterKnowlogy.com
Contact me: Tim HuckabyContact me: Tim HuckabyE-mail: E-mail: [email protected]@InterKnowlogy.comor or [email protected]@Microsoft.comPhone: 760-930-0075 Phone: 760-930-0075
About Tim HuckabyAbout Tim HuckabyMicrosoft Regional Director – Southern CaliforniaMicrosoft Regional Director – Southern CaliforniaMicrosoft .NET Partner Advisory Council Founder / MemberMicrosoft .NET Partner Advisory Council Founder / MemberMicrosoft MVP – .NETMicrosoft MVP – .NETMicrosoft Prescriptive Architecture Group Advisory CouncilMicrosoft Prescriptive Architecture Group Advisory CouncilMSDN Content CouncilMSDN Content CouncilMicrosoft MSF advisory board memberMicrosoft MSF advisory board memberINETA Speaker – International .NET Users Group AssociationINETA Speaker – International .NET Users Group AssociationWindows and .NET Magazine Advisory Board MemberWindows and .NET Magazine Advisory Board Member.NET Developers Journal Magazine Advisory Board Member.NET Developers Journal Magazine Advisory Board MemberAuthor / SpeakerAuthor / Speaker
Your FeedbackYour Feedbackis Important!is Important!Please Fill Out a Survey forPlease Fill Out a Survey forThis Session on CommNetThis Session on CommNet
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.