Dans cet exercice, nous allons voir en détails comment créer un nouveau schéma en se passant de l’assistant (wizard) de Visual Studio.
· Ouvrez Visual Studio
· Créer un nouveau projet « Empty Biztalk Server Project » du nom de « LaboSchemas »
Prenez pour bonne habitude de directement changer le nom de déploiement du projet pour « LaboSchemas ».
Pour rappel, changer le nom de déploiement d’un projet se fait dans les propriétés du projet, Onglet « Configuration Properties à Deployement », champ « Application Name »
Ainsi que de lui attribuer un clé de signature.
Pour rappel, cette clef se change dans les propriétés du projet, onglet « Common Properties à Assemly », champ « Assembly Key File »
· Dans l’explorateur de solution, cliquez avec le bouton droit de la souris sur votre projet et sélectionnez « Add à New Item… »
· Dans la boîte de dialogue « Add New Item », sous l’onglet « Schema Files », choisissez le template « Schema » et nommez le « AdresseDeLivraison »
· Cliquez sur Add.
· L’éditeur de schémas s’est maintenant ouvert dans Visual Studio, avec à gauche une représentation sous forme de TreeView, et à droite le code XSD de notre schéma.
· Dans le TreeView, cliquez sur « Root » avec le bouton droit de la souris et renommez le « AdresseDeLivraison »
· Cliquez avec le bouton droit de la souris sur le nœud « adresseDeLivraison » et sélectionnez « Insert Schema Node à Child Field Element », nommez cet élément « Ville ».
· Recommencez l’étape précédente pour les champs suivant :
o Pays
o Rue
o Emai
o Fax
o Localité
o CodePostal
o Téléphone
· Enregistrez votre schéma.
Comme nous pouvons le remarquer sur cette image :
Il existe différent type d’élément de schéma. Les plus intéressants étant les suivant :
| Un child record est un enfant polymorphe qui peut contenir tout et n’importe quoi. C’est l’élément le plus simple qui existe. En XML, il se présentera sous forme d’un élément enfant : <NoeudRoot><Enfant/></NoeudRoot> |
| Le field attribute est l’équivalent du child record hors mit qu’en XML il se représentera sous forme d’un attribut : <NoeudRoot Attribut= « »/> |
| Similaire au child Record en ce qui nous concerne excepté que celui-ci ne peut pas contenir d’enfant. |
| L’élément sequence group permet de définir des séquence tel que celle-ci : <Livres> <Livre/> <Livre/> <Livre/> </Livres> |
Différentes contraintes sont applicables à ces éléments. Vous en trouverez une liste en cliquant sur l’élément « Ville » de notre précédent schéma, dans le panel des propriétés de l’élément.
Ces contraintes, une foi intégrées au schéma, seront vérifiées par BizTalk à chaque étape d’un processus métier. Si l’une d’elle n’est pas respectée, le message sera mit en attente d’une action d’un administrateur, pour peu que l’erreur généré ne soit pas gérée dans le code du processus.