2. Formation
• Bac+5 à l’école Marocaine des sciences
de l’ingénieur Option MIAGE
• Master 2 MIAGE option nouvelles
technologies et directions de projet
Expériences professionnelles
• Consultant Technico-Fonctionnel sur
plateforme EDI - CAPGEMINI
• Consultant IT sur les technologies
Microsoft spécialement BizTalk Server
autour d’une plateforme EAI/SOA -
ATOS
BENTALBA SALAH-EDDINE
3. LE SYSTÈME D’INFORMATION ET
SON ÉVOLUTION
• Système d’Information monolithique ( séquentielles, isolées) : application majeure
sans connexion avec l’extérieur.
• Les Systèmes d’Information évoluent souvent selon deux stratégies :
• La stratégie du tout intégré : mettre en place un ERP
• La stratégie best of breed : logiciels spécialisés
• L’ouverture de l’entreprise vers l’extérieur vis-à-vis ses clients, fournisseurs ou
partenaires une nécessité pour son besoin.
• Nouvelles contraintes : respect des standards, contraintes de sécurité…
4. LES ARCHITECTURES D’INTÉGRATION
: EAI
• Répondre aux nouveaux enjeux.
• Développement des Interfaces.
• Objectifs d’un EAI : fournir des services, des outils et des méthodes pour
implémenter des interfaces entre applications
A
DC
B
EAI
7. • Une approche et des outils pour la modernisation des applications de l‘entreprise
• Typiquement pour simplifier et améliorer l’utilisation et maximiser l’automatisation
des processus
• Aussi connu sous le nom Middleware
• Selon Gartner
• “unrestricted sharing of data and business processes among any connected application
or data sources in the enterprise.”
LES ARCHITECTURES D’INTÉGRATION
: EAI
9. • Chaque application communique seulement avec
l’EAI
• Complexité moindre pour développer les flux
• Surveillance centralisée
• Trace de l’activité facilitée
• Aucune perte de communication
• EAI stocke les messages en erreur
• EAI peut rejouer les messages en erreur
Portail
Facturation
RH
CRM
ERP
Stock
EAI
LES ARCHITECTURES D’INTÉGRATION
: EAI
10. • La combinaison des processus
• l‘intégration des applications
• L’automatisation
• L’ interopérabilité
• Echanges de données
• Suivie et monitoring
• Administration
BIZTALK SERVER
11. • Connexion de plusieurs systèmes :
• Protocoles différents
• Intelligence de Biztalk server
• Adaptation avec les autres systèmes
BIZTALK SERVER
12. ERP
Base de données
Service logistique
Service clientèle
Banques Fournisseurs
SOAP
BIZTALK : VUE GÉNÉRALE
Votre entreprise
CRM
Service Financier
13. B
I
Z
T
A
L
K
Port de réception
Port d’envoie
• Architecture de Publication / Souscription
• Quand un message arrive dans BTS :
• Prise en charge par un port de réception
• Transformation si nécessaire
• Application d’une ou plusieurs règles de routage
• Détermination du port d’envoi
• Transformation si nécessaire
• Transmission à un port d’envoi
• Fonctionnement
• Publication du message par le port de réception
• Règle de routage appliquée par abonnement des ports
d’envoi
• Plusieurs abonnements possibles à un message
Règles de
routage
ARCHITECTURE DU PRODUIT
15. Receive
Location
Adaptateur et
pipeline pour
recevoir et
traiter le
message, et
livraison au
Message Box
2
Une expression de
filtrage définit les
propriétés auxquelles un
abonné est intéressé
1
Propriétés des messages
sont évaluées pour
déterminer les abonnés
3
XML or
Flat File
Une copie du
message est
délivrée à
chaque abonné
4
Receive
Adapter
Receive
Pipeline
XML
Abonné
Business
Process
Abonné
Message
Database
Send Port
ARCHITECTURE DE PUBLICATION ET
D’ABONNEMENT
16. Message Routing
Receive Location
Receive
Adapter
Send Port C
Receive
Pipeline
MessageBox
Database
Send Port B
Send Port A
Routes directly to a port
Based on a filter expression
Configured on the send port
Filter Expression Port
If CustomerName = Contoso A
If Price > 1000 B
If Qty > 500 and Price < 1000 C
LE ROUTAGE DES MESSAGES
22. PORTS D’ENVOI
• Précision d’options
• Nombre de tentatives
• Intervalle entre 2 essais
• Horaires de traitement
• …
23. PORTS D’ENVOI
• Définition d’un transport
secondaire
• Déclenchement quand le
Transport principal ne peut
pas être contacté
• Exemple :
Ftp non joignable
24. • Définition du filtre
• Permet l’abonnement à des
messages contenus dans
Biztalk
• Permet de s’abonner selon
de multiples critères
• ReceivePortName
• MesageType
• …
PORTS D’ENVOI
25. BIZTALK
• Cœur de Biztalk
• Base de données contenant
• Liste des abonnés ainsi que leurs filtres
• Messages réceptionnés par Biztalk et devant être consommé par les abonnés
• Fonctionnement identique à une boite de réception de mail
• Contient chaque message entrant
• Permet d’identifier facilement les messages non consommé.
Publication Souscription
MESSAGE BOX
Message Box
Receive port Send port
26. • Chaque message qui arrive dans la MessageBox
• Doit être au format XML
• Doit avoir au moins un abonnement
• Contient des propriétés de contexte
• MessageID : Elément interne auto généré qui l’identifie pour BTS
• Informations de transport (nom du fichier d’entrée, …)
• Informations sur le port emprunté pour entrer dans BTS
• Remarques
• BTS travaille exclusivement avec des messages au format XML
• Quel que soit le format d’entrée dans Biztalk, il doit être transformé en XML
• BTS encapsule les messages non XML dans une coquille XML
MESSAGE BOX
27. SCHEMAS
• Un schéma d'un document définit:
• les éléments possibles dans le document
• les attributs associés à ces éléments
• la structure du document et les types de
données
• Le schéma est spécifié en XML
• pas de nouveau langage
• balisage de déclaration
• domaine spécifique xsd:
28. Message Type Details
XML Supports native XML message types
Defined in XML Schema definition language
(XSD)
Flat File
Supports delimited or positional file formats
XML tags used to represent values
Tag information stored using the annotation
capabilities of XSD
EDI
Specially formatted text message
BizTalk supports EDIFACT and X12 formats
XSD annotations used to define format
Node Structure Start Length
DescriptionDelimited 0 50
UnitPrice Delimited 50 10
Quantity Delimited 60 10
TotalPrice Delimited 70 10
ItemID Delimited 80 10
Status Delimited 99 1
UnitPrice
Item
Description
Quantity
TotalPrice
ItemID
Status
ISA:00: :00: :01:1515151515 :01:5151
51 :041201:1217:U:00403:000032123:0:P:
*~GS:CT:99887766
55:1122334455:20041201:1217:128:X:004
030~ST:831:00128001~BGN
:00:88200001:20041201~N9:BT:88200001
~TRN:1:88200001~AMT:2:10
SCHEMAS
30. • Permettent de s’intégrer à un système, un protocole ou une
technologie
• Gérer les accès depuis et vers l ’extérieur, masquer les
disparités des différents canaux d ’acheminement et de
distribution
• Assurer la transformation en un format canonique interne
en mode message
• Réduire les efforts d’intégration par l ’apport de modules
préfabriqués
• Encapsuler les API ( Application Programming Interface)
propriétaires des applications à connecter et gérer les
protocoles d ’échanges
ADAPTATEURS
31. Protocoles
• FTP
• HTTP
• MSMQ
• POP3
• SMTP
• SOAP
• Web Sphere MQ
Applications
• SAP
• Siebel
• Oracle
• SQL Server
• PeopleSoft
• JD Edwards
• Microsoft SharePoint
• TIBCO
• IBM mainframes
• Web Sphere MQ
WCF
• WCF-WsHttp
• WCF-BasicHttp
• WCF-NetTcp
• WCF-NetMsmq
• WCF-NetNamedPipe
• WCF-Custom
TYPES D’ADAPTATEURS
33. Receive Pipeline Send PipelineOrchestration
Normaliser les données vers XML
Traduire les données de XML vers d’autres formats
Assembler ou désassembler des documents
Coder ou décoder des documents
Crypter ou décrypter des documents
Signer ou vérifier les signatures numériques
Pipeline Components
LES PIPELINES
35. Etape Rôle
Décoder Décrypte ou décode les données du
message.
Désassembler Désassemble un échange en petits messages
et analyse le contenu du message.
Valider Valide les données du message,
généralement par rapport à un schéma.
Résoudre la parité Identifie le tiers BizTalk Server associé à
certain jeton de sécurité dans le message ou
le contexte du message
PIPELINE DE RÉCEPTION
36. Etape Rôle
Préassembler Effectue tout le traitement de message nécessaire avant d'assembler le message.
Assembler Assemble le message et le prépare pour la transmission au moyen d'actions, telles que
l'ajout d'enveloppes, la conversion du format XML au format de fichier plat, ainsi que
d'autres tâches complémentaires à l'étape de désassemblage du pipeline de réception.
Coder Code ou crypte le message avant qu'il ne soit remis.
PIPELINE D’ENVOIE
37. Pipeline Usage
Pass-Through Receive
(PassThruReceive)
Ne fait rien
Pass-Through Send
(PassThruTransmit)
Ne fait rien
XML Receive
(XMLReceive)
Comprend le désassembleur XML
XML Send
(XMLTransmit)
Comprend seulement l’assembleur
XML
PIPELINE PAR DÉFAUT
39. Réception
Décrypter des messages en provenance
de partenaires
Découper des batch
Valider les messages contre des schémas
connus
Vérifier l’identité de l’expéditeur pour
non-répudiation
Créer des traitements personnalisés pour
étendre la fonctionnalité de Biztalk
(Validations ou traitements spéciaux)
Envoi
Crypter des messages en partance vers
des partenaires
Signer des messages en sortie
Envelopper des messages en sortie
Valider les messages contre des schémas
connus
SCENARIOS D’UTILISATIONS
40. 5 fonctionnalités de base :
• Mappage simple d'une valeur donnée (copie
directe)
• Concaténation des valeurs
• sélection conditionnelle
• Les scripts personnalisés
• Ajouter de nouvelles valeurs (données)
MAPPING
41. • Mappage simple d'une valeur donnée (copie directe)
NOM
PRENOM
AGE
ADRESSE
NOM
PRENOM
AGE
ADRESSE
MEME VALEUR
MAPPING
42. • Concaténation des valeurs
NOM
PRENOM
AGE
ADRESSE
NOM COMPLET
AGE
ADRESSE
CONCATENATION
C
MAPPING
49. • Langage de programmation graphique (XLANG)
• Code persisté en XML représentant les formes graphiques
• Compile en .Net (Classes et objets CLR)
• Comprend toute la syntaxe attendue d’un langage
• Séquentialité
• Variables
• Gestion des étendues des variables
• Conditions
• Boucles
• …etc.
ORCHESTRATIONS
50. Forme Usage
Receive
Utilisé pour recevoir un message
Doit spécifier une variable de type message
Peut spécifier un filtre
Send
Utilisé pour envoyer un message
Doit spécifier une variable de type message
Construct Message
Utilisé pour instancier et affecter un message
Doit contenir une transformation de message et/ou une affectation
de message
Message Assignment
Utilisé pour affecter un message à un autre, ou pour affecter le
contenu d’un message
Utilise l’éditeur d’expression (code c#)
Transform
Utilisé pour transformer le contenu d’un message en un autre
message
Doit spécifier le message d’entrée, le message de sortie et un
mappage
ORCHESTRATIONS
51. Send Port
Messages
MessageBox
Receive Port
Receive Location
(Physical Address)
Subscriptions
Bind/Enlist
1
6
3
5
4
Orchestration
Logical Send Port
Logical Receive Port
Send Port
(Physical
Address)
2
ORCHESTRATIONS
52. Liaisons
Types de ports
Identifiant
Modèle de communication
“One-way” ou Requête/Réponse
Etendue (internal, private, ou public)
Opérations
Message Types
Spécifier maintenant
Spécifier plus tard
Direct
Dynamique
ORCHESTRATIONS
54. Tester l’orchestration8
Configurer les liaisons avec les ports physiques7
Compiler et déployer les orchestrations6
Affecter les messages et transformer les données5
Écrire le code graphiquement4
Définir les ports logiques d’envoi et de réception3
Définir les types et les variables2
Définir les schémas1
ETAPES DE DÉVELOPPEMENT