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

Slides:



Advertisements
Similar presentations
Microsoft.NET Framework Overview Svetlin Nakov Software Development Consultant, Part-time Computer Science Lecturer Sofia University St. Kliment Ohridski.
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.
.NET Framework Overview
SSCLI (Shared Source Common Language Infrastructure) (code name: Rotor)
.NET Framework Overview
Developing with the.NET Framework Rob Howard Program Manager.NET Framework Team Microsoft Corporation.
Distributed Information Systems
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
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.
DEV345 Comparing.NET and Java David Chappell Principal Chappell & Associates
Module 1: Overview of the Microsoft.NET Framework.
Introduction to ASP.NET
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
DotNET A Developer’s Perspective Mike Litzkow University of Wisconsin - MadisonOne.
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.
1 NIIT, South Ex. 2  Introduction to.NET  Web Services  The.NET Framework  Common Language Runtime  Windows Forms  Web Forms  ADO.NET  Languages.
Overview of.NET Framework Carlotta Eaton Associate Professor of IST New River Community College Dublin, VA Slides created by Microsoft Modified by Carlotta.
Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation.
ISYS 512 Business Application Design and Development with.Net David Chao.
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.
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.
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
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
.NET Framework Overview
Module 1: Overview of the Microsoft.NET Platform.
.NET O VERVIEW Introduction to.NET Web Services The.NET Framework Common Language Runtime Windows Forms Web Forms ADO.NET Languages.
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 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.
Technology and Computing Curricula Mythreyee Ganapathy University Relations Manager - India Microsoft Research.
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:.
The .NET Framework - Technology in Education
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
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.
Architecture of.Net Framework. Multiple Language Support  IL (MSIL or CIL) – Intermediate Language  It is low-level (machine) language, like Assembler,
A Light Introduction to ASP.NET Kevin McManus Adapted from material by Gill Windall and Mark Sapossnek.
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.
.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
An Introduction to the Shared Source Common Language Infrastructure (SSCLI) Damien Watkins Copyright Watkins 2002.
Application Foundation
Microsoft .NET Framework
Introduction to .NET Framework
.NET Framework Design Goals
Presentation transcript:

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

.NET Enterprise Vision ERP & Billing Customer Service Sales Users Any device, Any place, Any time XML Web Services Integrate business applications and processes Back Office Heterogeneous application and server infrastructure Scheduling Authentication Notification

.NET Framework  Programming model for.NET  Platform for running.NET code in a managed environment  Provides a very good environment to develop networked applications and Web Services  Provides programming API and unified language-independent development framework  Code runs on multiple platforms (Windows, Linux, FreeBSD, …)  Programming model for.NET  Platform for running.NET code in a managed environment  Provides a very good environment to develop networked applications and Web Services  Provides programming API and unified language-independent development framework  Code runs on multiple platforms (Windows, Linux, FreeBSD, …)

The Core of.NET Framework: FCL & CLR  Common Language Runtime  Garbage collection  Language integration  Multiple versioning support for assemblies (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.  Code-based security  Role-based security

.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

Multiple Language Support  IL (MSIL or CIL) – Intermediate Language  It is low-level (machine) 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

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

.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  Single project can share code written in multiple languages  Integration 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 Web applications  Everything really is an object  Primitive types aren’t magic, e.g. 5.ToString() is valid  Unified type system == Deep simplicity  Good extensibility and reusability

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

Code Compilation and Execution Compilation - Install time precompilation - Install time precompilation Execution JIT Compiler NativeCode MSIL Code Metadata Source Code Language Compiler Also called Assembly (.EXE or.DLL file) Also called Assembly (.EXE or.DLL file) - First time each method is called

VS.NET – Single Development Environment & Skill Set  From Visual Studio.NET you can:  Write code  Design user interface  Study documentation  Execute, test and deploy  Debug  Same tools for all languages  Same tools for all platforms  Same tools for all technologies

Visual Studio.NET

The.NET Framework Library Base Class Library ADO.NET and XML Web Forms Web Services Mobile Internet Toolkit WindowsForms 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.NET Framework Namespaces System.Web ConfigurationSessionState CachingSecurity ServicesUI HtmlControls WebControls Description Discovery Protocols System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel

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: TCP/IP sockets, HTTP, etc.  Reflection: Metadata and IL emit  Security: Permissions, cryptography  Text: Encodings, regular expressions  Multithreading and synchronization  Remoting and serialization

Data And XML Namespaces System.Data SQLTypes SQLClient Common OleDb System.Xml Serialization XPath XSLT

ADO.NET And XML  ADO.NET consumes all types of data  XML (hierarchical), relational, etc.  Powerful in-memory data cache (DataSet)  DataSet contains various data objects: tables, views, relations, constraints, etc.  Lightweight, stateless, disconnected  Supports both relational and XML access  High-performance, low overhead stream access  Great XML support including:  W3C DOM, XSL/T, XPath, and Schema

VS.NET – DataSet Designer

Windows Forms Namespaces System.Drawing Drawing2D Imaging Printing Text System.Windows.Forms DesignComponentModel

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   Printing support   Unicode support   UI inheritance

VS.NET – Windows Forms Designer

Demo 1  Create simple database application with:  Windows Forms  ADO.NET  MS SQL Server  Visual Studio.NET

DataGrid DataSetDatabaseMicrosoft SQL Server SqlConnection SqlDataAdapter Fill Update Demo 1 – Architecture Application

ASP.NET Namespaces System.Web Caching Configuration ServicesUI SessionState HtmlControls WebControls Description Discovery Security Protocols

 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

ASP.NET  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

ASP.NET WebMatrix

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

DataGrid DataSetDatabaseMicrosoft SQL Server SqlConnection SqlDataAdapter Fill Update Demo 2 – Architecture Web Application

Web Services  Web Services are programmable components accessible remotely over the Web  Built on the standards HTTP, XML and SOAP  Each service is described in WSDL  Easy accessible from any client on any platform  “Request-response” execution model – like component-based programming over the Web  ASP.NET – Simple programming model for Web Services development  Author.ASMX files with normal class methods  ASP.NET compiles on demand, generates WSDL contract, exposes HTML test page

Web Service Example in C# ParcelTracker.asmx using System; using System.Web.Services; public class ParcelTrackerWebService { [WebMethod] [WebMethod] public string GetOrderStatus(int orderNumber) public string GetOrderStatus(int orderNumber) { // Implementation here // Implementation here }}

Demo 3  Create simple Web Service with:  ASP.NET (Web Services)  MS Internet Information Server  Visual Studio.NET

Shared Source CLI (Rotor)  Non-commercial CLI implementation, available as source code. Contains:  Managed execution environment for MSIL with JIT-compiler  Compiler for C# and Jscript  Set of development tools – ilasm, ildasm, cordbg, metainfo, …  Implemented entirely in C++ and C#  Compiles with MS Visual Studio.NET  Available for research, academic, teaching and other non-profit use  Works on FreeBSD, Windows and Mac OS

.NET Framework – Resources  Visit following web sites: . NET Framework Home Site –  Microsoft.NET Framework Community –  ASP.NET – .NET Windows Forms –  O’Reilly.NET Community Site –  Microsoft Patterns and Practices –  Code Project –

.NET Framework – Resources  Visit following web sites:  Mono – Open Source.NET Framework –  Rotor – MS Shared Source.NET CLI – .NET Framework Course in Sofia University –  Read the news groups: .NET Framework Official News Group – news://msnews.microsoft.com/microsoft.public. dotnet.framework news://msnews.microsoft.com/microsoft.public. dotnet.framework news://msnews.microsoft.com/microsoft.public. dotnet.framework  The Bulgarian Developers’ Newsgroup – news://msnews.microsoft.com/microsoft.public. bg.developer news://msnews.microsoft.com/microsoft.public. bg.developer news://msnews.microsoft.com/microsoft.public. bg.developer

Questions?

My Questions  How can we create.NET Framework applications that run on mobile devices (such as mobile phones, PDA, handhelds, …)?  Answer:  Microsoft.NET Compact Framework  Standard part of MS Visual Studio.NET 2003

My Questions  How can we precompile.NET assemblies to speedup their execution? Any standard tool?  Answer:  Use the tool ngen.exe  It is standard part of.NET Framework

My Questions  MSIL is great for decompiling. How can we protect our.NET code from reverse engineering attacks?  Answer:  Use obfuscation tools like Dotfuscator