Architecting an Application Using the .NET Framework
Download
1 / 47

Architecting an Application Using the Framework - PowerPoint PPT Presentation


  • 298 Views
  • Updated On :

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

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

PowerPoint Slideshow about 'Architecting an Application Using the Framework' - HarrisCezar


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 [email protected]


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


ad