La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Stéphane Frénot1INT - 4 Internet/Intranet Les architectures.

Présentations similaires


Présentation au sujet: "Stéphane Frénot1INT - 4 Internet/Intranet Les architectures."— Transcription de la présentation:

1 Stéphane Frénot1INT - 4 Internet/Intranet Les architectures

2 Stéphane Frénot2INT - 4 Les techniques de développement de SIW Développement spécifique propriétaire CGI, SSI, Cookies Conserver l'architecture classique en y insérant un système propriétaire SapphireWeb, ColdFusion, WebObjects Adapter le serveur HTTP ISAPI(ASP), NSAPI (LiveWire), Modules Apache, PSP, JSP Adapter le serveur de données Oracle Web Server

3 Stéphane Frénot3INT - 4 Les approches standards Langages –CGI (Scripts indépendant exécutés par la machine serveur) –SSI (Scripts exécutés par le serveur Web) –JavaScripts (Scripts exécutés par le client) Protocole http –Cookies (Identifiants échangés entre client et serveur) –Relocation (Renvoie le client sur une autre page) Push –Pages Web à linitiatives du serveur ou –Demandées automatiquement par le client

4 Stéphane Frénot4INT - 4 CGI

5 Stéphane Frénot5INT - 4 Approche Simple : Exemple set heading off select 'Liste des laboratoires' from dual / set heading on select * from laboratoires / exit #!/usr/bin/ksh echo Content-Type: text/html echo export ORACLE_HOME=/oracle export ORACLE_SID=INSA echo " " /oracle/bin/sqlplus -s bcb/bcb @/home/demo/bidon.sql echo " "

6 Stéphane Frénot6INT - 4 Approche Simple Langage Accès aux bases de données et Interrogation Analyse des résultats Présentation sous une forme compatible HTML Approche par les scripts / langages Compilés

7 Stéphane Frénot7INT - 4 Exemple Simple PERL #!/usr/local/bin/perl # ****************** Accès à la Base use DBI; $stat_size_indice = 7; $longueur_nom_medicament = 9; $MaxRecherche=20; my($drh) = DBI->install_driver('Oracle') || die "Can't install driver\n"; $dbh = $drh->connect('INSA', 'wwwapp', 'alix0') || die "Can't connect\n"; my $cursor = $dbh->prepare(<<"REQUETE" select tmed_cip, tmed_libelle, tgal_pluriel from t_medicament, t_forme_galenique where (rownum <= $MaxRecherche and t_medicament.tgal_id=t_forme_galenique.tgal_id) order by tmed_libelle REQUETE ) || die "Can't prepare\n"; $cursor->execute() || die "Can't execute\n";

8 Stéphane Frénot8INT - 4 Exemple suite #Formatage de la réponse print "Content-type: text/html\n\n" ; print " "; $nb_medicaments_dans_ligne = 0; while ( ($cip_medicament, $nom_medicament, $forme_galenique) = $cursor->fetchrow()) { $nom_medicament = substr( $nom_medicament, 0, $longueur_nom_medicament); if (($nb_medicaments_dans_ligne)++ == 5) { print " "; $nb_medicaments_dans_ligne = 1; } print " "; chop ($forme_galenique); $nom_medicament_avec_plus = $nom_medicament; $nom_medicament_avec_plus =~ s/ /\+/g; print " "; print "$nom_medicament\n"; print " "; } print " ";

9 Stéphane Frénot9INT - 4 Javascript Interprété sur le client : JavaScript (Netscape) / Jscript (Microsoft) Langage événementiel ? Arbre de composants documentaires Fonction d'accès et de manipulation des composants de l'arbre Utilisation : ? http://Stars.com/Authoring/JavaScript http://netscape.developper.com/

10 Stéphane Frénot10INT - 4 JavaScript Exemples <!-- function check(p) { j=0; while (j<p.length) { p.elements[j].checked = true; if (p.elements[j].onclick) p.elements[j].onclick(); j++; } } function show(o) { var s = ""; for (i in o) s+=i+"="+o[i]+" "+"\n"; w=window.open( 'about:blank' ); w.document.open( "text/plain" ); w.document.writeln( s ); w.document.close(); } --> a 1 0 activer <IMG NAME=MonImage BORDER=0 SRC="image1.gif" onMouseOver='MonImage.src="image2.gif" onMouseOut='MonImage.src="image1.gif">

11 Stéphane Frénot11INT - 4 HTTP Cookies Informations définies par le serveur et stockées sur le client Exemple –Set-Cookie: IdSession=123123; path=/annuaire –Set-Cookie: IdUser=steph; path=/ => GET /annuaire./toutlemonde.html Cookie: IdSession=123123; IdUser=steph Utilisation : ?

12 Stéphane Frénot12INT - 4 Client Pull / Serveur Push Le serveur programme le client pour aller chercher l'information print ("Content-type: multipart/x-mixed-replace; boundary=FICHIER_SUIVANT\n"); print ("\n--FICHIER_SUIVANT\n"); print ("Cha Marche"); sleep(3); print ("\n--FICHIER_SUIVANT\n"); print ("Cha Marche"); <meta http-equiv="Refresh" content="5; url="http://www.insa-lyon.fr/"> kkdssdkjskjds Ca va partir ! Utilisation ?

13 Stéphane Frénot13INT - 4 HTTP : location En-tête http –location: http://www.insa-lyon.fr Demande au client daller rechercher la ressource ailleurs Exemple –#!/bin/sh –echo « location: http://serveur2/ » –exec « /bin/serveur2 » Utilisations ?

14 Stéphane Frénot14INT - 4 Architecture globale

15 Stéphane Frénot15INT - 4 Architecture Web

16 Stéphane Frénot16INT - 4 Server Side Include Schéma

17 Stéphane Frénot17INT - 4 SSI Server Side Include (.shtml) –Tag interprété par le serveur : – –Commandes : – – (virtual) – (cgi) –Extensions : –php3 : http://www.php3.net –Microsoft : ASP … –Utilisation : ?

18 Stéphane Frénot18INT - 4 Php exemple... if ($userLogin) { /* If user has provided a login */ $row=$db->getAuth($userLogin, $userMachine, $userTel, $userBur, $userNom, $userPrenom); if ($row){?> Est-ce bien votre connexion ? Login : Nom : Prénom : Mail : Téléphone : Bureau : "> ">...

19 Stéphane Frénot19INT - 4 Approches propriétaires Conserver l'architecture classique en y insérant un système propriétaire –SapphireWeb, ColdFusion, WebObjects Adapter le serveur HTTP –ISAPI(ASP), NSAPI (LiveWire), Modules Apache Adapter le serveur de données –Oracle Web Server, MIIS

20 Stéphane Frénot20INT - 4 Cold Fusion SELECT NOM_LABORATOIRE from laboratoires #NOM_LABORATOIRE">

21 Stéphane Frénot21INT - 4 Sapphire Web

22 Stéphane Frénot22INT - 4 Web Objects (Next)

23 Stéphane Frénot23INT - 4 Netscape LiveWire if (database.connected()) { database.beginTransaction(); qs="SELECT NOM_LABORATOIRE from laboratoires"; results=database.cursor(qs); while(result.next()) { write(" results.NOM_LABORATOIRE")> } results.close(); database.commitTransaction(); }

24 Stéphane Frénot24INT - 4 Approche Oracle Oracle Web Server (=>OWApplicationS V3) Serveur Standard : Web Listener CGI 'like' : Web Request Broker (WRB) Toolkit : Ensemble de procédures cataloguées –HTP : HyperText Procedures –HTF : HyperText Functions htp.print(htf.italic('coucou')); –OWA_UTIL : utilitaires owa_util.tableprint –OWA : procédures internes3

25 Stéphane Frénot25INT - 4 Architecture OWS

26 Stéphane Frénot26INT - 4 OWS Exemple 1 create or replace procedure afftab(nom_table in varchar2) is x boolean; begin x:=owa_util.tableprint(nom_table, 'BORDER'); end; / Nom de la table <INPUT NAME="nom_table" TYPE="TEXT" VALUE=""> <INPUT TYPE="SUBMIT" VALUE="Afficher">

27 Stéphane Frénot27INT - 4 OWS Exemple 2 create or replace procedure listtables is cursor c_tables is select table_name from user_tables; begin htp.htmlopen; htp.headopen; htp.htitle('Liste des tables'); htp.headclose; htp.bodyclose; for enreg in c_tables loop htp.print (enreg.table_name); htp.br; end loop htp.bodyclose; htp.htmlclose; end; /

28 Stéphane Frénot28INT - 4 Approche Microsoft "Interface entre Web et bases de données sous Windows NT" A.Homer, Darren Gill, S.JakabEyrolles 1998

29 Stéphane Frénot29INT - 4 Approche IDC

30 Stéphane Frénot30INT - 4 Exemple demo.idc DataSource: INSA UserName : wwwapp Passwor d : ????? Template : listeLabo.htx SQLStatement : +SELECT * from laboratoires listLabo.htx Le nom du labo est:

31 Stéphane Frénot31INT - 4 OLEISAPI

32 Stéphane Frénot32INT - 4 Exemple Serveur OLE : toto.dll Public Sub ReturnBonjour (strValuePairsIn As String, strHTMLResponse As String) strHTMLResponse ="Content-Type: text/html" & vbCrLF & "Bonjour"; End Sub Public Sub main() End Sub http://serveurNT/utilisat/OLEISAPI.dll/toto.ReturnBonjour

33 Stéphane Frénot33INT - 4 Quelle approche choisir ?

34 Stéphane Frénot34INT - 4 Architectures Web Web de consultation –Documentation –Piloté par lutilisateur –Internet Web Applicatif –Applications –Piloté par lapplication serveur –Intranet

35 Stéphane Frénot35INT - 4 Programmation Langages : –Compilés : C, C++... –Interprétés : Javascript, Perl, TCL, Python... API et Serveurs Spécialisé –NS_API, MS_ API, LiveWire, HyperWave Langages de balises –C oldFusion, WebObject –PHP/FI Outils –Sapphire Web –LiveWire

36 Stéphane Frénot36INT - 4 Serveur CGI shtml Serveur API Servlets Clients –Plug-ins –Scripts Documentaires –Applets Exécution de code

37 Stéphane Frénot37INT - 4 Sur le client Langages standards : Java, Python, Tcl Langages spécifiques : Javascript, Vbscript, DHML Gestion des interaction avec utilisateurs –+ Réduire les échanges sur le réseau (information, contrôle, cache, action sur les éléments du document) –- Code interprété / Machine Virtuelle –- Vitesse du client ==> Compatibilité/Portage –Write Once, Run Everywhere

38 Stéphane Frénot38INT - 4 Sur le serveur Langages standards : C, C++, Java, Tcl, Python, Perl Langages spécifiques : LiveWire, WebObject, Cold Fusion Gestion des interactions : –Applications complètes –Traitement de chaînes –Accès au réseau –Flux de données ! gestion des sessions

39 Stéphane Frénot39INT - 4 Architectures 3 tiers

40 Stéphane Frénot40INT - 4 Serveur Transactionnel

41 Stéphane Frénot41INT - 4 Transactions sur le Web


Télécharger ppt "Stéphane Frénot1INT - 4 Internet/Intranet Les architectures."

Présentations similaires


Annonces Google