Développement d’applications WEB Marc Matiachoff Groupe ADCU Microsoft France
Microsoft Visual InterDev Dernier né des Visual Tools Utilisateur = Développeur Buts du produit : Environnement de développement visuel pour construire des applications Internet Meilleur outils pour construire des Active Server Pages Accès simplifié aux bases de données Multi-utilisateur, développement en équipe Complet et extensible
Environnement de développement Intégré IDE du Developer Studio Comprend l’ensemble des outils dont a besoin un développeur Internet Développement pour le serveur et le client Outils d’accès aux bases de données Composants et contrôles fournis Gestion et publication de site Contientt des projets VC++, VJ++ et InterDev dans un espace de travail global
Active Server Pages Application serveur pour IIS Fournit : Script sur le serveur (VBScript, JScript, other) Connection aux bases des données basée surODBC ActiveX Server Composants (VB, VC++, VJ++, other) Active Server Page = HTML page incluse dans une logique serveur Applications Cross-browser et cross-platform
Active Server Pages Client Server Internet Information Server HTTP request Active Server Pages JScript VBScript ActiveX Scripting HTTP response Invokes component (COM) Data access component Fetches results (ODBC) default.asp Interprets page
Développement rapide pour Active Server Pages Connections simplifiées aux bases de données Outils d’accès aux données simplifiés Design-time ActiveX Controls Génération de texte basé sur la technologie des contrôles ActiveX Extensibles Assistants et modèles Génération de VBScript ou de JScript
DB Développement Connections basées sur ODBC Outils de Visual Database Intégrer simplement des données provenant de sources hétérogènes Outils de Visual Database Visualisation des données Outils de requêtage Création de bases de données SQL Server 6.5 Fonctionnalité de productivité Database design-time contrôles Assistant HTML Data Form Active Data Objects (ADO) Accès aux bases de données optimisé pour le WEB Modèle de programmation évolué
Développement sur le client Integration d’applets Java Insertion visuelle via le Front Page Editor Intégration de projet avec Visual J++ Integration de contrôles ActiveX Insertion visuelle, génération automatique de la syntaxe HTML Assistant de script pourl le client VBScript ou JScript HTML Layout
Publication et gestion de site Publication par Drag and drop projet basé sur des opérations HTTP Simplicité d’intégration d’autres éditeurs HTML Développement en équipe Projets multi Utilisateurs Integration avec Visual SourceSafe Interopérabilité totale avec Front Page 97 Sécurité Intégrée Contrôle d’accès au WEB SSL-enabled Gestion de site Réparation automatique de liens Visualisation du site
Visual InterDev : Le contenu Composants Server Personal Web Server pour Windows 95 Front Page 97 Server Extensions Active Server Pages Composants Client Visual InterDev IDE Editeur Front Page 97 Microsoft Internet Explorer 3.01 Microsoft Image Composer Microsoft Media Manager Microsoft Music Producer
Plus d’insormations Site WEB Formation http://www.microsoft.com/vinterdev Formation Guided Tour on Web site
Les composants d’accès aux données MSDAC
Microsoft Data Access Components Regroupe l’ensemble des outils/composants pour les développeurs d’applications Ce n’est pas une nouvelle technologie Inclue ADO 1.5 RDS 1.5 ODBC Provider OLE DB (SDK 1.1) La mise à jour des composants (ODBC 3.5) Les Drivers ODBC pour SQL Server, Oracle, Access Exploite les technologies des middleware comme Microsoft Transaction Server et Internet Information Server 3.0+
ActiveX Data Objects L’interface de consommation des données Livré la première fois avec ASP (Internet Information Server 3.0) Interface simple d’accès aux providers OLE DB Objets COM Utilisable depuis tout language compatible COM (Visual Basic, Visual C++, Visual J++, VBScript, Office) Evolution des interfaces DAO et RDO Disponibilité Internet Information Server 3.0 & 4.0, Visual InterDev™, OLE DB SDK, Internet Explorer 4.0 http://www.microsoft.com/data CD devday
Le modèle objet ADO Errors Connection Recordset Fields Command Parameters
Demo ADO Dim Cnx Dim Rs Connection set Cnx=CreateObject(“ADODB.connection”) Cnx.Open “dsn”, “usr”, “pwd” set rs=Execute(“[SQL]”) While Not Rs.EOF … Rs.MoveNext Wend Connection Command rs.Open Recordset
ActiveX Data Objects et OLE DB Fournit l’accès à tous les types de données Pas seulement limité aux données SQL ou au Query Spécifications publiques Utilisé par les développeurs C++ pour exposer les données Optimisé pour les architectures multitier Orientées Objet
Application Client-Serveur Interface Propriétaire Interface propriétaire ISAM SQL
Fournit un accès standard : rowset Accéder via ADO/OLE DB Application ADO Fournit un accès standard : rowset OLE DB OLE DB address: http:www.microsoft.com/oledb/ ole db Product info specification Download Resources e 0:00.15 Commit Transaction T000 0:00.00 Begin Transaction T000 0:00.17 Begin Transaction T001 0:01.00 Join Transaction T001 Resource R902 0:02.07 insert 9.72 to Resource R902 0:06.92 insert 8.73 to Resource R902 0:05.17 Begin Transaction T002 0:07.18 Join Transaction T001 Resource R910 0:07.19 Join Transaction T002 Resource R731 0:09.27 insert 1913.87 to Resource R902 0:09.30 Commit Transaction T000 0:09.28 delete 1913.87 from Resource R910 HTML Fichierde Log OLE DB OLE DB OLE DB OLE DB ISAM Mail Tableur SQL
Client, middle-tier, ou serveur Ajout de query processor et cursor engine Application ADO Client, middle-tier, ou serveur OLE DB OLE DB OLE DB OLE DB address: http:www.microsoft.com/oledb/ ole db Product info specification Download Resources e Cursor engine Query processor 0:00.15 Commit Transaction T000 0:00.00 Begin Transaction T000 0:00.17 Begin Transaction T001 0:01.00 Join Transaction T001 Resource R902 0:02.07 insert 9.72 to Resource R902 0:06.92 insert 8.73 to Resource R902 0:05.17 Begin Transaction T002 0:07.18 Join Transaction T001 Resource R910 0:07.19 Join Transaction T002 Resource R731 0:09.27 insert 1913.87 to Resource R902 0:09.30 Commit Transaction T000 0:09.28 delete 1913.87 from Resource R910 HTML Fichier de Log OLE DB OLE DB OLE DB OLE DB Mail Mail Tableur SQL
Remote Data Services RDS permet Application répartie avec objets serveurs Architecture transparente de cache client Accès sécurisé aux données de l’entreprise Principe du binding Visual Basic Infrastructure distante pour ADO et OLE DB
Objets RDS DataControl Cursor Engine DataSpace DataFactory Data source pour Internet Explorer 4.0/Internet Explorer 3.0 Cursor Engine Cache client, OLE DB Service Provider Curseur, tri, filtre, recherche DataSpace Générateur de Proxy pour composants métiers DataFactory Objet métier par défaut (distant)
Architecture de RDS Serveur Applicatif server Client A D I S A P I I S Proxy Objet Métier I S A D I S A P I Stub COM DCOM HTTP server Objet Métier RDBMS ADODB recordset Cursor Eng OLE DB provider IRowset Client DC DS Web page Cursor Eng IRowset recordset
Demo RDS RDS.DataControl <HTML> <HEAD> <SCRIPT LANGUAGE="VBScript"> <!-- Sub Window_OnLoad() Dim rs set rs=rdsDC.RecordSet while not rs.EOF Liste.AddItem rs("au_lname") & ", " & rs("au_fname") rs.MoveNext wend end sub --> </SCRIPT> <TITLE>RDS.DataControl</TITLE> </HEAD>
Demo RDS RDS.DataControl (suite) <BODY> <!-- RDS.DataControl --> <OBJECT ID="rdsDC" WIDTH=1 HEIGHT=1 CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E33"> <PARAM NAME="SQL" VALUE="select * from authors"> <PARAM NAME="Connect" VALUE="pubs"> <PARAM NAME="Server" VALUE="http://[ServeurWeb]"> </OBJECT> <!-- Liste déroulante --> <OBJECT ID="Liste" WIDTH=196 HEIGHT=96 CLASSID="CLSID:8BD21D20-EC42-11CE-9E0D-00AA006002F3"> <PARAM NAME="ScrollBars" VALUE="3"> <PARAM NAME="DisplayStyle" VALUE="2"> <PARAM NAME="Size" VALUE="5186;2540"> </BODY> </HTML>
Demo RDS RDS.DataFactory et RDS.DataSpace <HTML> <HEAD> <SCRIPT LANGUAGE="VBScript"> <!-- Sub Window_OnLoad() Dim DF Dim Rs set DF = rdsDS.CreateObject("RDSServer.DataFactory” ,"http://[ServeurWeb]") set Rs = DF.Query("Pubs", "Select * from authors") while not Rs.EOF Liste.AddItem Rs("au_lname") & ", " & Rs("au_fname") Rs.MoveNext wend end sub --> </SCRIPT>
RDS.DataFactory et RDS.DataSpace (Suite) <TITLE>Utilisation d'un RDS.DataSpace</TITLE></HEAD> <BODY> <!-- RDS.DataControl ID rdsDC --> <OBJECT ID="rdsDC" WIDTH=1 HEIGHT=1 CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E33"> </OBJECT> <!-- RDS.DataSpace ID rdsDS --> <OBJECT ID="rdsDS" WIDTH=1 HEIGHT=1 CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36"> <!-- Liste déroulante --> <OBJECT ID="Liste" WIDTH=196 HEIGHT=96 CLASSID="CLSID:8BD21D20-EC42-11CE-9E0D-00AA006002F3"> <PARAM NAME="ScrollBars" VALUE="3"> <PARAM NAME="DisplayStyle" VALUE="2"> <PARAM NAME="Size" VALUE="5186;2540"> </BODY> </HTML>
Demo RDS Utilisation d’un DataFactory personnalisé <HTML> <HEAD> <SCRIPT LANGUAGE="VBScript"> <!-- Sub Window_OnLoad() Dim DF Dim Rs set DF = rdsDS.CreateObject("Mon_Datafactory.Authors” ,"http://[ServeurWeb]") set Rs = DF.GetAuthors() while not Rs.EOF Liste.AddItem Rs("au_lname") & ", " & Rs("au_fname") Rs.MoveNext wend end sub --> </SCRIPT>
Utilisation d’un DataFactory personnalisé (suite) <TITLE>Utilisation d'un DataFactory personnalisé</TITLE> </HEAD> <BODY> <!-- RDS.DataControl ID rdsDC --> <OBJECT ID="rdsDC" WIDTH=1 HEIGHT=1 CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E33"> </OBJECT> <!-- RDS.DataSpace ID rdsDS --> <OBJECT ID="rdsDS" WIDTH=1 HEIGHT=1 CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36"> <!-- Liste déroulante --> <OBJECT ID="Liste" WIDTH=196 HEIGHT=96 CLASSID="CLSID:8BD21D20-EC42-11CE-9E0D-00AA006002F3"> <PARAM NAME="ScrollBars" VALUE="3"> <PARAM NAME="DisplayStyle" VALUE="2"> <PARAM NAME="Size" VALUE="5186;2540"> </BODY> </HTML>
Demo RDS Création d’un DataFactory personnalisé Public Function GetRecordset(ODBC As String ,SQL As String) As Object Dim Cnx As New ADODB.Connection Dim Rs As New ADODB.Recordset Cnx.Open (ODBC) Rs.CursorLocation = adUseClient Rs.Open SQL, Cnx, adOpenKeyset ,adOpenUnspecified, adLockUnspecified Set GetRecordset = Rs End Function Public Function GetAuthors() As Object Set GetAuthors = GetRecordset("Pubs", "Select * from authors")
Conclusion L’Universal Data Access ADO et OLE DB pour développer les composants d’accès aux données RDS comme infrastructure pour les applications Inter/Intranet Comment développer dès aujourd’hui : CD DevDay, www.microsoft.com/data, NT Option Pack