1344-WMBPatterns.pdf

Embed Size (px)

Citation preview

  • 7/30/2019 1344-WMBPatterns.pdf

    1/42

    WebSphere Message Broker

    PatternsSession 1344 Matthew Golby-Kirk

  • 7/30/2019 1344-WMBPatterns.pdf

    2/42

    Objectives

    WMB Recap

    Typical ways in which WMB is used

    Patterns in WMB V7

    Tops-down development

    Patterns concepts

    Patterns in action!

    Patterns examples

    Patterns features

  • 7/30/2019 1344-WMBPatterns.pdf

    3/42

    Universal Connectivity

    Simplify application connectivity to provide a flexible and dynamic infrastructure

    Routes and transforms messages from anywhere, to anywhere

    Supports a wide range of protocols

    MQ, JMS 1.1, HTTP(S), Web Services (SOAP, REST), file, ERP (SAP, SEBL), TCP/IP

    Supports a broad range of data formats

    Binary (C/COBOL), XML, CSV, Industry (SWIFT, EDI, HL7), IDOCs, userdefined

    Interactions and Operations

    Route, filter, transform, enrich, monitor, distribute, decompose, correlate, detect

    Simple programming

    Patterns based for top-down, parameterized connectivity of common use cases

    Web Service faades, message oriented processing, queue to file

    Construction based for bottom-up assembly of bespoke connectivity logic

    Message flows to describe application connectivity comprising

    Message nodes which encapsulate required integration logic which operate on

    Message tree which describes the data in a format independent manner Transformation options include graphical mapping, PHP, Java, ESQL, XSL and WTX

    Operational Management and Performance

    Extensive administration and systems management facilities for developed solutions

    Wide range of operating system and hardware platforms supported

    Offers performance of traditional transaction processing environments

    WebSphere Message Broker - Recap

  • 7/30/2019 1344-WMBPatterns.pdf

    4/42

    Output targetTransform

    Input source Output target

    Output target(Failure)

    Reusable

    Scalable

    Transactional

    WMB Message Flows

  • 7/30/2019 1344-WMBPatterns.pdf

    5/42

    Lo ts o f Nodes are Bui l t in [1]

  • 7/30/2019 1344-WMBPatterns.pdf

    6/42

    Lo ts o f Nodes are Bui l t in [2]

    Many other nodes available through product extensions and supportpacs E.g. WebSphere TX, Tibco RV, CICS, VSAM, QSAM

    Write your own User-Defined Nodes in C or Java

  • 7/30/2019 1344-WMBPatterns.pdf

    7/42

    Objectives

    WMB Recap

    Typical ways in which WMB is used

    Patterns in WMB V7

    Tops-down development

    Patterns concepts

    Patterns in action!

    Patterns examples

    Patterns features

  • 7/30/2019 1344-WMBPatterns.pdf

    8/42

    Making an Appl icat ion

    Inventory and Governing

    Processing

    WMB

    WSRR

    Making th e Most o f

    Packaged Appl icat ions

    WMB

    Part ic ipat ing in a Secu re

    Infrastructure

    WMB

    LDAP

    TFIM

    Extendin g the reach o f

    exist ing appl icat ions

    WMB

    Business Monitor ing

    WMB

    Key Usage Patterns / Scenarios

    Moving B atch Into Onl ine

    WMB

  • 7/30/2019 1344-WMBPatterns.pdf

    9/42

    Extend the Reach of Existing Applications

    Provide and Consum e Web Services

    Web services are now established as an interoperability standard Vitally important from a business to business connectivity perspective

    It is now possible for businesses to consume each others services using these

    well defined standards

    Web services allow internal standardization between different parts of the same

    organization Adoption of Web Services by many subsystems is NOT universal

    WMB can be used as a universal translator to convert between web services and

    existing formats and protocols

    Allows your existing applications to be exposed as web services

    Existing applications can consume web services without change

    Organization can exploit web services but limit new development skills

    and platforms

  • 7/30/2019 1344-WMBPatterns.pdf

    10/42

    Provide a PEP for Secure Application Connectivity

    Secu re applicat ion ident i ty, authent icat ion and authorizat ion Application connectivity implies security domain

    changes Identity management, authentication, authorization

    and accounting mechanisms (AAA) are essential

    WMB supports many protocols and transports

    Web Services, MQ, JMS, HTTP and HTTPS WMB supports a broad variety of security tokens

    Username, Username and Password, X509

    WMB performs role of Policy Enforcement Point

    (PEP) but does not authenticate by itself Use with a PDP to provides a secure infrastructure

    Ensures conformance to centralized security policy

    Many different PDP technologies supported

    Lightweight Directory Access Protocol

    (LDAP)

    Microsoft Active Directory, Open

    LDAP

    Tivoli Federated Identity Manager (TFIM)

  • 7/30/2019 1344-WMBPatterns.pdf

    11/42

    Business Activity Monitoring and Event Intelligence

    Understand the importance of bu siness data anddetect important s i tuat ions

    WMB connectivity allows processing of events frommany sources and targets

    Capture business relevant information to feed toWebSphere Business Monitor

    Examples: total dollar trade value per day,total number of orders per hour

    Capture business events for correlation usingWebSphere Business Events

    Look for correlations in data, e.g. fraud, Up-sell and Cross-sell opportunities, CRM

    Generate Business Monitoring Events from existingconnectivity

    Capture Events for Audit and Logging

  • 7/30/2019 1344-WMBPatterns.pdf

    12/42

    Make an Application Inventory and Get Value From It

    Understand your appl icat ion assets and con trol thei raccess dynamical ly

    Great first step to SOA: Catalog application and serviceassets in a registry WSRR

    Classifications: function, owning department

    Relationships: applications dependencies for lifecycle

    management, versioning and Impact Analysis Metadata: user qualified properties: UserClass=GOLD or

    UserClass=SILVER

    Use WSRR registry information in WMB

    Built-in nodes allow WMB to access registry

    Enables Policy based processing

    Primary use cases

    Governance: who accesses which applications/services

    Dynamicity: update registry to change WMB behaviourwithout redeploy

    Cached in memory for high performance, includes cacheinvalidation

  • 7/30/2019 1344-WMBPatterns.pdf

    13/42

    Getting the Most From Packaged Applications

    Move informat ion to and from packaged appl icat ions

    Packaged applications play a vital role

    SAP for purchasing, sales, inventory

    Siebel for Sales

    PeopleSoft for HR

    Interfaces are often non standard: e.g. SAP BAPIs, IDOCs Processing and data are isolated from other applications

    Result: packaged applications struggle to use and generateinformation for other apps

    Inhibits adoption of a best of breed philosophy

    WMB has support for SAP, Siebel, PeopleSoft inbound

    and outbound Drive new work into packaged applications from any other

    WMB connected application

    Can send information from packaged application to any otherWMB connected application

    Packaged applications can focus on what they do best and

    be integrated

  • 7/30/2019 1344-WMBPatterns.pdf

    14/42

    Combine File-based and On-line Processing

    Get f i rst class d ata from you r f i les

    Files exchange between applications still popular and effective Flexible method of exchange: Neither enterprise has to mandate technology

    There are legitimate reasons for using files to exchange information

    Usually relate to the way businesses run or physical processes occur

    WMB file processing allows clients to get file/batch work online, easily

    Flat-file nodes can handle gigabyte files without memory growth (including

    FTP)

    z/OS specific VSAM file nodes (Input, Read, Write, Update, Delete)

    Complements MQ FTE for Managed File transfer by consuming and creatingfiles

  • 7/30/2019 1344-WMBPatterns.pdf

    15/42

    Objectives

    WMB Recap

    Typical ways in which WMB is used

    Patterns in WMB V7

    Tops-down development

    Patterns concepts

    Patterns in action!

    Patterns examples

    Patterns features

  • 7/30/2019 1344-WMBPatterns.pdf

    16/42

    The Challenge

    From

    To

    MQFile

    WSDL

  • 7/30/2019 1344-WMBPatterns.pdf

    17/42

    Tops-down vs Bottoms-up Development

    MQ

    File

    WSDL

  • 7/30/2019 1344-WMBPatterns.pdf

    18/42

    What Is A Pattern?

    Pattern: A reusable solution that encapsulates a tested approach to

    solving a common architecture, design, or deployment task in a

    particular context.

  • 7/30/2019 1344-WMBPatterns.pdf

    19/42

    How?

    Patterns Explorer

    Pattern Instance

    Select pattern and

    instantiate

    Generated artefacts

    Generate

    Pattern Parameters

    Configure

    MQWSDL

    + other configuration

    or tuning options

    File

  • 7/30/2019 1344-WMBPatterns.pdf

    20/42

    Patterns and Samples

    A pattern in MessageBroker is a template that

    generates one or more

    production ready projects.

    All the projects that a

    pattern creates share a

    set of common properties.

    A sample is a feature

    demonstration and is

    designed to educate.

    Samples are not intended

    to be production ready!

  • 7/30/2019 1344-WMBPatterns.pdf

    21/42

    Patterns for Simplified Development

    Creates top-down, parameterized connectivity solutions Web Service faades, message oriented processing, queue-to-file

    Reduces common problems in flow development

    Communicates best practices to the Broker community

    Complements existing bottom-up construction for bespoke

    connectivity

    Reduces time-to-value for solution development

    Patterns are a first class citizen in Message Broker

    Patterns have bubbled right to the top in the navigator view!

  • 7/30/2019 1344-WMBPatterns.pdf

    22/42

    Patterns In Action!

  • 7/30/2019 1344-WMBPatterns.pdf

    23/42

    Message Broker Navigator

    User is directed towards a new entry

    point for development

    First class development mechanism

    Augments other starting points: WSDL, SCA, Adapter

    Does not replace the existing bottom up

    development approach

    Still completely valid to start from flows,message sets etc!

  • 7/30/2019 1344-WMBPatterns.pdf

    24/42

    Patterns Explorer

    Patterns Explorer Pre-supplied IBM patterns

    Pattern Categories

    Groups similar solutions together Message-based integration,

    service enablement, service

    virtualization

    High level help is available

    Describes a class of solutions

    Leaf nodes are the patterns

  • 7/30/2019 1344-WMBPatterns.pdf

    25/42

    Configuring Pattern Parameters

    Pattern parameters allow a pattern to be customized

    according to user preferences Instance name identifies pattern; duplicate names will optionally be overwritten

    Parameters are logically grouped into sections

    Mandatory parameters are indicated via *, missing parameters are indicated via x

    Fields are watermarked and pre-populated, for example: available message sets Detailed help is available for each pattern parameter

    Click the Generatebutton to create the generated artefacts: message flows, scripts

  • 7/30/2019 1344-WMBPatterns.pdf

    26/42

    Pattern Deployment

    Pattern instance may create additional runtime controls

    For example, a UDP to control error logging/trace

    These can be customized as normal

    Deployment Build BAR file as usual from generated assets

    Deploy as usual, using the MB Explorer

    TODO list from pattern summary

    Identifies any other resources necessary For example, queue definitions

  • 7/30/2019 1344-WMBPatterns.pdf

    27/42

    Results

  • 7/30/2019 1344-WMBPatterns.pdf

    28/42

    Understanding the Generated Artefacts

    A working set is created, it includes only the current pattern

    The Projectsview contains the generated projects The Patternsview contains the pattern instance projects

    Includes the configuration XML and summary page

    Patterns does not attempt to provide life cycle management!

  • 7/30/2019 1344-WMBPatterns.pdf

    29/42

    The Pattern Categories

  • 7/30/2019 1344-WMBPatterns.pdf

    30/42

    Application Integration

    Data distribution SAP to WebSphere MQ: one-way (for IDoc) pattern

    Use this pattern to process various types of IDocs that have a single program

    identifier without you being required to redeploy or rediscover existing

    message sets and adapters, even when you are adding different types of

    IDocs.

  • 7/30/2019 1344-WMBPatterns.pdf

    31/42

    File Processing

    Record Distribution to WebSphere MQ: one-way pattern Use the Record Distribution to WebSphere MQ: one-

    way pattern to bridge two styles of integration, file

    based and transaction based.

  • 7/30/2019 1344-WMBPatterns.pdf

    32/42

    Message-based Integration (1/3)

    Message Correlator for WebSphere MQ: request-response with persistence pattern

    Accepts requests from many client applications on a single

    queue, and returns responses to the correct client by using

    transactional flows and persistent WebSphere MQ messages.

  • 7/30/2019 1344-WMBPatterns.pdf

    33/42

    Message-based Integration (2/3)

    Message Correlator for WebSphere MQ: request-response without persistence pattern

    Accepts requests from many client applications on a single

    queue, and returns responses to the correct client by using non-

    transactional flows and non-persistent WebSphere MQ

    messages.

  • 7/30/2019 1344-WMBPatterns.pdf

    34/42

    Message-based Integration (3/3)

    Message Splitter for WebSphere MQ: one-way (for XML) pattern

    Use the Message Splitter for WebSphere MQ: one-way (for XML) pattern to

    split a large XML message into smaller elements for processing by one or

    more targets, by using transactional flows and persistent WebSphere MQ

    messages.

    Use this pattern when you have applications that store information about a

    number of business transactions and transmit this information to one ormore target applications in batches. It can be used to handle large

    messages without excessive memory use.

  • 7/30/2019 1344-WMBPatterns.pdf

    35/42

    Service Enablement (1/2)

    Service Facade to WebSphere MQ: one-way with acknowledgement

    pattern Use the Service Facade to WebSphere MQ: one-way with acknowledgement

    pattern to present a Web service interface to clients and to fulfill the servicerequests by using a WebSphere MQ enabled application.

    Use this pattern to bridge the asynchronous HTTP protocols and reliablemessaging protocols to handle updates with an assurance that requests are

    saved for processing.

  • 7/30/2019 1344-WMBPatterns.pdf

    36/42

    Service Enablement (2/2)

    Service Facade to WebSphere MQ: request-response pattern Use the Service Facade to WebSphere MQ: request-response pattern to provide a Web

    service facade to functions that are accessible only through WebSphere MQ. This patterncreates a bridge between the synchronous HTTP protocol, which is typically used with Webservices, and existing applications with WebSphere MQ interfaces that cannot easily beupgraded.

    Use this pattern where provider applications provide an XML interface and clientapplications support calls to Web services. The pattern can be extended with transforms tosupport a service facade to applications with non-XML interfaces over WebSphere MQ.

  • 7/30/2019 1344-WMBPatterns.pdf

    37/42

    Service Virtualization

    Service Proxy: static endpoint pattern Use this pattern to provide decoupling between Web servicerequesters and Web service providers by routing through a

    virtual service that is bound directly to the target service

    provider.

  • 7/30/2019 1344-WMBPatterns.pdf

    38/42

    Export and Import

    Upon instantiation, pattern parameters are saved into a single file

    Pattern configurations then can be imported and regenerated

  • 7/30/2019 1344-WMBPatterns.pdf

    39/42

    Cross-pattern standard implementations

    Standardised:

    error handling

    logging

  • 7/30/2019 1344-WMBPatterns.pdf

    40/42

    Summary

    WMB Recap

    Typical ways in which WMB is used

    Patterns in WMB V7

    Tops-down development

    Patterns concepts

    Patterns in action!

    Patterns examples

    Patterns features

  • 7/30/2019 1344-WMBPatterns.pdf

    41/42

    41

    We Value Your Feedback !

    Please complete the session survey for this session by:

    Accessing the SmartSite on your smart phone or computerat: http://imp2010.confnav.com

    Surveys / My Session Evaluations

    Visiting any onsite event kiosk Surveys / My Session Evaluations

    Each completed survey increases your chance to win anApple iPod Touch with daily drawing sponsored by

    Alliance Tech

    http://imp2010.confnav.com/http://imp2010.confnav.com/
  • 7/30/2019 1344-WMBPatterns.pdf

    42/42

    42

    Copyright and Trademarks

    IBM Corporation 2009. All rights reserved. IBM, theIBM logo, ibm.com and the globe design are

    trademarks of International Business Machines

    Corporation, registered in many jurisdictions

    worldwide. A current list of IBM trademarks is available

    on the Web at "Copyright and trademark information"at www.ibm.com/legal/copytrade.shtml. Other

    company, product, or service names may be

    trademarks or service marks of others.

    http://localhost/Documents%20and%20Settings/Administrator/Local%20Settings/Temp/notesEA312D/www.ibm.com/legal/copytrade.shtmlhttp://localhost/Documents%20and%20Settings/Administrator/Local%20Settings/Temp/notesEA312D/www.ibm.com/legal/copytrade.shtml