Title: Internet providing backbone for applications
1.NET Vision
- 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.
ILM Proprietary and Confidential -
http//www.ilmservice.com
2.NET Vision
- Internet providing backbone
Stock Market
ETrade Web Service
Portfolio Management Spread Sheet
Stock Market
Internet
ILM Proprietary and Confidential -
http//www.ilmservice.com
3.NET Vision
- .NET enabled e-Commerce Site
Authentication Service
Online Store A
Shopping Cart Service
Product Catalog Service
Online Store B
Order Shipment Service
Internet
ILM Proprietary and Confidential -
http//www.ilmservice.com
4Implications On Technology
- Replacement of existing development tools
- Introduction of new development tools
- New line of server products such as Commerce
Server 2000
ILM Proprietary and Confidential -
http//www.ilmservice.com
5Tools Replacement
- Most Microsofts 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 APIs such as Win32, MFC will be
replaced with completely new framework APIs - COM/DCOM is obsolete
ILM Proprietary and Confidential -
http//www.ilmservice.com
6New Tools
- Completely new programming language called C,
build specifically for .NET development - Tool support for creating web services
- Completely new development framework APIs
ILM Proprietary and Confidential -
http//www.ilmservice.com
7.NET Enterprise Servers
- Commerce Server 2000
- BizTalk Server 2000
- Application Center 2000
- Exchange Server 2000
- SQL Server 2000
- And more
ILM Proprietary and Confidential -
http//www.ilmservice.com
8.NET Impact
- 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
ILM Proprietary and Confidential -
http//www.ilmservice.com
9Introduction to the .NET Framework
ILM Proprietary and Confidential -
http//www.ilmservice.com
10.NET Framework - Core Features
- 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
ILM Proprietary and Confidential -
http//www.ilmservice.com
11- All Languages use .NET framework for all of their
needs
C
JScript
.NET Framework
VB
C
Third Party Languages
ILM Proprietary and Confidential -
http//www.ilmservice.com
12Managed C
C
VB.NET
JScript
Third Party Languages
Compiler
MSIL Code (Assembly)
Just In Time Compiler
Common Language Runtime (CLR)
Machine Code
Manages
ILM Proprietary and Confidential -
http//www.ilmservice.com
13JIT Compilation
- 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
ILM Proprietary and Confidential -
http//www.ilmservice.com
14JIT Compilation
- 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
ILM Proprietary and Confidential -
http//www.ilmservice.com
15Unified 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
16Automatic 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
- Dont use destructors to free up external
resources - Use Dispose method instead
ILM Proprietary and Confidential -
http//www.ilmservice.com
17Assembly
- 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
ILM Proprietary and Confidential -
http//www.ilmservice.com
18- ILDASM (Intermediate Language De-assembler)
ILM Proprietary and Confidential -
http//www.ilmservice.com
19ILM Proprietary and Confidential -
http//www.ilmservice.com
20Assembly
- 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
ILM Proprietary and Confidential -
http//www.ilmservice.com
21Deploying .NET Applications
- The end of DLL hell
- Side by side execution
- Private assemblies
- Installed in applications 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
ILM Proprietary and Confidential -
http//www.ilmservice.com
22Deploying .NET Applications
- Assembly Version Numbers (1.0.0.0)
Major
Minor
Build
Revision
Incompatible Change
Compatible Change (Hot Fix)
- By default .NET runtime will pick the assembly
with highest compatible build number
ILM Proprietary and Confidential -
http//www.ilmservice.com
23Cross Language Integration
- 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
ILM Proprietary and Confidential -
http//www.ilmservice.com
24Interoperability With 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
ILM Proprietary and Confidential -
http//www.ilmservice.com