Sunteți pe pagina 1din 48

Presented by:

Tim O’Brien
Senior Systems Engineer
Fujitsu Software Corporation

Block 1
.NET Technology Overview
Fujitsu Software Corporation

Customer Training Series

Fujitsu Computer Systems


Let us begin…

“A journey of a thousand miles must begin with a single step.”


-Six century B.C. Chinese philosopher Lao Tzu

PAGE 2 Fujitsu Computer Systems


Here we are…
■ Software development of is an industry beset
with incompatibilities
 Different Languages
 Different Operating Systems
 Different Hardware Platforms
 Incompatible APIs
 Shifting Architectural Focus

■ Changes were necessary


 Microsoft’s vision: .NET

PAGE 3 Fujitsu Computer Systems


Microsoft has a vision
■ Addresses development issues of the past with
a view toward the future

■ Embodied in Microsoft .NET

■ New way of building applications that leverages


industry standards

■ Makes interoperability a reality

PAGE 4 Fujitsu Computer Systems


Microsoft has a vision (Cont…)

■ .NET Framework
 Platform for building and running .NET applications
 Makes development significantly easier
 Streamlines the development process
 Eliminates the most common and debilitating bugs
 Provides a common API for all languages

PAGE 5 Fujitsu Computer Systems


Microsoft has a vision (Cont…)
■ Encompasses new trends in software
development
 Distributed computing
 Componentization
 Enterprise services
 Web integration of applications
 Language interoperability

■ Encompasses many standards – SOAP, WSDL,


UDDI, HTTP, HTML, XML

PAGE 6 Fujitsu Computer Systems


About Programming Languages…

■ Microsoft .NET languages


 C#
 VB.NET
 C++
 J#
■ Fujitsu .NET languages
 COBOL
 Fortran

PAGE 7 Fujitsu Computer Systems


About our new development world…
■ Visual Studio .NET is the common IDE for all .NET
languages

■ ADO.NET

■ Windows Forms

■ ASP.NET and Web Forms

■ Web Services

■ Smart Devices

PAGE 8 Fujitsu Computer Systems


About our new development world…
(Cont…)
■ .NET is a new Applications Platform
 Development Tools and framework
 Specialized .NET Enterprise Servers such as
 SQL Server
 Biztalk Server
 Commerce Server
 Application Center Server
 Host Integration Server
 Internet Security Server
 Acceleration Server

PAGE 9 Fujitsu Computer Systems


Building Blocks

Visual Studio .NET

.NET Building
.NET Framework NET Enterprise
Block Services
Servers

Operating System on Servers , Desktops, Notebooks and smart devices

PAGE 10 Fujitsu Computer Systems


Putting together the puzzle…

NetCOBOL for
VB.NET ADO.NET
.NET

C# ASP.NET C++

. NET
CLR Framework CTS

PAGE 11 Fujitsu Computer Systems


Components and Terms…
■ Common Language Specification (CLS)

■ Microsoft Intermediate Language (MSIL)

■ Metadata and Manifest

■ Assemblies (Executables)

■ Global Assembly Cache (GAC)

PAGE 12 Fujitsu Computer Systems


Components and Terms… (Cont…)
■ Namespaces

■ Just in Time (JIT) compilers and the Verifier

■ Common Language Runtime (CLR)

■ Managed vs. Unmanaged Code

■ Platform Invocation Services

PAGE 13 Fujitsu Computer Systems


Components and Terms… (Cont…)
■ Framework base classes

■ Data and XML Classes

■ Windows Forms

■ Web Forms

■ Web Services

PAGE 14 Fujitsu Computer Systems


Common Language Specification (CLS)

■ Supports multiple language integration

■ Specifies a set of common data types


(CTS)

■ Defines rules for external component


accessibility

PAGE 15 Fujitsu Computer Systems


CLS (Cont…)
■ Takes full advantage of exceptions, inheritance,
and polymorphism.

■ Provides for automatic garbage collection

■ All .NET compilers must adhere to the CLS and


CTS

PAGE 16 Fujitsu Computer Systems


Microsoft Intermediate Language (MSIL)

■ Abstract intermediate language – a concept


common to many COBOL compilers

■ Similar to an Assembly Language with additional


commands to handle objects

■ All .NET Compilers must produce MSIL


(sometimes called “IL”).

PAGE 17 Fujitsu Computer Systems


MSIL – COBOL Source
■ The following example shows a snippet of code from the
MSIL produced by the NetCOBOL compiler for a
HelloWorld example as shown:

IDENTIFICATION
DIVISION.
PROGRAM-ID. MAIN.
ENVIRONMENT DIVISION.

DATA DIVISION.
WORKING-STORAGE
SECTION.
PROCEDURE DIVISION.
.method public hidebysig static int32 Procedure() cil managed
{ .entrypoint
DISPLAY "HELLO // Code size 234 (0xea)
.maxstack 8
WORLD". .locals init (int32 V_0,
END PROGRAM MAIN. class [Fujitsu.COBOL]Fujitsu.COBOL.Runtime.ProgramControl.DisplayInfo[] V_1,

class [Fujitsu.COBOL]Fujitsu.COBOL.Runtime.ProgramControl.DisplayInfo[] V_2,

valuetype [Fujitsu.COBOL]Fujitsu.COBOL.COBOLData V_3)


.try
{
.try
{
IL_0000: ldsfld int32 MAIN::__CompInitialInfo
IL_0005: brtrue.s IL_0017
IL_0007: ldc.i4.0
PAGE 18 Fujitsu Computer Systems
Metadata
■ .NET Executables contain metadata – detailed
descriptions of data types and interfaces

■ This includes descriptions of classes, methods,


properties, fields, events, etc.

■ Metadata allows executables to be truly self-


contained and self-describing

PAGE 19 Fujitsu Computer Systems


Metadata (Cont…)
■ Metadata is kind of like a super type library

■ The use of Metadata removes the requirement


to use the Windows registry

■ A vast improvement over COM

■ Aids in language interoperability

PAGE 20 Fujitsu Computer Systems


Manifest
■ .NET assemblies also contain a Manifest which
describes everything about the assembly such as files
belonging to that component

 External references to other assemblies and classes

 Permission requests

 Anything else required for component usage

PAGE 21 Fujitsu Computer Systems


ILDASM
■ ILDASM –
Intermediate
Language
Disasembler is a
utility that lets you
view metadata.

■ It will also allow


you to see MSIL…

PAGE 22 Fujitsu Computer Systems


Application Domains
■ NET Assemblies execute within an
Application Domain

■ Similar to Windows Processes

■ Multiple Application Domains may run


within a single Windows Process

PAGE 23 Fujitsu Computer Systems


Application Domains
■ Provides significant scalability

■ Managed code assemblies running under


CLR provides reliability

PAGE 24 Fujitsu Computer Systems


Assemblies
■ .NET Executables are called “Assemblies”

■ Assemblies contain a Manifest, Metadata and


MSIL

■ Assemblies may contain a single module or


multiple modules

■ Assemblies may be Static, Dynamic, Private or


Public (Shared)

PAGE 25 Fujitsu Computer Systems


Assemblies (Cont…)
■ Assemblies may be versioned allowing multiple
versions of the same named assembly to be
available on the same machine allowing side by
side execution

■ Shared Assemblies must be registered in the


Global Assembly Cache (GAC) at installation
time

PAGE 26 Fujitsu Computer Systems


Assemblies (Cont…)
■ Shared Assemblies must be keyed

■ Assemblies may have unique security and


permissions set

PAGE 27 Fujitsu Computer Systems


Namespaces
■ Provides a way to group classes logically

■ Adds another level of scoping for classes

■ Allows organization of classes

■ Namespaces may be hierarchical using dots as


separators

PAGE 28 Fujitsu Computer Systems


Namespaces (Cont…)
Name Space Contents

System Code data types and auxiliary


classes

System.Collections Hash tables, resizable arrays, and


other containers

System.Net Classes that wrap network


protocols

System.IO Classes for performing file and


stream I/O

PAGE 29 Fujitsu Computer Systems


Just in Time (JIT) Compilers
■ Translates MSIL into Machine Code

■ The Verifier first checks type safety at runtime

■ Multiple JIT’s available

■ Native Code produced is cached by default

PAGE 30 Fujitsu Computer Systems


Just in Time (JIT) Compilers (Cont…)

■ Typically, only portions of an application that are


referenced are JIT’ed.

■ JIT may thus be incremental throughout the life


of an application

■ .NET comes with Standard JIT, EconoJIT and


PreJit

PAGE 31 Fujitsu Computer Systems


Just in Time (JIT) Compilers (Cont…)
■ EconoJit targets small hardware platforms and
does not cache code

■ PreJit may be used to pre-compile applications


to native code and cache such at installation
time (invokes Standard JIT)

PAGE 32 Fujitsu Computer Systems


Common Language Runtime (CLR)

■ Loads, manages and executes .NET


executables (assemblies)

■ Activates .NET objects, security checks them,


lays them out in memory, executes them and
garbage collects them

■ Manages JIT of applications

PAGE 33 Fujitsu Computer Systems


Managed vs. Unmanaged Code
■ Managed Code is any executable produced by a
.NET Compiler

■ Unmanaged Code is any executable code


produced by a non-.NET compiler such as non-.
NET versions for Fujitsu COBOL

■ .NET Compilers may optionally produce


unmanaged code

PAGE 34 Fujitsu Computer Systems


Platform Invocation Services
■ .NET provides Platform Invocation Services to
allow .NET applications (managed code) to call
non-.NET applications and pass data to and
from such

■ .NET Platform Invocation services are known as


“PInvoke”

PAGE 35 Fujitsu Computer Systems


Framework Base Classes
■ Important building blocks for .NET applications

■ Includes basic data types

■ System is the root of the .NET base class


Namespace

PAGE 36 Fujitsu Computer Systems


Framework Base Classes (Cont…)

■ A large number of these classes are provided.


They include:
 system object
 Collections
 Data
 I/O
 Web and Web Forms
 Windows Forms
 Network
 Win32

PAGE 37 Fujitsu Computer Systems


Data and XML Classes
■ System.IO class provides basic file I/O
streaming functionality

■ System.Data class provides ADO.NET relational


database functionality

■ System.Data.OleDb allows for managed


providers to be implemented

PAGE 38 Fujitsu Computer Systems


Data and XML Classes (Cont…)

■ System.Data.SqlClient allows for managed


providers using SQL to be implemented

■ System.XML class provides significant XML


functionality

PAGE 39 Fujitsu Computer Systems


Windows Forms
■ Easy way to develop graphical user interface
(GUI) Windows Applications

■ Visual Studio .NET provides graphical forms


painter for all integrated .NET languages,
including Fujitsu NetCOBOL

■ Code is automatically generated within the


program source code being edited by the Forms
painter

PAGE 40 Fujitsu Computer Systems


Windows Forms (Cont…)
■ Developers may concentrate on writing event
procedures for GUI applications, as opposed to
being forced to write code to actually implement
the GUI controls and related event handling

■ .NET Framework provides System.WinForms


class for Windows Forms

PAGE 41 Fujitsu Computer Systems


Web Forms
■ Allows development of ASP.NET pages with
graphical controls and event driven
programming model

■ Visual Studio .NET provides graphical web


forms painter for all integrated .NET languages,
including Fujitsu NetCOBOL

PAGE 42 Fujitsu Computer Systems


Web Forms (Cont…)
■ ASP.NET pages containing program code to implement
the desired controls are automatically generated by the
Forms painter

■ Developers may concentrate on writing event procedures


for ASP.NET applications, as opposed to being forced to
write code to actually implement the GUI controls and
related event handling

■ .NET Framework provides System.Web.UI class for Web


Forms

PAGE 43 Fujitsu Computer Systems


Web Services
■ Allows access to distributed application
components via standard Web protocols such as
HTTP and SMTP

■ Makes use of SOAP (Simple Object Access


Protocol)

■ Opens up a whole new world of Web based


callable software service components

PAGE 44 Fujitsu Computer Systems


Web Services (Cont…)
■ Uses WSDL (Web Services Description
Language) to discover and interface to remote
Web Service components

■ Third Party Web Services already appearing


such as Microsoft’s Passport

■ .NET Framework provides


System.Web.Services framework class

PAGE 45 Fujitsu Computer Systems


Visual Studio .NET
■ Visual Studio .NET is the common Integrated
Development Environment (IDE) for all enabled
languages

■ Provides a rich set of tools, including project


management, edit, build and debug, forms
painters, server explorer, etc.

PAGE 46 Fujitsu Computer Systems


Visual Studio .NET (Cont…)
■ Same editor and debugger are used across all
enabled .NET languages

■ Substantial integrated Help system documents


the .NET framework and languages

PAGE 47 Fujitsu Computer Systems


Questions

PAGE 48 Fujitsu Computer Systems

S-ar putea să vă placă și