Block 1

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Block 1 as PDF for free.

More details

  • Words: 1,830
  • Pages: 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 Framework

NET Enterprise Servers

.NET Building Block Services

Operating System on Servers , Desktops, Notebooks and smart devices

PAGE 10

Fujitsu Computer Systems

Putting together the puzzle…

PAGE 11

NetCOBOL for .NET

VB.NET

ADO.NET

C#

ASP.NET

C++

CLR

. NET Framework

CTS

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 // Code size 234 (0xea) DISPLAY "HELLO .maxstack 8 WORLD". .locals init (int32 V_0, class [Fujitsu.COBOL]Fujitsu.COBOL.Runtime.ProgramControl.DisplayInfo[] V_1, END PROGRAM MAIN. 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 selfcontained 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

Related Documents

Block 1
October 2019 15
Block
December 2019 64
Block
November 2019 57
2000 Block Maywood-1
June 2020 6
501-block-1.pdf
December 2019 32
Pathophys Block 1 Tests
October 2019 5