initiation à lintégration avec biztalk server
TRANSCRIPT
BIZTALK SERVERInitiation à l’intégration avec
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
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é…
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
Portail
Facturation
RH
CRM
ERP
Stock
LES ARCHITECTURES D’INTÉGRATION : EAI
LES ARCHITECTURES D’INTÉGRATION : EAI
• 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
Portail
Facturation
RH
CRM
ERP
Stock
EAI
LES ARCHITECTURES D’INTÉGRATION : EAI
• 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
• La combinaison des processus
• l‘intégration des applications
• L’automatisation
• L’ interopérabilité
• Echanges de données
• Suivie et monitoring
• Administration
BIZTALK SERVER
• Connexion de plusieurs systèmes :
• Protocoles différents
• Intelligence de Biztalk server
• Adaptation avec les autres systèmes
BIZTALK SERVER
ERP
Base de données
Service logistique
Service clientèle
Banques Fournisseurs
SOAP
BIZTALK : VUE GÉNÉRALE
Votre entreprise
CRM
Service Financier
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
ARCHITECTURE DU PRODUIT
ReceiveLocation
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
ReceiveAdapter
ReceivePipeline
XML
Abonné
Business Process
AbonnéMessageDatabase
Send Port
ARCHITECTURE DE PUBLICATION ET D’ABONNEMENT
Message Routing
Receive Location
ReceiveAdapter
Send Port CReceivePipeline
MessageBoxDatabase
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
Receive Port
Receive Locations
PORTS DE RÉCEPTION
File
HTTP
Receive pipeline
Receive pipeline
MessageBox
PORTS DE RÉCEPTION
PORTS DE RÉCEPTION
PORTS D’ENVOI
MessageBox
Receive Port
Receive Locations
FileXML Receive
Send Port
FileXML Transmit
PORTS D’ENVOI
PORTS D’ENVOI
• Précision d’options
• Nombre de tentatives
• Intervalle entre 2 essais
• Horaires de traitement
• …
PORTS D’ENVOI
• Définition d’un transport
secondaire
• Déclenchement quand le
Transport principal ne peut
pas être contacté
• Exemple :
Ftp non joignable
• 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
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
• 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
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:
Message Type Details
XML Supports native XML message types
Defined in XML Schema definition language (XSD)
Flat FileSupports delimited or positional file formats
XML tags used to represent values
Tag information stored using the annotation capabilities of XSD
EDISpecially 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
ItemDescriptionQuantity
TotalPriceItemID
Status
ISA:00: :00: :01:1515151515 :01:515151 :041201:1217:U:00403:000032123:0:P:*~GS:CT:9988776655:1122334455:20041201:1217:128:X:004030~ST:831:00128001~BGN:00:88200001:20041201~N9:BT:88200001~TRN:1:88200001~AMT:2:10
SCHEMAS
SCHEMAS
• 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
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
CONFIGURER UN ADAPTATEUR
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
LES PIPELINES
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
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
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
Pipeline Files
Properties Window
Design SurfaceToolbox
DESIGNER DU PIPELINE
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
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
• Mappage simple d'une valeur donnée (copie directe)
NOM
PRENOM
AGE
ADRESSE
NOM
PRENOM
AGE
ADRESSE
MEME VALEUR
MAPPING
• Concaténation des valeurs
NOM
PRENOM
AGE
ADRESSE
NOM COMPLET
AGE
ADRESSE
CONCATENATION
C
MAPPING
• sélection conditionnelle
NOM
PRENOM
AGE
CNIE
NOM COMPLET
AGE
DOCUMENTD’IDENTITE
CONDITION
C
?
CARTE SEJOUR
MAPPING
• Les scripts personnalisés
NOM
PRENOM
DATE DE NAISSANCE
ADRESSE
NOM
PRENOM
AGE
ADRESSE
CALCULE
S
MAPPING
• Ajouter une nouvelle valeur
NOM
PRENOM
AGE
NOM
PRENOM
AGE
MATRICULE
GENERATION AUTOMATIQUE DU MATRICULE
S
MAPPING
MAPPING
MAPPING
ORCHESTRATIONS
• 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
Forme Usage
Receive
Utilisé pour recevoir un message
Doit spécifier une variable de type message
Peut spécifier un filtre
SendUtilisé pour envoyer un message
Doit spécifier une variable de type message
Construct MessageUtilisé pour instancier et affecter un message
Doit contenir une transformation de message et/ou une affectation de message
Message AssignmentUtilisé 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
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
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
Process AreaPortSurface
Toolbox
PortSurface
Orchestration View
Properties
ORCHESTRATIONS
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
ME CONTACTER Twitter.com/sentalba
Facebook.com/sbentalba
About.me/sbentalba
slideshare.com/salahBentalba
Ma.linkedin.com/in/sbentalba
[email protected]+212 608 992 380