Choix en matière de conception d'applications

Cet article traite de certains des problèmes de conception à prendre en compte lors de la programmation pour Internet.

Les sujets traités dans cet article sont les suivants :

Si vous êtes prêt à commencer à écrire votre programme maintenant, consultez Écriture d’applications MFC.

Intranet et Internet

De nombreuses applications s’exécutent sur Internet et sont accessibles à toute personne disposant d’un navigateur et d’un accès Internet. Les entreprises implémentent également des intranets, qui sont des réseaux à l’échelle de l’entreprise utilisant des protocoles TCP/IP et des navigateurs web. Les intranets offrent une source centrale facilement mise à niveau pour les informations à l’échelle de l’entreprise. Ils peuvent être utilisés pour la mise à niveau de logiciels, pour la livraison et la tabulation d’enquêtes, pour le support client et pour la livraison d’informations. Le tableau suivant compare les fonctionnalités d’Internet et d’intranets.

Internet Intranet
Faible bande passante Bande passante élevée
Sécurité réduite des données et des systèmes Accès contrôlé aux données et aux systèmes
Contrôle minimal du contenu Contrôle élevé du contenu

Application cliente ou serveur

Votre application peut s’exécuter sur un ordinateur client ou sur un ordinateur serveur. Votre application peut également être stockée sur un serveur, puis téléchargée sur Internet et exécutée sur un ordinateur client. Les classes WinInet MFC sont utilisées pour les applications clientes pour télécharger des fichiers. Les classes moniker MFC et asynchrones sont utilisées pour télécharger des fichiers et des propriétés de contrôle. Les classes pour les contrôles ActiveX et les documents Actifs sont utilisées pour les applications clientes et pour les applications téléchargées à partir du serveur pour s’exécuter sur un client.

Page web : HTML, Documents actifs, contrôles ActiveX

Microsoft propose plusieurs façons de fournir du contenu sur une page Web. Les pages web peuvent utiliser des extensions HTML ou HTML standard, telles que la balise d’objet, pour fournir du contenu dynamique tel que des contrôles ActiveX.

Les navigateurs web affichent généralement des pages HTML. Les documents actifs peuvent également afficher les données de votre application dans l’interface simple point-and-click d’un navigateur compatible COM. Votre serveur de documents actif peut afficher votre document, image complète dans l’ensemble de la zone cliente, avec ses propres menus et barres d’outils.

Les contrôles ActiveX que vous écrivez peuvent être téléchargés de manière asynchrone à partir du serveur et affichés sur une page web. Vous pouvez utiliser un langage de script tel que VBScript pour effectuer une validation côté client avant d’envoyer des informations au serveur.

Navigateur ou application autonome

Vous pouvez écrire des contrôles ActiveX incorporés dans une page HTML et des serveurs de documents actifs qui sont consultés dans un navigateur. Vous pouvez écrire des pages HTML qui contiennent un bouton pour envoyer une demande d’exécution de votre application ISAPI sur un serveur web. Vous pouvez écrire une application autonome qui utilise des protocoles Internet pour télécharger des fichiers et afficher les informations à votre utilisateur, sans jamais utiliser d’application de navigateur.

COM sur Internet

Les contrôles ActiveX, les documents actifs et les monikers asynchrones utilisent toutes les technologies COM (Component Object Model).

Les contrôles ActiveX fournissent du contenu dynamique aux documents et aux pages sur les sites Internet. Avec COM, vous pouvez créer des contrôles ActiveX et des documents en image complète à l’aide de documents actifs.

Les monikers asynchrones fournissent des fonctionnalités permettant à un contrôle de fonctionner correctement dans un environnement Internet, y compris un moyen incrémentiel ou progressif de télécharger des données. Les contrôles doivent également fonctionner correctement avec d’autres contrôles qui peuvent également récupérer leurs données de manière asynchrone en même temps.

Services de téléchargement de données client

Deux ensembles d’API qui aideront à transférer des données vers votre client sont des monikers WinInet et asynchrones. Si vous avez des fichiers .gif et .avi volumineux et des contrôles ActiveX sur votre page HTML, vous pouvez augmenter la réactivité de l’utilisateur en téléchargeant de manière asynchrone, soit en utilisant des monikers asynchrones, soit en utilisant WinInet de manière asynchrone.

Une tâche courante sur Internet consiste à transférer des données. Si vous utilisez déjà la technologie Active (par exemple, si vous disposez d’un contrôle ActiveX), vous pouvez utiliser des monikers asynchrones pour afficher progressivement les données à mesure qu’elles sont téléchargées. Vous pouvez utiliser WinInet pour transférer des données à l’aide de protocoles Internet courants tels que HTTP, FTP et gopher. Les deux méthodes fournissent une indépendance de protocole et fournissent une couche abstraite pour utiliser WinSock et TCP/IP. Vous pouvez toujours utiliser WinSock directement.

Le tableau suivant récapitule plusieurs façons d’utiliser MFC pour transférer des données sur Internet.

Utiliser ce protocole Dans ces conditions Utilisation de ces classes
Téléchargement Internet à l’aide de monikers asynchrones Pour le transfert asynchrone à l’aide de COM, de contrôles ActiveX et de n’importe quel protocole Internet. CAsyncMonikerFile, CDataPathProperty
Wininet Pour les protocoles Internet pour HTTP, FTP et gopher. Les données peuvent être transférées de manière synchrone ou asynchrone et stockées dans un cache à l’échelle du système. CInternetSession, CFtpFileFind, CGopherFileFind, etc.
Winsock Pour optimiser l’efficacité et le contrôle. Nécessite une compréhension des sockets et des protocoles TCP/IP. CSocket, CAsyncSocket

Voir aussi

Tâches de programmation Internet MFC
Notions de base de la programmation Internet MFC
Extension Internet Win32 (WinInet)
Monikers asynchrones sur Internet