wtxandwps_wesb

Upload: alan-smith

Post on 07-Apr-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 WTXandWPS_WESB

    1/41

    2006 IBM CorporationConference materials may not be reproduced in whole or in part without the prior written permission of IBM.

    SucceedCollaborate

    Learn

    Network

    SucceedCollaborate

    Learn

    Network

    WebSphere Transformation Extender

    ( formerly Datastage TX )Integration with WAS, WPS and WESB

    Shahryar Sedghi

    Senior Consulting IT [email protected]

  • 8/4/2019 WTXandWPS_WESB

    2/41

    2

    Objectives

    Learn about WTX and How it solves Integration Problems

    Why we need to Integrate it with other WebSphere products

    Integration techniques

    Usage Patterns

    Best practices of Integration

  • 8/4/2019 WTXandWPS_WESB

    3/41

    3

    WTX History

    Formerly Mercator, 3-5% Market Share in the BI sector

    Unlike all the others, a major player on Z Apps (CICS, Batch)

    Acquired by Ascential to improve the ETL solutions

    Ascential was acquired by SWG DB2 Davison for Its ETL

    solutions

    WTX transferred to AIM to improve our WebSphere

    Integration story

  • 8/4/2019 WTXandWPS_WESB

    4/41

    4

    Data Integration Terms

    ParserParses (De-serialize) an Input Stream (aka. Byte Array) to atree or a hierarchical Object

    Serialize the tree or hierarchical object to an output stream Apache Xerces is an XML parser

    Mapper Converts from one tree or object to anotherXSLT is a standard mapper for XML

    AdapterDeals with different Source and TargetsFile , Database, MQ, JMS,.

    BrokerRuns a flow of various activities, involve Adapters, Parsing,

    Mapping and Decision MakingBrokers implement ESB (Enterprise Services Bus)

  • 8/4/2019 WTXandWPS_WESB

    5/41

    5

    WTX Components

    Parser for various Data FormatsTag Delimited Data (Industry standard, aka. X12,HL7, HIPPA), Already has many off the shelfformats

    Fixed Width (COBOL)XML (Basic and SOAP)Legacy Parsers implement lazy parsing

    MapperAdapterFile, Database, SAP, PeopleSoft,.

    BrokerEvent Server

    ToolingWindows Based (Not Eclipse)

  • 8/4/2019 WTXandWPS_WESB

    6/41

    6

    WTX Integration Patterns Standalone

    WTXInput Stream

    WPSWESB

    WAS SIBWebSphere MQ

    Pros

    All adapter capabilities

    Better Performance for large Messages

    Cons

    MQ get and Put overhead

    Managing two environments

  • 8/4/2019 WTXandWPS_WESB

    7/417

    WTX Integration Patterns Integrated

    WTX

    Input Stream

    Pros

    Managing a single environment

    A simpler model

    Cons

    No use of adapters

    WPG,WPS,WESB,WBIMB, WAS SIB

    Output Stream

  • 8/4/2019 WTXandWPS_WESB

    8/418

    WTX Integrated solutions - What we need to Learn

    Design StudioType Designer

    Creating Types with ImportersCreating Type Manually

    Map DesignerCreate Maps between Input and Output Types

    Testing, Debugging

    Optionally, Development ToolkitJava, RMI and JCA Adapter API

  • 8/4/2019 WTXandWPS_WESB

    9/419

    A WTX Mapping Scenario A Sample BO

  • 8/4/2019 WTXandWPS_WESB

    10/41

    10

    Type Designer XSD Input

    Does not existin WPS/WESB BOs

  • 8/4/2019 WTXandWPS_WESB

    11/41

    11

    Type Designer Type Tree from XML

  • 8/4/2019 WTXandWPS_WESB

    12/41

    12

    Type Designer COBOL Input

    01 Student.02 name PIC X(20).02 lastName PIC X(20).02 address1 PIC X(20).

    02 address2 PIC X(20).02 numOfSchools PIC 99.02 schools OCCURS 0 TO 99 TIMES

    DEPENDING ON numOfSchools.03 schoolName PIC X(20).03 schoolAddress PIC X(20).

    02 FILLER PIC XX.

  • 8/4/2019 WTXandWPS_WESB

    13/41

    13

    Type Designer COBOL Type Tree

  • 8/4/2019 WTXandWPS_WESB

    14/41

    14

    Map Designer

    Submap

  • 8/4/2019 WTXandWPS_WESB

    15/41

    15

    WTX Map Artifacts

    Files Type Tree .mtt Map Source File .mms Compiled map .mmc

    Map Source file requires Type Trees to buildcompiled maps Compiled maps do not require any artifact,

    unless a card uses a Xerces Parser (V8.0 orabove)

  • 8/4/2019 WTXandWPS_WESB

    16/41

    16

    WPS/WESB + WTX ?

    WPS/WESB natively support XML COBOL Copybook and C Header files( CICSand IMS adapter tooling)

    WTX is required for: Industry Standard Formats (aka. TagDelimited Data)

    Content based routing for Non-XML data

  • 8/4/2019 WTXandWPS_WESB

    17/41

    17

    Inbound Data De-Serialization (Parsing)

    BytesStream SDO

    SCA Export

    Data Binding

    Edge

    Bytes StreamWrapped in

    SDO

    SDO

    Java Component

    Middle

    POJO

  • 8/4/2019 WTXandWPS_WESB

    18/41

    18

    Oubound Data Serialization

    Data BindingSDOByte

    Stream

    Edge

    SCA Import

    Center

    Bytes StreamWrapped in

    SDO

    SDO

    Java Component

    POJO

  • 8/4/2019 WTXandWPS_WESB

    19/41

    19

    WTX, WPS and WESB ISSW Offerings

    WTXJMSDataBinding

    Can be used in SCA JMS Import/Export binding inWPS/WESB

    Fully parameterized and configurable through WID

    WTXMedaition

    Complements the WPS/WESB solutionNormally is not required if best practices followed

    WTXMaprunner

    A Wrapper for WTX Java API

    Currently supports one Input and One output card which is sufficient forWPS/WESB

    Designed for WebSphere Environment. Loads Maps from Java

    classpath

    Is not a perfect solution yet (No Caching,..)

  • 8/4/2019 WTXandWPS_WESB

    20/41

    20

    ISSW Offering - JMS Enablement

    JMS

    Export

    WPS Process

    Or

    WESB Mediation

    JMS

    Import

    JMSData Binding

    For WTXJMSData Binding

    For WTX

    Input Queue

    WTX

    Medaition

    Output Queue

    WTXMedaition

    Incoming Data

    SIBus

    Outgoing Data

    Either JMS Data Binding for WTX or WTX Mediation Can be used not bothtogether, on the same destination

    WTX Mediation helps using WTX without modifying Existing Processesand Mediations

    Non-JMS WMQ Applications can take advantage of the mediation

    Inbound

    Outbound

  • 8/4/2019 WTXandWPS_WESB

    21/41

    21

    WTXJMSDataBinding - Outbound

    JMS

    Export

    JMS

    Import

    EMFXML

    Parser ByteStream

    MapXMLDataSDO

    WTXOutMapJMS Property

    LegacyLegacy

    WPS Process

    Or

    WESBMediation

    WTXOutMapJMS Property

  • 8/4/2019 WTXandWPS_WESB

    22/41

    22

    WTXJMSDataBinding - Inbound

    JMS

    Export

    WPS Process

    Or

    WESBMediation

    JMS

    Import

    EMF

    XMLParserByteStream Map XMLData SDO

    WTXInMap

    JMS PropertyWTXInMap

    JMS Property

    LegacyLegacy

  • 8/4/2019 WTXandWPS_WESB

    23/41

    23

    WTX SIBus Mediation

    Destination

    WTXMedaition

    Map NameMessage Format

    And OtherContext Properties

    BusJMS Text orBytes Message

    JMS Text orBytes Message

    InspectMessage GenerateMessageByteStream ByteStreamMap

  • 8/4/2019 WTXandWPS_WESB

    24/41

    24

    WTXMedaition Code

    SIMessageContext siCtx = (SIMessageContext)ctx;SIMessage message = siCtx.getSIMessage();

    String messageFormat = (String)ctx.getProperty("Message Format");String mapName = (String)ctx.getProperty("Map Name");byte[] inBytes = message.getDataGraphAsBytes();

    byte[] outBytes = new WTXMapRunner().runMap(mapName, inBytes);

    DataGraph newDataGraph =SIDataGraphFactory.getInstance().createDataGraph(outBytes,messageFormat);

    message.setDataGraph(newDataGraph, messageFormat);

    for(Iterator it = ctx.getPropertyNames();it.hasNext();) {String propName = (String) it.next();message.setUserProperty(propName,(Serializable)ctx.getProperty(propName) ); // Optional

    }

  • 8/4/2019 WTXandWPS_WESB

    25/41

    25

    WTX Non-JMS Inbound, Edge

    Flat File

    Adapter

    Export

    SCA

    Import

    EMF

    XMLParserByteStream Map XMLData SDO

    File

    WPS POJO

    WESB CustomMediation

    CustomData Binding

  • 8/4/2019 WTXandWPS_WESB

    26/41

    26

    WTX Non-JMS Inbound, Middle

    Flat File

    Adapter

    Export

    SCA

    Import

    EMFXML

    Parser

    Bytes Stream

    Wrapped inSDO

    Map

    XML

    Data SDO

    File

    WPS POJO

    WESB CustomMediation

    Bytes

    Stream

    Extract

    Bytes

  • 8/4/2019 WTXandWPS_WESB

    27/41

    27

    WTX Non-JMS Outbound, Edge

    SCA

    Export

    Flat File

    Adapter

    Import

    EMFXML

    Parser ByteStream

    MapXMLDataSDO

    WPS Process

    Or

    WESBMediation

    File

    CustomData

    Binding

  • 8/4/2019 WTXandWPS_WESB

    28/41

    28

    WTX Non-JMS Outbound, Middle

    SCA

    Export

    Flat File

    Adapter

    Import

    EMF

    XMLParser ByteStreamMapXMLDataSDO

    File

    WPS POJO

    WESB CustomMediation

    Bytes Stream

    Wrapped inSDO

  • 8/4/2019 WTXandWPS_WESB

    29/41

    29

    Usage Patterns

    ESB Legacy to Web Service Data Integration

    Content Based Routing Process Integration

    Legacy to Business Processes

  • 8/4/2019 WTXandWPS_WESB

    30/41

    30

    Legacy to Web Service Lab 1

    InternetCurrencyExchange

    Service

    XSLT

    XSLT

    Out

    In

    In

    Out

    JMSExport

    WSImport

    Mediation

    JMS Client

    Mediation Module

    1

    2

    3

    45

    7

    6

  • 8/4/2019 WTXandWPS_WESB

    31/41

    31

    Data Integration Lab 2

    Data Map

    JMSOutInterfaceJMSInInterface

    JMSImport

    Interface Mediation

    JMS Client

    WPS Module

    1

    2

    3

    4

    5

    6JMS

    Export

    JMS Client is for demonstration only

    Typically Message Producers and Message Consumers are different

  • 8/4/2019 WTXandWPS_WESB

    32/41

    32

    Content Based Routing

    Event Aware

    JMSExport Router

    Component

    Event Agnostic

    Component

    Component

    Component

    Generic Interface

    Can be a POJO or aCustom Selector

    WTXJMSDatabinding

  • 8/4/2019 WTXandWPS_WESB

    33/41

    33

    Generic Interface

  • 8/4/2019 WTXandWPS_WESB

    34/41

    34

    Legacy to Process Lab 3 (simulated)

    Flat File

    Adapter

    Export

    JMS

    Import

    File

    BPEL

    HTM

    POJO

    WTXMapRunner

  • 8/4/2019 WTXandWPS_WESB

    35/41

    35

    Deployment Prerequisites

    EnvironmentWPS/WESB interact with WTX Java API Java API invokes Shared Libraries through JNI layer

    WTX Jar (dstxpi.jar) must be in the classpath

    Shared Libraries (aka. DLLs) must be in the systemPATH (Path for WAS user profile in UNIX/Linux) Complied Maps must be accessible to the code Compiled map needs XSDs for validation if:

    XML is inbound to the mapXerces parser is used (8.0 and above)

  • 8/4/2019 WTXandWPS_WESB

    36/41

    36

    Deployment Typical practice

    Add dstxpi.jar to the system classpath

    Add WTX Install root to system PATH Move Compiled Map and all XSDs to a

    specific directory

    In a WAS cluster repeat step 1-3 for everyServer

    Anytime a map changes replace the map in

    every server

  • 8/4/2019 WTXandWPS_WESB

    37/41

    37

    Deployment Best Practices

    Use WAS Shared Library to add dstxpi.jar tothe classpathAdd WTX Install root to system PATHWAS shared library support for native libraries

    does not work for WTX ( DLLs calling otherDLLs)Load the map from classpath, rather than afolderAllows deploying maps with process EAR file

    No need to copy maps to each serve Follow XML Best practices

  • 8/4/2019 WTXandWPS_WESB

    38/41

    38

    WTX and XML

    WTX validates every incoming data includingXML WTX V8.0 supports Xerces Parser for XML Xerces requires XSD at runtime for validation

    Xerces is faster for large XML documents Classic XML parser does not require XSDsand Type Trees for inbound XML

    Mapping outbound XML is very difficult withclassic parser

  • 8/4/2019 WTXandWPS_WESB

    39/41

    39

    XML Best practices

    Use Classic parser for inbound XMLEliminates the need for copying XSDs toeach server

    Use Xerces parser for outgoing XML

    Outgoing XML does not need XSDs forvalidationUse Xerces if Classic parser is very slow forlarge documentsCopy XSDs to the map working directory

    WTXMapRunner needs a System PropertyXSDs change less frequently than maps

  • 8/4/2019 WTXandWPS_WESB

    40/41

    40

    Links

    Lab Docs (3MB):

    ftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/LabDocuments.zip

    Solutions Folder without Workspaces (228 KB):

    ftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions_without_workspace.zip

    Solutions Folder with workspaces (30 MB)

    ftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions.zip

    VMWare (5.2 GB)

    ftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/base_vm.zip

    ftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/LabDocuments.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/LabDocuments.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions_without_workspace.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions_without_workspace.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/base_vm.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/base_vm.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/base_vm.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/base_vm.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions_without_workspace.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions_without_workspace.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/Solutions_without_workspace.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/LabDocuments.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/LabDocuments.zipftp://pokgsa.ibm.com/pokgsa-h1/01/ssedghi/web/public/WTX/LabDocuments.zip
  • 8/4/2019 WTXandWPS_WESB

    41/41

    Questions