14
ASP.NET un peu plus loin… ASP.NET un peu plus loin… Développement Rapide Développement Rapide d’Applications Web d’Applications Web avec .NET avec .NET

ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Embed Size (px)

Citation preview

Page 1: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

ASP.NET un peu plus loin…ASP.NET un peu plus loin…

Développement RapideDéveloppement Rapided’Applications Webd’Applications Webavec .NETavec .NET

Page 2: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

.NET c’est quoi ?.NET c’est quoi ?

ComposantsSécuritéFlux XML

SimplicitéSimplicitéet et

puissantpuissant

ProtocolesProtocolesStandardStandard

ServicesServicesWebWeb

ClientsClientsRichesRiches

Pages WebPages Web

MobilitéMobilité

XMLXML

Modèle RelationnelModèle Relationnel

Toutes Toutes les basesles bases

Antoine Driard
.NET c'est un runtime, client et serveur, gratuit, qui tourne sous Windows. dans le cas d'ASP.NET, on ne parle de .NEt que sur le serveur et sur le poste du développeur
Page 3: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Le cœur du FrameworkLe cœur du Framework

Visu

al Stu

dio

.NE

TV

isual S

tud

io .N

ET

CLICLI

CLR : le runtimeCLR : le runtime

Framework Class LibraryFramework Class Library

Données et XMLDonnées et XML

Services Services WebWeb

Windows FormsWindows Forms

Web FormsWeb Forms

Common Language SpecificationCommon Language Specification

VBVB C++C++ C#C# ……

StandardStandardISOISO

StandardStandardISOISO

SpécificationSpécificationouvertesouvertes

Accès aux Accès aux données et XMLdonnées et XML

J#J#

Basé XML, Basé XML, SOAP, GXASOAP, GXA

Page 4: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Les classes du .NET FrameworkLes classes du .NET Framework

System System

System.Data (ADO .NET)System.Data (ADO .NET) System.XMLSystem.XML

System.Web (ASP.NET)System.Web (ASP.NET)

DiagnosticsDiagnostics

ConfigurationConfiguration

CollectionsCollections

NetNet

IOIO

ThreadingThreading

TextText

SecuritySecurity

CommonCommon

OLEDBOLEDB

SQLTypesSQLTypes

SQLClientSQLClient

XPathXPath

XSLXSL

RuntimeRuntime

InteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServicesDescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUI

HTMLControlsHTMLControls

WebControlsWebControlsSystem.DrawingSystem.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.Windows.FormsSystem.Windows.Forms(Windows / Windows CE / PocketPC)(Windows / Windows CE / PocketPC)

DesignDesign ComponentModelComponentModel

SchemaSchema

ReflectionReflection

ResourcesResourcesGlobalizationGlobalization

ServiceProcessServiceProcess

Antoine Driard
A nouveau 2 niveaux de compréhension et d'utilisation de ces classes. Soit on débute ou on n'a pas l'ambition de pousser très loin, et on peut se contenter de connaître quelques dizaines de fonctionnalités.Soit on veut vraiment en profiter et on pousse plus loin l'apprentissage des milliers de classes du Framework.
Page 5: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

ASP.NET : comment ça marcheASP.NET : comment ça marcheCode behindCode behind

Séparation entre HTML et codeLa page Web hérite d’une classe qui elle même hérite de Page.

Objet Page(Framework)

Objet DemoCode(Page ASPX)

Objet DemoCode(Code behind)

Flux Html

Requê

te W

eb

<%@Page Language="C#" Inherits="DemoCode" Src="DemoCode.cs" %>

{…}

public class DemoCode : Page

{…}

Antoine Driard
bien souligner que cette notion d'héritage, ainsi que les notions objet en général ne sont pas obligatoirement à maitriser pour faire de l'ASP.NET. La preuve, les pages qu'on a créé depuis ce matin héritaient toutes de l'objet Page, sans qu'on s'en soit rendu compte. Et avec .NET, c'est tout le temps comme ça, on peut faire de l'objet sans s'en rendre compte. Bien sur les experts peuvent approfondir et pourrser plus loin ces notions pour encore mieux les exploiter
Page 6: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

RéponseRéponse

La compilation à la voléeLa compilation à la volée

RéponseRéponseClasseClassede lade lapagepage Instanciation, Instanciation,

traitement,traitement,affichageaffichage

Classegénérée

GénèreGénèreAnalyseAnalysemoteurmoteurASPXASPX

FichierASPX

11èreère Requête Requête

ClasseClasseCodeCode

BehindBehind

Bro

wse

r W

ebB

row

ser

Web

IIS22èmeème Requête Requête

InstancieInstancie

Page 7: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Démontration 1Démontration 1

Intégration de composant XmlEditGrid

Upload de fichier

Sites de composants ASP.NETwww.123aspx.com

www.411asp.net

www.componentone.com

www.infragistics.com

Page 8: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

CacheCache

La granularité du cache est au niveau du Contrôle Utilisateur

Chaque Contrôle Utilisateur a ses propres paramètres de Cache

<%@ OutputCache VaryByParam="none" Duration="60"%>

Le serveur renvoie le rendu HTML précédemment généré.

Page 9: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Démonstration 2Démonstration 2

Mise en cache du footer de la page

Page 10: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

TraceTrace

Activation du mode TraceDans le Web.config Trace=True

2 méthodes pour visualiser les traces

pageOutput = true

Trace.axd

Page 11: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Démonstration 3Démonstration 3

Trace

Page 12: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Service WebService Web

Définition : une procédure invocable à distance, indépendamment de sa plate-forme logicielle et matérielle via des protocoles standard (XML, SOAP)

Aboutissement des efforts faits avec DCOM, CORBA

Adoptés par l’ensemble de l’industrie

Page 13: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Cycle de vie d’un Service Cycle de vie d’un Service WebWeb

ClientClientService

Web

ServiceWeb

DescriptionWSDL

Réponse XML : Description du service

Réponse SOAP : résultat de l’appel

Appel SOAP : invocation du Service Web

1

proxy

vel

op

pe

men

tP

rod

uc

tio

n

Appel HTTP : demande de la descriptionAppel HTTP : demande de la description

2

Page 14: ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET

Démontration 4Démontration 4

Consommation d’un service Web a partir d’un site ASP.NET

Appel externe Tiscali