Platform Architecture Mike Zintel Development Manager.NET Compact Framework Microsoft Corporation.

Slides:



Advertisements
Similar presentations
Introduction to .NET Framework
Advertisements

.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.
.NET Session Prepared By : Manu Sharma IBE Team. Topics Types of.NET Applications.NET Framework CLR Garbage Collection Importance of.NET.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
SSCLI (Shared Source Common Language Infrastructure) (code name: Rotor)
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
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.
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
.NET Technology.
.Net Compact Framework. Microsoft.Net is often referred as Plateform for web services But.net vision is more than web services – It talks about how people.
.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 ASP.NET What is.NET What is ASP.NET and how is different from ASP –ASP: server side technology for creating dynamic web pages using scripting.
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.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
DotNET A Developer’s Perspective Mike Litzkow University of Wisconsin - MadisonOne.
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.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
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.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Introduction to .Net Framework
Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
.NET Overview. 2 Objectives Introduce.NET –overview –languages –libraries –development and execution model Examine simple C# program.
Session 1 - Introduction and Data Access Layer
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.
CIS NET Applications1 Chapter 2 –.NET Component- Oriented Programming Essentials.
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 Rui Ye.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Managed C++. Objectives Overview to Visual C++.NET Concepts and architecture Developing with Managed Extensions for C++ Use cases Managed C++, Visual.
.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
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
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.
BIL527 – Bilgisayar Programlama I Introduction 1.
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.
Java – in context Main Features From Sun Microsystems ‘White Paper’
DEV394.NET Framework: Migrating To Managed Code Adam Nathan QA Lead Richard Lander Program Manager Microsoft Corporation.
.NET Mobile Application Development XML Web Services.
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,
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
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.
Introduction ITEC 420.
Introducing the Microsoft® .NET Framework
Object Oriented Programming in
Platform as a Service.
Introduction to .NET Framework Ch2 – Deitel’s Book
CE-105 Spring 2007 Engr. Faisal ur Rehman
.NET and .NET Core 2. .NET Runtimes Pan Wuming 2017.
Module 1: Getting Started
Module 10: Implementing Managed Code in the Database
Running C# in the browser
Presentation transcript:

Platform Architecture Mike Zintel Development Manager.NET Compact Framework Microsoft Corporation

Agenda  Design goals  Internals of the platform  Key features that enable applications

Platform Design Goals  Portable & small.NET Common Language Runtime  Leverage.NET tools  Run.EXEs generated by.NET tools  Cross-debug with VS.NET  Peacefully co-exist with host OS  Scheduling, UI display surface & input, resource contention  Enable rich client Web Services apps  GUI, local storage, networking

.NET Terminology  Execution Engine (EE)  Common Language Runtime (CLR) .NET Compact Framework  Programming Frameworks  Class Libraries  Native Code, Managed Code, IL  Common Language Runtime Applications  OEM Application

Developing A.NET App

.NET CLR Features  Verifiable typesafe execution  No unsafe casts, no uninitialized variables, no out of bounds array indexing, no bad pointer math  Garbage Collection  No ref-counting, no leaks  JIT compilation  Portable & fast  Common type system  Call, inherit, and source-level debug across different languages

.NET API Design  Code and data are expressed as classes  Described in metadata, no.h or idl files  Inheritance can be used to extend a class  APIs work across languages  APIs are organized in namespaces with strong naming conventions  Garbage Collection eliminates memory ownership issues

.NET Error Handling  Error handling through exceptions  Not bools or HRESULTS  Error handling is mandatory  Default isn’t to “muddle on”  Descriptive exception messages  Not cryptic HRESULTS

Language Support  Plans for…  C#  VB.NET  JScript (ECMAScript)  Will deliver in staggered fashion  Platform extensible to other languages  VS.NET packages planned for C#, VB

Different Types of Host O/S  Static address space  System image defined at manufacturing time  pSOS, OSE, many custom O/S  Boot loader only  No “application” loader or interactive shell  CLR adds app loader, makes system extensible  Apps run in “App Domains”  Dynamic address space  Boot loader & application loader  Windows, Unix  Shell is provided by the O/S

System Architecture

Execution Engine  Class loader, verifier, JIT, GC, exception handling, code access security, debugging  Provides hardware and O/S independent program execution  No MMU required on the target CPU  Garbage collection eliminates reference counting and leaks  JIT architecture for fast execution

Supported Data Types I1 (SByte)8-bit 2's complement signed value U1 (Boolean, Byte)8-bit unsigned binary value I2 (Int16)16-bit 2's complement signed value U2 (Uint16, Char)16-bit unsigned binary value I4 (Int32)32-bit 2’s complement signed value U4 (UInt32)32-bit unsigned binary value I8 (Int64)64-bit 2’s complement signed value U8 (UInt64)64-bit unsigned binary value R4 (Float)32-bit IEEE 754 floating point value R8 (Double)64-bit IEEE 754 floating point value Onatural size object reference to managed memory &natural size managed pointer (may point into managed memory) *Natural size unmanaged pointer Array StringUnicode string class Same as on the full.NET Framework

Native Code Interoperability  Issues  Calling conventions  Garbage collection  Security Vs. extensibility  Platform Invoke (P/Invoke)  Managed  Native  IL_CallDelegate  Native  Managed  Inter-App Domain Message Passing

App Domains  Runtime construct that supports a running application  Logical container of application threads  Provides memory isolation  Single execution engine instance can support multiple app domains  Execution engine ensures all resources are released on app termination

App Domain Hosts  Bootstrap the execution engine  Written in C, call C APIs to start, pause and stop CLR applications  Few constraints on execution models  Loader hooks on Windows & Windows CE  Web server in ASP.NET  SQL uses CLR for stored procedures  Graphical shell or browser as shell

Security  Type-safety  On-device verification for software isolation  Code Access Security with simple policy  Evidence determines access permission buckets  Evidence includes location, signing, banned list  Protocol for remote policy configuration  Add/remove apps from banned list  User Identity/authentication  Exposed through the PAL  Network security  SSL for Web Services, secure , commerce  System quality

Remote Debugging, VS.NET  File copy and run (F5)  Source code breakpoints  Source code single-step  Stack trace  Variable inspection  Thread suspend/resume  Data watchpoints  Multiple device transports

Application Installation  Install  Copy files, perform configuration tasks  Uninstall  Deletes files  Dynamic dependency walk removes orphaned shared components  Perform configuration tasks  Shared class lib versioning  “Never break a functioning app”  Apps are written to specific class lib version or “latest”

GUI Architecture  Two flavors  Generic – provides cross-OS portability  Drawing primitives  Controls and Forms  OEM-customizable look and feel  Windows Forms  Supersets generic functionality  Available for Windows CE devices  Consistent with WinForms on.NET Framework  Drag n’ drop UI designer in Visual Studio

Drawing

Basic Networking

Network Threading  Apps can make synchronous (blocking) or asynchronous calls  Synchronous calls run on the caller’s thread  The system spins threads to support asynchronous calls  Threads terminate after a short no-use timeout

Web Services & Devices  Clean, protocol level separation of publishing and usage  Many producers, many consumers  Separation of data from presentation enables rich client applications  Client applications can aggregate web services from multiple sources  Client applications can control “chunkiness” of transfers .NET CF can execute VS.NET generated client proxy code

Performance  JIT compilation  Focus on resource constrained devices  Scalable to more capable devices  Tunable  Tradeoff different memory types

Memory Usage

Questions?