Installation et déploiement des Services Web Ziriad Saibi Relation technique éditeurs de logiciels Microsoft France
Sommaire Déploiement des Services Web généraux Déploiement des Services Web avancés Actions personnalisées Automatisation de linstallation dun client Services Web Versioning des Services Web
Déploiement des Services Web généraux Topologie de déploiement Client Serveur Web Serveur de base de données
Déploiement des Services Web généraux Topologie de déploiement
Déploiement des Services Web généraux Projets dinstallation et de déploiement Projet dinstallation et de déploiement Utilisé pour packager une application à déployer Type de projet Visual Studio.NET 2003 Création à laide de lAssistant Installation Permet dinclure les fichiers de sortie provenant dun projet Services Web Fichiers de contenu (.asmx) Sortie principale (dll code-behind ) La sortie obtenue est un package MSI
Déploiement des Services Web généraux Propriétés dun projet Web Projet dinstallation Informations produit Informations support Version Répertoire virtuel Nom Port Autorisations Journalisation Définition de la page par défaut
Déploiement des Services Web généraux Éditeur du système de fichiers Ajout de fichiers et dossiers supplémentaires Des dossiers spécifiques définissent les dossiers correspondants sur lordinateur cible. Il nest pas nécessaire de connaître lemplacement physique de la cible. Les noms des dossiers correspondent aux dossiers standard de Windows.
Déploiement des Services Web généraux Éditeur de linterface utilisateur Personnalisation du script dinstallation Spécification de boîtes de dialogue prédéfinies au cours de linstallation Possibilité de définition des propriétés Possibilité de réorganisation ou de suppression
Déploiement des Services Web généraux Technologie de Windows Installer Permet dinstaller et de désinstaller des applications Intégré à Windows 2000, 2003 et XP Entretien dune base de données sur toutes les applications installées La sortie du projet dinstallation est un fichier.msi Qui constitue les données dentrée de Microsoft Windows Installer Qui contient les fichiers, composants et clés de registre à installer Projet dinstallation.msi Windows Installer Ordinateur cible Répertoire virtuel
Exemple de déploiement des Services Web généraux Démonstration
Déploiement des Services Web avancés Lancer lÉditeur de conditions Ajout de conditions à remplir pour la poursuite de linstallation Sexécute au début dune installation Prédéfini et personnalisé
Déploiement des Services Web avancés Installation des composants Assemblys partagés Ajout à laide de lÉditeur du système de fichiers Installé dans le Global Assembly Cache de lordinateur cible Doit avoir un nom fort Composants COM Automatiquement inclus si référencés Copiés et enregistrés sur lordinateur cible Peuvent être marqués comme permanents Les assemblys privés référencés sont automatiquement inclus
Déploiement des Services Web avancés Modules de fusion Permettent dassembler les composants Installation de composants réutilisables Contiennent des services et composants Web à partager entre applications Projet modules de fusion La sortie est un fichier.msm. Partie intégrante dun.msi
Exemple de déploiement des Services Web avancés Démonstration
Actions personnalisées Tâches supplémentaires durant linstallation Exécution de code géré en fin dinstallation Étend le processus dinstallation. Le code géré réside dans la classe Installer. La classe Installer peut être compilée en tant quassembly privé.dll ou.exe.
Actions personnalisées Classes Installer Ajout à laide de lÉditeur des actions personnalisées Possibilité de plusieurs classes Ajout au cours de la phase dinstallation ou de désinstallation Exception durant le traitement Interruption immédiate de linstallation Annulation de linstallation Utilisation de Visual Studio.NET pour le débogage System.Diagnostic.Debugger.Break Lien vers un débogueur disponible
Actions personnalisées Actions personnalisées prédéfinies Disponibles avec Visual Studio.NET Installation et désinstallation dun journal des applications Installation et désinstallation dun compteur de performances Enveloppées dans une classe ProjectInstaller Utilisation en trois étapes : Ajouter un composant prédéfini au projet dapplication Le configurer comme composant dinstallation Utiliser lÉditeur dactions personnalisées pour lajouter au projet dinstallation
Actions personnalisées Classes Installer personnalisées Exécution de tâches très variées Installation de la base de données SQL Server Traitement du Global Assembly Cache ou du Registre Utilisation en trois étapes : Ajouter une classe Installer au projet dapplication Inclure un code accomplissant la tâche souhaitée Utiliser lÉditeur dactions personnalisées pour ajouter la classe Installer au projet dinstallation
Actions personnalisées Accès aux données entrées par lutilisateur Entrée utilisateur disponible dans une boîte de dialogue prédéfinie Propriété CustomDataAction Définie avec lentrée de la boîte de dialogue Respect de la syntaxe obligatoire /aname=[dialogPropertyName] Disponible pour le programme dinstallation dans la collection Me.Context.Parameters Ensemble des valeurs des entrées utilisateur Utiliser lentrée « aname » pour accéder à la valeur associée
Présentation des actions personnalisées Démonstration
Automatisation de linstallation dun client Services Web Déploiement sans intervention Un client Windows référencie un service Web déployé Référence Web dynamique Lecture de lURL cible dans le fichier de configuration de lapplication Génération dynamique du fichier de configuration lors de linstallation Site Applic Windows Configuration applic Windows Service Web Ordinateur cible.msi Applic Windows Service Web Pas dintervention Client Applic Windows Configuration applic Windows
Automatisation de linstallation dun client Services Web (Facultatif) Démonstration
Versioning des Services Web Types de versioning Par implémentation Par contrat Par type
Versioning des Services Web Versioning par implémentation Transformation de limplémentation interne Meilleures performances Meilleurs algorithmes Meilleure sécurité Sources de données plus nombreuses Les changements ne provoquent pas de rupture Aucun changement dans le schéma des messages ni dans le contrat
Versioning des Services Web Versioning par type Une seule approche – association largement étendue Acceptation de données différentes Gestion de toutes les versions obligatoire Aucune aide pour le schéma de message [WebMethod()] [SoapDocumentMethod(ParameterStyle=ParameterStyle.Bare)] public string AddPerson(object person) {...} [WebMethod()] [SoapDocumentMethod(ParameterStyle=ParameterStyle.Bare)] public string AddPerson(string person) {...} [WebMethod()] [SoapDocumentMethod(ParameterStyle=ParameterStyle.Bare)] public string AddPerson(XmlElement person) {...}
Versioning des Services Web Versioning par type Modèle de contenu ouvert Entité principale Modèle de conception par extension [XmlType(Namespace=" public class person { public string version; public string name; public string ssn; [XmlAnyElement()] public XmlElement[] Any; [XmlAnyAttribute()] public XmlAttribute[] AnyAttr; }
Versioning des Services Web Versioning par type Détermine la version au moment de lexécution Prise en charge pertinente de la version de type public string AddPerson([XmlElement(Namespace=" Person person) { switch (person.version) { case "1.0": return DoAddPersonV1(person); default: return DoAddPersonV2(person); }
Versioning des Services Web Versioning par interface Utile lorsque la compatibilité en amont ne peut pas être assurée Inclusion de lURI Date de codage : Version codée : Contrat lié à lURI
Résumé Quavons-nous appris ? LAssistant Installation permet de créer un projet dinstallation et de déploiement. Les éditeurs permettent de personnaliser le projet dinstallation. Lapplication est déployée à laide dun fichier.msi. Il est possible de gérer les versions par implémentation, type ou interface. Étapes suivantes Planifier le déploiement des applications Planifier le versioning lors du développement de la version V1
© 2004 Microsoft Corporation. Tous droits réservés. Cette présentation nest proposée quà des fins dinformation. MICROSOFT EXCLUT TOUTE GARANTIE EXPRESSE OU IMPLICITE QUANT AU PRÉSENT DOCUMENT.