Architecting an Application Using the .NET Framework Peter Ty MCSD, MCDBA, MCP+SB, MCSE Developer Evangelist Microsoft Hong Kong Ltd. peterty@microsoft - PowerPoint PPT Presentation

Slide1 l.jpg
Download
1 / 47

Architecting an Application Using the .NET Framework Peter Ty MCSD, MCDBA, MCP+SB, MCSE Developer Evangelist Microsoft Hong Kong Ltd. peterty@microsoft.com. Agenda. .NET Framework Overview Architecting .NET Applications Visual Studio.NET Implementing Design Goals XML Web Services.

Related searches for Architecting an Application Using the .NET Framework Peter Ty MCSD, MCDBA, MCP+SB, MCSE Developer Evangelist Microsoft Hong Kong Ltd. peterty@microsoft

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Architecting an Application Using the .NET Framework Peter Ty MCSD, MCDBA, MCP+SB, MCSE Developer Evangelist Microsoft Hong Kong Ltd. peterty@microsoft

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

Architecting an Application Using the .NET Framework

Peter TyMCSD, MCDBA, MCP+SB, MCSE

Developer EvangelistMicrosoft Hong Kong Ltd.peterty@microsoft.com


Agenda l.jpg

Agenda

  • .NET Framework Overview

  • Architecting .NET Applications

  • Visual Studio.NET

  • Implementing Design Goals

  • XML Web Services


Net framework overview what is the net framework l.jpg

.NET Framework OverviewWhat is the .NET Framework

  • New Runtime Environment – Common Language Runtime

    • Language Interoperability

    • Common Classes for all Languages

    • Common Types for all Languages

    • Runtime Controls Compilation to Machine Code

    • Assemblies

    • Application Domains


Net framework overview what is the net framework4 l.jpg

VB

C++

C#

JScript

Visual Studio.NET

Common Language Specification

ASP.NET: Web Services

and Web Forms

WindowsForms

ADO.NET: Data and XML

Common Language Runtime

Operating System

.NET Framework OverviewWhat is the .NET Framework


Net framework overview net framework l.jpg

.NET Framework Overview.NET Framework

Different Languages

VB

C#

Compile

Same IL

MSIL

MSIL


Net framework overview net framework6 l.jpg

.NET Framework Overview.NET Framework

VB

MSIL

Deploy

Execute

Machine Code

MSIL

JIT Compile


Net framework overview common language runtime l.jpg

.NET Framework OverviewCommon Language Runtime

  • Data Access

  • File IO

  • Data Types

  • Collections

  • Directory Services

  • Graphics and Images

  • Messaging

  • Network

  • Cryptography

  • Threading

  • XML


Net framework overview common type system l.jpg

.NET Framework OverviewCommon Type System

  • Int32 = Int32 = Int32 = Int32

  • String

  • DateTime

  • TimeSpan

  • Boolean

  • Byte

  • Char

  • Decimal

  • Double

  • Guid


Net framework overview benefits l.jpg

.NET Framework OverviewBenefits

  • Productivity

  • Unification

  • Fully Object Oriented

    • Cleaner design and implementation

    • Easier reuse

  • Deployment

    • OS independence

    • Platform independence

  • Performance


Agenda10 l.jpg

Agenda

  • .NET Framework Overview

  • Architecting .NET Applications

  • Visual Studio.NET

  • Implementing Design Goals

  • XML Web Services


Architecting net applications design goals l.jpg

Architecting .NET ApplicationsDesign Goals

  • Availability

    • Uptime at performance and reliability goals

  • Maintainability

    • Ease of modifications, enhancements, and defect correction.

  • Manageability

    • Monitoring and detection of problems. Ability to correct problems before other goals are affected

  • Performance

    • Transactions per second

    • Requests per second

    • Time to first/last character


Architecting net applications design goals12 l.jpg

Architecting .NET ApplicationsDesign Goals

  • Reliability

    • Error handling and recovery

  • Scalability

    • Handle more load without re-architecting

    • Scale up – Increasing the performance of existing servers with memory or processors

    • Scale out – Add additional servers


Architecting net applications design goals13 l.jpg

Architecting .NET ApplicationsDesign Goals

  • Security

    • Data Theft

    • Tampering

    • Denial of Service (DoS)

    • Spoofing or Impersonation


Architecting net applications design goals for duwamish l.jpg

Architecting .NET ApplicationsDesign Goals for Duwamish

  • Availability

    • 100% uptime while meeting the performance and reliability goals

  • Maintainability

    • Code should map naturally to design documentation

    • Code must be segmented so that it can be maintained by different groups

  • Manageability

    • Application configuration can be changed while the system is live

    • Application will store errors in the event log

    • Application can trace to a text file or event log


Architecting net applications design goals for duwamish15 l.jpg

Architecting .NET ApplicationsDesign Goals for Duwamish

  • Performance

    • Must meet or exceed performance test results of Duwamish 4.0


Architecting net applications design goals for duwamish16 l.jpg

Architecting .NET ApplicationsDesign Goals for Duwamish

  • Reliability

    • Trap and recover when possible

    • Provide a custom error page

  • Scalability

    • Must scale up and out.

  • Security

    • Require authentication to prevent URL spoofing


Architecting net applications functional requirements l.jpg

Architecting .NET ApplicationsFunctional Requirements

  • Testable

  • Avoid Implementation Details

  • Good

    • Administrator must be able to create, read, update, and delete (CRUD) customer accounts.

      • Administrator must be able to configure the max outstanding balance for a customer

      • Administrator must be able to change the name of a customer

  • Bad

    • Site must be easy to use

    • Site must be written in VB.NET


Architecting net applications functional requirements for duwamish l.jpg

Architecting .NET ApplicationsFunctional Requirements for Duwamish

  • An Internet customer will be able to browse the Duwamish Books product catalog by category.

  • An Internet customer will be able to search for specific books in the following ways:

    • Search for books by Title

    • Search for books by Author

    • Search for books by ISBN

    • Search for books by Subject

    • Search for books by Natural Language Search

  • An Internet customer will be able to select one or more books and place them in a shopping cart for purchase.


Architecting net applications use cases l.jpg

Architecting .NET ApplicationsUse Cases

  • Express the Requirements, as Activities, from the Perspective of the User


Architecting net applications use cases20 l.jpg

Architecting .NET ApplicationsUse Cases

  • Actors

    • Roles within the application

      • Administrator

      • Customer

      • Order Entry Clerk

      • Human Resources

    • A given “real person” could be in more than one role

  • Use Cases

    • Things that actors can do

      • Purchase Product

      • Change Salary

      • Update Items in Stock


Architecting net applications activity diagrams l.jpg

Architecting .NET ApplicationsActivity Diagrams

  • Use Cases Say What the User Can Do

  • Activity Diagrams Show How the User Does it


Net framework architecture activity diagrams l.jpg

.NET Framework ArchitectureActivity Diagrams


Net framework architecture logical architecture l.jpg

.NET Framework ArchitectureLogical Architecture

  • Requirements are Decomposed Into Large Objects

  • Responsibilities are Determined for Those Objects


Agenda24 l.jpg

Agenda

  • .NET Framework Overview

  • Architecting .NET Applications

  • Visual Studio.NET

  • Implementing Design Goals

  • XML Web Services


Visual studio net integration l.jpg

Visual Studio.NETIntegration

  • Integrates All Development Languages

    • VB

    • C++

    • C#

    • JScript


Visual studio net integration26 l.jpg

Visual Studio.NETIntegration

  • Integrates All Project Types

    • Windows Application

    • Class Library

    • Windows Control Library

    • Web Application

    • Web Service

    • Web Control Library

    • Console Application

    • Windows Service


Visual studio net solutions l.jpg

Visual Studio.NETSolutions

  • Multi-Project Solutions

  • Multi-Language Solutions

  • Project Dependencies

  • Build Configurations


Visual studio net server explorer l.jpg

Visual Studio.NETServer Explorer

  • Event Logs

  • Loaded Modules

  • Message Queues

  • Performance Counters

  • Processes

  • Services

  • Databases

  • Web Services


Visual studio net features l.jpg

Visual Studio.NETFeatures

  • Windows Installer Deployment

  • Robust Debugging

  • Macros


Agenda30 l.jpg

Agenda

  • .NET Framework Overview

  • Architecting .NET Applications

  • Visual Studio.NET

  • Implementing Design Goals

  • XML Web Services


Implementing design goals implementing design goals l.jpg

Implementing Design GoalsImplementing Design Goals

  • Availability Goal

    • 100% Uptime

  • Implementation Choices

    • Web Farm

    • ASP.NET Availability Enhancements

      • Session State Stored Externally in Session Server

      • Automatic Problem Detection and Web Server Restart Without Interruption of Service

      • Replace DLLs Used By Site, Without Interruption of Service


Implementing design goals implementing design goals32 l.jpg

Implementing Design GoalsImplementing Design Goals

  • Maintainability Design Goal

    • Code should map naturally to design documentation

    • Code must be segmented so that it can be maintained by different groups.

  • Implementation Choices

    • Use Cases implemented directly in Business Façade component

    • Code segmented into 6 Visual Studio projects that can be modified together, or independently


Implementing design goals implementing design goals33 l.jpg

Implementing Design GoalsImplementing Design Goals

  • Manageability Design Goals

    • Change site configuration without a restart

    • Trace and log to the event log, or a file

  • Implementation Choices

    • Store configuration info in Web.config

    • Trace and log to the event log using the CLR EventLog class

    • Trace to a text file using the CLR FileInfo and StreamWriter classes

    • ASP.NET provides performance counters for each web application

      • Requests and response statistics

      • Cache statistics

      • Error statistics

      • Transaction statistics


Implementing design goals implementing design goals34 l.jpg

Implementing Design GoalsImplementing Design Goals

  • Performance Design Goal

    • Match or exceed performance of Duwamish 4.0

  • Implementation Choices

    • ASP.NET compiles pages into executables

    • Utilize ASP.NET page output caching

    • Full Web Farm support through external session state, and stateless classes


Implementing design goals implementing design goals35 l.jpg

Implementing Design GoalsImplementing Design Goals

  • Reliability Design Goal

    • Handle errors gracefully

    • Never display a raw error message to the user

  • Implementation Choice

    • Exception based error handling

    • ASP.NET custom error page support


Implementing design goals implementing design goals36 l.jpg

Implementing Design GoalsImplementing Design Goals

  • Scalability Design Goal

    • Must scale up and out

  • Implementation Choices

    • Scale up through ASP.NET Web Garden support

    • Scale out through external session state.

    • Access components locally or through .NET remoting.


Implementing design goals implementing design goals37 l.jpg

Implementing Design GoalsImplementing Design Goals

  • Security Design Goal

    • Require authentication to prevent URL spoofing

  • Implementation Choices

    • Utilize ASP.NET built-in form authentication


Agenda38 l.jpg

Agenda

  • .NET Framework Overview

  • Architecting .NET Applications

  • Visual Studio.NET

  • Implementing Design Goals

  • XML Web Services


Xml web services the internet today l.jpg

XML Web ServicesThe Internet Today

  • Designed for Human Beings

  • Browser Based

  • Most Data is Aesthetic


Xml web services business needs today l.jpg

XML Web ServicesBusiness Needs Today

  • Electronic Application Integration

  • Business to Business Communication

  • Business to Business Commerce

  • Platform Independent

  • Language Independent

  • Standards Based

  • Inexpensive


Xml web services existing infrastructure l.jpg

XML Web ServicesExisting Infrastructure

  • The Physical Internet (ISPs, Routers, Highspeed Connectivity)

  • HTTP/HTTPS

  • XML


Xml web services implementation l.jpg

XML Web ServicesImplementation

Business

Rules

Web

Browser

HTML

Data

Access

Database


Xml web services implementation43 l.jpg

XML Web ServicesImplementation

Business

Rules

Web

Browser

Data

Access

XML

Application

Database


Session summary l.jpg

Session Summary

  • .NET Makes It Easier to Design a Good Solution

    • Object Oriented

    • Native Support for Many Design Goals

    • Native Support for Web Services

  • Visual Studio Makes it Easier to Implement a Good Solution

    • Multi-Project Solutions

    • Multi-Language Solutions

    • Excellent Debugging

    • Productivity Enhancements


For more information l.jpg

For More Information…

  • MSDN Web Site at

    • msdn.microsoft.com

  • Duwamish Online Site at

    • www.duwamishonline.com


Become a microsoft certified solution developer l.jpg

Become A Microsoft Certified Solution Developer

  • What Is MCSD?

    • Premium certification for professionals who design and develop custom business solutions

  • How Do I Get MCSD Status?

    • It requires passing four exams to prove competency with Microsoft solution architecture, desktop applications, distributed application development, and development tools

  • Where Do I Get More Information?

    • For more information about certification requirements, exams, and training options, visit www.microsoft.com/mcp


  • Login