COMP 205 - Week 9 Chunbo Chu. So what is.NET?.NET is a platform that provides a standardized set of services. A new framework for developing web-based.

Slides:



Advertisements
Similar presentations
Microsoft.NET Framework Overview Svetlin Nakov Software Development Consultant, Part-time Computer Science Lecturer Sofia University St. Kliment Ohridski.
Advertisements

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.
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.
.NET Session Prepared By : Manu Sharma IBE Team. Topics Types of.NET Applications.NET Framework CLR Garbage Collection Importance of.NET.
.NET Framework Overview
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.
Developing with the.NET Framework Rob Howard Program Manager.NET Framework Team Microsoft Corporation.
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
Distributed Information Systems
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
.NET Technology.
Introduction. What is.Net? The hype: “Microsoft.Net is a set of Microsoft software technologies for connecting information, people, systems, and devices.
.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.
DEV200.NET Framework Overview Chris Anderson Software Architect,.NET Client Microsoft Corporation.
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
ISYS 512 Business Application Design and Development with.Net David Chao.
Introducing the Common Language Runtime for.NET. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution.
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
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Microsoft.NET Framework Overview Svetlin Nakov Software Development Consultant, Part-time Computer Science Lecturer Sofia University “St. Kliment Ohridski”
Platforms and tools for Web Services and Mobile Applications Introduction to.Net 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.
Introduction to .Net Framework
ISYS 512 Business Application Design and Development with.Net David Chao.
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.
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.
Introduction to .NET Framework
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
.NET Framework Overview
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,
.NET O VERVIEW Introduction to.NET Web Services The.NET Framework Common Language Runtime Windows Forms Web Forms ADO.NET Languages.
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?
CF and.NET Working Together Using Web Services Geoff Snowman Developer Community Champion Microsoft Corporation.
.NET Language Supports. .NET Language Support Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services.
.Net Framework Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
AUC Technologies Projects Consulting, Development, Mentoring, and Training Company Application Foundation Presented By : Naveed Sattar Software Engineer.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
So what is.NET? .NET is a platform that provides a standardized set of services.  It’s just like Windows, except distributed over the Internet.  It.
Introduction to.NET. What is.NET? Microsoft’s vision of the future of applications in the Internet age –Increased robustness over classic Windows apps.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
Architecture of.Net Framework. Multiple Language Support  IL (MSIL or CIL) – Intermediate Language  It is low-level (machine) language, like Assembler,
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.
ISYS 512 Business Application Design and Development with.Net David Chao.
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,
.NET Framework, CLR, MSIL, Assemblies, CTS, etc..
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
Introduction to .NET Framework
Introducing the Microsoft® .NET Framework
Application Foundation
Microsoft .NET Framework
BHUBANESWAR,KHURDA,ODISHA
Introduction to .NET Framework
.NET Framework Design Goals
Presentation transcript:

COMP Week 9 Chunbo Chu

So what is.NET?.NET is a platform that provides a standardized set of services. A new framework for developing web-based and windows-based applications within the Microsoft environment. It exports a common interface so that it’s programs can be run on any system that supports.NET. A specific software framework Includes a common runtime.NET is a platform that provides a standardized set of services. A new framework for developing web-based and windows-based applications within the Microsoft environment. It exports a common interface so that it’s programs can be run on any system that supports.NET. A specific software framework Includes a common runtime

.NET Framework Programming model for.NET Platform for running.NET managed code in a virtual machine Provides a very good environment to develop networked applications and Web Services Provides programming API and unified language- independent development framework Programming model for.NET Platform for running.NET managed code in a virtual machine Provides a very good environment to develop networked applications and Web Services Provides programming API and unified language- independent development framework Operating System + Hardware.NET Framework.NET Application

The Core of.NET Framework: FCL & CLR Common Language Runtime Garbage collection Language integration Multiple versioning support (no more DLL hell!) Integrated security Framework Class Library Provides the core functionality: ASP.NET, Web Services, ADO.NET, Windows Forms, IO, XML, etc.

.NET Framework Common Language Runtime Operating System Common Language Runtime CLR manages code execution at runtime Memory management, thread management, etc.

.NET Framework Base Class Library Operating System Common Language Runtime.NET Framework (Base Class Library) Object-oriented collection of reusable types Collections, I/O, Strings, …

.NET Framework Data Access Layer Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML Access relational databases Disconnected data model Work with XML

.NET Framework ASP.NET & Windows Forms Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Create application’s front-end – Web- based user interface, Windows GUI, Web services, …

.NET Framework Programming Languages Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms C++C#VB.NETPerlJ#… Use your favorite language

.NET Framework Common Language Specification Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification C++C#VBPerlJ#…

.NET Framework Visual Studio.NET Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification C++C#VBPerlJ#… Visual Studio.NET

Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Services Web Forms Mobile Internet Toolkit WindowsForms Common Language Specification C++C#VBPerlJ#… Visual Studio.NET Open Language Specification C# Language – Submitted to ECMA XML-based data access Web services – XML, SOAP-based.NET Framework Standards Compliance

Common Language Runtime Manages running code – like a virtual machine Threading Memory management No interpreter: JIT-compiler produces native code – during the program installation or at run time Fine-grained evidence-based security Code access security Code can be verified to guarantee type safety No unsafe casts, no un-initialized variables and no out-of-bounds array indexing Role-based security Manages running code – like a virtual machine Threading Memory management No interpreter: JIT-compiler produces native code – during the program installation or at run time Fine-grained evidence-based security Code access security Code can be verified to guarantee type safety No unsafe casts, no un-initialized variables and no out-of-bounds array indexing Role-based security

Managed Code Code that targets the CLR is referred to as managed code All managed code has the features of the CLR Object-oriented Type-safe Cross-language integration Cross language exception handling Multiple version support Managed code is represented in special Intermediate Language (IL)

Automatic Memory Management The CLR manages memory for managed code All allocations of objects and buffers made from a Managed Heap Unused objects and buffers are cleaned up automatically through Garbage Collection Some of the worst bugs in software development are not possible with managed code Leaked memory or objects References to freed or non-existent objects Reading of uninitialized variables Pointerless environment

Multiple Language Support IL (MSIL or CIL) – Intermediate Language It is low-level language, like Assembler, but is Object-oriented CTS is a rich type system built into the CLR Implements various types (int, float, string, …) And operations on those types CLS is a set of specifications that all languages and libraries need to follow This will ensure interoperability between languages

Intermediate Language.NET languages are compiled to an Intermediate Language (IL) IL is also known as MSIL or CIL CLR compiles IL in just-in-time (JIT) manner – each function is compiled just before execution The JIT code stays in memory for subsequent calls Recompilations of assemblies are also possible

Example of MSIL Code.method private hidebysig static void Main() cil managed {.entrypoint // Code size 11 (0xb).maxstack 8 IL_0000: ldstr "Hello, world!" IL_0005: call void [mscorlib]System.Console::WriteLine(string) IL_000a: ret } // end of method HelloWorld::Main

Common Type System (CTS) All.NET languages have the same primitive data types. An int in C# is the same as an int in VB.NET When communicating between modules written in any.NET language, the types are guaranteed to be compatible on the binary level Types can be: Value types – passed by value, stored in the stack Reference types – passed by reference, stored in the heap Strings are a primitive data type now

Common Language Specification (CLS) Any language that conforms to the CLS is a.NET language A language that conforms to the CLS has the ability to take full advantage of the Framework Class Library (FCL) CLS is standardized by ECMA

.NET Languages Languages provided by Microsoft C++, C#, J#, VB.NET, JScript Third-parties languages Perl, Python, Pascal, APL, COBOL, Eiffel, Haskell, ML, Oberon, Scheme, Smalltalk… Advanced multi-language features Cross-language inheritance and exceptions handling Object system is built in, not bolted on No additional rules or API to learn

C# Language Mixture between C++, Java and Delphi Component-oriented Properties, Methods, Events Attributes, XML documentation All in one place, no header files, IDL, etc. Can be embedded in ASP+ pages Everything really is an object Primitive types aren’t magic Unified type system == Deep simplicity Improved extensibility and reusability

C# Language – Example using System; class HelloWorld { public static void main() { Console.WriteLine(“Hello, world!”); }

Code Compilation and Execution Compilation Before installation or the first time each method is called Execution JIT Compiler Native Code MSIL Metadata Source Code Language Compiler Also called Assembly (.EXE or.DLL file) Also called Assembly (.EXE or.DLL file)

Assemblies DLL or EXE file Smallest deployable unit in the CLR Have unique version number No version conflicts (known as DLL hell) Contains IL code to be executed Security boundary – permissions are granted at the assembly level Type boundary – all types include the assembly name they are a part of Self-describing manifest – metadata that describes the types in the assembly

Metadata in Assembly Type Descriptions Classes Base classes Implemented interfaces Data members Methods NameVersionCulture Assembly Description Other assemblies Security Permissions Exported Types

Applications One or more assemblies Assemblies conflict resolution Using metadata Local (preferred) Global Assembly Cache (GAC) Different applications may use different versions of an assembly Easier software updates Easier software removal

Visual Studio.NET Development tool that contains a rich set of productivity and debugging features Supports managed and unmanaged applications Supports C#, C++, VB.NET, … Many useful tools and wizards Windows Forms Designer ASP.NET Web Forms Designer Web Services support SQL Server integration with ADO.NET and XML VS.NET is not part of the.NET Framework Not necessary to build or run managed code The.NET Framework SDK includes command line compilers

VS.NET – Single Development Environment & Skill Set From Visual Studio.NET you can: Write code Design user interface Study documentation Debug Test Deploy Same tools for all languages Same tools for all platforms

Visual Studio.NET

The.NET Framework Library Base Class Library ADO.NET and XML Web Forms Web Services Mobile Internet Toolkit Windows Forms ASP.NET

System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization System.Data Design ADO SQLTypes SQL System.Xml XPath XSLT Serialization System.Web ConfigurationSessionState CachingSecurity ServicesUI HtmlControls WebControls Description Discovery Protocols System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel.NET Framework Namespaces

Base Class Library Namespaces System Threading Text ServiceProcess Security Resources Reflection Net IO Globalization Diagnostics Configuration Collections Runtime Serialization Remoting InteropServices

Base Class Library Data types, conversions, formatting Collections: ArrayList, Hashtable, etc. Globalization: Cultures, sorting, etc. I/O: Binary and text streams, files, etc. Networking: HTTP, TCP/IP sockets, etc. Reflection: Metadata and IL emit Security: Permissions, cryptography Text: Encodings, regular expressions

Windows Forms Windows Forms is framework for building rich GUI applications RAD (Rapid Application Development) component-based event-driven Rich set of controls Data aware components ActiveX® Support Printing support Unicode support UI inheritance

Windows Forms Combines VB and Delphi forms with the power of MFC Delegation as well as subclassing Advanced features Visual forms inheritance, automatic layout Advanced graphics support – GDI+ Easy access to Win32 ® API Controls can be hosted in IE 5.x No installation, registration or GUIDs Code access security

VS.NET – Windows Forms Designer

Framework for building Web applications and Web services in any.NET language C#, C++, VB.NET, JScript, etc. Automatic multiple clients support DHTML, HTML 3.2, WML, small devices Compilation of ASP.NET Web applications into.NET assemblies Cached the first time when called All subsequent calls use the cached version Separation of code and content Developers and designers can work independently ASP.NET

Rich page architecture – “Web Forms” Rich set of ASP.NET server controls Data validation Data bound grids Event-driven execution model Great Web-services support Easy to deploy High reliability and availability High performance and scalability Scalable handling of state information

VS.NET – Web Forms Designer

Demo Create simple Web-based database application with: ASP.NET (Web Forms) ADO.NET MS SQL Server Visual Studio.NET

.NET Framework on Linux Mono Project Open Source C# compiler, CLR and Framework Class Library Runs on various platforms and hardware: Linux, Unix, FreeBSD, Windows – JIT-compiler for x86 s390, SPARC, PowerPC – interpreter for these hardware architectures Supports also: ADO.NET and XML Windows Forms (not fully) ASP.NET Web Services

.NET Framework on Linux (2) Mono Project Runs.NET portable executables on Linux, e.g. mono myapp.exe Compiles.NET applications to portable executables, e.g. mcs myapp.cs The obtained.exe file can taken and run on Windows DotGNU Portable.NET Build and execute.NET applications on GNU/Linux, Windows, Solaris, NetBSD, FreeBSD, and MacOS X

Summary.NET Framework is a code execution platform – the environment which.NET programs run.NET Framework consists of two primary parts: Common Language Runtime and.NET Class Libraries The CLS (Common Language Specification) allows different languages to interact seamlessly. The CTS (Common Type System) allows all languages to share base data types.

Summary (2).NET languages are compiled to MSIL by their respective compilers MSIL code is compiled to machine code by the JIT compiler All.NET languages have equal access to the FCL (Framework Class Library) which is a rich set of classes for developing software Base Class Library is set of basic classes: Collections, I/O, Networking, Security, etc. ADO.NET provides.NET applications with access to relational databases

Summary (3).NET has great XML support including: DOM, XSLT, XPath, and XSchema Windows Forms provides GUI interface for the.NET applications ASP.NET allows creating web interface to.NET applications Web Services expose functionality from web sites and make it remotely accessible through standard XML-based protocols Visual Studio.NET is powerful development IDE for all.NET languages and technologies

.NET Framework – Resources Visit following web sites:. NET Framework Home Site – The Microsoft.NET Framework Community – ASP.NET – Windows Forms – Code Project – Mono – Open Source.NET Framework – mono.org/ mono.org/ Rotor – Shared Source.NET CLI – Read the news groups: news://msnews.microsoft.com/microsoft.public.dotnet.framew ork news://msnews.microsoft.com/microsoft.public.dotnet.framew ork