Upload
oswald-rogers
View
216
Download
1
Tags:
Embed Size (px)
Citation preview
Advance your career with a new generation of Microsoft certifications
Targeted Current Cost-effective Easier to Distinguish
Learn more, learn better
Put Microsoft on your Resume
Distinguish yourself .Net Framework 2.0 Web Applications Windows Applications Distributed Applications
Web Developer
Windows Developer
Enterprise Application Developer
Get a head start with your free exam For exam availability, certification and upgrade paths go to
www.microsoft.com/learning/2005/cert
Managing the Software Lifecycle with Visual Studio 2005 Team System
Michael LeworthyLead Product ManagerMicrosoft Corporation
Richard ErwinDeveloper Tools SpecialistMicrosoft UK
The Business Environment Accelerating rates of change in
business and technology Shorter product cycles Increasing diverse and complex
products and services Evolving business models Rapidly changing requirements;
regulations, legislation, growing consumer demands
Rising competitive pressures Globalization
Project Success is Rare
2000 28%23% 49%
SucceededChallengedFailed
Source: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000
Average cost overrun: 45%Time overrun: 63%Functionality delivered on average: 67%Standish Group
Lack of Integrated Tools
Separation of Business and Technology
Poor Team Communication
Tracking, Not Managing
Either Inflexible or Immature Process
No balance between Productivity and Predictability
2004 34%15% 51%
Spanning the Team
TeamTeamCommunicationCommunication
QualityQualityEarly & OftenEarly & Often
PlatformPlatformFor InnovationFor Innovation
Design forDesign forOperationsOperations
ProjectProjectManagerManager
SolutionSolutionArchitectArchitect
DeveloperDeveloperTesterTester
InfrastructureInfrastructureArchitectArchitect
Team System Editions
Change Management
Work Item Tracking
Reporting
Project Portal
Visual StudioTeam Foundation Server Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Dynamic Code Analyzer
Visual Studio Team Edition
Software Architects
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Team Explorer (includes Team Foundation Server CAL)
Visual Studio Professional Edition
Load Testing
Manual Testing
Test Case Management
Application Designer
System Designer
Logical Datacenter Designer
Visual Studio Team Edition
Software DevelopersVisual Studio Team Edition
Software Testers
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Team Build
Class Designer (in Visual Studio Standard Edition and higher)
Deployment Designer
Visio for Enterprise Architects (in MSDN Premium Subscription)
ProjectProjectStructureStructure
ProjectProjectStructureStructureIterationIteration
StructureStructure
IterationIterationStructureStructure
TestTestResultsResults
TestTestResultsResults
BuildBuildBuildBuildLabelLabelLabelLabelVersionedVersionedItemItem
VersionedVersionedItemItem
LatestLatestItemItem
VersionVersion
LatestLatestItemItem
VersionVersionChangesetChangesetChangesetChangesetWorkWork
ItemItem
WorkWorkItemItem
Team System Integration
Version ControlVersion ControlVersion ControlVersion Control Core DataCore DataCore DataCore DataWork ItemsWork ItemsWork ItemsWork Items Team Build Team Build Team Build Team Build
TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement TFS EnablementTFS EnablementTFS EnablementTFS Enablement
**
** **
** **
** ** ** **
**
** **
**
ProjectProjectStructureStructure
ProjectProjectStructureStructure
IterationIterationStructureStructure
IterationIterationStructureStructure
WorkWorkItemItem
WorkWorkItemItem
LabelLabelLabelLabel VersionedVersionedItemItem
VersionedVersionedItemItem
LatestLatestItemItem
VersionVersion
LatestLatestItemItem
VersionVersionChangesetChangesetChangesetChangeset
BuildBuildBuildBuild TestTestResultResult
TestTestResultResult
Key Project Manager Benefits
Encourages communication between members of the development team
You can view the data the way you want Your team is on the same page Makes projects more predictable Tool is integrated with the software you
and your team uses every day Visual Studio, Office, Project & SharePoint
Reduces risk by alerting you to problems earlier in the lifecycle
Methodology – Yours, Ours or Any Ensure high quality solutions;
handling the many facets of quality as defined by multiple stakeholders
Accelerate delivery, reduce costs, minimize risks
Improve team effectiveness In-built Process Guidance & Tools
MSF for Agile Software DevelopmentMSF for CMMI Process Improvement
Key Architect Benefits
Improves collaboration between architects and other team members
Provides a graphical model to describe the capabilities and constraints of your specific software application and IT infrastructure
Allows you to validate software designs against a model of the target infrastructure
Synchronizes design and code Domain Specific Language based
Laying the foundation for Visual Languages and Software Factories
Distributed System DesignersApplication DesignerApplication Designer
SystemSystemDesignerDesigner
Logical Logical DatacenterDatacenterDesignerDesigner
DeploymentDeploymentDesignerDesigner
Class Designer,Class Designer,Code EditorsCode Editors
DeploymentDeploymentReportsReports
Key Developer Benefits
Code AnalysisBoth Managed and Unmanaged CodePart of build process and check-in policy
Integrated Unit TestingData driven testingCode Coverage
Code ProfilingSampling and Instrumentation
Team Foundation Version Control
Built new from the ground up 3-tier ASP.NET web service SQL Server 2005 data store
Totally New Totally New Version Control Version Control
SystemSystem
Lots of New Lots of New FeaturesFeatures
Built for the Built for the EnterpriseEnterprise
Integrated checkin Shelving Source Control Explorer More…
Support for distributed teams Secure, Reliable, Scalable Future tool for Microsoft
Key Tester Benefits
Integrated testing environment within Visual Studio
Test Case ManagementWeb TestingLoad Testing3rd party and custom testing support
Automatically report and store results of tests
Distributed load testing
Key Benefits for Project Stakeholders Access TFS with any tool through
Web Services or Common Object Model
Easy to access reportingReal time collection of dataBased on SQL Server 2005 Reporting
ServicesAccessed via VS IDE and WSS Team
Portal 20+ in-built reports
Easy to create custom reports using Report Builder
Work ItemWork ItemTrackingTracking
Work ItemWork ItemTrackingTracking
Reporting Extensibility0
50100150200250300350400450
0%10%20%30%40%50%60%70%80%90%
Defects OpenTest Cases RunDefects/TC
Defect Trends
Weekly Executive Summary
MyHICPortal - Microsoft Internet Explorer
http://humongous/myprojectportal/default.aspx
Home Project Counsel Discussions Documents Policy
Project Portal
Home
Modify My Page
Home
Create New Project
Documents
Create a new report
Standard Reports
Reports
Workflow
Project Schedule
Roles Manager
Project Portal web site provides role-based views of the development project. In addition to providing usefulinformation directly (such as the plan of record, defect trends, and other reports), it also serves as a launchingpoint for various other tools.
Links
Project Management Console
Defect Tracking Tool
MSWord Requirements Template
Humongous Project Guidelines
Add New Link
Projects Status
Contacts
Jacqueline Ackerman - Project Manager
Endicott Smith - VP Sales, Project Sponsor
Anna Jones - Business Analyst
Bert Lewis - Development Manager
Barbara Baker - Test Manager
Add New Link
Envisioning
Planning
FX Hander
FX Ticker
Transfer ASP
Specs Defects Issues Risks Due Date Signoff
4 / 4 1 /12 / 2 6/5/03 Yes
7/15/03 No
7/25/03 No
8/1/03 No
0
Developing 9/1/03 No
Stabilizing No
Deploying No
10/1/03
11/1/03
Recently updated Documents
Name
Vision Document
Business Requirements
MyHIC Functional Requirements
Customer Interviews
Modified By
Fiona
Betty
Paula
Betty
Type
Add New Document
PortalSearch -- select from list --I need to...
Qu
ick
La
un
ch
Project X
Standard Forms
Vision Document
Business Requirements
Feature Specifications
Status Reporting
Create a new Form
Functional Requirements
Public Reports
Status ReportsPresentations
Requirements
4 of 12 7 of 83 of 3
21 of 55
9 of 92 of 4
5 of 7
1 of 10
9 of 10
8 of 9 8 of 1017 of 20
0 of 0 0 of 00 of 06 of 7
2 of 2
3 of 3
3 of 4
1 of 9
6 of 7
3 of 3
12 of 15
8 of 8
Projects Overview
Over the past few weeks, teams have done extraordinary work getting bugs resolved, triaging hard, andconsistently getting closer and closer to meeting our milestone exit criteria. Ask mode has helped in keeping thebuilds working, and we're ready to start group checkins, after the mass integration last week (Lab21, Lab22 andLab25 RI'ed in one day!). However, this is about a week and a half behind the original schedule.
Given our active bug count and incoming rates, it's become apparent that we are not ready to start our final testpass today (6/16). Therefore, our new M2 exit path is as follows:
M2 Fork: TBD (see below) Final test pass start: 6/30 (see below) Sign off: 7/11
Team
Alias
Members
Communications
Subscription
Status reports
SQL ServerSQL ServerReportingReportingServicesServices
SQL ServerSQL ServerReportingReportingServicesServices
Source CodeSource CodeControlControl
Source CodeSource CodeControlControl
Work Item Work Item AdapterAdapter
Work Item Work Item AdapterAdapter
Source CodeSource CodeAdapterAdapter
Source CodeSource CodeAdapterAdapter
Partner ToolPartner ToolAA
Partner ToolPartner ToolAA
Add-onAdd-onAdapterAdapterAdd-onAdd-onAdapterAdapter
Reporting WarehouseReporting Warehouse
Reporting WarehouseReporting WarehouseObject ModelObject Model
Reporting WarehouseReporting WarehouseObject ModelObject Model
ExcelExcelExcelExcel
CustomCustomReportingReportingCustomCustom
ReportingReporting
BuildBuildDatabaseDatabase
BuildBuildDatabaseDatabase
Test/BuildTest/BuildAdapterAdapter
Test/BuildTest/BuildAdapterAdapter
Team System Editions
Change Management
Work Item Tracking
Reporting
Project Portal
Visual StudioTeam Foundation Server Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Dynamic Code Analyzer
Visual Studio Team Edition
Software Architects
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Team Explorer (includes Team Foundation Server CAL)
Visual Studio Professional Edition
Load Testing
Manual Testing
Test Case Management
Application Designer
System Designer
Logical Datacenter Designer
Visual Studio Team Edition
Software DevelopersVisual Studio Team Edition
Software Testers
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Team Build
Class Designer (in Visual Studio Standard Edition and higher)
Deployment Designer
Visio for Enterprise Architects (in MSDN Premium Subscription)
Summary
Project Project ManagerManager DeveloperDeveloper
TesterTester
InfrastructureInfrastructureArchitectArchitect
SolutionSolutionArchitectArchitect
20
VSIP Partners
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Design & Development Tools: Visual Studio 2005, SQL Server 2005, Biztalk Server 2006
Martin GudginMicrosoft CorporationDavid Gristwood, Mike TaultyMicrosoft Ltd
Agenda
Designing the WhidbeyRocks! SystemVisual Studio Team System
Building the WhidbeyRocks! DatabaseSQL Server 2005
Extending the DatabaseVisual Studio 2005 & SQL/CLR
Components Business Process Integration
BizTalk Server 2006 Reporting
Business Activity Monitoring / Report Builder
The WhidbeyRocks! System
Web
Whidbey RocksWhidbey RocksDatabaseDatabase
Trigger
Windows
ContosoContoso
Fulfilment
Confirmation
VSTS for Software Architects
Visual Studio Team Edition
Software Architects
Team Explorer
Visual Studio Professional
Application Designer
System Designer
Logical Datacenter Designer
Deployment Designer
Visio for Enterprise Arch.
Class Designer
Model structure of complex systems
Knowledge transfer/collaboration Between architects and
developers Between developers and
operations Improve the value of design
Design, code and configuration are synchronized
Improve predictability of deployment Design validation, unified
deployment manifest Integration with best practices
and guidance
Distributed System Challenges
IT OperationsIT OperationsDevelopmenDevelopmentt
Application Application ArchitectArchitect
Infrastructure Infrastructure ArchitectArchitect
T-SQL Enhancements
Exception Handling Try/Catch
Common Table Expressions (CTEs) Recursive Queries
Schemas PIVOT, UNPIVOT TOP (expression) Multiple Active ResultSets (MARS) Varchar(max), Varbinary(max)
Alternative to Text, Image Uniform Programming model
Native Support For XML Native XML Support
Store platform independent data Create dynamic content rich applications Enable loosely-coupled systems via coarse-grained messages
XML data typePhoneAddressLast NameFirst Name
E.g. Insurance Policy
DB
Tab
le
Point-of-Sale Svc(Windows Platform)
Supplier Svc(Non-windows)XML message
Loosely coupled services
XML and Relational co-existence Support high performance XML storage and query Enhance existing applications with XML co-existence Create rich full-text search applications
Native Support for Web Services Native Web services access
Enables cross platform interoperability
Reduces middle-tier dependency (IIS) Simplifies management and
administration
New HTTP ENDPOINT object Encourage database object re-use Support service oriented architectures Easy maintenance via loose coupling
SOAP/XML/HTTP
SPSPTSQL
SPSPSPSP
Non Windows
configure connection infoconfigure authenticationexpose stored procedures
expose TSQL batches
Web SvcEndpoints
Management Studio Integrated management
Relational Database, Analysis Services, Reporting Services, Notification Services, SQL Mobile
Multiple versions of SQL Server from one interface
Rich Management & authoring
Performance Manage multiple servers,
MANY objects Combines:
Enterprise Manager, Query Analyzer, Analysis Manager
CLR code in SQL
What Common T-SQL objects can be
implemented in CLR codeAdditional objects can be implemented
in CLR code When
T-SQL code great for CRUDCLR code great for general purpose,
framework and tool support Where
Common across client, mid-tier, back-end
VS 2005 VS 2005 ProjectProject
Assembly: “taxlib.dll”
VB, C#VB, C# BuildBuild
SQL ServerSQL Server
SQL Data Definition:SQL Data Definition: create assembly … create function … create procedure … create trigger … create type …SQL Queries: SQL Queries:
select sum(tax(sal,state)tax(sal,state))from Employee where county = 'King'
Runtime hosted by SQL
(in-proc)
The Developer Experience
PermissionsPermissionsSafe, External, Unsafe
The WhidbeyRocks! System
Web
Whidbey RocksWhidbey RocksDatabaseDatabase
Trigger
Windows
ContosoContoso
Fulfilment
Confirmation
BizTalk Server 2006 Enhancements
MMC for Enterprise Management Single View for Operations
and Monitoring Application-level Management Engine and Infrastructure
Investments
Comprehensive Comprehensive ManagementManagement
and Operationsand Operations Windows 64-bit (x86) SQL Server 2005 Support Visual Studio 2005/.NET 2.0 Virtual Server 2005 Flat-file editor
Platform and ToolsPlatform and Tools
Real-time BAM Alerting and Notification
BAM Portal and reusable web components
SharePoint Adapter for deeper WSS integration
Business User Business User EmpowermentEmpowerment
Simplified Setup Tools for Enterprise
Application Deployments Seamless upgrade from
BizTalk Server 2004
Setup, Upgrade and Setup, Upgrade and DeploymentDeployment
How BizTalk Messaging Works
BizTalk
Messages
MessageBox
Subscriptions
Receive Port
Message
Orchestration
Send Port Group
Send Port(File Drop)Send Port(File Drop)
Send Port(HTTP)Send Port(HTTP)
Map
Map
Send Port(HTTP)Send Port(HTTP)
Map
Message
MapsMaps
Receive Location(HTTP)
Receive Location(HTTP)
Receive Location(File Drop)
Receive Location(File Drop)
Message
Business Activity Monitoring
Ask real-time questions Ask aggregation questions Capture business data and events New BAM features
Business alert experience for end usersOut-of-box dashboard (BAM Portal)Supports BizTalk Messaging
SQL Server CatalogSQL Server Catalog
Report Server
Delivery
Delivery Targets(E-mail, File share,
Custom)
Security Services(NT, Passport,
Custom)
Security
Data Sources(SQL, OLE DB, ODBC,
Oracle, Custom)
Output Formats (HTML, Excel, PDF, Custom)
Report Processing
Browser
Management
Custom App
URLURL WMIWMI Web ServiceWeb Service
Data Retrieval Rendering
Reporting Services Architecture
Report Builder
Built on top of familiar Microsoft Office paradigms Reports built via report templates (table, matrix, chart)
“Click-Once” application deployed from the RS server
Users download and launch the client from Report Manager
Finished reports can be saved on the server
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Building Cutting-Edge Web Solutions with Visual Studio 2005 and ASP.NET 2.0
Shawn NandiSenior Product ManagerWeb Platform and ToolsMicrosoft
Mike OrmondDeveloper Evangelist Microsoft
New ASP.NET 2.0 FeaturesC
on
trols
Pag
eFra
mew
ork
Serv
ices
an
d A
PIs
DataControls
LoginControls
Web PartsOther NewControls
Master PagesThemes
and SkinsImproved
Client ScriptingCompilation
& Localization
MembershipRole
ManagementProfiles Configuration
SiteMaps
HealthMonitoring
Other NewServices
Master Pages
Content by inheritance
Master Page
Content Page
How Master Pages Work
Master pages define common content and content placeholders
Content pages reference masters and fill placeholders with content
Site.master default.aspx
Content
http://.../default.aspx
Content-PlaceHold
er
Page.Master
New property of System.Web.UI.Page Provides content pages with
programmatic access to master pagesDetermine whether page has a masterAccess controls defined in masterAccess public methods and properties
defined in master Code-level integration of master
pages and content pages
Data Source Controls
Declarative ("no-code") data binding
Sql-DataSource
Object-DataSource
Access-DataSource
Xml-DataSource
SiteMap-DataSource
SQLDatabases
AnyData
AccessDatabases
XMLData
Site Maps
DataComponent
Site MapProvider
Data Controls
New data-bound controls Built-in support for selecting, editing,
paging, sorting, and more
GridView DetailsView FormView
2-Way Data Binding Data source controls supply logic
Insert/Update/DeleteCommand properties
Insert/Update/DeleteParameters properties
Inserting/ed, Updating/ed, Deleting/ed events
Data controls supply editing UIsAutoGenerateXxxButton properties Insert/EditRowStyle properties Inserting/ed, Updating/ed, Deleting/ed
events Visual Studio supplies the glue
Caching
Many data source controls provide built-in caching supportEnableCaching - Enables/disables
cachingCacheDuration - Length of time
(seconds)CacheExpirationPolicy - Sliding or
absoluteCacheKeyDependency/
SqlCacheDepedency - Cache dependencies
No-code data caching!
CacheSync
SQL cache dependenciesCouple cached items to database
entitiesChange to underlying data evicts
corresponding item(s) from cache Works with SQL Server 7, SQL Server
2000, and SQL Server 2005Requires database prep for SQL Server 7
and SQL Server 2000 (Aspnet_regsql.exe)
"Just works" with SQL Server 2005 Much-requested feature of ASP.NET
Membership Service
Manages users and credentialsDeclarative access via Web Site Admin
ToolProgrammatic access via Membership
API Vastly simplifies forms authentication
Provides logic for validating user names and passwords, creating accounts, and more
Provides data store for storing credentials, e-mail addresses, and other membership data
Provider-based for flexible data storage
Membership Schema
Membership API
MembershipData
SQL Server OtherData Stores
Membership Providers
ActiveDirectory
Login LoginStatus LoginView Other
Controls
Membership MembershipUser
SqlMembershipProvider
ActiveDirectory-MembershipProvider
Other Providers
Role Manager
Role-based security in a boxDeclarative access via Web Site Admin
ToolProgrammatic access via Roles API
Simplifies adding role-based security to sites that employ forms authenticationMaps users to roles on each requestProvides data store for role information
Provider-based for flexible data storage
Role Management Schema
Role API
Role Data
SQL Server OtherData Stores
Role Providers
AuthorizationManager
("AzMan")
Login LoginStatus LoginView Other
Controls
Roles
SqlRole-Provider
AuthorizationStore-RoleProvider
Other Providers
WindowsToken-
RoleProvider
Login Controls
UI and logic for security-related tasks
Login
Password-Recovery
LoginStatusLoginName
LoginViewCreateUser-
Wizard
Change-Password
Membership &Role Management
LoginView
<asp:LoginView ID="LoginView1" Runat="server"> <AnonymousTemplate> <!-- Content seen by unauthenticated users --> </AnonymousTemplate> <LoggedInTemplate> <!-- Content seen by authenticated users --> </LoggedInTemplate> <RoleGroups> <asp:RoleGroup Roles="Administrators"> <ContentTemplate> <!-- Content seen by administrators --> </ContentTemplate> </asp:RoleGroup> ... </RoleGroups></asp:LoginView>
Profiles
Store per-user data persistentlyStrongly typed access (unlike session
state)On-demand lookup (unlike session state)Long-lived (unlike session state)Authenticated and anonymous usersRich type support (including custom
types) Accessed through dynamically
compiled HttpProfileBase derivatives Provider-based for flexible data
storage
Profile Definition
<profile> <properties> <!-- String property --> <add name="MyName" /> <!-- Int32 property with default value --> <add name="MyFavoriteNumber" type="System.Int32" defaultValue="0" /> <!-- DateTime property --> <add name="MyBirthday" type="System.DateTime" /> <!-- Custom type; auth. and anon. users --> <add name="MyItems" type="ShoppingCart" serializeAs="binary" allowAnonymous="true" /> </properties></profile>
Data-Driven Site Navigation
Navigation UIs are tedious to implementEspecially if they rely on client-side
script New controls simplify site navigation
TreeView and Menu - Navigation UISiteMapDataSource - XML site mapsSiteMapPath - "Bread crumb" controls
Public site map API provides foundation
Provider-based for flexibility
Site Navigation Schema
Site Map API
Site Maps
Web.sitemap OtherData Stores
Controls Menu TreeView SiteMapPathSiteMap-
DataSource
SiteMap
SiteMapNodeSiteMapNode SiteMapNode
XmlSiteMapProvider Other Site MapProviders
Providers
XML Site Map
<?xml version="1.0" encoding="utf-8" ?><siteMap> <siteMapNode> <siteMapNode title="Home" url="~/Default.aspx" /> <siteMapNode title="Tickets" url="~/Tickets.aspx" /> <siteMapNode title="Concert Gear" url="~/Gear.aspx" /> <siteMapNode title="Backstage" url="~/MembersOnly/Backstage.aspx" /> <siteMapNode title="Preferences" url="~/MembersOnly/Preferences.aspx" /> </siteMapNode></siteMap>
Security Trimming
Feature of site map providers Varies navigation UI based on roles
<?xml version="1.0" encoding="utf-8" ?><siteMap> <siteMapNode roles="*"> <siteMapNode title="Home" url="~/Default.aspx" /> <siteMapNode title="Tickets" url="~/Tickets.aspx" /> <siteMapNode title="Concert Gear" url="~/Gear.aspx" /> <siteMapNode title="Backstage" roles="Members" url="~/MembersOnly/Backstage.aspx" /> <siteMapNode title="Preferences" roles="Members" url="~/MembersOnly/Preferences.aspx" /> </siteMapNode></siteMap>
• Over 50 Hosters Live on ASP.NET 2.0 Over 50 Hosters Live on ASP.NET 2.0 • Special Hosting Offers: www.asp.net/hosters/v2 Special Hosting Offers: www.asp.net/hosters/v2 • Free 30 Day Hosting: www.vwdhosting.net Free 30 Day Hosting: www.vwdhosting.net
ASP.NET 2.0 Web Hosting
63
VSIP Partners
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Mike Ormond – [email protected]
Shawn Nandi – [email protected]
http://blogs.asp.net/scottgu
Developing Smart Client Applications with Visual Studio 2005
BJ HoltgreweSenior Product ManagerMicrosoft Corporation
Smart Client
Tough Tough to deployto deploy
HeavyHeavyfootprintfootprint
““DLLDLLHell”Hell”
NetworkNetworkdependencydependency
ReducedReduced User User
ExperienceExperience
Complex toComplex todevelopdevelop
Web servicesWeb servicesand offline/onlineand offline/online
supportsupport
DeviceDeviceadaptabilityadaptability
Broad reachBroad reach
Easy changeEasy changemanagementmanagement
Easy toEasy todeploydeploy
Rich UserRich UserExperienceExperience
High developerHigh developerproductivityproductivity
ResponsiveResponsiveUIUI
Smart Client Features
Local resourcesDirect display and peripheral accessResponsive graphics, printers, digital
camera’s, etc.Use of installed applications
Word, Excel, InfoPath, Outlook
ConnectedAccess to network resourcesWeb services, SQL Databases
Smart Client Features
Offline capableCache online dataUpdate when connectedDatasets in smart documents
Intelligent deployment and updateEasy non-administrator deploymentAutomatic updatesSmart document deployment
Rich / easy developer experience
Smart Client Technologies
Visual Studio 2005Rich visual designer support Integrated ClickOnce testing and
deploymentVisual Studio Tools for Office
.NET Framework 2.0Windows Forms 2.0ClickOnce deployment
Visual Studio 2005
Project templatesGet up and going quicklyCommon application types
DesignersSimplifies development of UI and layoutRich User Control developmentRich support for Custom Controls
Visual Studio 2005
DataNew data-bound controlsSchema-based typed-data set designer
Support for iterative maintenance of generated data-code
Partial types for maintainable customizations of auto-generated code Reduced need for “mapping” or “glue” code
Server explorer Integrated data manipulation
ClickOnce Deployment
ClickOnce application deployment published on a web or file server
Client follows link to serverhttp://www.tempuri.org/my.application
Application deployed locally in user’s profile directory & executed
Subsequent executions check for updates & execute local install
Server
Client
application filesapplication files
ClickOnce
Smart Client deployment technology Provides web-deployment simplicity
End User Provide web-deployment flexibility
Publisher Other parallels to web-applications
Applications are isolated per-userCan be executed with limited local
permissions Locally executed, rich features
ClickOnce Features
Follow a link to install an application Automatic w/minimal or no decision points web-style deployment
Automatic update of application Security isolation and optional restricted
permissions Non-administrative installs
ClickOnce & VS 2005
Project Settings Publish tab Set deployment location Configure data files for deployment Other settings: version, online-only or online-
offline, CD installations and other details
Project Settings Security tab Calculating permissions required by your
application to function Also add permissions using SecurityException at
runtime
Setting permissions in the manifest required to run
Partial trust and full trust supported
Application Updates
Auto-update deployment optionsBefore application launch, orUpdate check occurs after app-launchScheduled update checks
Weekly, monthly, etc.
Project Settings Publish tabSettings for update checking
Smart Client Summary
Rich features easier than ever to implement Windows Forms 2.0 new controls/improved data
integration C# and VB .NET Office Solutions
Microsoft Excel 2003 Microsoft Word 2003
Installation and update easier than ever ClickOnce web-style simplicity & web-style
security
Customers access existing and new application features easily
Customers access your application with or without network connectivity
Microsoft InfoPath 2003 Microsoft Outlook 2003
78
VSIP Partners
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.