biztalk server

63
BizTalk Server SOA préparé par : Syrine Khiari-Sami Ayari

Transcript of biztalk server

Page 1: biztalk server

BizTalk ServerSOA

préparé par : Syrine Khiari-Sami Ayari

Page 2: biztalk server

PlanIntroduction

• Enterprise Service Bus• Enterprise Application Integration• B2B IntegrationConcepts clés

• Qu’est ce que Biztalk Server• Fonctionnalités de Biztalk• Architecture de Biztalk• Evolution• Nouveautés • Scénario d’intégration• Concurrents de Biztalk

Biztalk Server

Conclusion

Page 3: biztalk server

Introduction

• Ces pratiques coûtaient bien évidemment très cher à l'entreprise.• Les données étaient largement dupliquées.• les informations étaient incohérentes. • l'entreprise devenait d'autant plus rigide.

L’existant

Page 4: biztalk server

Introduction

• Le besoin

Un besoin d'agilité et de flexibilité d’architectures d’intégration

Pouvoir connecter plusieurs applications qui vont discuter sur des protocoles différents avec des formats de donnés différents

Gestion des règles métiers Définition des processus par le Management Aide au management pour la prise de décisions

Page 5: biztalk server

Introduction Spaghettis Oriented Architecture•Développements coûteux, interface(s) pour chaque application

•Interconnexions redondantes (point à point)

•Grande complexité

•Maintenance difficile

Page 6: biztalk server

Entreprise Application Integration• L’entreprise Application Integration (EAI) est la mise en connexion des applications au sein d’une même organisation• Créer un point centrale (une architecture intergicielle) qui va gérer l’ensemble de flux applicatif

Avantages• Flux centralisés : on n’a plus besoin de développer des interfaces spécifiques à chaque application et les connecter point à point.

• Coût de migration d’applications réduit.

Inconvénients• Point of failure en cas de flux massive ou Suite à un incident (bug applicatif, erreur d'exploitation, endommagement de disque, ...)

Page 7: biztalk server

Entreprise Service Bus• L'Enterprise Service Bus ou ESB est une technologie informatique intergiciel qui regroupe à la fois les avantages de l’architecture EAI mais avec une implémentation physique qui permette d’être géographiquement repartis.• on n’a plus ce single point of failure mais on a gardé les avantages de l’architecture centralisé.

Possède quatre fondements : Le Middleware Orienté Message (MOM) qui permet l'échange de messages de manière asynchrone. Les services Web qui permettent d'interfacer les applications avec le bus. Les transformations des messages circulant sur le bus. Le routage intelligent qui découple l'expéditeur du message de son destinataire. Le Business Activity Monitoring (BAM) qui permet de suivre l'activité d'un processus métier.

Page 8: biztalk server

Entreprise Service Bus

Page 9: biztalk server

Business to Business Integration• Le Business To Business Integration (B2B) est la mise en connexion des applications qui se trouvent dans des organisations différentes

• Les affaires de B2B ont connu une croissance très grande avec l'arrivée du Web.

• Un important défi pour les B2B est l’interaction, l’interopération et l’intégration entre:• Des applications internes et externes• Les composantes autonomes, hétérogènes et distribuées.

Page 10: biztalk server

Qu’est ce que BIZTALK Server

• Biztalk Server est un serveur permettant de :

– Connecter diverse applications dans une même entreprise (ESB)ou dans différentes organisations (B2B).

– Créer , exécuter et superviser le processus qu’utilisent ces applications.

– Le but de Biztalk est d’aider les organisations à créer de meilleurs Business Processes automatisés (BPM).

Page 11: biztalk server

Evolution de Biztalk Server

• XML• B2B

• EAI (partner adapters)

• Vertical B2B

• BPM• Partner

Adapters

• SOA/ESB• Adapters

in Box• Host

Integration

• SOA/ESB • BPM• Extend B2B

(+EDI/AS2)• RFID

V5BizTalk Server

2006 R2

V4BizTalk Server 2006

V3BizTalk Server 2004

V2BizTalk Server 2002

V1Microsoft®

BizTalk® Server 2000

500Customers

2,000Customers

4,000Customers

7,000Customers

8,000Customers

V6BizTalk Server 2009

V7BizTalk Server 2010

• ESB(2.0) • BPM• Extend B2B• BAM+• ALM

Support• RFID Mobile

and Standard Pack

• New Adapters

• Update Swift

• UDDI

• ESB(2.0) • BPM• Extend B2B• Adapter FTPS• ameliorate

RFID• AppFabric

Connect

Page 12: biztalk server

Applications

Partners

Devices

EDI, AS/2, SWIFT, HL7, HIPAA…

SAP, PeopleSoft, OracleDynamics CRM,

SharePoint, Mainframe…

RFID

IntegrateInformation

AutomateProcesses

SimplifyManagement Increase

Business Agility

Drive Business Efficiency

Reuse ExistingIT Investments

Orchestration

Messaging / ESB

Business Rules

Business Activity Monitoring

B2B Integration

Adapters

Tool

sM

anagement

ESSO and UDDI

Fonctionnalités de Biztalk Server

Page 13: biztalk server

Interopérabilité de BIZTALK

PeopleSoftJD EdwardsOneWorld XEEnterprise1Oracle ODBCSiebelTIBCO RendezvousTIBCO EMSSAPEDI/AS2• X12 and EDIFACT

support• Drummond

Interoperability Certification

MQ MSMQWSEHTTPSMTPFileFTPPOP3 SOAPSWIFTHL7RosettaNetHIPAASQLWCF AdapterSharePoint

Host Applications • IBM mainframe zSeries

(CICS and IMS) • Midrange iSeries

(AS/400)IBM DB2 • Mainframe DB2

for z/OS• Midrange DB2/400• DB2 Universal Database for

open platforms (AIX, Linux, Solaris, and Windows)

Host Files

BizTalk Server – “Adapters in the Box”

Mic

roso

ft

EDI &

LO

B-Ap

plic

ation

IBM

Page 15: biztalk server

Autres produits concurrents

Page 16: biztalk server

Cycle de vie d’une solution BizTalk

Modélisation

Implémentation

DéploiementConfiguration

Test & optimisation

16

Business Analyst / Information Worker Microsoft Office (Excel, Visio and Sharepoint)

Developer (Visual Studio)

AdministratorMicrosoft Management Console

Page 17: biztalk server

Moteur Biztalk

Un Business Rule Engine qui évalue les ensembles de règles complexes. Une Health and Activity Tracking tool qui laisse les administrateurs surveiller et contrôler le fonctionnement du moteur et les orchestrations. Un Enterprise Single Sign-On (SSO) qui fournit la capacité de tracer l'information d'authentification entre Windows et les autres systèmes d’exploitation. Business Activity Monitoring(BAM), que les ouvriers de l'information utilisent pour surveiller un processus métier courant. L'information est affichée en métier plutôt que termes techniques, et les utilisateurs métier déterminent quelle information est affichée.

Page 18: biztalk server

ReceivePort

Receive Adapter

ReceivePipeline

Send Port

SendAdapter

SendPipeline

MessageBoxPersistent Store

Host Host

Host

Business Rules Inference Engine

Orchestration

Message

Message

Architecture de Biztalk

Page 19: biztalk server

Port

•Un port est la représentation logique d’une communication physique par laquelle BizTalk reçoit et envoie des messages.

•Chaque port est un conteneur qui possède toutes les informations nécessaires à l’établissement d’un canal de communication.

•L’élément principal d’un port est l’adaptateur qu’il utilise. Chaque type de communication possède son adaptateur.

Page 20: biztalk server

Port

Page 21: biztalk server

•Logical Port Lors de la création d’une orchestration, le programmeur ne sai t pas forcément d’où lui viendront les données, ni où il devra les envoyer ensuite. C’est dans ces cas précis qu’interviennent les ports logiques.•Les ports logiques ne doivent être liés à des ports physiques qu’au moment du déploiement de l’application.

•Dynamic Send Port Ces send ports particuliers permettent de définir la destination des messages au moment de l’exécution au lieu de le faire lors déploiement de l’application.

Port

Page 22: biztalk server

AdaptateursLes adaptateurs sont les interfaces de communication de BizTalk autant en entrée qu’en sortie.

La plupart du temps, les adaptateurs ne sont que des interfaces de communication basées sur un protocole de transport donné.

Ils n’ont donc aucune compréhension interne des données qu’ils transportent.

Deux modes principaux existent : •Le pooling : de temps à autre l’adaptateur vérifie le contenu d’un répertoire (ou autre). •L’écoute : l’adaptateur est en attente d’un événement en provenance su monde extérieur pour se réveiller.

Page 23: biztalk server

Adaptateurs.NET

Application

MainframeApplication

WebServices

BizTalk

Databases

JavaApplication

VerticalMarket

Application

Page 24: biztalk server

Receive pipeline

1.Décode : cette étape sert à décoder les messages d’un format externe à un format lisible par les autres composants. Le plus commun des cas de décode est sans nul doute le décryptage. 2. Désassemble : en fonction du type de message, cette étape va soit traduire le message d’origine en un message XML, soit découper le message en plusieurs sous-messages plus conforme à l’implémentation du flux. 3. Validation : valide un message à partir d’un schéma. 4. Résoudre les partenaires : cette étape est principalement utilisée pour certifier la provenance des messages reçus.

Page 25: biztalk server

Send pipeline

1. Pré-assemble : cette étape est le dernier point de modifications des données par le flux BizTalk, généralement utilisée pour faire des transformations de dernière minute sur le XML interne de BizTalk avant qu’il ne soit transformé en flat file. 2. Assemble : utilisation d’un schéma pour transformer un ou plusieurs messages en un message respectant le format convenant au destinataire. 3. Encode : à l’inverse de décode, cette phase est utilisée pour crypter les données. (Un autre exemple est la compression des données) De nombreux composants de pipelines effectuant ce genre d’opération sont inclus dans BizTalk mais il est toujours possible d’écrire nos propres composants ou d’en acheter de nouveau, comme d’habitude.

Page 26: biztalk server

Business RulesBusiness Rules Statements that govern conduct of business processes Provides separation of rules from application code Gives business users control of business logic

Benefits Faster response to change Reusability of work Lower total cost of application development and ownership

Business Rules Statements that govern conduct of business processes Provides separation of rules from application code Gives business users control of business logic

Benefits Faster response to change Reusability of work Lower total cost of application development and ownership

Business Rule Examples: Today’s interest rate = 6.5% Apply 20% discount to all sales,

this week only If order over $250k send to

credit department for approval

RulesRulesRules

Business RulesEngineBusiness RulesEngine

RulesRulesRules

Business UserBusiness Process

Remember Business processes

stays same over the period of time but business rules are volatile!

Remember Business processes

stays same over the period of time but business rules are volatile!

Page 27: biztalk server

Politiques et règles

Ajouter la nouvelle version de politique Ajouter la nouvelle version de politique 11

Etapes:

Ajouter les règles à la version de politique Ajouter les règles à la version de politique 22

Définisser la condition basée sur des faits et des attributs Définisser la condition basée sur des faits et des attributs 33

Indiquer les actions pour la règle Indiquer les actions pour la règle 44

Enregistrer et tester la politique Enregistrer et tester la politique 55

Publier la politique, ne peut pas être modifié aprèsPublier la politique, ne peut pas être modifié après66

Déployez la politique de sorte qu'elle puisse être consommée à partir du client Déployez la politique de sorte qu'elle puisse être consommée à partir du client 77

Page 28: biztalk server

Flexibility - Business Rule EngineBusiness Analyst Composes RuleDeveloper Links to

Policy

Page 29: biztalk server

Monitoring

Page 30: biztalk server

BPM B2BEAI

Internet

ESPRIT

Serveur POP3

CRM

ERP DB Oracle

SOAP

HTTP

BizTalk :Vue d’intéroprérabilitéB2B

Entreprise B

Client

Entreprise A

Entreprise C

Ministère A

EDI

XML

FTP

39/40

B2C

Biztalk Server 2010

Page 31: biztalk server

Business to Business (B2B)

Page 32: biztalk server

SCÉNARIO À IMPLÉMENTER

Page 33: biztalk server

CONFIGURATION REQUISE

1 GHz pour un seul processeur, 900 MHz pour deux processeurs, 700 MHz pour quatre processeurs

2 Go de RAM 10 Go d'espace disponible sur le disque dur

1 GHz pour un seul processeur, 900 MHz pour deux processeurs, 700 MHz pour quatre processeurs

2 Go de RAM 10 Go d'espace disponible sur le disque dur

Processeurs compatibles AMD64 et EMT64T de 1,7 GHz

2 Go de RAM 10 Go d'espace disponible sur le disque dur

Processeurs compatibles AMD64 et EMT64T de 1,7 GHz

2 Go de RAM 10 Go d'espace disponible sur le disque dur

• Plateforme 32 bits (x86) :

• Plateforme 64 bits (x64) :

Page 34: biztalk server

CONFIGURATION LOGICIELLE

34

Page 35: biztalk server

DÉVELOPPEMENT D’UNE SOLUTION

Les outils de développementCréation de schémasCréations des cartes Création des orchestrationsCréation des pipeline

Page 36: biztalk server

Visual Studio 2010

Les outils BizTalk pour les développeurs

Transformation des donnéesTransformation des données

Définition des schémas

Définition des schémas

Field1

Field2

Customer

Name

Title

Field3

Item

ItemID

Qty

UnitPrice

Record

PO

Status

DateField1

Field2

Header

PO

Status

Field3

Item

Traitement des messages

Traitement des messages

Field1

Field2

Header

PO

Status

Field3

Order

PO

Date

FieldA

FieldB

DetailItem

BizTalk EditorBizTalk Editor

Pipeline DesignerPipeline Designer

BizTalk MapperBizTalk Mapper

Réalisation des processus

métier

Réalisation des processus

métier Orchestration Designer

Orchestration Designer

36

Page 37: biztalk server

CRÉATION DES SCHÉMAS

Type de schémas supportéUtilisation du BizTalk éditeur

Page 38: biztalk server

Type de schémas supportéSchema Type Details

XML

Supporte les messages XMLDéfinit en XSD (XML Schema definition language)

Flat File

Supporte le formats positionnels et délimitésLes Balises XML sont utilisés pour la représetation des données

NodeNode StructureStructure StartStart LengthLength

DescriptionDescriptionDelimitedDelimited 00 5050

UnitPriceUnitPrice DelimitedDelimited 5050 1010

QuantityQuantity DelimitedDelimited 6060 1010

TotalPriceTotalPrice DelimitedDelimited 7070 1010

ItemIDItemID DelimitedDelimited 8080 1010StatusStatus DelimitedDelimited 9999 11

UnitPrice

ItemDescriptionQuantity

TotalPriceItemID

Status

38

Page 39: biztalk server

Using the BizTalk Editor

XSD XSD

Arborescence du schémas

Arborescence du schémas

39

Page 40: biztalk server

Dans cette démo nous allons voir:• Comment créer un schémas• Comment créer une

instance de ce schémas

Demonstration: Creating BizTalk Schemas

40

Page 41: biztalk server

CRÉATION D’UNE CARTE (MAP)

Translation et Transformation des donnéesManipulation des données avec les functoidesUtilisation du BizTalk Mapper

Page 42: biztalk server

Transformation et translation des données

• Une carte définie la correspondance entre les nœuds de deux schémas différents

MapMapSource SchemaSource Schema

Transformation de données

Calcul et autre opération Insertion automatique des

données durant le runtime

Translation des données

Changement du format Exemple: translation entre

un fichier plat et un fichier XML

Transformation de données

Calcul et autre opération Insertion automatique des

données durant le runtime

Translation des données

Changement du format Exemple: translation entre

un fichier plat et un fichier XML

ItemID

Qty

UnitPrice

Record

PO

Status

Destination SchemaDestination Schema

Order

PO Number

Date

Item No

Quantity

Order Status

Date

42

Page 43: biztalk server

MapMapSource SchemaSource Schema Destination SchemaDestination Schema

La Manipulation des données avec les Functoides

Functoide: Un mécanisme pour appliquer des opérations sur les données

ItemID

Qty

UnitPrice

Record

PO

Status

Order

PO Number

Date

Item No

Quantity

Order Status

Date Total Price

X

(..)

Plus de 70 F prédéfinies Insertion et modification Date et heure Concaténation de champs Transformation complexe Functoide de script

Functoides personnalisée

Personnalisation des fonctionnalités

Création des classes C# ou VB .NET

Plus de 70 F prédéfinies Insertion et modification Date et heure Concaténation de champs Transformation complexe Functoide de script

Functoides personnalisée

Personnalisation des fonctionnalités

Création des classes C# ou VB .NET

43

Page 44: biztalk server

Utilisation du Mappeur BizTalk

SourceSchemaSourceSchema Map GridMap Grid Destination

SchemaDestinationSchema

BizTalk Mapper Intégré au Visual Studio Les schémas source et

destination doivent faire partie du projet ou accessible travers une référence

BizTalk Mapper Intégré au Visual Studio Les schémas source et

destination doivent faire partie du projet ou accessible travers une référence

44

Page 45: biztalk server

Dans cette démonstration on verra

• Comment créer une map• Comment utiliser les

functoides

Démonstration: Création d’une map

45

Page 46: biztalk server

CRÉATION D’UNE ORCHESTRATION

Définition d’une orchestrationUtilisation du orchestration designer

Page 47: biztalk server

C’est quoi une orchestration ?

Moteur d’orchestration Moteur runtime Exécution des processus métiers

Moteur d’orchestration Moteur runtime Exécution des processus métiers

Orchestrationdéployé

BizTalk Orchestration Outil de

développement de la logique métier

Exécuté à travers le moteur d’orchestration

BizTalk Orchestration Outil de

développement de la logique métier

Exécuté à travers le moteur d’orchestration

47

Page 48: biztalk server

Utilisation du orchestration designer

ToolboxToolbox

Port Surface << >> Port Surface

Design SurfaceDesign Surface

Port SurfacePort Surface

Port SurfacePort Surface

Receive POPOPort Receive -> msgPO

CheckQuantity

Denied Else

Const Deny

Xform Deny DeniedPort Send <- msgDeny

Send_Approve POApprvPort Send -> msgPO

Send Deny

48

Page 49: biztalk server

Dans cette démonstration on verra :

• Comment créer une orchestration

• Comment utiliser les formes (shapes)

Démonstration: Création d’une orchestration

49

Page 50: biztalk server

CRÉATIONS DES PIPELINES

Traitement des messages avec une pipelineUtilisation du Pipeline Designer

Page 51: biztalk server

Traitement des messages avec les pipelines

Receive PipelineReceive Pipeline Message BoxMessage Box Send PipelineSend Pipeline

Les Composants des pipelines

Une pipeline est utilisée pour: Normalisation des données en XML Transformation du l’XML vers le format natif du

message Assemblage et désassemblage des messages Décodage et encodage des messages Décryptage et cryptage des messages Signature et vérification des Signatures électroniques

Une pipeline est utilisée pour: Normalisation des données en XML Transformation du l’XML vers le format natif du

message Assemblage et désassemblage des messages Décodage et encodage des messages Décryptage et cryptage des messages Signature et vérification des Signatures électroniques

Page 52: biztalk server

Utilisation du pipeline designer

PropertiesPropertiesDesign SurfaceDesign Surface

ToolboxToolbox

Pipeline FilesPipeline Files

52

Page 53: biztalk server

Dans cette démo on va :• Examiner les différent stage

d’une pipeline• Voir comment créer une

pipeline

Démonstration: Création d’une pipeline

53

Page 54: biztalk server

DÉPLOIEMENT D’UNE SOLUTION

Fonctionnement du déploiementDémonstration

Page 55: biztalk server

Non-BizTalk AssembliesNon-BizTalk Assemblies

Fonctionnement du déploiement

BizTalk ServerBizTalk Server

Global Assembly

Cache

Global Assembly

Cache

BizTalk DatabaseBizTalk

Database

BizTalk AssembliesBizTalk Assemblies

RegisterRegister

MapsSchemasOrchestrationsPipelines

InstallInstall

55

BisTalk Solution

Page 56: biztalk server

Dans cette démonstration on verra comment:

• Déployer une solution BizTalk

Démonstration : Déploiement d’une solution

56

Page 57: biztalk server

CONFIGURATION DES PORTS

Définition d’un portDéfinition d’un adaptateurQuelles sont les ports disponibles?Configuration des ports

Page 58: biztalk server

Définition d’un port

58

Un port défini: Comment un message est envoyé ou reçu par BizTalk Le sens et le mode de la communication Les adresses d’envois ou de réception des données

Un port défini: Comment un message est envoyé ou reçu par BizTalk Le sens et le mode de la communication Les adresses d’envois ou de réception des données

Propriétés d’un port: Mode : (one-way, two way) Niveau d’accès : ( publique, privée ou interne) Direction : envoie ou réception Liaison : direct, dynamique …

Propriétés d’un port: Mode : (one-way, two way) Niveau d’accès : ( publique, privée ou interne) Direction : envoie ou réception Liaison : direct, dynamique …

Port de réceptionPort de réception Port d’envoiePort d’envoie

58

Page 59: biztalk server

Définition d’un adaptateur

AdaptersAdapters

CRM SystemCRM System

ERPERP

EAIEAI

SCMSCM

MainframeMainframe

Financial SystemFinancial System

Adaptateur Connecter BizTalk à l’environnement

extérieur Fournit une solution d’inter-connection

rapide (zéro ligne de code)

Adaptateur Connecter BizTalk à l’environnement

extérieur Fournit une solution d’inter-connection

rapide (zéro ligne de code)

Adapter Type Description

Protocole

Liaison avec des technologies et des protocoles hétérogènes :

Exemples: HTTP, FTP, SMTP, SOAP, POP3, and MSMQ

Bases de données

Exemples: SQL Server, Oracle, and DB2

Systèmes D’informations

Exemples: SharePoint, SAP, JDE, PeopleSoft, and Siebel …

59

Page 60: biztalk server

Configuration d’un adaptateur

60

Page 61: biztalk server

Dans cette démonstration on verra comment :

• Configurer un port de réception• Configurer un port d’envoie• Tester notre application

Démonstration: Configuration d’un port

61

Page 62: biztalk server

ConclusionBiztalk Server permet de :

• Créer rapidement des processus métiers dynamiques

Fournit un ensemble d'outils graphiques et de technologies riche pour créer rapidement des « Busniess Processes » distribués et intégrer des applications et des partenaires d'affaires

• Facilement intégrer des applications et des Partenaires

Biztalk est construit sur des normes publiques pour assurer le plus haut niveau d'intégration au sein et entre les organisations

• Echange des documents fiable et sécurisé

Fournit l'infrastructure nécessaire à l'échange de documents, de manière fiable et sécurisé même pour les plus grandes entreprises

Page 63: biztalk server

Questions?