La vidéo du Tutorial
Les Outils
Les outils Aspectize sont complémentaires de Visual Studio, et Visual Studio reste l’outil principal pour réaliser le code métier de l’application.
Nous avons à notre disposition :
- EntityDesigner, qui est un DSL, intégré à Visual Studio, pour réaliser le design des Schemas.
- BindingStudio, qui est un outil externe, pour créer des Applications, et configurer le Binding des Applications.
Nous avons également des Templates intégrés à Visual Studio :
- Aspectize Library, Template Projet pour créer une dll
- Aspectize Schema, Template Item pour créer un Schema
- Aspectize Service, Template Item pour créer un Service
- Aspectize UserControl, Template Item pour créer un User Control
Ainsi que quelques snippets pour générer des petits morceaux de code :
- aasvc pour écrire une classe de Service
- aauc pour écrire une classe de UserControl (utile en WinForm uniquement)
- aax pour un Throw
Tous ces Templates ou Snippets, ne sont que des facilités pour créer ou configurer les éléments dans Visual Studio. Il n’y a rien de spécifique qui ne puisse être fait directement avec l’interface de Visual Studio.
Les Template permettent notamment de configurer les éléments suivants:
- les références nécessaires aux dll Aspectize
- le répertoire de build dans le bon répertoire de l’Application
Ce que nous pourrions faire manuellement dans Visual Studio.
Host et Application Aspectize
Le Host est le Serveur d’Applications Aspectize. Il est toujours installé par défaut, et il est nécessaire pour faire tourner une application Aspectize client, serveur ou web. Nous pouvons avoir autant de Host que nous voulons sur un poste de travail (bien que l’intérêt soit limité), et leur structure est toujours la même.
Le Host est un répertoire qui contient :
- Un répertoire Applications qui contient lui-même des sous-répertoires ; chaque sous-répertoire correspond à une Application.
- Un répertoire Aspectize.core, qui contient tous les binaires Aspectize.
- Un répertoire bin pour le Host Web, qui contient le HttpHandler.
- Le fichier AspectizeHost.exe, qui est l’exécutable du serveur d’Applications (utile pour les applications WinForm ou Serveur).
- Le fichier Web.Config pour IIS

Une Application Aspectize, est un répertoire du Host, qui a le nom de l’Application.
Chaque répertoire d’Application contient :
- Les DLL de code, réalisées avec Visual Studio.
- Toutes les ressources de l’Application ; les fichiers HTML, JS, CSS, images…
- Un fichier de configuration « nomapplication.config.aas », produit par Binding Studio. Ce fichier est un fichier binaire, non éditable.
- Eventuellement, il peut y avoir un autre fichier de configuration « nomapplication.production.aas » qui est la configuration de production, et qui permet de surcharger les éléments de configuration dans l’environnement de Production. Nous verrons ce point plus tard, lors de la mise en production.
Il peut également y avoir des répertoires supplémentaires, qui contiennent des DLL partagées par plusieurs Applications. Dans ce cas, il n’y a pas de fichier de configuration dans ce répertoire, il y a juste des DLL qui seront chargées au démarrage d’une Application située dans un autre répertoire.
Une Application est Client, Serveur ou Web. Toutes les Applications sont créées avec Binding Studio.
Pour déployer une Application Aspectize, il suffit de déployer le répertoire de l’Application dans le Host.
Avant de lancer Binding Studio, il faut disposer d’un répertoire vide accessible en écriture.
ATTENTION : si plusieurs personnes partagent le même projet, il est nécessaire que le chemin logique du Host soit le même pour tout le monde. En effet, ce path est utilisé par VisualStudio comme target path, et est donc présent dans le fichier du projet.
Il peut être pratique de créer un disque logique, de façon à uniformiser le chemin d’accès au Host. Vous pouvez le faire en exécutant, par exemple, la ligne de commande suivante (Démarrer à Executer) : « subst S: D:\Test\Aspectize ».

Afin de disposer de ce disque à chaque démarrage du poste, configurez la registry ainsi :
Lancez Regedit.exe.

Ouvrez la clé suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Ajoutez une entrée « String Value », que vous pouvez appeler Host Aspectize (le nom n’a aucune importance).
Editez la valeur avec votre ligne de commande : « subst S: D:\Test\Aspectize ».
Ainsi, à chaque démarrage de votre poste, vous aurez un répertoire S:\ qui est votre LocalHost Aspectize.
Dans la suite, nous travaillerons avec le Host C:\AspectizeHost.
Binding Studio
Démarrons Binding Studio.
La première fois que nous lançons Binding Studio, nous devons préciser l’emplacement du Host local de développement.

| Choisissez le répertoire du Host | C:\AspectizeHost |
| Cliquez sur Next | |

Si vous ne souhaitez pas faire d’application Web, la configuration est terminée.
Cliquez sur Yes si vous souhaitez faire des Applications Web pour configurer le LocalHost en mode Web.
| Choisissez l’Alias du site Web | WebHost |
| Cliquez sur Create Application | |
Un répertoire virtuel sera automatiquement créé. Vous pouvez aussi faire cette configuration à la main dans IIS :
Lancez la configuration d’IIS (qui se trouve dans les Outils d’Administration) et cliquez sur le Menu « Add Application » sous le site par défaut.

Saisissez WebHost comme Alias, et le répertoire du Host « C:\AspectizeHost » comme répertoire physique.

Cliquez sur OK, pour valider la création de l’Application.
Le Serveur Web est maintenant accessible, toutes les URL débutent par http://localhost/WebHost. C’est l’URL du Local Host Aspectize.
Si nous revenons dans BindingStudio, nous pouvons tester la configuration de notre Host :

Si vous cliquez sur Test, la page suivante doit s’afficher :

Si ce n’est pas le cas, il est possible qu’il y ait un problème avec ASP.NET.
Vous pouvez réinitialisez ASP.NET avec la commande aspnet_regiis.exe, comme cela est expliqué dans le lien du bouton Help.
Tant que vous n’avez pas cette page qui s’affiche, c’est que la configuration d’IIS n’est pas bonne.
Cliquez sur Close pour fermer l’assistant.
Binding Studio est prêt à l’utilisation. L’onglet StartPage est affiché par défaut à chaque démarrage de BindingStudio.

Nous allons créer une première Application.
Sur l’onglet de démarrage, cliquez sur Create.
| Sélectionnez Web Application | |
| Donnez-lui un nom | ADWWeb |
| Choisissez une Location | C:\TestAspectize |
Le répertoire de stockage n’est pas le même répertoire que le Host, c’est un répertoire qui va contenir les sources de la configuration de notre Application. Ce répertoire contiendra les fichiers qui pourront aller dans un gestionnaire de sources, comme Visual SourceSafe ou Team System.
Cliquons sur OK, notre première Application est créée.
Nous pouvons lancer l’Application en cliquant sur le bouton Launch de la barre d’outils
.
La fenêtre du Navigateur s’affiche ; pour l’instant, cela n’a pas d’autre intérêt que de valider que le Host fonctionne correctement.
Nous pouvons regarder le contenu du répertoire D:\Test, que nous avons choisi pour y créer notre Application. Il y a un répertoire ADWWeb avec les fichiers de travail de Binding Studio :
Ce sont des fichiers XML, qui contiennent la configuration éditée par Binding Studio. Le fichier ADWWeb.asln est le fichier de la solution, le fichier ADWWeb.aapp est le fichier de l’application.
De même qu’il y a des sources Visual Studio (*.sln, *.csproj, *.cs, …), et que Visual Studio génère un binaire (*.dll ou *.exe), il y a des sources Binding Studio (*.asln, *.aapp, *.aviw) et Binding Studio génère un fichier binaire *.Config.aas.
Regardons le contenu du répertoire S:\ :
- Le répertoire Applications, qui contient un répertoire ADWWeb, qui contient le fichier ADWWeb.Config.aas, qui est le fichier de configuration généré par Binding Studio. C’est aussi dans ce répertoire, que Visual Studio copiera les dll et les fichiers html/css de la solution (et la raison pour laquelle ce répertoire doit être le même pour tout le monde).
- Le répertoire Aspectize.core, qui contient les binaires Aspectize
- Le répertoire bin qui contient les fichiers AspectizeHttpHandler.dll et BootHost.dll, nécessaire pour l’intégration dans IIS.
L’organisation des fichiers de travail est présentée ici :

Nous pouvons créer notre projet Visual Studio qui va contenir le code source de notre Application.
| Dans Visual Studio créons un Nouveau Projet. Choisissons le Template Aspectize Web Application, qui permet de créer une Application Web. Nommons le projet ADWWeb. Cliquez sur OK |  |
| Une boite de Dialogue apparait pour choisir notre Application Aspectize ADWWeb précédemment créée, avec laquelle elle est liée. Cela permet de copier tous les binaires au bon endroit. Cliquez sur OK, le projet est créé. |  |
Notre environnement de travail est maintenant prêt, et nous allons pouvoir commencer à écrire le code et configurer les Applications.
Par configuration, nous allons déclarer tout ce que nous n’écrirons pas dans le code :
- Les caractéristiques des Applications (Sécurité, Log, Trace, …)
- Le lien entre le code de l’application Serveur (les Services et les Commandes), et l’application Cliente.
- Le lien entre les Données du Schéma et les Contrôles de l’IHM.
Cycle de Travail
Par la suite, nous allons suivre la démarche préconisée avec la solution Aspectize:
1 Création du Schéma avec Aspectize Entity Designer
2 Ecriture du Code Serveur avec Visual Studio
3 Design de l’IHM avec Visual Studio
4 Configuration avec Aspectize Binding Studio

C’est le cycle principal de développement qui est montré ici. L’objectif est de travailler en cycles courts et d’avoir une application qui fonctionne et qui est montrable dès le premier jour du développement.
Nous ferons un premier cycle pour la lecture de la première table et le début de la visualisation des données dans l’IHM. Puis d’autres pour les données successives.
Nous ferons un autre cycle pour sauvegarder les données dans la base. Puis un autre, pour la validation des données.
En fait, à chaque étape, nous procéderons selon ce cycle court et pragmatique.
La suite au prochain épisode.