Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAdnet Durand Modifié depuis plus de 10 années
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.