55
BIZTALK SERVER Initiation à l’intégration avec

Initiation à lintégration avec biztalk server

Embed Size (px)

Citation preview

Page 1: Initiation à lintégration avec biztalk server

BIZTALK SERVERInitiation à l’intégration avec

Page 2: Initiation à lintégration avec biztalk server

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

Page 3: Initiation à lintégration avec biztalk server

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é…

Page 4: Initiation à lintégration avec biztalk server

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

Page 5: Initiation à lintégration avec biztalk server

Portail

Facturation

RH

CRM

ERP

Stock

LES ARCHITECTURES D’INTÉGRATION : EAI

Page 6: Initiation à lintégration avec biztalk server

LES ARCHITECTURES D’INTÉGRATION : EAI

Page 7: Initiation à lintégration avec biztalk server

• 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

Page 8: Initiation à lintégration avec biztalk server

Portail

Facturation

RH

CRM

ERP

Stock

EAI

LES ARCHITECTURES D’INTÉGRATION : EAI

Page 9: Initiation à lintégration avec biztalk server

• 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

Page 10: Initiation à lintégration avec biztalk server

• La combinaison des processus

• l‘intégration des applications

• L’automatisation

• L’ interopérabilité

• Echanges de données

• Suivie et monitoring

• Administration

BIZTALK SERVER

Page 11: Initiation à lintégration avec biztalk server

• Connexion de plusieurs systèmes :

• Protocoles différents

• Intelligence de Biztalk server

• Adaptation avec les autres systèmes

BIZTALK SERVER

Page 12: Initiation à lintégration avec 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

Page 13: Initiation à lintégration avec biztalk server

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

Page 14: Initiation à lintégration avec biztalk server

ARCHITECTURE DU PRODUIT

Page 15: Initiation à lintégration avec biztalk server

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

Page 16: Initiation à lintégration avec biztalk server

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

Page 17: Initiation à lintégration avec biztalk server

Receive Port

Receive Locations

PORTS DE RÉCEPTION

File

HTTP

Receive pipeline

Receive pipeline

MessageBox

Page 18: Initiation à lintégration avec biztalk server

PORTS DE RÉCEPTION

Page 19: Initiation à lintégration avec biztalk server

PORTS DE RÉCEPTION

Page 20: Initiation à lintégration avec biztalk server

PORTS D’ENVOI

MessageBox

Receive Port

Receive Locations

FileXML Receive

Send Port

FileXML Transmit

Page 21: Initiation à lintégration avec biztalk server

PORTS D’ENVOI

Page 22: Initiation à lintégration avec biztalk server

PORTS D’ENVOI

• Précision d’options

• Nombre de tentatives

• Intervalle entre 2 essais

• Horaires de traitement

• …

Page 23: Initiation à lintégration avec biztalk server

PORTS D’ENVOI

• Définition d’un transport

secondaire

• Déclenchement quand le

Transport principal ne peut

pas être contacté

• Exemple :

Ftp non joignable

Page 24: Initiation à lintégration avec biztalk server

• 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

Page 25: Initiation à lintégration avec biztalk server

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

Page 26: Initiation à lintégration avec biztalk server

• 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

Page 27: Initiation à lintégration avec biztalk server

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:

Page 28: Initiation à lintégration avec biztalk server

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

Page 29: Initiation à lintégration avec biztalk server

SCHEMAS

Page 30: Initiation à lintégration avec biztalk server

• 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

Page 31: Initiation à lintégration avec biztalk server

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

Page 32: Initiation à lintégration avec biztalk server

CONFIGURER UN ADAPTATEUR

Page 33: Initiation à lintégration avec biztalk server

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

Page 34: Initiation à lintégration avec biztalk server

LES PIPELINES

Page 35: Initiation à lintégration avec biztalk server

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

Page 36: Initiation à lintégration avec biztalk server

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

Page 37: Initiation à lintégration avec biztalk server

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

Page 38: Initiation à lintégration avec biztalk server

Pipeline Files

Properties Window

Design SurfaceToolbox

DESIGNER DU PIPELINE

Page 39: Initiation à lintégration avec biztalk server

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

Page 40: Initiation à lintégration avec biztalk server

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

Page 41: Initiation à lintégration avec biztalk server

• Mappage simple d'une valeur donnée (copie directe)

NOM

PRENOM

AGE

ADRESSE

NOM

PRENOM

AGE

ADRESSE

MEME VALEUR

MAPPING

Page 42: Initiation à lintégration avec biztalk server

• Concaténation des valeurs

NOM

PRENOM

AGE

ADRESSE

NOM COMPLET

AGE

ADRESSE

CONCATENATION

C

MAPPING

Page 43: Initiation à lintégration avec biztalk server

• sélection conditionnelle

NOM

PRENOM

AGE

CNIE

NOM COMPLET

AGE

DOCUMENTD’IDENTITE

CONDITION

C

?

CARTE SEJOUR

MAPPING

Page 44: Initiation à lintégration avec biztalk server

• Les scripts personnalisés

NOM

PRENOM

DATE DE NAISSANCE

ADRESSE

NOM

PRENOM

AGE

ADRESSE

CALCULE

S

MAPPING

Page 45: Initiation à lintégration avec biztalk server

• Ajouter une nouvelle valeur

NOM

PRENOM

AGE

NOM

PRENOM

AGE

MATRICULE

GENERATION AUTOMATIQUE DU MATRICULE

S

MAPPING

Page 46: Initiation à lintégration avec biztalk server

MAPPING

Page 47: Initiation à lintégration avec biztalk server

MAPPING

Page 48: Initiation à lintégration avec biztalk server

ORCHESTRATIONS

Page 49: Initiation à lintégration avec biztalk server

• 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

Page 50: Initiation à lintégration avec biztalk server

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

Page 51: Initiation à lintégration avec biztalk server

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

Page 52: Initiation à lintégration avec biztalk server

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

Page 53: Initiation à lintégration avec biztalk server

Process AreaPortSurface

Toolbox

PortSurface

Orchestration View

Properties

ORCHESTRATIONS

Page 54: Initiation à lintégration avec biztalk server

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

Page 55: Initiation à lintégration avec biztalk server

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