Partager via


Architecture d'InfoPath Forms Services

InfoPath Forms Services, en tant que composante de Microsoft Office Forms Server 2007 ou de Microsoft Office SharePoint Server 2007, est un véritable système multiniveau. L'architecture d'InfoPath Forms Services comprend Microsoft Office InfoPath 2007 et le contrôle de navigateur XmlFormView sur le bureau. Ils communiquent avec le niveau intermédiaire directement ou via les services Web d'InfoPath Forms Services, lesquels communiquent avec les composants sous-jacents d'InfoPath Forms Services et d'Office SharePoint Server 2007.

Intégration à Office SharePoint Server 2007

InfoPath Forms Services s'intègre à la plateforme principale et aux composants avancés d'Office SharePoint Server 2007, dont plusieurs produits et composants de serveur sont conçus sur la plateforme Windows SharePoint Services 3.0. Du fait que InfoPath Forms Services, Office SharePoint Server 2007 et les produits apparentés sont conçus sur la plateforme commune de SharePoint Products and Technologies, les développeurs peuvent utiliser un jeu commun d'outils et de techniques de développement pour intégrer et développer tous les produits.

Composants d'Office SharePoint Server 2007

Office SharePoint Server 2007 regroupe des services et applications qui étaient auparavant séparés. Par exemple, la fonctionnalité de Microsoft Office SharePoint Portal Server 2003 et Microsoft Content Management Server (MCMS) 2002 font désormais partie d'Office SharePoint Server 2007. Par ailleurs, Office SharePoint Server 2007 ajoute de nouvelles fonctionnalités d'administration, de collaboration, de gestion des processus métier et d'aide à la décision, ainsi que Services Excel, Gestion de contenu d'entreprise, une architecture de recherche commune et le flux de travail.

La figure 1 illustre les principaux composants et fonctionnalités d'Office SharePoint Server 2007 ainsi que les services d'application et d'administration partagés.

Figure 1. Applications et composants de SharePoint Server

Applications et composants de SharePoint Server

Remarque La figure 1 présente une vue généralisée d'Office SharePoint Server 2007 et de la plateforme Windows SharePoint Services, et ne montre pas quels sont les services d'application partagés spécifiquement associés aux composants principaux tels que Windows Workflow Foundation. Par ailleurs, InfoPath Forms Services s'intègre à Office SharePoint Server 2007 au même niveau qu'Services Excel mais est présenté dans le diagramme comme un SKU séparé, appelé Office Forms Server 2007.

Produits

Microsoft Office Project Server 2007 et Microsoft Office Forms Server 2007 sont disponibles séparément d'Microsoft Office SharePoint Server 2007.

Tous les produits du Microsoft Office System 2007, dont Office SharePoint Server 2007, Office Project Server 2007 et Office Forms Server 2007, utilisent la plateforme principale de Windows SharePoint Services et certains services d'application d'Office SharePoint Server 2007.

Toutes les fonctionnalités d'Office SharePoint Server 2007 peuvent être intégrées et développées avec un jeu commun d'outils et de technologies dans Microsoft Visual Studio 2005 et Microsoft Office SharePoint Designer 2007. Microsoft ASP.NET 2.0 permet aux développeurs de créer et de modifier des composants Web et des pages maîtres, de personnaliser des sites Web et d'intégrer un modèle de fournisseur extensible pour la navigation, la sécurité et autres fonctionnalités de plateforme.

Office SharePoint Server 2007 nécessite soit SQL Server 2000 avec le Service Pack 3 ou ultérieur, soit SQL Server 2005. Si ces applications sont installées sur un même ordinateur, Office SharePoint Server 2007 peut être exécuté avec SQL Server 2000 MSDE ou SQL Server 2005 Express Edition. Pour une installation en batterie utilisant plusieurs ordinateurs, tous les produits de serveur du Microsoft Office System 2007 nécessitent la version complète de SQL Server.

Architecture générale

Quatre composants principaux d'InfoPath Forms Services permettent de convertir, rendre et exécuter des fichiers de modèles de formulaire (.xsn) dans un navigateur comme dans le client InfoPath :

  • IIS et modules ASP.NET de prise en charge : renvoient du code HTML au navigateur, lancent des demandes de fichier au Générateur de pages et au Convertisseur et transfèrent des informations de publication à traiter par le Générateur de pages.

  • Gestionnaire HTTP d'InfoPath Forms Services : transfère les demandes d'IIS et des modules ASP.NET de prise en charge et du Générateur de pages.

  • Convertisseur : convertit les fichiers de modèles de formulaire (.xsn) en fonction de leur contenu en modules de solution et en pages .aspx, met les données de solution en cache et transfère les fichiers convertis au Gestionnaire HTTP d'InfoPath Forms Services.

  • Générateur de pages : communique avec les sources de données externes, stocke et extrait les états de session, obtient les données et modèles de solution initiaux, traite les données du journal des événements de publication et renvoie les données à IIS et aux modèles ASP.NET de prise en charge en fonction de la demande du Gestionnaire HTTP d'InfoPath Forms Services.

Architecture d'exécution

Par défaut, si InfoPath est installé sur l'ordinateur à l'origine de la demande du formulaire, celui-ci est ouvert dans InfoPath. Lorsqu'un formulaire activé pour le navigateur est demandé et qu'InfoPath n'est pas installé sur l'ordinateur, InfoPath Forms Services redirige la demande vers la page FormServer.aspx et envoie au navigateur du code JScript pré-généré et des tableaux de données JScript propres à l'application. Le tableau de script côté client non modifiable est généré en deux étapes : lorsque le modèle de formulaire est converti et lorsque le formulaire est demandé. Il fonctionne de la même façon que du code AJAX (Asynchronous JavaScript and XML) dans sa manière de gérer la génération d'HTML et la communication du serveur sur le client. Le tableau de script gère les tâches suivantes :

  • la génération et le rendu du code HTML en fonction du tableau JScript du serveur ;

  • la génération d'un journal des événements retraçant ce qui se passe sur le client lors du processus de publication sur le serveur ;

  • la validation des données ;

  • les calculs ;

  • les règles ;

  • la modification des actions, comme l'insertion ou la suppression de certaines parties du formulaire ;

  • la mise en forme conditionnelle.

Lorsque l'utilisateur entre des données dans le formulaire ou le met à jour, un journal des événements enregistre toutes les actions de l'utilisateur. Ce journal est renvoyé au serveur lors de la publication suivante sous la forme d'un tableau de données JScript. Le serveur répète ensuite les actions du journal sur les données XML d'origine et exécute les règles et autres logiques métier appropriées. Le serveur envoie ensuite au navigateur un tableau de données JScript mis à jour. Cette architecture client/serveur combinée permet au formulaire de fonctionner dans le navigateur sans avoir à communiquer avec le serveur pour chaque action de l'utilisateur. Toutefois, lorsque la communication avec le serveur est indispensable, le client et le serveur communiquent avec le tableau de données JScript du journal des événements pour optimiser le temps de réponse et mettre à jour le formulaire avec les modifications différentielles, au lieu d'échanger le formulaire entier et le code JScript pré-généré avec chaque demande.

Envoi de formulaires

L'envoi d'un formulaire est géré par le serveur pour le navigateur. Contrairement à l'envoi d'un formulaire à partir du client InfoPath, qui est un simple processus d'envoi XML, l'envoi d'un formulaire à partir du navigateur commence par l'envoi du journal des événements au serveur via XMLHTTP, après quoi le serveur relit le journal des événements et envoie le XML au destinataire final. Ce processus d'envoi en deux étapes peut présenter des problèmes d'authentification, communément appelé « problème du double saut », mais l'utilisation du proxy InfoPath Forms Services peut contribuer à résoudre ce problème. Pour plus d'informations sur l'utilisation du proxy, voir À propos de la connexion de données, de l'authentification et du mappage des accès de substitution.

Rendu et paramètres de requête

Les composants de rendu d'InfoPath Forms Services sont les pages FormServer.aspx et MobileFormServer.aspx, qui se trouvent respectivement dans les dossiers _layouts et _layouts/Mobile du serveur. Dans les cas où plusieurs serveurs WFE (Web Front-End) et un serveur de base de données forment une batterie, ces composants se trouvent sur le WFE.

Lorsqu'un modèle de formulaire basé sur le navigateur est rendu par la page FormServer.aspx, les données XML d'origine et le code HTML représentant le formulaire sont envoyés au navigateur, accompagnés des modules de solution JScript de prise en charge non modifiables. Ces modules gèrent les opérations côté client, telles que les calculs simples, la mise en forme conditionnelle et la validation des données. Ils gèrent également la communication des modifications incrémentielles des données XML avec le serveur. Les résultats de ces modifications sont ensuite utilisés dans les modules de solution JScript pour mettre à jour la page HTML représentant le formulaire, augmentant ainsi les performances en réduisant les publications de pages entières sur le serveur.

La gestion d'un modèle de formulaire basé sur le navigateur par la page MobileFormServer.aspx est similaire. Toutefois, le traitement côté client via les modules de solution JScript est absent. Davantage d'opérations du formulaire mobile requièrent une communication avec le serveur et chacune d'elles entraîne la publication d'une page entière. Au lieu de communiquer les modifications incrémentielles, les paires nom/valeur de chaque contrôle de la vue sont envoyées au serveur.

InfoPath Forms Services prend en charge les paramètres de requête pour contrôler le rendu d'un formulaire, son emplacement de sauvegarde, ainsi que la page vers laquelle un utilisateur est redirigé lors de la fermeture du formulaire. Pour plus d'informations sur l'utilisation des paramètres de requête, voir Procédure : utiliser des paramètres de requête pour appeler des formulaires InfoPath activés pour le navigateur.

Cycle de vie d'un modèle de formulaire

La figure 2 illustre les différents états possibles d'un modèle de formulaire dans InfoPath Forms Services :

Cycle de vie d'un modèle de formulaire

Figure 2. Cycle de vie d'un modèle de formulaire

Pour plus d'informations sur le cycle de vie d'un modèle de formulaire, voir Cycle de vie du développement et du déploiement d'un formulaire.

Convertisseur de modèle de formulaire

Lors de la conversion du formulaire, un fichier de modèle de formulaire (.xsn) est développé vers les fichiers qui le composent, comme le fichier manifest.xsf, les fichiers de schémas (.xsd) et les fichiers de vues (.xsl). Ces fichiers sont stockés sur le serveur et permettent de générer des scripts et d'autres composants utilisés par InfoPath Forms Services pour rendre le formulaire dans le contrôle XmlFormView.