1. The .NET Architecture 1. The .NET Architecture 2003

Slides:



Advertisements
Similar presentations
What is.Net Gary Devendorf. .Net Framework.Net framework works like the Domino Objects only much lower level and very complete It is part of the OS (or.
Advertisements

Introduction to .NET Framework
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
.NET Technology.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
ISYS 512 Business Application Design and Development with.Net David Chao.
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
.NET Overview. 2 Objectives Introduce.NET –overview –languages –libraries –development and execution model Examine simple C# program.
ISYS 512 Business Application Design and Development with.Net David Chao.
Programming A Historic Perspective on Code Reuse Yingcai Xiao.
.NET’s CLR How does it really work? 7/2/20151Bhavani Sankar Ikkurthi CS 795 Presentation.
Code-Reuse A Historic Perspective Yingcai Xiao. Want to know? Why we have to write programs to run a computer? Why an error in a program is called a bug?
2. Developing in.NET and C#. 2 Microsoft Objectives “Microsoft.NET development is based on an underlying framework of tools and classes. These tools and.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Overview of Microsoft.Net and Vb.Net ITSE 2349 Spring 2002 Material from Microsoft.Net an Overview for ACC faculty by Stuart Laughton and Introduction.
ISYS 350 Business Application Development
Computer Science 317 Database Management Introduction to Web Access to Databases.
1..NET Architecture Based on slides by Joe Hummel.
Introduction to .Net Framework
ISYS 512 Business Application Design and Development with.Net David Chao.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
1 Program Execution in the 21 st Century Modern Software Development in.NET and C# A webcast series for C++, Java, and VB6 developers – Part 1 of 15: [
© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Session 1 - Introduction and Data Access Layer
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
.NET Framework & C#.
Mono Development for Win32 Programmers Francisco “Paco” Martníez Mono Contributor Joseph Hill Mono Contributor Erik Dasque Product Manager, Mono Project.
Introduction to .NET Rui Ye.
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
CSC 494/594 C# and ASP.NET Programming. C# 2012 C# Object-oriented language with syntax that is similar to Java.
Introduction .NET Framework
ASSEMBLIES AND THE GAC CHAPTER 1, LESSONS 4-7 & LAB.
ISYS 573 Special Topic – VB.Net David Chao. The History of VB Early 1960s:BASIC-Beginner’s All-Purpose Symbolic Instruction Code –Teaching –Simple syntax,
CS795/895: Introduction. Topics Distributed Systems –Availability –Performance –Web Services Security –Authentication –Authorization –Confidentiality.
Component-Based Software Engineering Introduction to.NET Paul Krause.
1..NET Architecture Based on slides by Joe Hummel.
.NET Framework Danish Sami UG Lead.NetFoundry
Mono Update. Miguel de Icaza
ISYS 812 Business Software Development David Chao.
1.NET FRAMEWORK CE-105 Spring 2007 Engr. Faisal ur Rehman.
Introduction to.NET. What is.NET? Microsoft’s vision of the future of applications in the Internet age –Increased robustness over classic Windows apps.
.NetDeploymentNOEA / PQC 2005 Application Deployment and Versioning Source: Joe Hummel, kursus i.Net, jan
ISYS 350 Business Application Development David Chao.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Lecture 4: J# Execution Model. 2 MicrosoftIntroducing CS using.NETJ# in Visual Studio.NET 4-2 Objectives “J# programs execute like any other.NET program.
.NET Ying Chen Junwei Chen. What is Microsoft.NET. NET is a development platform Incorporated into.NET COM+ component services ASP web development framework.
Common Language Runtime Introduction  The common language runtime is one of the most essential component of the.Net Framework.  It acts.
ISYS 512 Business Application Design and Development with.Net David Chao.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
OE-NIK HP Advanced Programming Using and creating DLL files.
Dr. Fakhri Alam Khan CIS 344-Z: User Interface Design.
Intro to ASP.NET CS-422 Dick Steflik. What is.NET As applications in the Enterprise become more and more netcentric and less and less standalone.NET is.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
Lecture 1: The .NET Architecture
Computer System Structures
Introducing the Microsoft® .NET Framework
CE-105 Spring 2007 Engr. Faisal ur Rehman
2.1. Compilers and Interpreters
Programming in C# CHAPTER 1
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
0. Overview of 2-Day Academic .NET Workshop
DOT NET ARCHITECTURE (OR) DOT NET FRAME WORK ARCHITECTURE
Presentation transcript:

1. The .NET Architecture 1. The .NET Architecture 2003 © 2003 Microsoft

Objectives 1. The .NET Architecture 2003 “Microsoft .NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines a common programming model and a standard type system for cross-platform, multi-language development.” CLR-based execution Application designs © 2003 Microsoft

Part 1 CLR-based execution…

component-based design Influences 1. The .NET Architecture 2003 .NET is the result of many influences… OOP JVM GUI .NET Web component-based design n-tier design © 2003 Microsoft

.NET is multi-language 1. The .NET Architecture 2003 .NET supports VB, C# (C-sharp), C++, J# (Java 1.1), Eiffel, etc. code.vb code.cs code.cpp ... FCL Development Tools app.exe © 2003 Microsoft

? .NET is cross-platform Win64 Win32 (XP,2K,98) WinCE 1. The .NET Architecture 2003 Compiled .NET apps run on any supported platform: APP.exe ? Other platforms? As of February 2003: Mono: open-source Linux port of .Net, beta, no GUI support. Rotor: MS has released the source to the standardized components of .Net, compiles on Windows, FreeBSD, and Mac OS X. 1.0 Release, C# only, no GUI support. Mono can be downloaded from http://www.go-mono.com/ Rotor, officially known as SSCLI, can be downloaded from http://msdn.microsoft.com/net/sscli Win64 Win32 (XP,2K,98) WinCE © 2003 Microsoft

How is cross-platform achieved? Cross-platform execution realized in two ways: apps are written against Framework Class Library (FCL), not underlying OS compilers generate generic assembly language which must be executed by the Common Language Runtime (CLR)

(1) FCL Framework Class Library 1000's of predefined classes common subset across all platforms & languages networking, database access, XML processing, GUI, Web, etc. Goal? FCL is a portable operating system

(2) CLR-based execution 1. The .NET Architecture 2003 Common Language Runtime must be present to execute code: APP.exe OS Process CLR JIT Compiler other FCL components Core FCL obj code JIT = Just-in-time, which gets its name because you generate the actual x86 code at the last possible moment, i.e. run-time. Java uses same approach with its JVM Underlying OS and HW © 2003 Microsoft

Implications of .NET's execution model Clients need CLR & FCL to run .NET apps available via Redistributable .NET Framework 20MB download runs on 98 and above, NT (sp6a) and above Design trade-off… managed execution (memory protection, verifiable code, etc.) portability: slower execution?

Part 2 Application design…

Monolithic Monolithic app: all source code compiled into one .EXE *not* the norm on Windows… APP.exe

Component-based Component-based app: .EXE + 1 or more .DLLs standard practice on Windows… compute.dll GUI.exe data.dll

Why component-based? Many motivations: team programming multi-language development (I like VB, you like C#) code reuse (e.g. across different .EXEs) independent updating (update just component X) .NET offers good support for component-based design…

Assemblies .NET packages components into assemblies 1 assembly = 1 or more compiled classes .EXE represents an assembly with classes + Main program .DLL represents an assembly with classes code.vb code.vb code.cs Development Tools .EXE / .DLL assembly

CLR-based execution revisted 1. The .NET Architecture 2003 CLR must be able to locate all assemblies: .DLL .EXE .DLL .DLL OS Process CLR JIT Compiler other FCL assemblies Core FCL assembly obj code obj code obj code obj code CLR = Common Language Runtime FCL = .NET Framework Class Library Underlying OS and HW © 2003 Microsoft

Assembly resolution How does CLR find assemblies? For now, simple answer is sufficient: our DLLs must reside in same directory as our EXE FCL assemblies reside in GAC CLR looks in GAC first, then EXE's directory…

GAC? GAC = Global Assembly Cache C:\Windows or C:\WinNT directory Observations: explorer yields a flat view of GAC command-shell yields actual representation GAC can hold different versions of the same assembly some assemblies have been pre-JIT ("native image") tamper proof via digital signatures…

Summary .NET architecture is: multi-language cross-platform 1. The .NET Architecture 2003 .NET architecture is: multi-language cross-platform based on the CLR, FCL, and JIT technology Application designs are typically multi-tier Application designs yield component-based development .NET components are packaged as assemblies © 2003 Microsoft

References 1. The .NET Architecture 2003 Books: J. Richter, "Applied Microsoft .NET Framework Programming" T. Thai and H. Lam, ".NET Framework Essentials" Web sites: http://msdn.microsoft.com/net http://www.gotdotnet.com/ Linux port (Mono): http://www.go-mono.com/ MS source (Rotor / SSCLI): http://msdn.microsoft.com/net/sscli © 2003 Microsoft