ERP Analysts (India) Pvt. Ltd

32
1 ERP Analysts (India) Pvt. Ltd. L e a d w i t h V i s i o n 705, Swapnalok Complex, Secunderabad - 500 003

Transcript of ERP Analysts (India) Pvt. Ltd

1

ERP Analysts (India) Pvt. Ltd.L e a d w i t h V i s i o n

705, Swapnalok Complex, Secunderabad - 500 003

2

Agenda

.NET FrameworkCommon language runtimeBuilding user interfacesData and ADO.NETSummary

3

The center of .NET architectureTechnical definition:

“a programmable application component accessible via standard Web protocols”

Expose functionality from Web sitesalmost like component programming over the Web

The .NET FrameworkXML Web Services

4

ClientClient

WebWebserviceservice WebWeb

serviceservice

WebWebserviceservice WebWeb

serviceservice

ClientClientXMLXML

XMLXMLXMLXML

XMLXML

XMLXML

XMLXML

HTMLHTML

The .NET FrameworkXML Web Services

5

Base class libraryBase class library

Common language specificationCommon language specification

Common language runtimeCommon language runtime

ADO.NET: Data and XMLADO.NET: Data and XML

Visual BasicVisual Basic C++C++ C#C#V

isual Studio.N

ET

Visual S

tudio.NE

T

ASP.NET: Web servicesASP.NET: Web servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

The .NET FrameworkThe .NET Framework and Visual Studio .NET

6

The .NET FrameworkCommon Language Runtime

simplified developmentXCOPY deploymentscalabilityrich Web clients and safe Web hostingpotentially multi-platformmultiple languages (cross-inheritance)increases productivity

7

The .NET Framework.NET Framework Services

ASP.NETlogical evolution of ASP (compiled)

Web Formsmanageable code (not “spaghetti” code)

Windows Forms.NET Framework for building rich clients

ADO.NET, evolution of ADOnew objects (e.g., DataSets)

XML support throughout

8

Common language runtime

9

Common Language RuntimeArchitecture

Com

mon

lang

uage

runt

ime

Frameworks

Class loader and layout

IL to

na

tive

code

co

mpi

lers

GC, stack walk, code manager

Sec

urity

Exe

cutio

nsu

ppor

t

Base classes

10

Common Language RuntimeGoals

Developmentstandard class frameworkautomatic memory managementconsistent error handlingmixed-language applicationsmultiple platformssafer execution

Deploymentremoval on registration dependencysafety: fewer versioning problemsthe end of “DLL Hell”

11

Common Language RuntimeGoals

Developmentstandard class frameworkautomatic memory managementconsistent error handlingmixed-language applicationsmultiple platformssafer execution

Deploymentremoval of registration dependencysafety: fewer versioning problemsthe end of “DLL Hell”

12

Common Language RuntimeMultiple Language Support

What about types?Common Type System (CTS)

Other languages and compilersCommon Language Specification (CLS)

13

Source code

C++, C#, Visual Basic or any .NET language

Csc.exe or Vbc.exeCompiler

Assembly

DLL or EXE

Common Language RuntimeCompilation

14

Metadata

IL Managed

code

Resources

ParcelTracker.DLL

Common Language RuntimeAssemblies

15

Common Language RuntimeMetadata

Type informationmore complete than IDL / TLBautomatically bound into assembly

inseparablestored in binary format

describes every class typeused by Microsoft IntelliSense® in Visual Studio .NET

16

Type DescriptionsClassesBase classesImplemented interfacesData membersMethods

NameVersionCulture

Assembly Manifest

Other assembliesSecurity permissionsExported types

Common Language RuntimeMetadata in an Assembly

17

Common Language RuntimeApplications

One or more assembliesAssemblies resolution

using metadatalocal (preferred)Global Assembly Cache (GAC)

Different applications may use different versions of an assemblyeasier software updateseasier software removal

18

Visual BasicSource code

Compiler

C++C#

CompilerCompiler

AssemblyIL code

AssemblyIL code

AssemblyIL code

Operating system services

Common language runtime

JIT compiler

Native code

Managedcode

Unmanagedcomponent

Common Language RuntimeExecution Model

19

Web Forms and Web Services

20

Building User InterfacesWindows Forms

Framework for building rich clientsRAD (rapid application development)rich interfaceseasily hooked into Web servicesrich set of controlsdata-awareActiveX® Supportlicensingaccessibilityprinting support

21

Building User InterfacesWindows Forms

Framework for building rich clientsRAD (rapid application development)rich interfaceseasily hooked into Web servicesrich set of controlsdata-awareActiveX® supportlicensingaccessibilityprinting support

22

Building User InterfacesASP.NET

Logical evolution of ASPcontrol-based, event-driven execution modelimproved performancesupports multiple languagesnot limited to VARIANT typesmore productivecleanly encapsulated functionality

23

Building User InterfacesASP.NET Web Forms

Allows clean-cut code (non-spaghetti code)code-behind Web Forms

Easier for tools to generateCode within is compiled then executed Improved handling of state informationBrowser-compliant JavaScript generationSupport for ASP.NET server controls

form validationData-bound gridsmore

24

Building User InterfacesWeb Services

Technical definition – “A programmable application component accessible via standard Web protocols”

built on SOAP/XMLExpose functionality from Web sites

almost like component programming over the Webfunctionality exposed using XML/HTML

Standard Web services include:storage service for .NETcalendarMSN Passport

25

ParcelTracker.asmx

<%@ WebService Language="C#" %>using System;using System.Web.Services;using VBParcelTrackerNS;public class ParcelTrackerWebService{[WebMethod]public string GetOrderStatus (int orderNumber){

//Implementation here!}

}

Building User InterfacesCreating a Web Service

26

ParcelTracker.asmx

<%@ WebService Language="C#" %>using System;using System.Web.Services;using VBParcelTrackerNS;public class ParcelTrackerWebService{[WebMethod]public string GetOrderStatus (int orderNumber){

//Implementation here!}

}

Building User InterfacesCreating a Web Service

27

Building User InterfacesCreating a Web Service Client

SOAP proxySOAP proxycodecode

Web serviceWeb service

the Internet

28

Using ADO.NET for Data Access (XML Output)

29

Data and ADO.NETThe Evolution of ADO to ADO.NET

New objects (e.g., DataSets)Great support for XMLSeparates connected / disconnected issuesLanguage-neutral data accessUses same types as common language runtime

30

Data and ADO.NETADO.NET Classes

SQL Server

DataSetAdapter

DataReader(Forward-only)

DataSet

XML

31

Data and ADO.NETXML Support

Rich XML-supporting classesfor reading XML from fileswriting XML from filesnavigationXSL transformationsDataSets

32

Data and ADO.NETSystem.XML

XmlTextWriter

XmlTextReaderXmlTextReader

<XML><XML>

XmlDocument

DocumentNavigator

XmlReader

XmlValidatingReader XmlNodeReaderXmlNodeReader