websphere® transformation extender wtx - united states · pdf filesap r/3 & bw - ale,...
TRANSCRIPT
IBM Software Group
®
'WEB01 Mise en place une plateforme d'échange reposant sur lesprincipes d'un ESB.Comment prendre en charge tout type de structure de données?
WebSphere® Transformation eXtender WTXAlain Manteau – Websphere team
IBM Software Group | WebSphere software
2
Environments Batch(moteur standalone)
Pour WebSphereProcess Server
Pour WebSphereESB
WebSphereTX
WebSphereTX
MAP
TRANSFORM
UnifyingEnterprise DataTransformation
UnifyingEnterprise DataTransformation
WebSphere TX: Environment Unifié pour les Transformations
Pour WebSphereMessage Broker
Pour IntégrationProduits 3rd Party(as an embeddable engine)
� Un seul moteurde transformationpour toutel’entreprise
� Autonome� Complète les
EAI/ESB existantsavec des “pluggins”fournis
� S’intègre via desdéploiements detype JMS, EJB,Web services…
� Est intégré via unjeu d’API ou RMI
Pour Solution ETL
Env Evènementiel(Launcher standalone)
IBM Software Group | WebSphere software
3
Ex.Ex. -- Hierarchical Data , Binary Data, Packed Data, Tabular Data, RelHierarchical Data , Binary Data, Packed Data, Tabular Data, Relational Data, Nested Structures, Mixedational Data, Nested Structures, Mixed--Type Data, and on and onType Data, and on and on……
Qu’est que IBM® WebSphere® Transformation eXtender – WTX fait?
Lecture des données dans leur format natif
TOUTES données structurées
Transformation et routage sans “programmation”
Intégration N à N
( n origines, n destinations, n formats)
Ecriture des données dans leur format cible TOUTES structuresdes données
IBM Software Group | WebSphere software
4
Adaptateur Type Tree
Une brève introduction …..
� Un processus le plus simple se compose:
Règles Type Tree Adaptateur
FluxSource Destination� C’est-à-dire…
�Un adaptateur est un connecteur technique qui peutêtre “pluggé” à une application (source & destination) -sans parsing!
�Un Type Tree est une réprésentation graphique deméta-données (définitions/dictionnaire/règles de validation)
�Les règles définissent comment une Source est“transformée” à une Destination
� L’ensemble constitue une Interface (“Map”)
IBM Software Group | WebSphere software
5
Adaptateur Type Tree
Adaptateur Type Tree
Adaptateur Type Tree
� Cependant…n à n est également possible : les “cartes”
Règles
FluxSources Destinations
� � Une Interface (map) peut faire:� Validation� Enrichissement, …
Type Tree
Type Tree
Type Tree
Adaptateur
Adaptateur
Adaptateur
FICHIER EN ENTREE MESSAGE TRANSFORMEEN SORTIE
REFERENCE
BASE DE DONNEES
MISE A JOUR BDD
Une brève introduction …
IBM Software Group | WebSphere software
6
Comment ça marche pour chaque map?
1. Déclenchement du traducteur :� par batch (JCL, .bat, .sh, ….)� par un évènement détecté par un trigger�par une demande de parsing ou passage dans le noeud WTXdans Message Broker, mediation WESB ou SCA BPEL dansWPS�par appel d’un WebService ou un EJB encapsulant�par un programme (API)� …..
Adaptateur Type Tree
Adaptateur Type Tree
Adaptateur Type Tree
Adaptateur Type Tree
Règles Type Tree Adaptateur
Règles Type Tree Adaptateur
Règles Type Tree Adaptateur
Règles Type Tree Adaptateur
Règles Type Tree Adaptateur
3.Puis toutes les « cartes » desortie sont évaluées/mappés enséquence :� toutes les données en entrées sont accessibles� la carte 2 a accès aux données transformées dela carte 1, ….�chaque carte sortie est associée à un « type-tree » et à un « adapteur » et utilise les « règles »pour remplir les valeurs�S’il n’y a pas de cartes de sortie, c’est une« map » de validation
2. Pour chaque bloc, toutesles « cartes » entrée sontd’abord évaluées enséquence :�chaque carte entrée est associée à un« type-tree » et à un « adapteur »�Les validations des données des« type-tree » peuvent générer desexceptions
IBM Software Group | WebSphere software
7
Quelques techniques de transformation - Patterns
Burst
> Lecture et traitement des données par bloc
Root (aiguillage)
� IF(condition) + Run( map , param)
Split (découpage)
� Extract( selection sous-ensemble)
�…… sortie sur une carte specifique (( et spécialisée comme MQ)
Burst / Sort (paquets triés)
� Extract( selection sous-ensemble)
IBM Software Group | WebSphere software
8
WESB/WPS
� Process Flow binding
� Primitive in Mediation
Map
Designer
� Map Data Structures
� Defines Transformations
� Attach Adapters
Input Card(s) Output Card(s)
MAP
TRANSFORM
Type Designer
� Définir la structuresdes donnéestypetree/metamodele
R
Tree
Importer
Database
Interface
Designer
Tree
Maker
Predefined
Trees
Application
TemplatesMap
Source
Compiled
Map
Un environnement de développement basé sur Eclipse…. peut être une perspective sous WID ou Broker Toolkit ….
DEPLOYMessage Broker
Moteur Datapower
� Node in a Flow
Moteur WTX
Binding/Primitive/Node
Tests unitaires
Standalone
ESB integration
IBM Software Group | WebSphere software
9
Développements sous Eclipse…. une perspective dans WID ou Message Broker Toolkit …
Elements du Projet
Origine Destination
Editeur de règle de transformation
Propriétés, fonctions, traces, ….
Composition,Dépendances
Règles
Bénéfices :� approche par projets
� versionning (CVS, Clearcase,…)
� outils (ANT, XML, …), editeursspécialisés
� un seul atelier WTX et ESBs
� déploiements automatisés
IBM Software Group | WebSphere software
10
DEV
ELO
PMEN
T
Data Definition
Transformation and Routing Rules
Reusable Object Library
Data DefinitionIndustry Standards
DESIGN
EXECUTION
DEVELOPMENT
Data Definition –� PACKS : Built-in and
AutomatedCompliancetoolsets, all versions
–HL7, HIPAA–ACORD–SWIFT , SEPA, FIX,–NCPDP–RosettaNet, BizTalk–X12, Edifact–EANCOM, ODETTE,TRADACOM–….
Data Definition –importers
� XML(xsd, dtd),WSDL
� COBOL… PL/1� SQL (any ODBC
compatible)� SAP/IDOCS� Siebel� Oracle� PeopleSoft/PANELS� …
DataDefinition–
� Créédirectementparl’utilisateur
IBM Software Group | WebSphere software
11
Additional Built-in Validation
� Component Rules allow cross-field validation� Incorporates semantic validation directly into the parsing process
Exemple de règle de validation : date delivraison postérieure à la date decommande.
( anomalie pouvant apparaître surdemande et en cas d’erreur seulementdans l’audit. )
IBM Software Group | WebSphere software
12
WebSphere TX Map Designer � Transformation de données� Routage conditionel/contextuel� Validations étendues� log, audit, reprise sur erreur
IBM Software Group | WebSphere software
13
WebSphere TX Adapters
WebSphereTX
Design Studio
Communication�CICS *�COM�CORBA�E-MAIL *�FTP/FTPS *�HTTP/HTTPS�JAVA Class�JCA Gateway�SOAP�SOCKET�VAN
ApplicationsSiebel
- BIM, EIM, OI COM�SAP R/3 & BW
- ALE, BDC, DMI, DXOB- BW, EDI, BAPI
�PeopleSoft- Message Agent API,- Open Query, EDI
�QualityStage
Security�S/MIME�OpenPGP�SSL Module
Database�DB2 *�Informix�ODBC *�OLE-DB�Oracle *�Microsoft SQL Server�Sybase�HP NonStop SQL/MX &SQL/MP
Messaging�BEA MessageQ & Tuxedo�Candle Roma�IBM WebSphere MQ *
(MQSeries)�JMS�Microsoft MSMQ�Oracle AQ�TIBCO Rendezvous
Utility�Archive (ZIP/TAR)�Base 64�Batch�File *�GZIP/ZLIB�JNDI�LDAP�MIME�Quoted-Printable�Shell Script�Sink *�SNMP�XML *
* Adapters supported on z/OS, varies by execution method
IBM Software Group | WebSphere software
14
Exemple de transformation « classique »Un « input » vers 3 outputs ( 3 mappings, 3fichiers), accès DB ou « lookup » pour table deconversion
Input : Swift-MLPayment Initiation
Output : CFONB160Vers fichiers
./CFONB160.txt
Output : MT940Vers fichiers./MT940.txt
Output : EDI-PAYORD
Vers fichiers ./EDI.txt
+
+
DB
IBM Software Group | WebSphere software
15
Exemple de transformation Construction du mapping ML vers CFONB160
Transformer,enrichir
(accès fichiers, DB, ….)
Drag and Drop
IBM Software Group | WebSphere software
16
Exemple de transformation Résultats de l’execution
IBM Software Group | WebSphere software
17
Implémentations classiques de WebSphere TX sur Distribué, zLinux et zOS
WebSphere MQWebSphere TX
WebSphere TX
En mode batch avec des fichiers (dont VSAM) et DB2 ou Oracle“Command server” + “Adapters DB/Files/WMQ/CICS…”
En mode message/évènementiel sans ESB :“Launcher – ex Event server ” + “Adapters WMQ/Files/DB2/CICS…”( utilise USS)
IBM Software Group | WebSphere software
18
ApplicationCobol/C/PL1
Implémentations classiques de WebSphere TX sur zOS
WebSphere MQVSAMDB2Oracle i9CICS data QIMS Trans Q
WTX
WebSphere TX
Sous CICS avec des fichiers séquentiels /VSAM et DB2/Oracle“Command server CICS ” + “Adapters DB/Files/WMQ…”
Appelé à partir d’un programme COBOL, PL/I ou C/C++ executédans les environnements MVS, CICS ou IMS: construits avec les API“WTX MVS Application Programming ” ou “IMS/DC Execution option”
IBM Software Group | WebSphere software
19
WebSphere TX
WebSphere TX et les solutions WebSphere
Appl.B
Appl.C
Appl.A
WebSphere Message Broker V6
Q1
Q3
TransformationNode
DatabaseNode
OutputNodes
+
WarehouseNode
DatabaseContent
WarehousedMessage
Transformed message
Enriched message
Content accessedfrom database
OriginalMessage
Q2
Format 1
Format 3
Format 2
Bank
SharedService
Customer
Bank 2 – “Supplier”
Outsourced
WAS, WebSphere ProcessServer
WebSphere TX Extenderfor Integration Server :WebSphere Message Broker ouWebsphere ESB ou WebphereProcess Server
*
*
Implementations en tant que “composant”
Log
Enrich
Transform
InputNode
déploiement en“servlet”, “EJB” ou“WebService”
IBM Software Group | WebSphere software
20
Application Java / C
Implémentations de WebSphere TX sur distribué et zLinux
WebSphere MQDB2Oracle
WTX
Appelé à partir d’un programme Java ouC/C++ executé dans les environnementsUnix, Linux ou Windows : construits avecles APIs“WTX for Application Programming”
WebSphere ESBWebSphere PS
WebSphereSIbus
Map
WTX RMI Server
MapDonnées transformées
Données àtransformer
RMI
Lookup(File, DB, Application)
Option 1:
Map Running inWAS
Option 2:
Map Runningoutside WAS
Interface via Java API / RMI
IBM Software Group | WebSphere software
21
IBM WebSphere Transformation Extender v 8.2
IBM Software Group | WebSphere software
22
TX
Scénario 1 : WebSphere TX seul (Command Server /Launcher)
Scénario 2 : WebSphere TX intégré dans une applicationJava, C:..ou Web Service.
TXUnix, zos,..
Java/WAS
Paramètragetransformation
Paramètragetransformation
Comment intégrer WTX dans l’infrastructure SOA ?
Scénario 5 : WebSphere TX intégré dans un flowWebsphere Message Broker, nœud de transformation
M
M
flow
TXParamètragetransformation
Scénario 3 : WebSphere TX intégré dans une mediationWESB au niveau binding
ExportM
mediation
TXParamètrage
transformation
Import
WTX Binding
Scénario 4 : WebSphere TX intégré dans un assemblagede composants WPS, primitive dans une médiation
BPEL
M
M
processus
TXParamètrage
transformation
Scénario 6 : WebSphere TX lancé à l’extérieur de l’ ESB(asynchrone)
Paramètragetransformation TX
BPEL MM
Processus request
Fire and forget
BPEL M
MProcessus status
In
status
Out
IBM Software Group | WebSphere software
23
WebSphere Transformation Extender for Integration ServerComment intégrer WTX avec WESB ou WPS ?
WebSphere TX intégré dans une mediation WESB - binding
ExportM
mediation
TXParamètragetransformation
Import
WTX Binding
WebSphere TX intégré dans une mediation WESB - primitive
Export M
mediation
TXParamètragetransformation
ImportM
M
Mprimitive
� Export� On request, WTX data binding converts native data to
business objects
� On response, WTX data binding converts business objectto native data
� Import� On request, WTX data binding converts business objects
to native data
� On response, WTX data binding converts native data tobusiness object
� Primitive� N inputs
• Parameters/config, lookup tables• Other files or data
� N outputs• Errors, status• Other files or data
� WESB/WPS/WAS logs
� Dynamic maps
IBM Software Group | WebSphere software
24
WebSphere Transformation Extender for Integration ServerWESB/WPS : Invocation of a mediation flow
Export
JMS SCA
SOAP
Flow engine
Import
SOAP
SCAJMS EIS
SCASCA
SMOSMO SCASCA
Service Message ObjectCreated with payload asbody and transport and
other headers
SMO used to reconstituteSCA message
Flow engine executesmediation flow. Primitives
mediate the SMO
JMSJMS
SOAPSOAP
SCA message built fromtransport message. Payload
is a BO (typically)
WMQ
WMQ
WTX map
WTX binding
WTX map
WTX binding
WTX map calledby primitive
IBM Software Group | WebSphere software
25
WebSphere Transformation Extender for Integration ServerDéveloppement : une « primitive » dans la palette
IBM Software Group | WebSphere software
26
WebSphere Transformation Extender for Integration ServerWebSphere Message Broker : un noeud dans un flow
Appl.Appl.BB
Appl.Appl.CC
Appl.Appl.AA
WebSphere Message Broker V6WebSphere Message Broker V6
Q1Q1
Q3
InpuInputt
NodNodee
TransformationTransformationNodeNode
DatabaseDatabaseNodeNode
OutputOutputNodesNodes
++
WarehouseWarehouseNodeNode
DatabaseContent
WarehousedMessage
Transformed messageTransformed message
Augmented messageAugmented message
Content accessedContent accessedfrom databasefrom database
TransformTransformTransform
AugmentAugmentAugment
LogLogLog
OriginalMessage
Q2
Format 1
Format 3Format 3
Format 2Format 2
*WebSphere Transformation Extender for WebSphere Message Broker*WebSphere Transformation Extender for WebSphere Message Broker
**
**
Unix,Windows, USS
z/OS
Transformation de toutformat de données,enrichissement, ….
It is the Power of WTX transformation on top of the Power of the WMB Platform
IBM Software Group | WebSphere software
27
WebSphere Transformation Extender for Integration ServerWebSphere Message Broker – Cas Simple
Déploiement et maj « automatique » avec le flux sur le broker
IBM Software Group | WebSphere software
28
WebSphere Transformation Extender for Integration ServerWebSphere Message Broker – Cas complexe : Collector node + TX Map node
AA
C
X
B
D
B Y
Z
Failure
OutputY
X
InputFailure
Z
B
Event
A
PropertiesLSNQTY
PropertiesPending ExpirationEvent Coordination
PropertiesAdapter
Type
PropertiesInput Card
etc
Catch
Root
Props Collection
A B
MRMMQMDMQMDProps MRM Props
MessageCollection
TX Map
Collector
N inputs
N outputs
IBM Software Group | WebSphere software
29
Quand utiliser WTX dans les ESB ? Les patternsde transformation
� WESB/WPS (BO map ou XSL map)�Au niveau « Binding »
•XML vers BO (XML)•Ligne ou CSV vers BO (avec AdapteurFichier)
�Au niveau médiation• BO vers BO (XML vers XML)• Une seule origine, une seuledestination, dans le flux
� WTX�Au niveau « Binding » dans WESB/WPS
• Données au format « métier » (CSV,EDI, SWIFT, copybook COBOL, FIX,HL7, ….)• vers BO (XML) ou vers « blob »,attribut d’un BO
�Au niveau médiation ou•N entrées, N sorties
−dans la médiation− et/ou autres (fichier, WMQ, DB,...)
•� 2 designs possible− le flux WESB transporte lesdonnées métier et les données delpilotage et monitoring,−Le flux transporte une référence(fichier, …) des données et lesdonnées de pilotage monitoring(cas des gros fichiers)
IBM Software Group | WebSphere software
30
Quand utiliser WTX dans les ESB ? les fonctionnalités� WESB (BO map ou XSLT map)
�Mapping simples•1 pour 1•Fonctions simples :
−Concat−Substring−Lookup relationship−Custom : XPATH, XSL, Javacoding
•Structures de type XML�Validations par schemas (.xsd)
� WMB (nœud map ou ESQL ou Java)�Complexité des message-set pour desformats complexes�Utilisation du langage ESQL ou Java dansles cas complexes
� WTX�Données non XML et/ou complexes (metamodèle des données)
•Structure des données complexes (champs variables, éléments syntaxiquesdéterminant, conditions selon lecontenu,….)•Structure des données de type«enregistrement fixes» ( copybookCOBOL)
�Validations par règles•Relations entre champs•Cumuls et totaux
�Données définies par un standard(EDIFACT, SWIFT, HL7, ….)�Règles de mapping complexes
•Fonctions, Transcodages•Modifications des structures (tris,regroupements, éclatements seloncontenu)•Enrichissements ( DB, tables) dans latransformation elle-même
�Output « Audit » de la transformation (8.3)�Choix dynamique des maps
• registre externe (WSRR), SMOs, IF..
IBM Software Group | WebSphere software
31
Qu’est-ce que rend WebSphere TX différent?
Moteur unique,Multiples
modes d’exécution :Batch, évènementiel, EJB,Plugin Message Broker,
WESB, WPS,…
Support detoute structure de
donnéesen format natif, avec validation
formats métier prédéfinis(EDI, XML, Swift, SEPA….)
Transformationscomplexes
à forts volumes
Validation dedonnées
automatiqueau cours detraitement
DDééveloppementveloppementgraphiquegraphique
avec un minimum deavec un minimum decodagecodage manuelmanuel
WebSphere TXWebSphere TX
IBM Software Group
®
IBM Redbook sur WTX … SG24-7693-00
Merci