View
273
Download
0
Category
Preview:
Citation preview
BizTalk ServerSOA
préparé par : Syrine Khiari-Sami Ayari
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
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
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
Introduction Spaghettis Oriented Architecture•Développements coûteux, interface(s) pour chaque application
•Interconnexions redondantes (point à point)
•Grande complexité
•Maintenance difficile
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, ...)
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.
Entreprise Service Bus
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.
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).
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
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
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
Entreprises utilisant BIZTALK
• Plus de 7000 clients
Autres produits concurrents
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
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.
ReceivePort
Receive Adapter
ReceivePipeline
Send Port
SendAdapter
SendPipeline
MessageBoxPersistent Store
Host Host
Host
Business Rules Inference Engine
Orchestration
Message
Message
Architecture de Biztalk
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.
Port
•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
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.
Adaptateurs.NET
Application
MainframeApplication
WebServices
BizTalk
Databases
JavaApplication
VerticalMarket
Application
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.
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.
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!
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
Flexibility - Business Rule EngineBusiness Analyst Composes RuleDeveloper Links to
Policy
Monitoring
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
Business to Business (B2B)
SCÉNARIO À IMPLÉMENTER
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) :
CONFIGURATION LOGICIELLE
34
DÉVELOPPEMENT D’UNE SOLUTION
Les outils de développementCréation de schémasCréations des cartes Création des orchestrationsCréation des pipeline
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
CRÉATION DES SCHÉMAS
Type de schémas supportéUtilisation du BizTalk éditeur
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
Using the BizTalk Editor
XSD XSD
Arborescence du schémas
Arborescence du schémas
39
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
CRÉATION D’UNE CARTE (MAP)
Translation et Transformation des donnéesManipulation des données avec les functoidesUtilisation du BizTalk Mapper
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
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
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
Dans cette démonstration on verra
• Comment créer une map• Comment utiliser les
functoides
Démonstration: Création d’une map
45
CRÉATION D’UNE ORCHESTRATION
Définition d’une orchestrationUtilisation du orchestration designer
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
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
Dans cette démonstration on verra :
• Comment créer une orchestration
• Comment utiliser les formes (shapes)
Démonstration: Création d’une orchestration
49
CRÉATIONS DES PIPELINES
Traitement des messages avec une pipelineUtilisation du Pipeline Designer
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
Utilisation du pipeline designer
PropertiesPropertiesDesign SurfaceDesign Surface
ToolboxToolbox
Pipeline FilesPipeline Files
52
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
DÉPLOIEMENT D’UNE SOLUTION
Fonctionnement du déploiementDémonstration
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
Dans cette démonstration on verra comment:
• Déployer une solution BizTalk
Démonstration : Déploiement d’une solution
56
CONFIGURATION DES PORTS
Définition d’un portDéfinition d’un adaptateurQuelles sont les ports disponibles?Configuration des ports
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
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
Configuration d’un adaptateur
60
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
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
Questions?
Recommended