Download presentation
Presentation is loading. Please wait.
Published byWilla Fields Modified over 6 years ago
1
Smart Client Deployment With Microsoft® Windows® Forms
Ammar Abuthuraya Developer & Platform Lead Microsoft® Arabia
2
What We Will Cover What is the smart client?
What is no-touch deployment? What are the advantages of Windows Forms—client caching? Calling Web services from Windows Forms client applications
3
Agenda What is the smart client? Web service architecture
Web integration Self-updating applications Advanced tools
4
What Is the Smart Client? History of the Smart Client
Pre-1980’s Computers were large server oriented Server-based computing—dumb terminals 1980’s Dawn of the PC—first smart clients ‘Fat’ client computing took center stage 1990’s Dawn of the Internet Dumb browsers talking to powerful servers
5
What Is the Smart Client? Smart Client Considerations
System impact Will the install of application 2 break existing application 1? Initial installation Installation of applications on every client Application update Need to updated every client with changes to the application Investment in current Web applications
6
What Is the Smart Client? Smart Client Consideration Answers
.NET applications are isolated Private deployment by default Applications are self-describing—no central registry Multiple versions of an application can coexist Shared components are controlled and explicit Applications use the included assembly versions they were built with Different versions of the .NET Framework can live side-by-side
7
What Is the Smart Client? Smart Client Consideration Answers
How we can avoid sending an install to each client Avoid the application install altogether Run the application without touching the client About management software Ex. SMS, Microsoft® IntelliMirror™ Can extend our reach by placing applications on the client Can also use traditional MSIs to create installed application footprint
8
What Is the Smart Client? Smart Client Consideration Answers
Automate the update of the application Don’t need to touch client to update application If running from a URL, nothing is installed What about applications with a footprint? Load assemblies from a Web server Application downloads its components at runtime Update server assemblies to update application No-touch application update
9
What Is the Smart Client? Smart Client Consideration Answers
Existing Web applications can be leveraged Web services are the glue Run on the same server as browser applications Can share the context of the browser application Can share the data of the browser application
10
What Is the Smart Client? Smart Client Deployment
No-touch deployment Application isolation is the default No registration required Deployment is simple Copy exe onto client Run from a file share Click on a link in the browser
11
What Is the Smart Client? Smart Client Deployment
Stored in the download cache Not the GAC Per user layer “on top of” WinInet cache Maintains URL for security Configurable cache size Scavenged base on a LRU algorithm Application “trickles” onto the client Components are downloaded when referenced at runtime
12
What Is the Smart Client? Smart Client Deployment
MyApp.exe Web server MyApp.exe Internet Explorer HTTP Client runs app Managed Exe? Update cache? Download cache .NET Framework Smart client
13
Deploying the Windows Form application
Demonstration 1 Deploying a Smart Client Application Reviewing a simple Windows Form Deploying the Windows Form application
14
Agenda What is the smart client? Web service architecture
Web integration Self-updating applications Advanced tools
15
Web Service Architecture Smart Client Challenges
Copied applications are semi-trusted Think Web pages in the browser Permission to exchange data with the server, but not for access to the local client Strong names Can be used to achieve a higher security level Security-based assembly signature Challenging to implement and maintain
16
Web Service Architecture Database Connectivity
Attempting to use database connection requires elevated permissions Can grant permission, but that means bypassing the security model Web services located at the same base URL as the application are available Communicate with same site from which code is acquired Use a business tier in the application to maintain overall system security
17
Web Service Architecture Web Services
Internet-enabled software that follows SOAP standards of communication, and may manage state A Web service is similar to a component Defines a specific interface for exchanging request and responses Web service definition language (WSDL) Similar to traditional component interface definition language (IDL) Describes method calls and parameters
18
Web Service Architecture Basic Web Service Security
Authentication is supported NTLM and Basic authentication are available Use: System.Net.NetworkCredential() Authentication does not protect data Can use SSL for encryption Modify <service>.url property to include ‘ Custom encryption—such as DES, TripleDES
19
Web Service Architecture Web Service Design
Consider the type of data to be returned DataSet is natural for .NET but not open XML is more open but may be slower Think of services as containing objects Initially expose objects Over time, business processes become services Several objects available via a service
20
Web Service Architecture Managing Complexity
MyApp.exe HTTP HTTP Business service Business service Business component Business component Business component Business component
21
Demonstration 2 Using a Web Services Architecture
Updating the Windows Form to use both ADO.NET and Web services Issues with running ADO.NET from a smart client
22
Agenda What Is the smart client? Web service architecture
Web integration Self-updating applications Advanced tools
23
Web Integration Goal Replace client script languages
Difficult to debug Throw unseen errors Need to provide advanced UI Users expect interactive applications ActiveX has security issues ASP.NET introduces event-based server-side logic
24
Web Integration Extending Web Applications
Internet Explorer HTTP MyApp.exe Web application HTTP HTTP Business service Business service Business component Business component Business component Business component
25
Web Integration Enhanced User Interface
Windows Forms browser controls Contained in the Web page Replace ActiveX Similar TCO to URL activation Improved security Limited system access is a plus Operate within the .NET environment Can be synchronized with the Web application
26
Web Integration Network Communications
Windows Forms Internet Explorer HTML: data and display XML: data only Web application
27
Web Integration Less Network Traffic
Data can be cached on the client Only updated data needs to be sent to Web service Web service can be used to poll for other updates The UI elements are only sent once Web applications transfer the entire page on every round trip Windows Forms controls only need to transfer the data
28
Keeping a Web application and Windows Forms application in sync
Demonstration 3 Using the Smart Client to Complement a Web Application Examine a Web application that also has a Windows Forms component Keeping a Web application and Windows Forms application in sync
29
Agenda What is the smart client? Web service architecture
Web integration Self-updating applications Advanced tools
30
Self-Updating Applications Definition
What it is A .NET assembly that can automatically connect to a server and download the latest components used as part of the assembly Provides a footprint on the client, but relies on server-based assemblies Enabling technologies Application isolation .NET Framework class libraries System.Reflection namespace
31
Self-Updating Applications Assembly.LoadFrom
System.Reflection namespace supports loading remote assemblies Use Assembly.LoadFrom() Downloads and caches the assembly Automatically checks for newer versions Permissions based on where the assembly came from
32
Self-Updating Applications Limitations
Expects connectivity Not an application installer Ex… can’t register file types Security sandboxed Updates only once per application run On-demand download is great But requires careful thought on application design
33
Self-Updating Applications Runtime Deployment
MyApp.exe Web server MyApp.exe AppStub.exe HTTP Update cache? Download cache Smart client
34
A self-updating application in action
Demonstration 4 Self-Updating Applications What code is needed to create a self-updating application A self-updating application in action
35
Agenda What is the smart client? Web service architecture
Web integration Self-updating applications Advanced tools
36
Advanced Tools UDDI Services
Universal Description Discovery and Integration (UDDI) Previously was published for general public by large providers Microsoft® Windows Server™ 2003 supports UDDI within the enterprise Central server lookups Use UDDI server to define not only where services exist, but where the application code is stored
37
Advanced Tools Web Service Extensions
Going beyond the basic Web services Security Reliability (routing) Attachments Web Services Enhancements (WSE) 2.0 recently released Provide a way to extend your Web service interfaces from your client
38
Session Summary Smart client fits the Internet model
Can rely on HTTP/HTTPS protocol Leverage Web services Improved scalability—display refresh Smart clients can auto-deploy and auto-update Launch applications from a Web site Internet deployment with Web services Automatically download updates
39
For More Information… MSDN Web site at Windows Forms
msdn.microsoft.com Windows Forms Windows Forms information at: White Paper on smart client development with version 1.1 of the .NET Framework
40
© 2003 Microsoft Corporation. All rights reserved.
Microsoft, Windows, the Windows logo, MSDN, Visual Studio, SQL Server, MSN, Windows Server, Visual Basic, Visual C#, JScript, and Microsoft Press are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.