History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to.

Slides:



Advertisements
Similar presentations
Unit 1: Overview of the Microsoft.NET Platform
Advertisements

Introduction to .NET Framework
.NET Framework Overview
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.
History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to.
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
.NET Technology.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
.Net Overview Giuseppe Attardi Università di Pisa.
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
Introduction to the C# Programming Language for the VB Programmer.
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Introducing the Common Language Runtime for.NET. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution.
Lesson 1 What is.NET Prepared by Shawn Dossie Microsoft NYIT.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
Tahir Nawaz Visual Programming C# Week 2. What is C#? C# (pronounced "C sharp") is an object- oriented language that is used to build applications for.
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Rajeswari Indupuri Introduction to.NET Framework.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
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.
© 2004 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin Programming the Web Using ASP.Net Chapter 2: The ASP.Net Template Dave.
Lecture Roger Sutton CO530 Automation Tools 5: Class Libraries and Assemblies 1.
Introduction to .Net Framework
VS.NET Syllabus By Peter Huang.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
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.
Module 1: Introduction to C# Module 2: Variables and Data Types
.NET & C# Introduction 11 March, 2004 Yusung Kim CS441 Introduction to Computer Networking.
Session 1 - Introduction and Data Access Layer
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
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#.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
 Internet providing backbone for applications  Use of several web sites and devices to provide one complete solution  Software as services  Quick software.
Introduction to .NET Framework
Understanding Code Compilation and Deployment Lesson 4.
Introduction .NET Framework
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.
What is.NET? CS 351 Ed Gellenbeck. Today What is.NET? What Problems Does.NET Solve? What are.NET Framework Components?
.Net Framework Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
.NET Framework Danish Sami UG Lead.NetFoundry
Programming in C#. I. Introduction C# (or C-Sharp) is a programming language. C# is used to write software that runs on the.NET Framework. Although C#
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
Key Components of.NET Framework  Common Language Runtime  CLR at Design time  CLR at Runtime  Class Library  Assemblies  Namespaces  ASP.NET  Applications.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Common Language Runtime Introduction  The common language runtime is one of the most essential component of the.Net Framework.  It acts.
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.
July 22, 2001Introduction to.NET1 Introduction to.NET Framework Gholamali Semsarzadeh July 2001.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
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.
.NET Framework.
Introducing the Microsoft® .NET Framework
Introduction to .NET framework
.NET Omid Darroudi.
Introduction to .NET Framework Ch2 – Deitel’s Book
Introduction to C# AKEEL AHMED.
DOT NET ARCHITECTURE (OR) DOT NET FRAME WORK ARCHITECTURE
.NET Framework Design Goals
Presentation transcript:

History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to develop a serious application Good competition from Sun’s java and j2ee.Net resolved all this problem

.Net Application Window based application Web based application Console Application Web Services In Web Services, software functionality becomes exposed as a service

Framework, Languages, And Tools Base Class Library Common Language Specification Common Language Runtime ADO.NET: Data and XML VBVC++VC# Visual Studio.NET ASP.NET: Web Services and Web Forms JScript… Windows Forms

.Net Framework A component that provides facility to build and run an application Intermediate layer between OS and Programming Language Not an OS, Not a Language Supports many programming languages, including VB.NET, C# etc Operating System + Hardware.NET Framework.NET Application

.Net Framework Cont…  Two main part of.Net Framework o Common Language Runtime o Base class library

Common Language Runtime (CLR) Runtime execution environment Manage and execute code written in any.net language Runtime is an agent that manages code at execution time, providing core services such as memory management, thread management while also enforcing strict type safety and other forms of code accuracy.

CLR Execution Model

MSIL or IL (Platform Independence) Microsoft intermediate language(MSIL) or Intermediate language(IL) is independent of programming language, targeting machine and OS Process of Traditional compiler Source code Machine code Platform dependent Compiler targeting.Net Source code MSIL Machine Code Platform independent Compiled Execute

MSIL or IL (Platform Independence) The MSIL code includes the instructions to load, initialize and invoke methods on Objects It also includes the instructions for various operations on programs code such as arithmetic and logical operations, control flow, exception handling

Comparison to Java Hello.javaHello.classJVM compileexecute Source codeByte code Hello.vbHello.exeCLR compileexecute CIL Source code

Base Class Library(BCL) Also referred as Framework Class Library(FCL) It is library of classes available to all languages using.NET framework It provides classes, which encapsulate a no. of common function, including file reading & writing, graphic rendering, DB interaction & XML document manipulation.

ADO.NET It is a set of computer software components It is use to access data and data services It is a part of BCL Consists of 2 parts :- Data Provider – Connection, Parameter, Data Adapter, Data Reader Dataset

Web Services Web Services provide data and services to other applications. Web services are small units of code Benefits of Web Services Easier to communicate between applications Easier to reuse existing services Easier to distribute information to more consumers Rapid development

Common Language Specification (CLS) CLS is the collection of the rules and constraints that every language (that seeks to achieve.NET compatibility) must follow. CLS is nothing but guidelines that language to follow so that it can communicate with other.NET languages in a seamless manner It is a subset of the CTS

Common Language Specification (CLS) Microsoft defined 3 levels of CLS :- Compliant Provider Consumer Extender

CLR Important component of.Net Framework Supervise the execution of a.Net Program by providing various properties and controls in the areas of memory management, security, exception handling The CLR manages the execution of the code therefore the code that works on the CLR is called the managed code.

Architecture of CLR Base Class Library Support Thread Support Type CheckerException Manager SecurityDebug Engine JIT CompilerCode ManagerGarbage Collector Class Loader

Architecture of CLR Cont… Class loader: Manage and loading layout of class JIT compiler: Converts MSIL to native code Code manager: Manages code execution Garbage Collector: Handle automatic Memory management Security engine: It provides security based on policies and permissions that allow execution of mistrusted code to run in secure environment so they do not cause any problems. It will grant full access to trusted code.

Architecture of CLR Cont… Debug Engine: Allow to debug an application and trace the execution of code Type Checker: Type checker will verify types used in the application with CTS or CLS standards supported by CLR Exception Manager: Handles Errors at runtime using try.. catch..finally blocks. Thread Support: Enable multi-threaded programming

Architecture of CLR Cont… The CLR is composed of 5 primary parts: Common Type System(CTS) Common Language Specification(CLS) Common Intermediate Language(CIL) Just-In-Time Compiler(JIT) Virtual Execution System(VES)

The Common Type System (CTS) is a standard that specifies how Type definitions and specific values of Types are represented in computer memory. It is intended to allow programs written in different programming languages to easily share information For example, an integer variable in C# is written as int, whereas in Visual Basic it is written as integer. Therefore in.Net Framework you have single class called System.Int32 to interpret these variables Common Type System(CTS)

It defines how to declare, use and manage type in CLR and support cross language integration (code written in one language can interact with the code written in another language that provides Language independence) Types classified into two categories Value Type Reference Type

Common Intermediate Language(CIL) CIL is a CPU- and platform- independent instruction set It is low-level(machine) language, like Assembler, but is object-oriented CIL code is verified for safety during runtime Provides better security and reliability When the code is executed, the platform-specific VES will compile the CIL to the machine language according to the specific hardware CIL is passed through the Common Language Runtime’s JIT compiler to generate native code The native code is executed by the computer’s processor

Just-In Time(JIT) Compiler Convert the IL into machine code JIT compilation provides runtime type-safety & assembly verification To accomplish this, the JIT compiler examines the assembly metadata Offers better performance than interpreters as the compiled code is stored in memory cache at runtime Subsequent recompilation or reinterpretation of compiled code can be skipped Also giving flexibility to automatically recompile & optimize code that is found at runtime to be frequently executed

Virtual Execution System(VES) The VES provides an environment for executing managed code It provides the support required to execute the Common Intermediate Language Instruction Set

Managed Code Code running under control of CLR means code that is executed by CLR Represents programming code in the low level language MSIL The binary code is stored in a portable executable (PE) file It is created during compilation of the Program It contains definition of each type, signatures of data members in code, detail information about members in a code Allows integration between components and data types of different programming languages.

Managed Code Managed code is computer program code that executes under the management of a virtual machine, unlike unmanaged code, which is executed directly by the computer's CPU. The benefits of managed code include programmer convenience and enhanced security guarantees. Managed code is designed to be more reliable and robust than unmanaged code, examples are Garbage Collection, Type Safety etc

Benefits of.Net Framework Consistent Programming Model Provides Object Oriented programming model to create programs for performing different tasks Cross-Platform Support Any Windows platform that supports CLR can execute.Net Application Language Interoperability Enables code written in different languages to interact with each other

Benefits of.Net Framework Automatic Management of resources Do not need to manually free the application resources, such as files, memory, network and Database connection Ease of Deployment

What is Namespace Namespace Logically group types, example System.Web.UI logically groups our UI related features. Namespace can span multiple assembly. The thousands of classes defined in the.NET Framework are grouped in namespaces For example the System namespace that gathers the basic type classes, such as Integer, String and Array

Namespace Basics Namespaces are implemented in.NET assemblies. The System namespace is implemented in an assembly called System.dll provided. By referencing this assembly, the project gains the ability to reference all of the child namespaces of System that happen to be implemented in this assembly Project can import System.Text namespace because its implementation is in the System.dll assembly Project cannot import or use the System.Data namespace unless it references the assembly that implements this child of the System namespace, System.Data.dll

Exploring Namespace

System.Window.Form: The classes to create Windows Forms in Windows Application projects.This namespace contains the form elements has several class(Button class, Label class etc) that implements control on the toolbox System.Threading—This namespace contains the objects to work with and manipulate threads within your application System.Text—This commonly used namespace allows you to work with text in a number of different ways, usually in regard to string manipulation. One of the more popular objects that this namespace offers is the StringBuilder object

Exploring Namespace System.Web:This namespace provides the objects that deal with browser-server communications. Two of the main objects include the HttpRequest object, which deals with the request from the client to the server, and the HttpResponse object, which deals with the response from the server to the client. In VB.Net Namespace can be included in the form using “imports” statement. Imports System.Windows.Forms

Some.Net Base Class Library System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel

Microsoft.VisualBasic Namespace This namespace gives access to all those functions that are available in VB6 These functions have been implemented in the.NET Framework, there is absolutely no performance hit This namespace is available for use by all of the.NET languages This means that even a C# developer could also use the Microsoft.VisualBasic namespace if he or she so desired

Microsoft.VisualBasic Namespace Microsoft.VisualBasic.Compatibility.VB6: Allows to include classes related to Visual Basic 6 environment Microsoft.VisualBasic.Compatibility.Data

Advantage of Namespace To avoid conflicts when you have multiple classes with the same name. For example,.NET comes with a class called 'Form'. Suppose you also write another class called 'Form' in your application and if you refer to the class 'Form', how does the compiler know which Form you are referring to ?

Garbage Collection The.Net Framework provides a new mechanism for releasing unreferenced objects from the memory (that is we no longer needed that objects in the program),this process is called Garbage Collection. It is one of the services of the CLR that prevents memory leaks during execution of program Garbage collector (Separate Thread) perform the operation We can call Garbage Collector (GC) explicitly in the program by calling System.GC.Collect

Versioning Each assembly has a version number as part of its identity and stored in assembly manifest Two assemblies that differ by version number are considered by the runtime to be completely different assemblies Physically represented as a four-part string... Ex: version

Versioning Problem Application build in.Net Framework 1.0 version can run on version 1.1 and application build on version 1.1 can run on version 2.0 However Application build on version 1.1 do not work with version 1.0 and similarly application build on version 2.0 do not work with version 1.1 Its called the versioning problem To overcome this problem side-by-side execution has been introduced

Side-by-Side Execution Ability to install and run multiple versions of the same component on the machine concurrently at the same time without interfering with each other You can have multiple versions of the common language runtime, and multiple versions of applications and components that use a version of the runtime, on the same computer at the same time

DLL Hell Problem Problem caused when multiple applications attempt to share a common component like a dynamic link library (DLL) What happen when Application1 will install a new version says of Addition.dll? Application1 Application2 Addition.dll version

DLL Hell Problem Cont… Addition.dll with version is not backward compatible with the version already on the machine Although the application that has just been installed(Application1) works well, existing applications (Application2) that depended on a previous version of the DLL (version ) might no longer work (stop working) Components require registration in the system registry

Address DLL Hell Problem Private DLLs are used by one particular application only and are not shared among different applications If an application relies on a specific version of a.dll file, then it can be installed in the application directory and a.local file created in the directory to inform that OS to look for private DLLs first and then move on to look for shared DLLs..NET components do not require any kind of registration in system registry

No Registration in.Net Assemblies in.NET are self-describing. All the information needed to execute an assembly is normally contained in the assembly itself Thus, there is no need to place any information in the Windows registry It will be easy to take a.Net component on server and copy to another server, It means you can copy applications instead of reinstalling them and the whole process becomes much simpler

COM InterOp COM is a language-neutral way of implementing objects that can be used in environments different from the one in which they were created COM (Binary interface) allows reuse of objects with no knowledge of their internal implementation COM Interop is a technology included in the.Net CLR that enables COM objects to interact with.NET objects, and vice versa COM Interop aims to provide access to the existing COM components without requiring that the original component be modified