Lecture 1: The .NET Architecture

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

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
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 Technology.
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.
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.
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.
Computer Science 317 Database Management Introduction to Web Access to Databases.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
1..NET Architecture Based on slides by Joe Hummel.
Introduction to .Net Framework
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
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: [
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
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.
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
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.
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
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
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.
1. The .NET Architecture 1. The .NET Architecture 2003
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.
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.
ClickOnce Deployment (One-click Deployment)
Computer System Structures
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Introducing the Microsoft® .NET Framework
Introduction to .NET framework
Jim Fawcett CSE775 – Distributed Objects Spring 2017
Getting started with .NET Core
Before You Begin Nahla Abuel-ola /WIT.
“An Introduction to .NET, C# and Visual Studio 2005”
Foundations of .Net Programming with C#
Introduction to .NET Core
Introduction to .NET Framework Ch2 – Deitel’s Book
CE-105 Spring 2007 Engr. Faisal ur Rehman
ADEV 239 Microsoft .NET and GeoMedia
2.1. Compilers and Interpreters
1.1. .NET architectural components and .NET Core
.NET and .NET Core 2. .NET Runtimes Pan Wuming 2017.
Programming in C# CHAPTER 1
Advanced Programming: C# Lecture 01: Introduction
Chapter 2: System Structures
Introduction to .NET By : Mr. V. D. Panchal Content :
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Java Programming Introduction
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
0. Overview of 2-Day Academic .NET Workshop
Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net
DOT NET ARCHITECTURE (OR) DOT NET FRAME WORK ARCHITECTURE
ClickOnce Deployment (One-click Deployment)
CS4540 Special Topics in Web Development Introduction to .NET
C# and ASP.NET Programming
Presentation transcript:

Lecture 1: The .NET Architecture May 2003 Lecture 1: The .NET Architecture © 2003 Microsoft

Objectives 1. The .NET Architecture May 2003 “Microsoft .NET is based on the .NET Framework, which consists of two major components: 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… 1. The .NET Architecture May 2003 © 2003 Microsoft

component-based design Influences 1. The .NET Architecture May 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 May 2003 .NET supports VB, C# (C-sharp), C++, J# (Java 1.2), 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 May 2003 Compiled .NET apps run on any supported platform: APP.exe ? Other platforms? As of May 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 May 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) FCL ships as a set of components!

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 May 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 May 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

Resources 1. The .NET Architecture May 2003 Books: J. Richter, "Applied Microsoft .NET Framework Programming" (C#) J. Richter and F. Balena, "Applied Microsoft .NET Framework Programming in Microsoft Visual Basic .NET" (VB) 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