DEV345 Comparing.NET and Java David Chappell Principal Chappell & Associates www.davidchappell.com.

Slides:



Advertisements
Similar presentations
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.
Advertisements

1 Unit 1: Introduction To.Net. 2 Introduction to.Net Integrated Development Environment (IDE) Languages in the.NET Framework The Common Language Runtime.
Introduction to .NET Framework
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)
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
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.
Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 1.1 of…
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
Microsoft.NET Overview.NET Framework Topics Dave Schmitt Principal Technology Specialist Microsoft Corporation
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.
Module 1: Overview of the Microsoft.NET Framework.
Microsoft.NET Programming platform for the next decade Anders Hejlsberg Distinguished Engineer Developer Division.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
An Overview of.NET Gavin King.NET Developer Group Microsoft Ltd
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.
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.
Developing International Applications for Mobile Devices with.NET Achim Ruopp International Program Manager Microsoft Corporation.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Copyright © 2002 OSI Software, Inc. All rights reserved..NET Experiences Chris Manhard and David Hearn OSI Software, Inc.
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.NET Framework Carlotta Eaton Associate Professor of IST New River Community College Dublin, VA Slides created by Microsoft Modified by Carlotta.
1 Introduction to.NET Framework. 2.NETFramework Internet COM+ Orchestration Orchestration Windows.NET Enterprise ServersBuildingBlockServices Visual Studio.NET.
.NET Framework Introduction: Metadata
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
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.
1 Visual Studio.NET Languages Carlotta Eaton Associate Professor of IST New River Community College Dublin, VA Slides by Microsoft.
Introduction to .NET Rui Ye.
 Internet providing backbone for applications  Use of several web sites and devices to provide one complete solution  Software as services  Quick software.
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
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 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
.NET Framework Danish Sami UG Lead.NetFoundry
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.
Localization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
The .NET Framework - Technology in Education
.NET Ying Chen Junwei Chen. What is Microsoft.NET. NET is a development platform Incorporated into.NET COM+ component services ASP web development framework.
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.
Introduction to.NET Technology Overview Sean Puffett Developer & Platform Group Microsoft Ltd
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,
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.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
Introduction to .NET Framework
Introducing the Microsoft® .NET Framework
Introduction to .NET Manuel Costa
An Introduction to the Shared Source Common Language Infrastructure (SSCLI) Damien Watkins Copyright Watkins 2002.
Application Foundation
Introduction to .NET By : Mr. V. D. Panchal Content :
.NET Framework Design Goals
Presentation transcript:

DEV345 Comparing.NET and Java David Chappell Principal Chappell & Associates

Standard Library Application Platforms Today Operating System Runtime Environment Browser Apps Web Services Apps Other Apps Local Apps GUI Services Transaction Services Web Scripting Data Access MoreRemote Access

DEV349 The Microsoft.NET component model Bertrand Meyer Professor of Software Engineering, ETH Zürich Scientific advisor, Eiffel Software, Santa Barbara

Component development with COM and CORBA Component “ Bus ” Server component Client component IDL Stub

IDL spec module Reservation {interface Flight_booking { Price ticket_price (in Date day, in Flight number) raises (invalid_date, invalid_number); exception invalid_date {Date when; }; readonly attribute string name;...} };

The role of IDL Provide language-neutral interface description of a module’s operations As a result, enable clients and suppliers written in different implementation languages

The trouble with IDL Programmers must write IDL interface in addition to actual software If from an O-O language, IDL duplicates information present in the code, e.g. C++ header file, Eiffel contract form Perils of duplication IDL compiler goes the wrong way! However: some tools ease the process.

Pre-.NET approaches: summary Object technology is best known basis Information hiding is key O-O sufficient by itself: need for autonomous components Current approaches too heavy: extra work to turn module (e.g. class) into component IDL is a killer

DEV200.NET Framework Overview Chris Anderson Software Architect,.NET Client Microsoft Corporation

.NET Framework Design Goals Dramatically simplifies development and deployment Unifies programming models Provides robust and secure execution environment Supports multiple programming languages

Framework, Languages, And Tools Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification VBC++C#JScriptJ# Visual Studio.NET

Framework, Languages, And Tools Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification VBC++C#JScriptJ# Visual Studio.NET

The.NET Evolution Before COM, applications were completely separate entities with little or no integration Applicatio n Code and data structures

The.NET Evolution COM provides a way for components to integrate; However, each component must provide the “plumbing” and objects cannot directly interact

The.NET Evolution With the.NET Framework common language runtime, components are built on a common substrate; No “plumbing” is needed and objects can directly interact

Assembly Compilation And Execution Source Code Language Compiler Compilation At installation or the first time each method is called Execution JIT Compiler NativeCode Code (IL) Metadata

Simplify Development Completely eliminates COM plumbing No more… –Registration –GUIDs –.IDL files –HRESULTs –IUnknown –AddRef/Release –CoCreateInstance =>self described apps =>hierarchical namespaces =>unified object model =>structured exceptions =>common root object =>garbage collector =>”new” operator

Simplify Development Common Type System –Common instance and type definition Enables clean OO programming –Classes and interfaces –Constructors, properties, methods, events –Cross language inheritance Built-in interoperability –With COM –With native (Win32 ® style) DLLs

Robust Environment Automatic lifetime management –All objects are garbage collected Exception handling –Error handling first class and mandatory Type-safety –No buffer overruns, No unsafe casts, Uninitialized variables

Secure Environment Security designed-in Code access security enforcement –Security based on the identity of code –Administratively configurable via policy ASP.NET integrated authentication of user –Windows identity, Passport ®, forms-based, … Cryptography library with XML DSIG support –Digital signature for XML (

Simplify Deployment And Management Zero-impact install –Applications and components can be shared or private Side-by-side execution –Multiple versions of the same component can co- exist on a system Assemblies –Contain dependency information

Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification VBC++C#JScriptJ# Visual Studio.NET Framework, Languages, And Tools

Unify Programming Models Windows API.NET Framework Consistent API availability regardless of language and programming model ASPStateless, Code embedded in HTML pages MFC/ATLSubclassing,Power,Expressiveness VB Forms RAD,Composition,Delegation

How Much Simpler? Windows API HWND hwndMain = CreateWindowEx( 0, "MainWClass", "Main Window", 0, "MainWClass", "Main Window", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, hInstance, NULL); (HWND)NULL, (HMENU)NULL, hInstance, NULL); ShowWindow(hwndMain, SW_SHOWDEFAULT); UpdateWindow(hwndMain);.NET Framework Dim form As New Form() form.Text = "Main Window" form.Show()

Factored And Extensible The Framework is not a “black box” Any.NET class is available for you to extend through inheritance –Gives developers much more head room Plug and Play components and subsystems

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

System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SQLTypes SqlClient XPath XSLT Runtime InteropServices Remoting Serialization Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel The.NET Framework Library

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

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

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

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

Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification VBC++C#JScriptJ# Visual Studio.NET Framework, Languages, And Tools

Languages The.NET Platform is language neutral –All.NET languages are first class players –You can leverage your existing skills Common language specification –Set of features guaranteed to be in all languages We are providing –Visual Basic ®, C++, C#, J#, JScript ® Third-parties are building –APL, COBOL, Delphi, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk…

Standardization A subset of the.NET Framework and C# submitted to ECMA –Adopted as International standards in Dec –In the ISO fast-track process now –Co-sponsored with Intel, Hewlett-Packard Common language infrastructure –Based on common language runtime and base framework –Layered into increasing levels of functionality

Summary The.NET Framework –Dramatically simplifies development and deployment –Unifies programming models –Provides robust and secure execution environment –Supports multiple programming languages

DEV349 The Microsoft.NET component model Bertrand Meyer Professor of Software Engineering, ETH Zürich Scientific advisor, Eiffel Software, Santa Barbara

Execution scheme under.NET IL code (plus metadata ) Loader Managed code Unjitted routine call Execution Language compilers JIT + verifier Eiffel VBC++ C#.NET languages

The basic.NET component unit Result of compilation is an assembly Assembly is a set of classes Unit of: Delivery and deployment Naming (through namespaces) Security (level for granting permissions) Versioning & side-by-side execution Self-documenting through “manifest”

The Single Product Principle There is one product: SOFTWARE Eiffel: use single, seamless notation throughout the development cycle Rely on tools to produce documentation Maintain just one product!

Single Product Principle in.NET It’s all in the metadata! Definition: Metadata is information about a module’s external properties, not necessarily needed for executing the module, but retained after compilation along with the binary code

Examining an assembly with ildasm

How is the metadata stored? Stuffed into PE (Portable Executable) format To Windows, result of compiling an assembly looks like ordinary binary (*.dll or *.exe), but contains all kinds of supplementary information Will execute on.NET only

The Portable Executable (PE) format

Execution model: the role of metadata IL code (plus metadata ) Loader Managed code Unjitted routine call Execution Language compilers JIT + verifier Eiffel VBC++ C#.NET languages

Metadata contents Manifest: assembly description –Name, version, culture –Security properties: Needed permissions –Public key if present –Dependencies on other assemblies List of classes For each class: –Features: methods, fields, properties, events –Signatures (argument and result types) of each –Interfaces it implements Custom attributes (see next)

Working with metadata Letting a program access metadata: Use System.Reflection Examining metadata interactively: Use ILDasm Can convert metadata to: XML COM type libraries (regasm) To produce metadata: Use System.Reflection.Emit

.NET component model Single product principle: full reflectivity; assemblies are self-documenting (Groups of) classes directly yield components No extra plumbing No IDL Full application of Object-Oriented principles Multi-language interoperability