internet providing backbone for applications use of several web sites and devices to provide one...
TRANSCRIPT
Internet providing backbone for applications Use of several web sites and devices to
provide one complete solution Software as services Quick software product development by
leveraging third party web accessible components
Enriching user experience Dollar rental car integration with Southwest airlines.
.NET Vision
ILM Proprietary and Confidential - http://www.ilmservice.com
Internet providing backbone
Internet
ETradeWeb Service
Portfolio ManagementSpread Sheet
StockMarket
Stock Market
.NET Vision
ILM Proprietary and Confidential - http://www.ilmservice.com
Shopping Cart Service
Order Shipment Service
Online Store A
Internet
Product Catalog Service
.NET enabled e-Commerce Site
Authentication Service
Online Store B
.NET Vision
ILM Proprietary and Confidential - http://www.ilmservice.com
Replacement of existing development tools Introduction of new development tools New line of server products such as
Commerce Server 2000
Implications On Technology
ILM Proprietary and Confidential - http://www.ilmservice.com
Most Microsoft’s development tools will become obsolete when .NET is released VB, ASP, C++, ADO are out VB.NET, ASP.NET, C++.NET, and ADO.NET are in
Development API’s such as Win32, MFC will be replaced with completely new framework APIs
COM/DCOM is obsolete
Tools Replacement
ILM Proprietary and Confidential - http://www.ilmservice.com
Completely new programming language called C#, build specifically for .NET development
Tool support for creating web services Completely new development framework
APIs
New Tools
ILM Proprietary and Confidential - http://www.ilmservice.com
Commerce Server 2000 BizTalk Server 2000 Application Center 2000 Exchange Server 2000 SQL Server 2000 And more
.NET Enterprise Servers
ILM Proprietary and Confidential - http://www.ilmservice.com
New web-service based e-Business model Cost of upgrading/re-engineering existing
software products Cost of re-tooling technical staff Might need to hire or contract .NET experts
as mentors
.NET Impact
ILM Proprietary and Confidential - http://www.ilmservice.com
ILM Proprietary and Confidential - http://www.ilmservice.com
Common runtime framework across all languages Managed code execution Intermediate language Just In Time (JIT) compilation First class citizen programming languages
Unified Type System Garbage Collection Versioning and deployment support Cross language integration Interoperability with unmanaged code
.NET Framework - Core Features
ILM Proprietary and Confidential - http://www.ilmservice.com
C++
C#
VB
JScript
Third Party Languages
.NET Framework
All Languages use .NET framework for all of their needs
ILM Proprietary and Confidential - http://www.ilmservice.com
Managed C++
MSIL Code (Assembly)
Machine Code
Compiler
Just In Time Compiler
Common Language Runtime (CLR)
Manages
C# VB.NET JScript Third Party Languages
ILM Proprietary and Confidential - http://www.ilmservice.com
IL gets compiled into CPU dependent executable code as needed
.NET can optimize the executable code for various CPU kinds
.NET performs type safety on IL before JIT compiling it into executable code
JIT Compilation
ILM Proprietary and Confidential - http://www.ilmservice.com
Regular JIT Compiles one method at a time as needed Used when small, fast, platform-specific code is required
and the time required for optimization is not an issue Fast-JIT
Converts IL to executable code very quickly without performing any optimization
Pre-JIT Converts IL to executable at installation time. Converts
larger units at a time
JIT Compilation
ILM Proprietary and Confidential - http://www.ilmservice.com
Unified Type System
All types are defined in .NET framework All types are shared among all .NET enhanced
programming languages Types in .NET runtime are defined as classes,
interfaces, and value types
ILM Proprietary and Confidential - http://www.ilmservice.com
Automatic Memory Management
Garbage Collector Starts up when system runs low on memory Runs as a low priority thread Objects become candidate for garbage collection when
they go out of scope You can explicitly initiate garbage collector but it is not
recommended No deterministic finalization
Don’t use destructors to free up external resources Use Dispose method instead
ILM Proprietary and Confidential - http://www.ilmservice.com
Assembly is reusable binary, such as COM component
Assembly contains Meta data and MSIL code Meta data contains
Manifest Type definition Method signature References to external objects
Assembly can be a component (.dll) or a standalone executable (.exe)
Self describing. No more IDLs needed
Assembly
ILM Proprietary and Confidential - http://www.ilmservice.com
ILDASM (Intermediate Language De-assembler)
ILM Proprietary and Confidential - http://www.ilmservice.com
Manifest
ILM Proprietary and Confidential - http://www.ilmservice.com
Forms a security boundary An assembly is the unit at which permissions are
requested and granted
Forms a type boundary Every type has the assembly name as part of its identity
Forms a version boundary All types in the same assembly are versioned as a unit
Forms a deployment unit Forms a unit at which side-by-side execution is
supported
Assembly
ILM Proprietary and Confidential - http://www.ilmservice.com
The end of DLL hell Side by side execution Private assemblies
Installed in application’s folder Only accessible by your application Versioning rules are not enforced
Shared assemblies Installed in WinNT/Assembly folder Accessible by all applications Versioning rules are enforced
Deploying .NET Applications
ILM Proprietary and Confidential - http://www.ilmservice.com
Assembly Version Numbers (1.0.0.0)
Major Minor Build Revision
Incompatible Change Compatible Change (Hot Fix)
Deploying .NET Applications
By default .NET runtime will pick the assembly with highest compatible build number
ILM Proprietary and Confidential - http://www.ilmservice.com
Object can call method on other object written in different language
Object can inherit from other object written in different language
Object can pass instance of a class to other object written in different language
.NET debugger will be able to step through code written in different languages
.NET runtime will enable exceptions to be handled the same way across different languages
Cross Language Integration
ILM Proprietary and Confidential - http://www.ilmservice.com
.NET assemblies can talk to COM components using Runtime Callable Wrapper (RCW) RCW translates COM types to .NET type RCW translates HResult to .NET exceptions RCW manages reference count on COM object
COM Components can talk to .NET assemblies using COM Callable Wrapper (CCW) .NET types are converted into COM types .NET exceptions are converted into HResult
Interoperability With COM
ILM Proprietary and Confidential - http://www.ilmservice.com