slide1
Download
Skip this Video
Download Presentation
Architecting an Application Using the .NET Framework Peter Ty MCSD, MCDBA, MCP+SB, MCSE Developer Evangelist Microsoft Hong Kong Ltd. [email protected]

Loading in 2 Seconds...

play fullscreen
1 / 47

Architecting an Application Using the Framework - PowerPoint PPT Presentation


  • 305 Views
  • Uploaded 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

Architecting an Application Using the .NET Framework

Peter TyMCSD, MCDBA, MCP+SB, MCSE

Developer EvangelistMicrosoft Hong Kong [email protected]

agenda
Agenda
  • .NET Framework Overview
  • Architecting .NET Applications
  • Visual Studio.NET
  • Implementing Design Goals
  • XML Web Services
net framework overview what is the net framework
.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

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
.NET Framework Overview.NET Framework

Different Languages

VB

C#

Compile

Same IL

MSIL

MSIL

net framework overview net framework6
.NET Framework Overview.NET Framework

VB

MSIL

Deploy

Execute

Machine Code

MSIL

JIT Compile

net framework overview common language runtime
.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
.NET Framework OverviewCommon Type System
  • Int32 = Int32 = Int32 = Int32
  • String
  • DateTime
  • TimeSpan
  • Boolean
  • Byte
  • Char
  • Decimal
  • Double
  • Guid
net framework overview benefits
.NET Framework OverviewBenefits
  • Productivity
  • Unification
  • Fully Object Oriented
    • Cleaner design and implementation
    • Easier reuse
  • Deployment
    • OS independence
    • Platform independence
  • Performance
agenda10
Agenda
  • .NET Framework Overview
  • Architecting .NET Applications
  • Visual Studio.NET
  • Implementing Design Goals
  • XML Web Services
architecting net applications design goals
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
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
Architecting .NET ApplicationsDesign Goals
  • Security
    • Data Theft
    • Tampering
    • Denial of Service (DoS)
    • Spoofing or Impersonation
architecting net applications design goals for duwamish
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
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
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
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
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
Architecting .NET ApplicationsUse Cases
  • Express the Requirements, as Activities, from the Perspective of the User
architecting net applications use cases20
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
Architecting .NET ApplicationsActivity Diagrams
  • Use Cases Say What the User Can Do
  • Activity Diagrams Show How the User Does it
net framework architecture logical architecture
.NET Framework ArchitectureLogical Architecture
  • Requirements are Decomposed Into Large Objects
  • Responsibilities are Determined for Those Objects
agenda24
Agenda
  • .NET Framework Overview
  • Architecting .NET Applications
  • Visual Studio.NET
  • Implementing Design Goals
  • XML Web Services
visual studio net integration
Visual Studio.NETIntegration
  • Integrates All Development Languages
    • VB
    • C++
    • C#
    • JScript
visual studio net integration26
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
Visual Studio.NETSolutions
  • Multi-Project Solutions
  • Multi-Language Solutions
  • Project Dependencies
  • Build Configurations
visual studio net server explorer
Visual Studio.NETServer Explorer
  • Event Logs
  • Loaded Modules
  • Message Queues
  • Performance Counters
  • Processes
  • Services
  • Databases
  • Web Services
visual studio net features
Visual Studio.NETFeatures
  • Windows Installer Deployment
  • Robust Debugging
  • Macros
agenda30
Agenda
  • .NET Framework Overview
  • Architecting .NET Applications
  • Visual Studio.NET
  • Implementing Design Goals
  • XML Web Services
implementing design goals implementing design goals
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
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
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
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
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
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
Implementing Design GoalsImplementing Design Goals
  • Security Design Goal
    • Require authentication to prevent URL spoofing
  • Implementation Choices
    • Utilize ASP.NET built-in form authentication
agenda38
Agenda
  • .NET Framework Overview
  • Architecting .NET Applications
  • Visual Studio.NET
  • Implementing Design Goals
  • XML Web Services
xml web services the internet today
XML Web ServicesThe Internet Today
  • Designed for Human Beings
  • Browser Based
  • Most Data is Aesthetic
xml web services business needs today
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
XML Web ServicesExisting Infrastructure
  • The Physical Internet (ISPs, Routers, Highspeed Connectivity)
  • HTTP/HTTPS
  • XML
xml web services implementation
XML Web ServicesImplementation

Business

Rules

Web

Browser

HTML

Data

Access

Database

xml web services implementation43
XML Web ServicesImplementation

Business

Rules

Web

Browser

Data

Access

XML

Application

Database

session summary
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
For More Information…
  • MSDN Web Site at
    • msdn.microsoft.com
  • Duwamish Online Site at
    • www.duwamishonline.com
become a microsoft certified solution developer
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