.Netframework

23
. . NET NET FRAMEWORK FRAMEWORK SHABEER ISMAEEL AND ISHFAQ MAJID MSC IT III SEMESTER DEPT. OF INFORMATION TECHNOLOGY

Transcript of .Netframework

Page 1: .Netframework

..NET NET FRAMEWORKFRAMEWORK

SHABEER ISMAEEL ANDISHFAQ MAJIDMSC IT III SEMESTERDEPT. OF INFORMATION TECHNOLOGY

Page 2: .Netframework

CONTENTSCONTENTS

INTRODUCTIONINTRODUCTIONOBJECTIVESOBJECTIVESCOMPONENTSCOMPONENTSREFERENCESREFERENCES

Page 3: .Netframework

INTRODUCTIONINTRODUCTION

٭ MICROSOFT .NET (PRONOUNCED “DOT NET”) IS A SOFTWARE MICROSOFT .NET (PRONOUNCED “DOT NET”) IS A SOFTWARE

COMPONENT THAT RUNS ON THE COMPONENT THAT RUNS ON THE WINDOWS OPERATING SYSTEMWINDOWS OPERATING SYSTEM. .

٭ MICROSOFT .NET IS A FRAMEWORK WHICH PROVIDES A COMMON MICROSOFT .NET IS A FRAMEWORK WHICH PROVIDES A COMMON

PLATFORM TO EXECUTE OR, RUN THE APPLICATIONS DEVELOPED IN PLATFORM TO EXECUTE OR, RUN THE APPLICATIONS DEVELOPED IN

VARIOUS PROGRAMMING LANGUAGES (VARIOUS PROGRAMMING LANGUAGES (VISUAL BASIC, VISUAL C#, AND

VISUAL C++ ).).

٭ MICROSOFT ANNOUNCED THE .NET INITIATIVE IN JULY 2000.MICROSOFT ANNOUNCED THE .NET INITIATIVE IN JULY 2000.

٭ THE MAIN INTENTION WAS TO BRIDGE THE GAP IN THE MAIN INTENTION WAS TO BRIDGE THE GAP IN INTEROPERABILITYINTEROPERABILITY

BETWEEN SERVICES OF VARIOUS PROGRAMMING LANGUAGES.BETWEEN SERVICES OF VARIOUS PROGRAMMING LANGUAGES.

Page 4: .Netframework

OBJECTIVESOBJECTIVES----THE .NET FRAMEWORK IS DESIGNED TO FULFILL ----THE .NET FRAMEWORK IS DESIGNED TO FULFILL THE FOLLOWING OBJECTIVES: THE FOLLOWING OBJECTIVES:

• PROVIDE OBJECT-ORIENTED PROGRAMMING PROVIDE OBJECT-ORIENTED PROGRAMMING ENVIRONMENT ENVIRONMENT

• PROVIDE ENVIRONMENT FOR DEVELOPING VARIOUS PROVIDE ENVIRONMENT FOR DEVELOPING VARIOUS TYPES OF APPLICATIONS, SUCH AS WINDOWS-BASED TYPES OF APPLICATIONS, SUCH AS WINDOWS-BASED APPLICATIONS AND WEB-BASED APPLICATIONSAPPLICATIONS AND WEB-BASED APPLICATIONS

• TO ENSURE THAT CODE BASED ON THE .NET TO ENSURE THAT CODE BASED ON THE .NET FRAMEWORK CAN INTEGRATE WITH ANY OTHER CODEFRAMEWORK CAN INTEGRATE WITH ANY OTHER CODE

Page 5: .Netframework

.NET ARCHITECTURE.NET ARCHITECTURE

Page 6: .Netframework

COMPONENTS OF .NET COMPONENTS OF .NET ARCHITECTUREARCHITECTURE

---MICROSOFT .NET CONSISTS OF FOUR MAJOR ---MICROSOFT .NET CONSISTS OF FOUR MAJOR

COMPONENTS:COMPONENTS:

COMMON LANGUAGE SPECIFICATION (CLS) COMMON LANGUAGE SPECIFICATION (CLS) – – BLUE IN THE BLUE IN THE٭

DIAGRAMDIAGRAM

FRAMEWORK CLASS LIBRARY (FCL)FRAMEWORK CLASS LIBRARY (FCL) – – REDRED٭

COMMON LANGUAGE RUNTIME (CLR) COMMON LANGUAGE RUNTIME (CLR) – – GREENGREEN٭

NET TOOLS .NET TOOLS – – YELLOWYELLOW.٭

Page 7: .Netframework

COMMON TYPE SYSTEM (CTS)

COMMON TYPE SYSTEM (CTS) DESCRIBES A SET OF TYPES THAT CAN BE USED IN DIFFERENT .NET LANGUAGES IN COMMON . THAT IS , THE COMMON TYPE SYSTEM (CTS) ENSURE THAT OBJECTS WRITTEN IN DIFFERENT .NET LANGUAGES CAN INTERACT WITH EACH OTHER.

 COMMON TYPE SYSTEM (CTS) PROVIDES BASE SET OF DATA TYPES (SUCH AS BOOLEAN, BYTE, CHAR, INT32, AND UINT64) WHICH IS RESPONSIBLE FOR CROSS LANGUAGE INTEGRATION. THE COMMON LANGUAGE RUNTIME (CLR) CAN LOAD AND EXECUTE THE SOURCE CODE WRITTEN IN ANY .NET LANGUAGE, ONLY IF THE TYPE IS DESCRIBED IN THE COMMON TYPE SYSTEM (CTS) .

---TO IMPLEMENT OR SEE HOW CTS IS CONVERTING THE DATA TYPE TO A COMMON DATA TYPE, FOR EXAMPLE, WHEN WE DECLARE AN INT TYPE DATA TYPE IN C# AND VB.NET THEN THEY ARE CONVERTED TO INT32. IN OTHER WORDS, NOW BOTH WILL HAVE A COMMON DATA TYPE THAT PROVIDES FLEXIBLE COMMUNICATION BETWEEN THESE TWO LANGUAGES.

Page 8: .Netframework

COMMON LANGUAGE SPECIFICATIONCOMMON LANGUAGE SPECIFICATION (CLS) (CLS)

------PERFORMS THE FOLLOWING FUNCTIONS:PERFORMS THE FOLLOWING FUNCTIONS:

IT ESTABLISHES A FRAMEWORK THAT HELPS ENABLE CROSS-LANGUAGE IT ESTABLISHES A FRAMEWORK THAT HELPS ENABLE CROSS-LANGUAGE

INTEGRATION, TYPE SAFETY, AND HIGH PERFORMANCE CODE EXECUTION.INTEGRATION, TYPE SAFETY, AND HIGH PERFORMANCE CODE EXECUTION.

IT PROVIDES AN OBJECT-ORIENTED MODEL THAT SUPPORTS THE COMPLETE IT PROVIDES AN OBJECT-ORIENTED MODEL THAT SUPPORTS THE COMPLETE

IMPLEMENTATION OF MANY PROGRAMMING LANGUAGES.IMPLEMENTATION OF MANY PROGRAMMING LANGUAGES.

IT DEFINES RULES THAT LANGUAGES MUST FOLLOW, WHICH HELPS ENSURE THAT IT DEFINES RULES THAT LANGUAGES MUST FOLLOW, WHICH HELPS ENSURE THAT

OBJECTS WRITTEN IN DIFFERENT LANGUAGES CAN INTERACT WITH EACH OTHER.OBJECTS WRITTEN IN DIFFERENT LANGUAGES CAN INTERACT WITH EACH OTHER.

Page 9: .Netframework

COMMON LANGUAGE SPECIFICATION COMMON LANGUAGE SPECIFICATION (CLS)(CLS)

Page 10: .Netframework

FRAMEWORK CLASS LIBRARYFRAMEWORK CLASS LIBRARY (FCL) (FCL)

٭ THE FCL IS A COLLECTION OF OVER 7000 CLASSES AND DATA TYPES THAT THE FCL IS A COLLECTION OF OVER 7000 CLASSES AND DATA TYPES THAT

ENABLE .NET APPLICATIONS TO READ AND WRITE FILES, ACCESS DATABASES, ENABLE .NET APPLICATIONS TO READ AND WRITE FILES, ACCESS DATABASES,

PROCESS XML, DISPLAY A GRAPHICAL USER INTERFACE, DRAW GRAPHICS, USE PROCESS XML, DISPLAY A GRAPHICAL USER INTERFACE, DRAW GRAPHICS, USE

WEB SERVICES, ETC. WEB SERVICES, ETC.

٭ THE FCL WRAPS MUCH OF THE MASSIVE, COMPLEX WIN32 API INTO MORE THE FCL WRAPS MUCH OF THE MASSIVE, COMPLEX WIN32 API INTO MORE

SIMPLE .NET OBJECTS THAT CAN BE USED BY C# AND OTHER .NET PROGRAMMING SIMPLE .NET OBJECTS THAT CAN BE USED BY C# AND OTHER .NET PROGRAMMING

LANGUAGES.LANGUAGES.

Page 11: .Netframework

FRAMEWORK CLASS LIBRARYFRAMEWORK CLASS LIBRARY

Page 12: .Netframework

COMMON LANGUAGE RUNTIME COMMON LANGUAGE RUNTIME (CLR)(CLR)

٭ THE CLR IS THE THE CLR IS THE COMMON COMMON EXECUTION ENGINE FOR .NET APPLICATIONS EXECUTION ENGINE FOR .NET APPLICATIONS

AND SERVES AS THE INTERFACE BETWEEN .NET APPLICATIONS AND AND SERVES AS THE INTERFACE BETWEEN .NET APPLICATIONS AND

THE OPERATING SYSTEM. THE OPERATING SYSTEM.

٭ THE CLR PROVIDES MANY SERVICES SUCH AS:THE CLR PROVIDES MANY SERVICES SUCH AS:

LOADS AND EXECUTES CODE.LOADS AND EXECUTES CODE.

CONVERTS INTERMEDIATE LANGUAGE TO NATIVE MACHINE CODE.CONVERTS INTERMEDIATE LANGUAGE TO NATIVE MACHINE CODE.

AUTOMATIC MEMORY MANAGEMENT.AUTOMATIC MEMORY MANAGEMENT.

MANAGES MEMORY AND OBJECTS.MANAGES MEMORY AND OBJECTS.

Page 13: .Netframework

CONTINUE…CONTINUE…

CODE ACCESS SECURITY.CODE ACCESS SECURITY.

HANDLES EXCEPTIONS.HANDLES EXCEPTIONS.

INTERFACES BETWEEN MANAGED CODE, INTERFACES BETWEEN MANAGED CODE,

COM(COMPONENT OBJECT MODEL) OBJECTS, AND COM(COMPONENT OBJECT MODEL) OBJECTS, AND

DLLS.DLLS.

PROVIDES TYPE-CHECKING.PROVIDES TYPE-CHECKING.

PROVIDES PROFILING, DEBUGGING, ETC.PROVIDES PROFILING, DEBUGGING, ETC.

Page 14: .Netframework

EXECUTION IN CLREXECUTION IN CLR

Common Language RuntimeCommon Language Runtime

VBVBSource Source codecode

CompilerCompiler

C++C++C#C#

AssemblyAssemblyIL CodeIL Code

JIT CompilerJIT Compiler

ManagedManagedcodecode

Native CodeNative Code

CompilerCompiler CompilerCompiler

AssemblyAssemblyIL CodeIL Code

AssemblyAssemblyIL CodeIL Code

Operating System ServicesOperating System Services

Page 15: .Netframework

INTERMEDIATE LANGUAGE INTERMEDIATE LANGUAGE (IL)(IL)

INTERMEDIATE LANGUAGE IS ALSO KNOWN AS MSIL (MICROSOFT INTERMEDIATE LANGUAGE) OR CIL (COMMON INTERMEDIATE LANGUAGE).

ALL .NET SOURCE CODE IS COMPILED TO IL. IL IS THEN CONVERTED TO MACHINE CODE AT RUN-TIME BY A JUST-IN-TIME (JIT) COMPILER.

THE RECOMPILATION IS JUST-IN-TIME (JIT) MEANING IT IS THE RECOMPILATION IS JUST-IN-TIME (JIT) MEANING IT IS DONE AS SOON AS A FUNCTION OR SUBROUTINE IS CALLED.DONE AS SOON AS A FUNCTION OR SUBROUTINE IS CALLED.

Page 16: .Netframework

MANAGED VS UNMANAGED CODE

MANAGED CODE MANAGED CODE IS THE CODE THAT IS

EXECUTED DIRECTLY BY THE CLR INSTEAD OF THE OPERATING SYSTEM.

THE CODE COMPILER FIRST COMPILES THE MANAGED CODE TO INTERMEDIATE LANGUAGE (IL) CODE.

THIS CODE DOESN'T DEPEND ON MACHINE CONFIGURATIONS AND CAN BE EXECUTED ON DIFFERENT MACHINES.

IN THE MANAGED CODE, SINCE THE EXECUTION OF THE CODE IS GOVERNED BY CLR, THE RUNTIME PROVIDESDIFFERENT SERVICES, SUCH AS GARBAGE COLLECTION, TYPE CHECKING, EXCEPTION HANDLING, AND SECURITYSUPPORT.

UNMANAGED CODE UNMANAGED CODE IS THE CODE THAT IS

EXECUTED DIRECTLY BY THE OPERATING SYSTEM OUTSIDE THE CLRENVIRONMENT.

IT IS DIRECTLY COMPILED TO NATIVE MACHINE CODE WHICH DEPENDS ON THE MACHINE CONFIGURATION.

IN THE UNMANAGED CODE, THE ALLOCATION OF MEMORY, TYPE SAFETY,AND SECURITY IS REQUIRED TO BE TAKEN CARE OF BY THE DEVELOPER. IF THE UNMANAGED CODE IS NOTPROPERLY HANDLED, IT MAY RESULT IN MEMORY LEAK.

Page 17: .Netframework

----A PIECE OF MANAGED CODE IS EXECUTED AS FOLLOWS:

CHOOSING A LANGUAGE COMPILER COMPILING THE CODE TO MSIL COMPILING MSIL TO NATIVE CODE EXECUTING THE CODE.

Page 18: .Netframework

JIT COMPILER

THE JIT COMPILER IS AN IMPORTANT ELEMENT OF CLR, WHICH LOADS MSIL ON TARGET MACHINES FOR EXECUTION.

THE MSIL IS STORED IN .NET ASSEMBLIES AFTER THE DEVELOPER HAS COMPILED THE CODE WRITTEN IN ANY .NET-COMPLIANT PROGRAMMING LANGUAGE, SUCH AS VISUAL BASIC AND C#.

JIT COMPILER TRANSLATES THE MSIL CODE OF AN ASSEMBLY (LIKE DLL) AND USES THE CPU ARCHITECTURE OF THE TARGET MACHINE TO EXECUTE A .NET APPLICATION.

JIT COMPILER ALSO ENFORCES TYPE-SAFETY IN RUNTIME ENVIRONMENT OF .NET FRAMEWORK. IT CHECKS FOR THE VALUES THAT ARE PASSED TO PARAMETERS OF ANY METHOD.

---FOR EXAMPLE, THE JIT COMPILER DETECTS ANY EVENT, IF A USER TRIES TO ASSIGN A 32-BIT VALUE TO A PARAMETER THAT CAN ONLY ACCEPT 8-BIT VALUE.

Page 19: .Netframework

.NET ASSEMBLY

THE .NET ASSEMBLY IS THE STANDARD FOR COMPONENTS DEVELOPED WITH THE MICROSOFT.NET.

ASSEMBLIES ARE THE BUILDING BLOCKS OF .NET FRAMEWORK APPLICATIONS. 

DOT NET ASSEMBLIES MAY OR MAY NOT BE EXECUTABLE, I.E., THEY MIGHT EXIST AS THE EXECUTABLE (.EXE) FILE OR DYNAMIC LINK LIBRARY (DLL) FILE.

DURING THE COMPILE TIME METADATA IS CREATED WITH MICROSOFT INTERMEDIATE LANGUAGE (MSIL) AND STORED IN A FILE CALLED ASSEMBLY MANIFEST . ASSEMBLY MANIFEST CONTAINS INFORMATION ABOUT ITSELF AND ABOUT THE MEMBERS, TYPES, REFERENCES AND ALL THE OTHER DATA THAT THE RUNTIME NEEDS FOR EXECUTION.

----THERE ARE TWO KIND OF ASSEMBLIES IN .NET• PRIVATE 

• SHARED

Page 20: .Netframework

PRIVATE ASSEMBLY 

A PRIVATE ASSEMBLY IS USED ONLY BY A SINGLE APPLICATION, AND USUALLY IT IS STORED IN THAT APPLICATION'S INSTALL DIRECTORY.

 SHARED ASSEMBLYA SHARED ASSEMBLY IS ONE

THAT CAN BE REFERENCED BY MORE THAN ONE APPLICATION.

IF MULTIPLE APPLICATIONS NEED TO ACCESS AN ASSEMBLY, WE SHOULD ADD THE ASSEMBLY TO THE GLOBAL ASSEMBLY CACHE (GAC)

Page 21: .Netframework

.NET TOOLS.NET TOOLS

٭ VISUAL STUDIO .NETVISUAL STUDIO .NET IS MICROSOFT’S FLAGSHIP TOOL FOR DEVELOPING WINDOWS  IS MICROSOFT’S FLAGSHIP TOOL FOR DEVELOPING WINDOWS

SOFTWARE. SOFTWARE.

٭ VISUAL STUDIO PROVIDES AN INTEGRATED DEVELOPMENT ENVIRONMENT (IDE) VISUAL STUDIO PROVIDES AN INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)

FOR DEVELOPERS TO CREATE STANDALONE WINDOWS APPLICATIONS, FOR DEVELOPERS TO CREATE STANDALONE WINDOWS APPLICATIONS,

INTERACTIVE WEB SITES, WEB APPLICATIONS, AND WEB SERVICES RUNNING ON INTERACTIVE WEB SITES, WEB APPLICATIONS, AND WEB SERVICES RUNNING ON

ANY PLATFORM THAT SUPPORTS .NET.ANY PLATFORM THAT SUPPORTS .NET.

٭ IN ADDITION, THERE ARE MANY .NET FRAMEWORK TOOLS DESIGNED TO HELP IN ADDITION, THERE ARE MANY .NET FRAMEWORK TOOLS DESIGNED TO HELP

DEVELOPERS DEVELOPERS CREATE, CONFIGURE, DEPLOY, MANAGE AND SECURE .NET CREATE, CONFIGURE, DEPLOY, MANAGE AND SECURE .NET

APPLICATIONS AND COMPONENTS.APPLICATIONS AND COMPONENTS.

Page 22: .Netframework

REFERENCESREFERENCES

•WWW.SLIDESHARE.NET

Page 23: .Netframework