Déploiement d’applications
Cours Déploiement d’applications © Mr CHTIOUI 1
COMPÉTENCE
• Empaqueter et déployer une application sur une architecture client serveur.
Cours Déploiement d’applications © Mr CHTIOUI 2
PRÉSENTATION
• Ce module de compétence particulière s’inscrit dans la fin de la deuxième
année du programme d’études et vise à apprendre aux stagiaires les
techniques d’empaquetage et de déploiement d’applications dans un
environnement client/serveur.
• Ce module nécessite comme prérequis l'enseignement du module
"Programmation client/serveur", "Système de gestion de bases de données
II ", "Introduction aux réseaux informatiques" et "Programmation de sites
Web dynamiques".
Cours Déploiement d’applications © Mr CHTIOUI 3
DESCRIPTION
• L'objectif de ce module est d'initier les stagiaires à mettre en place une
stratégie de déploiement d’application sur un réseau informatique dans un
environnement client/serveur.
Cours Déploiement d’applications © Mr CHTIOUI 4
STRATEGIES D’ENSEIGNEMENT
• Mises en situation pratiques permettant d’empaqueter et de déployer des
applications en mode client serveur selon les besoins définis par l’utilisateur.
• L’accent doit être mis sur la préparation des serveurs nécessaires au
déploiement.
• Au cours de l'enseignement de ce module, sensibiliser les stagiaires à la
production de guide d'installation et d'utilisation.
Cours Déploiement d’applications © Mr CHTIOUI 5
L'EMPAQUETAGE
• En informatique, et en particulier dans le contexte des systèmes UNIX, on
appelle paquet (ou parfois paquetage, en anglais package) une archive (fichier
compressé) comprenant les fichiers informatiques, les informations et
procédures nécessaires à l'installation d'un logiciel sur un système
d'exploitation au sein d'un agrégat logiciel, en s'assurant de la cohérence
fonctionnelle du système ainsi modifié.
Cours Déploiement d’applications © Mr CHTIOUI 6
Notion de client et de serveur
• L'environnement client-serveur désigne un mode de communication à travers
un réseau entre plusieurs programmes ou logiciels : l'un, qualifié de client,
envoie des requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les
requêtes des clients et y répondent. Par extension, le client désigne également
l'ordinateur sur lequel est exécuté le logiciel client, et le serveur, l'ordinateur
sur lequel est exécuté le logiciel serveur.
Cours Déploiement d’applications © Mr CHTIOUI 7
Notion de client et de serveur
Cours Déploiement d’applications © Mr CHTIOUI 8
Client lourd
• Un client lourd, ou client natif, est un logiciel qui propose des
fonctionnalités complexes avec un traitement autonome. La notion de client
s'entend dans une architecture client-serveur. Et contrairement au client léger,
le client lourd ne dépend du serveur que pour l'échange des données dont il
prend généralement en charge l'intégralité du traitement.
Cours Déploiement d’applications © Mr CHTIOUI 9
Client lourd
Cours Déploiement d’applications © Mr CHTIOUI 10
Client léger
Le terme client léger (aussi appelé par un anglicisme thin) désigne parfois des éléments
matériels et parfois des éléments logiciels.
• Client léger au sens matériel :
Au sens matériel, un client léger est un ordinateur qui, dans une architecture client-serveur, n'a
presque pas de logique d'application. Il dépend donc surtout du serveur central pour le
traitement.
• Client léger au sens logiciel :
• Exemple de client léger au sens logiciel : un navigateur Web est un client universel,
particulièrement quand une applet est téléchargée.
• L'usage veut qu'une application en client léger n'impose à l'utilisateur que d'avoir un
navigateur Web, même s'il doit être équipé de plugins ou de machine virtuelles (pour les
applets Java).
Cours Déploiement d’applications © Mr CHTIOUI 11
Client léger
Cours Déploiement d’applications © Mr CHTIOUI 12
SERVEUR D’APPLICATION
Un serveur d'applications est un logiciel d'infrastructure offrant un contexte d'exécution pour
des composants applicatifs. Le terme est apparu dans le domaine des applications web. Dans un
sens strict les composants hébergés par le serveur d'applications ne sont pas de simples
procédures ou scripts mais de réels composants logiciels conformes à un modèle de
composants (EJB,COM, Fractal, etc.).
Cours Déploiement d’applications © Mr CHTIOUI 13
SERVEUR D’APPLICATION
Cours Déploiement d’applications © Mr CHTIOUI 14
Architecture trois tiers
• L'architecture trois tiers, architecture 3-tiers, architecture à trois
niveaux ou architecture à trois couches est l'application du modèle plus général qu'est le
multi-tier. L'architecture logique du système est divisée en trois niveaux ou couches :
• couche présentation ;
• couche métier ;
• couche accès aux données.
Cours Déploiement d’applications © Mr CHTIOUI 15
Architecture trois tiers
Cours Déploiement d’applications © Mr CHTIOUI 16
ARCHITECTURES N-TIER
L’architecture N-tier (anglais tiier : étage, niveau), ou encore appelée multi-tier, est une
architecture client-serveur dans laquelle une application est exécutée par plusieurs composants
logiciels distincts.
Exemple d’architecture 3-tier :
• Tier de présentation : interfaces utilisateurs sur un PC poste de travail, qui s’adressent à des applications serveur
• Tier des règles de gestion : applications serveur qui contiennent la logique de gestion et accèdent aux données
• stockées dans des bases de données
• Tier de base de données : serveurs de bases de données
Avantages des architectures N-tier :
• Le lien entre les niveaux est défini et limité à des interfaces
• Les interfaces assurent la modularité et l’indépendance technologique et topologique de chaque niveau
Cours Déploiement d’applications © Mr CHTIOUI 17
ARCHITECTURES N-TIER
Cours Déploiement d’applications © Mr CHTIOUI 18
WINFORM ET WPF
• WinForm est une technologie basée sur les API WIN32 qui offre une approche assez classique à l'écriture
d'interface utilisateur. Microsoft a développé une technologie beaucoup plus moderne pour remplacer les
WinForms : WPF.
• Windows Présentation Foundation(WPF) est une technologie mélangeant un moteur de composition (similaire
à ce que l'on peut trouver sur d'autres plateformes telles que MacOS X)avec des fonctionnalités de construction
d'interface utilisateur ainsi que des fonctionnalités de dessins, d'animations et de représentation 3D.
• WPF permet d'écrire des applications dont l'interface utilisateur est très dynamique et riche en contenus
multimédia.
Cours Déploiement d’applications © Mr CHTIOUI 19
WINFORM ET WPF
Cours Déploiement d’applications © Mr CHTIOUI 20
FICHIERS BINAIRES
• Un fichier exécutable est un fichier informatique contenant un programme et identifié
par le système d'exploitation en tant que tel.
• Le chargement d'un tel fichier entraîne la création d'un processus dans le système, et
l'exécution du programme.
Cours Déploiement d’applications © Mr CHTIOUI 21
SERVEUR DE DONNÉES
• Un serveur de fichiers permet de partager des données à travers un réseau. Le terme
désigne souvent l'ordinateur (serveur) hébergeant le service applicatif. Il possède
généralement une grande quantité d'espace disque où sont déposés des fichiers. Les
utilisateurs peuvent ensuite les récupérer au moyen d'un protocole de partage de fichier.
• On utilise généralement l'un des quatre protocoles suivant:
• FTP (File Transfer Protocol)
• CIFS (Common Internet File System) anciennement nommé SMB (Server Message Block)
• NFS (Network File System)
• NCP (Netware Core Protocol)
Cours Déploiement d’applications © Mr CHTIOUI 22
SERVEUR DE DONNÉES
Cours Déploiement d’applications © Mr CHTIOUI 23
SERVEUR D’APPLICATIONS WEB
• Un serveur d'applications est un logiciel d'infrastructure offrant un contexte d'exécution pour des composants
applicatifs. Le terme est apparu dans le domaine des applications web.
• Les clients des serveurs d'application sont : des programmes autonomes (stand alone application), des applets ou
d'autres composants.
• Les serveurs d'applications sont des logiciels occupant la couche centrale dans une architecture multicouche,
qu'elle soit classique 3-tiers (postes clients, serveur d'applications, serveur de données) ou étendue (n-tiers)
lorsqu'elle intègre par exemple des serveurs d'acquisition (données de terrain, données de process, de back-office,
etc.) et/ou des serveurs d'interface (gateways, systèmes coopérants externes, etc.).
Cours Déploiement d’applications © Mr CHTIOUI 24
SERVEUR D’APPLICATIONS WEB
Cours Déploiement d’applications © Mr CHTIOUI 25
SERVEUR DE COMPOSANTS MÉTIERS.
Les données métiers peuvent être affichées dans des listes SharePoint et dans des composants WebPart pour les
pages et les sites contenus dans chaque collection de sites utilisée par votre organisation. Les sources de ces
données comprennent Microsoft SQL Server 2012 et ses applications associées, telles que SQL Server 2012
Reporting Services, et les applications métiers enregistrées dans le catalogue de données métiers.
Les types de composants WebPart qui permettent d’afficher des données métiers sur les sites SharePoint sont les
suivants :
• composants WebPart de données métiers principaux ;
• composants WebPart de données métiers spécialisés ;
• composant WebPart Indicateur de performance clé ;
• composants WebPart Excel Web Access ;
• composants WebPart SQL Server 2012 Analysis Services ;
Cours Déploiement d’applications © Mr CHTIOUI 26
SERVEUR DE COMPOSANTS MÉTIERS.
Cours Déploiement d’applications © Mr CHTIOUI 27
URI DES SERVEURS
• Un URI, de l'anglais Uniform Resource Identifier, soit littéralement identifiant uniforme de
ressource, est une courte chaîne de caractères identifiant une ressource sur un réseau (par
exemple une ressource Web) physique ou abstraite, et dont la syntaxe respecte
une norme d'Internet mise en place pour le World Wide Web
• Les URI sont la technologie de base du World Wide Web car tous
les hyperliens du Web sont exprimés sous forme d'URI.
Cours Déploiement d’applications © Mr CHTIOUI 28
URI DES SERVEURS
Cours Déploiement d’applications © Mr CHTIOUI 29
CHAÎNES DE CONNEXION
• Une chaîne de connexion fournit les informations nécessaires à une application ou à un
fournisseur pour communiquer avec une base de données spécifique. Une chaîne de
connexion fournit en général le serveur ou l'emplacement du serveur de base de données, la
base de données à utiliser et les informations d'authentification. Si vous utilisez une chaîne de
connexion, vous pouvez vous connecter à des bases de données à partir d'applications de code
managé de manière centralisée.
Cours Déploiement d’applications © Mr CHTIOUI 30
CHAÎNES DE CONNEXION
Cours Déploiement d’applications © Mr CHTIOUI 31

Déploiement d’applications

  • 1.
    Déploiement d’applications Cours Déploiementd’applications © Mr CHTIOUI 1
  • 2.
    COMPÉTENCE • Empaqueter etdéployer une application sur une architecture client serveur. Cours Déploiement d’applications © Mr CHTIOUI 2
  • 3.
    PRÉSENTATION • Ce modulede compétence particulière s’inscrit dans la fin de la deuxième année du programme d’études et vise à apprendre aux stagiaires les techniques d’empaquetage et de déploiement d’applications dans un environnement client/serveur. • Ce module nécessite comme prérequis l'enseignement du module "Programmation client/serveur", "Système de gestion de bases de données II ", "Introduction aux réseaux informatiques" et "Programmation de sites Web dynamiques". Cours Déploiement d’applications © Mr CHTIOUI 3
  • 4.
    DESCRIPTION • L'objectif dece module est d'initier les stagiaires à mettre en place une stratégie de déploiement d’application sur un réseau informatique dans un environnement client/serveur. Cours Déploiement d’applications © Mr CHTIOUI 4
  • 5.
    STRATEGIES D’ENSEIGNEMENT • Misesen situation pratiques permettant d’empaqueter et de déployer des applications en mode client serveur selon les besoins définis par l’utilisateur. • L’accent doit être mis sur la préparation des serveurs nécessaires au déploiement. • Au cours de l'enseignement de ce module, sensibiliser les stagiaires à la production de guide d'installation et d'utilisation. Cours Déploiement d’applications © Mr CHTIOUI 5
  • 6.
    L'EMPAQUETAGE • En informatique,et en particulier dans le contexte des systèmes UNIX, on appelle paquet (ou parfois paquetage, en anglais package) une archive (fichier compressé) comprenant les fichiers informatiques, les informations et procédures nécessaires à l'installation d'un logiciel sur un système d'exploitation au sein d'un agrégat logiciel, en s'assurant de la cohérence fonctionnelle du système ainsi modifié. Cours Déploiement d’applications © Mr CHTIOUI 6
  • 7.
    Notion de clientet de serveur • L'environnement client-serveur désigne un mode de communication à travers un réseau entre plusieurs programmes ou logiciels : l'un, qualifié de client, envoie des requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les requêtes des clients et y répondent. Par extension, le client désigne également l'ordinateur sur lequel est exécuté le logiciel client, et le serveur, l'ordinateur sur lequel est exécuté le logiciel serveur. Cours Déploiement d’applications © Mr CHTIOUI 7
  • 8.
    Notion de clientet de serveur Cours Déploiement d’applications © Mr CHTIOUI 8
  • 9.
    Client lourd • Unclient lourd, ou client natif, est un logiciel qui propose des fonctionnalités complexes avec un traitement autonome. La notion de client s'entend dans une architecture client-serveur. Et contrairement au client léger, le client lourd ne dépend du serveur que pour l'échange des données dont il prend généralement en charge l'intégralité du traitement. Cours Déploiement d’applications © Mr CHTIOUI 9
  • 10.
    Client lourd Cours Déploiementd’applications © Mr CHTIOUI 10
  • 11.
    Client léger Le termeclient léger (aussi appelé par un anglicisme thin) désigne parfois des éléments matériels et parfois des éléments logiciels. • Client léger au sens matériel : Au sens matériel, un client léger est un ordinateur qui, dans une architecture client-serveur, n'a presque pas de logique d'application. Il dépend donc surtout du serveur central pour le traitement. • Client léger au sens logiciel : • Exemple de client léger au sens logiciel : un navigateur Web est un client universel, particulièrement quand une applet est téléchargée. • L'usage veut qu'une application en client léger n'impose à l'utilisateur que d'avoir un navigateur Web, même s'il doit être équipé de plugins ou de machine virtuelles (pour les applets Java). Cours Déploiement d’applications © Mr CHTIOUI 11
  • 12.
    Client léger Cours Déploiementd’applications © Mr CHTIOUI 12
  • 13.
    SERVEUR D’APPLICATION Un serveurd'applications est un logiciel d'infrastructure offrant un contexte d'exécution pour des composants applicatifs. Le terme est apparu dans le domaine des applications web. Dans un sens strict les composants hébergés par le serveur d'applications ne sont pas de simples procédures ou scripts mais de réels composants logiciels conformes à un modèle de composants (EJB,COM, Fractal, etc.). Cours Déploiement d’applications © Mr CHTIOUI 13
  • 14.
    SERVEUR D’APPLICATION Cours Déploiementd’applications © Mr CHTIOUI 14
  • 15.
    Architecture trois tiers •L'architecture trois tiers, architecture 3-tiers, architecture à trois niveaux ou architecture à trois couches est l'application du modèle plus général qu'est le multi-tier. L'architecture logique du système est divisée en trois niveaux ou couches : • couche présentation ; • couche métier ; • couche accès aux données. Cours Déploiement d’applications © Mr CHTIOUI 15
  • 16.
    Architecture trois tiers CoursDéploiement d’applications © Mr CHTIOUI 16
  • 17.
    ARCHITECTURES N-TIER L’architecture N-tier(anglais tiier : étage, niveau), ou encore appelée multi-tier, est une architecture client-serveur dans laquelle une application est exécutée par plusieurs composants logiciels distincts. Exemple d’architecture 3-tier : • Tier de présentation : interfaces utilisateurs sur un PC poste de travail, qui s’adressent à des applications serveur • Tier des règles de gestion : applications serveur qui contiennent la logique de gestion et accèdent aux données • stockées dans des bases de données • Tier de base de données : serveurs de bases de données Avantages des architectures N-tier : • Le lien entre les niveaux est défini et limité à des interfaces • Les interfaces assurent la modularité et l’indépendance technologique et topologique de chaque niveau Cours Déploiement d’applications © Mr CHTIOUI 17
  • 18.
    ARCHITECTURES N-TIER Cours Déploiementd’applications © Mr CHTIOUI 18
  • 19.
    WINFORM ET WPF •WinForm est une technologie basée sur les API WIN32 qui offre une approche assez classique à l'écriture d'interface utilisateur. Microsoft a développé une technologie beaucoup plus moderne pour remplacer les WinForms : WPF. • Windows Présentation Foundation(WPF) est une technologie mélangeant un moteur de composition (similaire à ce que l'on peut trouver sur d'autres plateformes telles que MacOS X)avec des fonctionnalités de construction d'interface utilisateur ainsi que des fonctionnalités de dessins, d'animations et de représentation 3D. • WPF permet d'écrire des applications dont l'interface utilisateur est très dynamique et riche en contenus multimédia. Cours Déploiement d’applications © Mr CHTIOUI 19
  • 20.
    WINFORM ET WPF CoursDéploiement d’applications © Mr CHTIOUI 20
  • 21.
    FICHIERS BINAIRES • Unfichier exécutable est un fichier informatique contenant un programme et identifié par le système d'exploitation en tant que tel. • Le chargement d'un tel fichier entraîne la création d'un processus dans le système, et l'exécution du programme. Cours Déploiement d’applications © Mr CHTIOUI 21
  • 22.
    SERVEUR DE DONNÉES •Un serveur de fichiers permet de partager des données à travers un réseau. Le terme désigne souvent l'ordinateur (serveur) hébergeant le service applicatif. Il possède généralement une grande quantité d'espace disque où sont déposés des fichiers. Les utilisateurs peuvent ensuite les récupérer au moyen d'un protocole de partage de fichier. • On utilise généralement l'un des quatre protocoles suivant: • FTP (File Transfer Protocol) • CIFS (Common Internet File System) anciennement nommé SMB (Server Message Block) • NFS (Network File System) • NCP (Netware Core Protocol) Cours Déploiement d’applications © Mr CHTIOUI 22
  • 23.
    SERVEUR DE DONNÉES CoursDéploiement d’applications © Mr CHTIOUI 23
  • 24.
    SERVEUR D’APPLICATIONS WEB •Un serveur d'applications est un logiciel d'infrastructure offrant un contexte d'exécution pour des composants applicatifs. Le terme est apparu dans le domaine des applications web. • Les clients des serveurs d'application sont : des programmes autonomes (stand alone application), des applets ou d'autres composants. • Les serveurs d'applications sont des logiciels occupant la couche centrale dans une architecture multicouche, qu'elle soit classique 3-tiers (postes clients, serveur d'applications, serveur de données) ou étendue (n-tiers) lorsqu'elle intègre par exemple des serveurs d'acquisition (données de terrain, données de process, de back-office, etc.) et/ou des serveurs d'interface (gateways, systèmes coopérants externes, etc.). Cours Déploiement d’applications © Mr CHTIOUI 24
  • 25.
    SERVEUR D’APPLICATIONS WEB CoursDéploiement d’applications © Mr CHTIOUI 25
  • 26.
    SERVEUR DE COMPOSANTSMÉTIERS. Les données métiers peuvent être affichées dans des listes SharePoint et dans des composants WebPart pour les pages et les sites contenus dans chaque collection de sites utilisée par votre organisation. Les sources de ces données comprennent Microsoft SQL Server 2012 et ses applications associées, telles que SQL Server 2012 Reporting Services, et les applications métiers enregistrées dans le catalogue de données métiers. Les types de composants WebPart qui permettent d’afficher des données métiers sur les sites SharePoint sont les suivants : • composants WebPart de données métiers principaux ; • composants WebPart de données métiers spécialisés ; • composant WebPart Indicateur de performance clé ; • composants WebPart Excel Web Access ; • composants WebPart SQL Server 2012 Analysis Services ; Cours Déploiement d’applications © Mr CHTIOUI 26
  • 27.
    SERVEUR DE COMPOSANTSMÉTIERS. Cours Déploiement d’applications © Mr CHTIOUI 27
  • 28.
    URI DES SERVEURS •Un URI, de l'anglais Uniform Resource Identifier, soit littéralement identifiant uniforme de ressource, est une courte chaîne de caractères identifiant une ressource sur un réseau (par exemple une ressource Web) physique ou abstraite, et dont la syntaxe respecte une norme d'Internet mise en place pour le World Wide Web • Les URI sont la technologie de base du World Wide Web car tous les hyperliens du Web sont exprimés sous forme d'URI. Cours Déploiement d’applications © Mr CHTIOUI 28
  • 29.
    URI DES SERVEURS CoursDéploiement d’applications © Mr CHTIOUI 29
  • 30.
    CHAÎNES DE CONNEXION •Une chaîne de connexion fournit les informations nécessaires à une application ou à un fournisseur pour communiquer avec une base de données spécifique. Une chaîne de connexion fournit en général le serveur ou l'emplacement du serveur de base de données, la base de données à utiliser et les informations d'authentification. Si vous utilisez une chaîne de connexion, vous pouvez vous connecter à des bases de données à partir d'applications de code managé de manière centralisée. Cours Déploiement d’applications © Mr CHTIOUI 30
  • 31.
    CHAÎNES DE CONNEXION CoursDéploiement d’applications © Mr CHTIOUI 31