Smart Client Deployment With Microsoft® Windows® Forms

Slides:



Advertisements
Similar presentations
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
1 G2 and ActiveSheets Paul Roe QUT Yes Australia!
Building and Using Web Services with ASP.NET Rob Howard Program Manager.NET Framework Team Microsoft Corp.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
XML Web Services in Visual Studio ®.NET NameTitleCompany.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Introduction to ASP.NET. 2 © UW Business School, University of Washington 2004 Outline Static vs. Dynamic Web Pages.NET Framework Installing ASP.NET First.
Create Windows ® Applications with.NET Allan Knudsen.NET Developer Evangelist Microsoft.
Managing Employee Earnings Statements: PAYSTUB 3.0 A centralized, intranet-based application used to view employee earnings statements online Published:
ESupport Shifting Customers to the Internet for Support Published: January 2002.
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
Windows Forms in Visual Studio 2005: An Overview Saurabh Pant Program Manager Microsoft Corporation.
Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN.
XML Web Services in Visual Studio.NET Peter Ty Developer Evangelist.NET and Developer Group.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
An Introduction to ASP.NET Ed Dunhill blogs.msdn.com/edunhill SLIDE7.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Deploying PKI Inside Microsoft The experience of Microsoft in deploying its own corporate PKI Published: December 2003.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Introducing Reporting Services for SQL Server 2005.
 Evolution of Smart Client  What is Smart client?  Types of Smart client  Architectural challenges  Smart Client Architecture  Demo application.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Tony Goodhew Product Planner DEV328.
Web Services BOF This is a proposed new working group coming out of the Grid Computing Environments Research Group, as an outgrowth of their investigations.
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Create Windows ® Applications with.NET Carlotta Eaton ( Associate Professor of IST New River Community College Slides by Microsoft.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Web Part Development Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Web Part.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Kemal Baykal Rasim Ismayilov
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
.NET Mobile Application Development XML Web Services.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Building Custom Controls with ASP.NET and the Microsoft ®.NET Framework Rames Gantanant Microsoft Regional Director, Thailand
DEV221 Windows Forms in Visual Studio 2005: An Overview Saurabh Pant Program Manager Microsoft Corporation.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Maintaining and Updating Windows Server 2008 Lesson 8.
ClickOnce Deployment (One-click Deployment)
The Holmes Platform and Applications
Windows Communication Foundation and Web Services
Progress Apama Fundamentals
Introduction ITEC 420.
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
Building Enterprise Applications Using Visual Studio®
Introducing the Microsoft® .NET Framework
.NET Omid Darroudi.
Netscape Application Server
MIX 09 6/5/2018 9:14 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
WEB SERVICES.
Visual Studio Tools for Office 2005
Windows Communication Foundation and Web Services
PHP / MySQL Introduction
Module 1: Getting Started
The Application Lifecycle
Web Development Using ASP .NET
Developer Patterns to Integrate Silverlight 4.0 with SharePoint 2010
CIS16 Application Development – Programming with Visual Basic
ASP.NET Module Subtitle.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Designing IIS Security (IIS – Internet Information Service)
ClickOnce Deployment (One-click Deployment)
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Smart Client Deployment With Microsoft® Windows® Forms Ammar Abuthuraya Developer & Platform Lead Microsoft® Arabia

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

Agenda What is the smart client? Web service architecture Web integration Self-updating applications Advanced tools

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

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

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

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

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

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

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

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

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

Deploying the Windows Form application Demonstration 1 Deploying a Smart Client Application Reviewing a simple Windows Form Deploying the Windows Form application

Agenda What is the smart client? Web service architecture Web integration Self-updating applications Advanced tools

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

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

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

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 ‘https://’ Custom encryption—such as DES, TripleDES

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

Web Service Architecture Managing Complexity MyApp.exe HTTP HTTP Business service Business service Business component Business component Business component Business component

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

Agenda What Is the smart client? Web service architecture Web integration Self-updating applications Advanced tools

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

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

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

Web Integration Network Communications Windows Forms Internet Explorer HTML: data and display XML: data only Web application

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

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

Agenda What is the smart client? Web service architecture Web integration Self-updating applications Advanced tools

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

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

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

Self-Updating Applications Runtime Deployment MyApp.exe Web server MyApp.exe AppStub.exe HTTP Update cache? Download cache Smart client

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

Agenda What is the smart client? Web service architecture Web integration Self-updating applications Advanced tools

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

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

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

For More Information… MSDN Web site at Windows Forms msdn.microsoft.com Windows Forms www.windowsforms.net Windows Forms information at: http://msdn.microsoft.com/netframework/using/building/windows/default.aspx White Paper on smart client development with version 1.1 of the .NET Framework http://msdn.microsoft.com/netframework/using/building/windows/analystreports/smartclient.aspx

© 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.