Architecture du service (Reporting Services)
Dans Reporting Services, un serveur de rapports est implémenté en tant que service Windows comprenant des fonctionnalités distinctes qui s'exécutent dans des domaines d'application séparés. Le service héberge le Gestionnaire de rapports, le service Web Report Server, ainsi que des fonctionnalités de traitement en arrière-plan. Cette rubrique décrit la composition du service pour vous permettre de prendre des décisions avisées sur les fonctionnalités à activer et sur la façon de résoudre les problèmes qui peuvent se produire.
Diagramme d'architecture
Le diagramme suivant illustre l'architecture du service dans Reporting Services.
[!REMARQUE]
Le diagramme d'architecture ne répertorie pas toutes les fonctionnalités du serveur de rapports. Par exemple, l'initialisation et le chiffrement réversible sont des opérations de serveur critiques qui ont lieu en dehors de l'étendue des trois fonctionnalités illustrées dans le diagramme.
Service et infrastructure
Le service Windows Report Server est un ensemble consolidé d'applications s'exécutant dans un processus unique, sous un compte unique, et ayant accès à une base de données de serveur de rapports unique et à un ensemble de fichiers de configuration. Les paramètres de configuration pour le service entier sont stockés dans RSeportServer.config, ReportServerServices.exe.config et la base de données du serveur de rapports.
Dans le service, le Gestionnaire de rapports, le service Web et le traitement en arrière-plan s'exécutent dans des domaines d'application distincts. Bien que les trois fonctionnalités soient toutes activées par défaut, vous pouvez configurer les parties du service qui sont disponibles à un moment donné. Par exemple, vous pouvez désactiver le service Web si vous ne souhaitez pas prendre en charge la création de rapports à la demande ou interactive.
Bien que les fonctionnalités du serveur soient isolées dans des domaines d'application distincts, la gestion de la mémoire et l'intégrité des processus est géré pour l'ensemble du service. Les seuils de mémoire sont configurés pour le service dans son intégralité. Les handles du serveur de rapports recyclent les actions sous forme d'opérations internes. Vous ne pouvez pas recycler d'éléments individuels du service à la demande. Toutefois, vous pouvez spécifier des paramètres de configuration qui précisent la durée pendant laquelle les connexions persistantes restent ouvertes.
Si vous segmentez les fonctionnalités d'un service entre plusieurs instances (par exemple, vous activez le Gestionnaire de rapports dans une instance, le service Web dans une deuxième instance et le traitement en arrière-plan dans une troisième instance), la portée des paramètres de mémoire et de configuration s'étend aux applications qui s'exécutent dans cette instance particulière. Notez que même si vous segmentez les fonctionnalités du service, des interdépendances existent. Une installation de serveur de rapports complète utilise en général les trois fonctionnalités à la fois. Pour plus d'informations, consultez Procédure : activer ou désactiver les fonctionnalités Reporting Services.
Écouteur HTTP
Reporting Services comprend un écouteur HTTP qui contrôle les demandes entrantes envoyées à HTTP.SYS sur un port spécifique de l'ordinateur local. Le nom et le port de l'hôte sont spécifiés sur une réservation d'URL lorsque vous configurez le serveur. En fonction du système d'exploitation que vous utilisez, le port que vous spécifiez peut être partagé avec d'autres applications.
L'écouteur HTTP implémente le protocole HTTP 1.1. Il utilise les fonctionnalités HTTP.SYS qui sont intégrées au système d'exploitation. C'est pour cette raison que Reporting Services nécessite des systèmes d'exploitation qui incluent HTTP.SYS comme composant interne.
Lorsque l'écouteur HTTP traite une demande, il la transmet à la couche d'authentification pour vérifier l'identité de l'utilisateur. Le service Web Report Server est appelé une fois que la demande a été authentifiée.
L'écouteur HTTP utilise la version 1.0 de l'API du serveur HTTP. Pour plus d'informations, consultez HTTP Server API sur MSDN (en anglais).
Couche d'authentification
Reporting Services inclut une couche d'authentification qui vérifie l'identité de l'utilisateur ou de l'application qui effectue la demande. Les types d'authentification suivants sont pris en charge : sécurité intégrée de Windows, authentification NTLM, authentification de base, authentification par formulaires ou personnalisée et accès anonyme. Par défaut, Reporting Services utilise la sécurité intégrée de Windows et l'authentification NTLM, mais vous pouvez spécifier un type d'authentification différent dans les fichiers de configuration. Chaque instance de serveur de rapports peut être configurée pour un seul type d'authentification. Si vous disposez d'une configuration de déploiement avec montée en puissance parallèle, chaque nœud de l'environnement doit utiliser le même type d'authentification.
L'authentification du serveur de rapports fonctionne dans le contexte de vos paramètres de sécurité réseau et de vos applications clientes. La réussite d'un type d'authentification particulier dépend des fonctionnalités du navigateur et de la sécurité réseau. Par exemple, la sécurité intégrée de Windows impose l'utilisation d'Internet Explorer, la présence de l'authentification de réseau Kerberos et l'activation de l'emprunt d'identité. Par ailleurs, si vous souhaitez utiliser la sécurité intégrée pour les connexions à la source de données du rapport, vous devez aussi activer la délégation pour permettre les connexions ultérieures aux sources de données distantes.
Pour plus d'informations sur l'authentification dans Reporting Services, consultez Configuration de l'authentification dans Reporting Services.
Gestionnaire de rapports.
Le Gestionnaire de rapports est un client à encombrement nul qui fournit un accès frontal Web au service Web Report Server. Il s'agit d'un outil prêt à l'emploi qui vous permet d'afficher et de gérer le contenu et les opérations du serveur de rapports.
Par défaut, il fournit un accès frontal au service Web qui s'exécute dans la même instance de serveur. Si le service Web n'est pas activé dans l'instance de serveur, vous pouvez pointer le Gestionnaire de rapports sur un service Web Report Server dans une instance ou un ordinateur différent en définissant une URL dans les fichiers de configuration.
Le Gestionnaire de rapports s'exécute dans une session de navigateur sur l'ordinateur client. Aucun fichier d'application ou paramètre n'est stocké sur le client. L'état de session est conservé tant que la fenêtre du navigateur est ouverte. Les paramètres spécifiques à l'utilisateur sont enregistrés dans la base de données du serveur de rapports et réutilisés chaque fois que l'utilisateur se connecte au Gestionnaire de rapports.
Le Gestionnaire de rapports peut prendre en charge des paramètres d'extension de remise personnalisés dans les pages de définition de l'abonnement. Si vous créez et déployez des extensions de remise personnalisées, le Gestionnaire de rapports peut présenter des options et afficher le texte pour cette extension de façon dynamique.
Pour utiliser le Gestionnaire de rapports, vous devez définir une URL vers l'application. Pour désactiver efficacement le Gestionnaire de rapports, ne créez pas d'URL en premier lieu. Si vous avez installé Reporting Services dans la configuration par défaut, l'URL est déjà créée et vous devez la supprimer si vous décidez de désactiver l'application.
Si vous configurez le serveur de rapports pour qu'il s'exécute en mode intégré SharePoint, le Gestionnaire de rapports est désactivé. Vous ne pouvez pas utiliser le Gestionnaire de rapports sur un serveur de rapports qui s'exécute en mode intégré SharePoint, même si vous avez configuré l'URL au préalable.
Pour plus d'informations sur le Gestionnaire de rapports, consultez Gestionnaire de rapports et Procédure : configurer le Gestionnaire de rapports.
Service Web Report Server
Le service Web Report Server est le moteur principal pour toutes les demandes de traitement de modèle et de rapport à la demande qui sont lancées par un utilisateur ou une application en temps réel, y compris la plupart des demandes à destination et en provenance du Gestionnaire de rapports.
Le service Web Report Server procède au traitement de bout en bout des rapports qui s'exécutent à la demande. Pour prendre en charge le traitement interactif, le service Web authentifie l'utilisateur et vérifie les règles d'autorisation avant de traiter une demande. Le service Web prend en charge l'extension de sécurité Windows par défaut et les extensions d'authentification personnalisées.
Le service Web constitue également l'interface de programmation principale pour les applications personnalisées qui s'intègrent au serveur de rapports. Si vous fournissez une interface utilisateur personnalisée, vous pouvez utiliser le service Web sans le Gestionnaire de rapports.
Pour plus d'informations, consultez Service Web Report Server.
Traitement en arrière-plan
Le traitement en arrière-plan fait référence aux opérations qui s'exécutent en arrière-plan et qui sont lancées par le serveur de rapports. Le traitement en arrière-plan se compose principalement de tâches planifiées de traitement de rapport et de remise d'abonnement, mais il comprend aussi des tâches de maintenance de la base de données du serveur de rapports.
Le traitement en arrière-plan pour la planification, l'abonnement et la remise est configurable et peut être désactivé par l'intermédiaire de la facette Configuration de la surface d'exposition pour Reporting Services de la Gestion basée sur des stratégies dans Management Studio. Si vous désactivez ces opérations, le traitement planifié du rapport ou du modèle ne sera pas disponible dans l'instance de service actuelle. La maintenance de la base de données est une tâche essentielle qui ne peut pas être désactivée puisqu'elle maintient le serveur en état de fonctionnement.
Les opérations de traitement en arrière-plan dépendent d'une application frontale ou du service Web pour la définition. Plus particulièrement, les planifications et les abonnements sont créés dans les pages d'application du Gestionnaire de rapports ou sur un site SharePoint si le serveur de rapports est configuré pour l'intégration SharePoint, puis sont transmis au service Web qui crée et stocke les définitions dans la base de données du serveur de rapports.
Si vous fournissez du code personnalisé qui requiert l'accès par programme au traitement principal, utilisez le fournisseur WMI Reporting Services. Pour plus d'informations, consultez Fournisseur WMI de Reporting Services. Pour en savoir plus sur les fonctionnalités de traitement de planification et de remise, consultez Processeur de planification et de livraison.
Authentification et gestion de la mémoire pour le traitement en arrière-plan
Comme illustré dans le diagramme d'architecture du service, le traitement en arrière-plan gère l'authentification et la gestion de la mémoire différemment du Gestionnaire de rapports et du service Web. Les processus d'arrière-plan utilisent Authz.dll pour vérifier si le compte d'utilisateur qui a été utilisé pour créer l'abonnement dispose encore des autorisations appropriées pour afficher le rapport. Ce contrôle garantit que l'utilisateur qui est sur le point de recevoir le rapport est un utilisateur Windows valide dans le domaine. Toute autre tâche de traitement de rapport et de modèle qui s'exécute en tant que processus d'arrière-plan fait l'objet d'une demande sous l'identité du compte d'exécution sans assistance.
Voir aussi