SlideShare a Scribd company logo
Ant Phillips
antphill@uk.ibm.com




Effective Application Development
WebSphere Message Broker




                                    © 2012 IBM Corporation
Effective Application Development


    ▪ What should you consider when building connectivity solutions?
       ▪ What technology is provided in Message Broker to help you?
       ▪ This session aims to point you in the right direction!

    ▪ Ant’s top tips will be highlighted as we move along!
    ▪ We will consider development from several design perspectives:
       o User-defined nodes
       o Subflows
       o Deployable subflows
       o Libraries
       o Applications
       o Services
       o Patterns
       o Mobile
       o Pattern authoring
       o Message Broker API

    ▪ This session covers many new features such as service creation
2                                                                      © 2012 IBM Corporation
Effective Application Development
             Introduction




                                    © 2012 IBM Corporation
Tools of the Trade!




4                     © 2012 IBM Corporation
Create Your Connectivity Solution

 Built-in nodes encapsulate transports, technologies and applications
    – Our intent is always to make the common tasks easy, and the rest possible!
    – Use the built-in nodes to reduce the amount of custom code required
    – This makes best use of the built-in facilities like activity trace and resource statistics




5                                                                                         © 2012 IBM Corporation
Transformation Options

▪ Message Broker has several transformation options:
    ▪ Mapping
    ▪ XSLT
    ▪ ESQL
    ▪ Java
    ▪ PHP
    ▪ .NET

▪ Reflects the importance of transformation in connectivity solutions
    ▪ User-defined nodes supported for Java and C/C++

▪ Every transformation option has strengths and weaknesses!
    – Performance and scalability
    – Backend integration
    – Skill sets and learning curve
    – Developer usability
    – Portability and maintenance

 Use a transformation technology appropriate to the problem at hand!

6                                                                  © 2012 IBM Corporation
Message Modelling
 Models are needed for parsing, validation and transformation
    – Models avoid the need to write custom code to parse messages!




 Graphical mapper requires models to display the message structure
    – ESQL editor provides in line validation of code that navigates message trees




7                                                                                    © 2012 IBM Corporation
Message Modelling
DFDL and XML Schemas

 XML documents and messages are modelled using XML schemas
    – XSDs and WSDLs are deployed directly to the runtime – no import required!

 Non XML data (both text and binary) is defined using DFDL schemas
    – Data Format Description Language standardised through the Open Grid Forum
    – DFDL schemas replace message set projects and the MRM message domain
    – Message Broker input nodes now support DFDL alongside XMLNSC, JSON, MRM etc

 New model based tooling to design and test DFDL schema models
    – Test parsing, test data generation and parse-by-example all built into editor!
    – As with XSDs, DFDL schemas are also deployed directly to the runtime




8                                                                                      © 2012 IBM Corporation
Design for Performance

 There are several areas that incur a processing cost in Message Broker
    – Parsing and serialization of messages as they enter and exit Message Broker
    – Business logic such as transformations executed during message processing
    – Transformation cost includes general complexity, tree navigation and tree copying
    – External resources such as interactions with databases and queue managers

 Message flow design is critical to achieve high performance and scalability
    – For example using global units of work to achieve transactionality across a flow




 Performance is a large (and important) topic in its own right
    – There is a wealth of information and guidance available online!


9                                                                                    © 2012 IBM Corporation
Design for Administration

 ▪ Message Broker Explorer has a wealth of monitoring tools!
     ▪ Statistics monitor resource usage across execution groups
     ▪ Range of options to update and visualise the resource statistics




10                                                                        © 2012 IBM Corporation
Design for Administration

 ▪ Monitoring also provided on individual message flows
     ▪ Quick and easy way to identify hot spots in your solutions!




11                                                                   © 2012 IBM Corporation
Design for Administration

 ▪ Use configurable services to externalize deployment time properties
     ▪ Allows deployment information to be configured by a system administrator
     ▪ For example, credentials for the database nodes and FTP server and port
     ▪ Ideal for moving solutions through staging environments (test to production)




12                                                                                    © 2012 IBM Corporation
Effective Application Development
         Connecting with Nodes




                                    © 2012 IBM Corporation
Connecting with Nodes

 ▪ Nodes represent both logical end points and processing functions
     ▪ User-defined nodes can be written in Java, C/C++ and also as subflows
     ▪ Where possible use the built-in nodes - log a requirement if something is missing!

 ▪ Several broad categories of node exist in Message Broker
     ▪ Input, output, get and request nodes that manage end points
     ▪ Asynchronous variations also exist for more efficient processing




     ▪ The JavaCompute node dramatically reduced the need to write custom nodes:




14                                                                                  © 2012 IBM Corporation
Effective Application Development
             Subflows




                                    © 2012 IBM Corporation
Subflows

 ▪ Subflows are simply message flows that are invoked from another flow
     ▪ Input and output nodes in the subflow become terminals in the main flow
     ▪ Use subflows to break up large problems into smaller more manageable chunks




 ▪ Subflows are directly deployable to the Message Broker runtime
     ▪ Shared subflows deployed just once per execution group (or application)
     ▪ No need to redeploy message flows after changes to shared routines are made
     ▪ Redeployment of a subflow is automatically picked up by any consumers

16                                                                             © 2012 IBM Corporation
Effective Application Development
        Applications and Libraries




                                     © 2012 IBM Corporation
Applications and Libraries
                                                                                             New
                                                                                            in V8
     ▪ Applications package end-to-end connectivity solutions
        ▪ The concept of an application is shared between the toolkit and runtime
        ▪ Applications are deployed and managed as a single unit of isolation
     ▪ Libraries package resources for reuse (flows, scripts, models)
     ▪ Resources in an application are not visible to anything else
        ▪ Use applications to manage your solutions inside an execution group




18                                                                                  © 2012 IBM Corporation
Effective Application Development
             Services




                                    © 2012 IBM Corporation
Services

     ▪ Services are applications with a well defined interface (contract)
        ▪ The service interface is expressed with a WSDL and a port type
        ▪ Service creation includes tooling to build the interface and structure
        ▪ Each operation is implemented as a (deployable) subflow
        ▪ Service descriptor (XML) ties the interface with the service implementation
     ▪ Services are deployed and managed just like regular applications
        ▪ Supporting resources are deployed with the service (maps, ESQL, schemas)




20                                                                                      © 2012 IBM Corporation
Effective Application Development
             Patterns




                                    © 2012 IBM Corporation
The Challenge



     From:
                              MQ
                File




                       WSDL


      To:




22                                 © 2012 IBM Corporation
Patterns for Simplified Development
 Creates top-down, parameterized connectivity solutions
 Reduces common problems in flow development
 Establishes best practices for healthcare integration
 Reduces time-to-value for solution development
 Patterns are easily extended with regular broker functionality




23                                                                 © 2012 IBM Corporation
Built-In Patterns

 Message Broker provides a core set of built-in patterns
 These implement a variety of common scenarios
     –   Web service front end to a MQ based application
     –   Processing data stored in a file and routing to one or more queues
     –   Adding a proxy in front of a web service provider
     –   Processing data from an SAP system and routing to MQ
     –   Shredding messages and routing to one or more queues

 Patterns are selected based on client feedback and field experience
 This core set of patterns continues to grow with each release




24                                                                            © 2012 IBM Corporation
Effective Application Development
              Mobile




                                    © 2012 IBM Corporation
Mobile

 Worklight integration makes developing mobile services simple!
     – Four new patterns makes mobile service integration quick and easy
     – Toolkit support to mobile enable Message Broker services
     – Pattern source included for flexible customization to many other tools

 Message Broker mobile patterns
     – Mobile enablement for Microsoft .NET applications
     – Create flexible mobile services on top of Message Broker
     – Resource management including security and caching
     – Outbound push notifications for asynchronous data delivery




26                                                                              © 2012 IBM Corporation
Mobile Enablement for Microsoft .NET Applications


 Creates a mobile-ready service around a Microsoft .NET application
     – Generates a web service implementation which is deployed to Message Broker
     – Builds a Worklight integration adapter and a sample mobile application
     – Inbound data from the mobile application is sent to Worklight as JSON/HTTP
     – The adapter converts the JSON data into/from SOAP/HTTP for the .NET web service




27                                                                             © 2012 IBM Corporation
Mobiles Services

 Creates a mobile-ready interface around a Message Broker service
     – Right click option on a Message Broker service to mobile service enable it!
     – Builds an adapter to integrate Worklight and Message Broker services
     – Inbound data from the mobile application is sent to Worklight as JSON/HTTP



 Makes it very simple to mobile enable a Message Broker service!
     – The adapter passes the inbound request straight through to the service
     – Pattern adds an HTTP/JSON message flow (binding) to the service project




28                                                                                   © 2012 IBM Corporation
Asynchronous Push Notifications

 Creates a push notification adapter from a WebSphere MQ queue
     – Generates a web service implementation which is deployed to Message Broker
     – Users receive notifications when the mobile application is not active
     – Efficiency gain as application does not need to issue constant queries
     – Saves battery life and also reduces network bandwidth (communication fees)

 Push notifications are applicable across many industry verticals
     – Notifications are not always appropriate and do have disadvantages




29                                                                             © 2012 IBM Corporation
Worklight Resource Handler

 Resource oriented architecture is a well known implementation pattern
     – Provides a common set of functions (CRUD – Create Read Update and Delete)
     – A Message Broker service is generated with subflows for each operation
     – The service integrates security authorization and authentication (LDAP)
     – Operations optionally integrate with the Message Broker Global Cache (WXS)




30                                                                             © 2012 IBM Corporation
Effective Application Development
          Pattern Authoring




                                    © 2012 IBM Corporation
Pattern Authoring


 Patterns becomes even more compelling when you can create your own!
     – Every organization has their own repeating connectivity patterns!
     – Pattern authoring is the name we give to this technology in Message Broker

 We recommend you start with a working solution
     – One or more Message Broker projects

 Pattern authoring is a design activity
     – It may be long lived
     – It is often not sequential

 Using patterns is a top-down activity driven by a requirement, but:
     – Authoring a working solution is (typically) a bottom-up activity
     – So pattern authoring bridges these two different approaches

 Patterns have their own development cycle
     – Pattern Authoring editor supports this design activity



32                                                                                  © 2012 IBM Corporation
Create Your Working Solution

 No change at all - design your Message Broker solution as you do today
     – Pattern authoring does not change the tools you use to create solutions
     – The key to a good pattern is to create a good working solution!




33                                                                               © 2012 IBM Corporation
Design Your Pattern
 Straightforward to create patterns using the Pattern Authoring editor!
     – Design the user interface which is presented to your pattern users
     – Easy to add branding - style sheets, images and other files as required




34                                                                               © 2012 IBM Corporation
Pattern Refinement

 Pattern authoring in Message Broker supports property changes
     – Node, user-defined properties (UDPs) and promoted node properties

 Property variability is the most common type of variability that a pattern
  might need to express - there are many others:
     – Generate application text files such as ESQL scripts
     – Make structural changes to Message Flows
     – Create administration files such as MQSC scripts

 It is impossible to try and predict all the possible extensions that a pattern
  author might wish to implement
 In Message Broker we provide two ways to extend pattern authoring
     – Java code that is invoked when pattern instances are generated
     – PHP templates that generate text files in pattern instance projects




35                                                                           © 2012 IBM Corporation
Packaging a Pattern




36                    © 2012 IBM Corporation
Effective Application Development
From small to large!


      User-defined nodes    Opaque node implementation hides intellectual property
      (UDNs)                Extend the built-in nodes with your own business logic
                            Excellent potential re-use across many applications
      Subflows              A piece of reusable logic implemented as a subflow
                            Copy-and-pasted into the main flow by the BAR compiler

      Deployable subflows   Separately deployed from the main flows that invoke them

      Libraries             Packaging mechanism to facilitate reuse of many resources
                            Shared understanding between the toolkit and runtime

      Applications          Connectivity solutions which are managed as a whole
                            Typically combines one or more libraries together

      Services              Services provide interface (contract) and implementation
                            Promotes encapsulation, isolation and re-use of solutions

      Patterns              Re-use working solutions quickly and easily
                            Creates production ready connectivity solutions
                            Builds on all of the above technologies!

37                                                                                   © 2012 IBM Corporation
Message Broker API
Migration, Mash-ups, On-demand Applications…




                                               © 2012 IBM Corporation
Message Broker Flow API
 The Message Broker Flow API is our Java application development API
     – Packaged along with the administration API in ConfigManagerProxy.jar
     – Provides a complete Java API to manipulate message flows (and subflows)




 The Message Broker Flow API can be used in standalone applications
     – Wide variety of applications are now possible such as business data mashups
     – Easy to implement mass creation of message flows during migration projects


39                                                                                   © 2012 IBM Corporation
Effective Application Development
           Debug and Test




                                    © 2012 IBM Corporation
Debugging Applications
 Message Broker has excellent real time debugging facilities built-in:




41                                                                  © 2012 IBM Corporation
Unit Test Client




42                 © 2012 IBM Corporation
Effective Application Development
Summary




      Use the features of Message Broker to their full extent!
          – Message modelling, transformation options, applications and libraries
          – Capabilities link in with activity trace, record edit replay, and more

      Libraries and subflows make for simpler designs
          – Deployable subflows and libraries extend the benefits to the runtime

      Consider production and performance early on in your design
          – In particular, applications and configurable services
          – Your system administrator will thank you for this!

      Patterns address time-to-value for your solutions
          – It takes just a few minutes to create a pattern!
          – Why not create a patterns community in your organisation?

      Tell us what you need in Message Broker – we really do listen


43                                                                                   © 2012 IBM Corporation

More Related Content

What's hot (17)

PPTX
OMG CORBA Component Model tutorial
Johnny Willemsen
 
PDF
201307 esb01 - iib v9 patterns
kondapallishashi
 
PDF
DB2 z/OS & Java - What\'s New?
Laura Hood
 
PDF
IBM WebSphere Portal References Education
Dvir Reznik
 
PDF
Social Enabler for XPages
Niklas Heidloff
 
PDF
IBM How to Develop Responsive Applications
IBM Systems UKI
 
PDF
A dynamic application using jboss
ijcax
 
DOCX
Resume_W_Mahima
Mahima Singh
 
PDF
MQLight for WebSphere Integration user group June 2014
Mark Phillips
 
PDF
Websphere Portal
dominion
 
PDF
How to develop responsive applications with ibm web sphere mq light
matthew1001
 
PDF
An Enterprise Ontology based approach to Model-Driven Engineering
Johan den Haan
 
ODP
Intro in JavaEE world (TU Olomouc)
blahap
 
PPT
IBM Portal Web intro
danisman
 
PDF
TechDoc - WMB - Administration - Logs
Glen Brumbaugh
 
PDF
Get Connected – Using Open Source Technologies on Facebook
Binesh Gummadi
 
PDF
Extreme Versioning: Delivering Customized Documentation Via XML
Scott Abel
 
OMG CORBA Component Model tutorial
Johnny Willemsen
 
201307 esb01 - iib v9 patterns
kondapallishashi
 
DB2 z/OS & Java - What\'s New?
Laura Hood
 
IBM WebSphere Portal References Education
Dvir Reznik
 
Social Enabler for XPages
Niklas Heidloff
 
IBM How to Develop Responsive Applications
IBM Systems UKI
 
A dynamic application using jboss
ijcax
 
Resume_W_Mahima
Mahima Singh
 
MQLight for WebSphere Integration user group June 2014
Mark Phillips
 
Websphere Portal
dominion
 
How to develop responsive applications with ibm web sphere mq light
matthew1001
 
An Enterprise Ontology based approach to Model-Driven Engineering
Johan den Haan
 
Intro in JavaEE world (TU Olomouc)
blahap
 
IBM Portal Web intro
danisman
 
TechDoc - WMB - Administration - Logs
Glen Brumbaugh
 
Get Connected – Using Open Source Technologies on Facebook
Binesh Gummadi
 
Extreme Versioning: Delivering Customized Documentation Via XML
Scott Abel
 

Viewers also liked (20)

PDF
WebSphere Message Broker Application Development Training
Vijaya Raghava Vuligundam
 
DOCX
Web sphere message broker (wmb)ibm integration bus training
Anand G
 
PDF
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2
 
PPTX
The art of wmb deployment automation
MidVision
 
PDF
IBM MQ: Using Publish/Subscribe in an MQ Network
David Ware
 
PPT
Apache Kafka Reliability Guarantees StrataHadoop NYC 2015
Jeff Holoman
 
PPTX
Kafka Reliability Guarantees ATL Kafka User Group
Jeff Holoman
 
PPT
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
Leif Davidsen
 
PDF
InterConnect 2016: What's new in IBM MQ
David Ware
 
PDF
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
David Ware
 
PDF
InterConnect 2016: IBM MQ self-service and as-a-service
David Ware
 
PPTX
IBM Messaging Security - Why securing your environment is important : IBM Int...
Leif Davidsen
 
PDF
Docker Overview - Rise of the Containers
Ryan Hodgin
 
PPTX
Data Power Architectural Patterns - Jagadish Vemugunta
floridawusergroup
 
PDF
IBM MQ Disaster Recovery
MarkTaylorIBM
 
PDF
Netflix security monkey overview
Ryan Hodgin
 
PDF
IBM Integration Bus High Availability Overview
Peter Broadhurst
 
PPT
websphere MQ training Online
Divya Angel
 
PDF
Mini-Training: Netflix Simian Army
Betclic Everest Group Tech Team
 
PDF
Apache Spark: What's under the hood
Adarsh Pannu
 
WebSphere Message Broker Application Development Training
Vijaya Raghava Vuligundam
 
Web sphere message broker (wmb)ibm integration bus training
Anand G
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2
 
The art of wmb deployment automation
MidVision
 
IBM MQ: Using Publish/Subscribe in an MQ Network
David Ware
 
Apache Kafka Reliability Guarantees StrataHadoop NYC 2015
Jeff Holoman
 
Kafka Reliability Guarantees ATL Kafka User Group
Jeff Holoman
 
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
Leif Davidsen
 
InterConnect 2016: What's new in IBM MQ
David Ware
 
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
David Ware
 
InterConnect 2016: IBM MQ self-service and as-a-service
David Ware
 
IBM Messaging Security - Why securing your environment is important : IBM Int...
Leif Davidsen
 
Docker Overview - Rise of the Containers
Ryan Hodgin
 
Data Power Architectural Patterns - Jagadish Vemugunta
floridawusergroup
 
IBM MQ Disaster Recovery
MarkTaylorIBM
 
Netflix security monkey overview
Ryan Hodgin
 
IBM Integration Bus High Availability Overview
Peter Broadhurst
 
websphere MQ training Online
Divya Angel
 
Mini-Training: Netflix Simian Army
Betclic Everest Group Tech Team
 
Apache Spark: What's under the hood
Adarsh Pannu
 
Ad

Similar to Effective Application Development with WebSphere Message Broker (20)

PDF
IBM Connect 2013 - AD405
Christian Holsing
 
PPT
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
PPTX
Transforming to Microservices
Kyle Brown
 
PDF
Integrating MongoDB into Cloud Foundry App
IBM
 
PDF
Cloud Foundry and MongoDB
Jake Peyser
 
PPTX
Cloud adoption patterns
Kyle Brown
 
PPTX
Cloud adoption patterns April 11 2016
Kyle Brown
 
PDF
Hia 1693-effective application-development_in_iib
Andrew Coleman
 
PDF
IBM Lightning Talk
MongoDB
 
PDF
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
Brian Wilson
 
PDF
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
Romeo Kienzler
 
PDF
News to Development Environments and for RDz for z/VSE
IBM
 
PDF
From Requirements Management to Release with Git for Android System
Intland Software GmbH
 
PDF
The Future of DevOps and UrbanCode
IBM UrbanCode Products
 
PDF
IBM MQ Light Service for Bluemix
IBM Systems UKI
 
PDF
Eclipse tools for deployment to was liberty profile in Bluemix
Eclipse Day India
 
PDF
Distributed Software Development with Scrum and Social Coding
Intland Software GmbH
 
PPTX
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Sanjeev Sharma
 
PDF
IBM InterConnect 2015 - IIB Effective Application Development
Andrew Coleman
 
PDF
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
Daniel Berg
 
IBM Connect 2013 - AD405
Christian Holsing
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
Transforming to Microservices
Kyle Brown
 
Integrating MongoDB into Cloud Foundry App
IBM
 
Cloud Foundry and MongoDB
Jake Peyser
 
Cloud adoption patterns
Kyle Brown
 
Cloud adoption patterns April 11 2016
Kyle Brown
 
Hia 1693-effective application-development_in_iib
Andrew Coleman
 
IBM Lightning Talk
MongoDB
 
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
Brian Wilson
 
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
Romeo Kienzler
 
News to Development Environments and for RDz for z/VSE
IBM
 
From Requirements Management to Release with Git for Android System
Intland Software GmbH
 
The Future of DevOps and UrbanCode
IBM UrbanCode Products
 
IBM MQ Light Service for Bluemix
IBM Systems UKI
 
Eclipse tools for deployment to was liberty profile in Bluemix
Eclipse Day India
 
Distributed Software Development with Scrum and Social Coding
Intland Software GmbH
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Sanjeev Sharma
 
IBM InterConnect 2015 - IIB Effective Application Development
Andrew Coleman
 
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
Daniel Berg
 
Ad

More from Ant Phillips (7)

PPT
Healthcare Standards for Connecting Clinical Applications
Ant Phillips
 
PPT
Connecting Clinical Applications with WebSphere Message Broker
Ant Phillips
 
PPT
HL7 DFDL with WebSphere Message Broker
Ant Phillips
 
PPT
Healthcare Analytics with WebSphere Message Broker
Ant Phillips
 
PPT
Medical Imaging (DICOM) with WebSphere Message Broker
Ant Phillips
 
PPT
Healthcare Integration with WebSphere Message Broker
Ant Phillips
 
PPT
An Overview of the Message Broker Healthcare Connectivity Pack
Ant Phillips
 
Healthcare Standards for Connecting Clinical Applications
Ant Phillips
 
Connecting Clinical Applications with WebSphere Message Broker
Ant Phillips
 
HL7 DFDL with WebSphere Message Broker
Ant Phillips
 
Healthcare Analytics with WebSphere Message Broker
Ant Phillips
 
Medical Imaging (DICOM) with WebSphere Message Broker
Ant Phillips
 
Healthcare Integration with WebSphere Message Broker
Ant Phillips
 
An Overview of the Message Broker Healthcare Connectivity Pack
Ant Phillips
 

Recently uploaded (20)

PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Digital Circuits, important subject in CS
contactparinay1
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 

Effective Application Development with WebSphere Message Broker

  • 1. Ant Phillips [email protected] Effective Application Development WebSphere Message Broker © 2012 IBM Corporation
  • 2. Effective Application Development ▪ What should you consider when building connectivity solutions? ▪ What technology is provided in Message Broker to help you? ▪ This session aims to point you in the right direction! ▪ Ant’s top tips will be highlighted as we move along! ▪ We will consider development from several design perspectives: o User-defined nodes o Subflows o Deployable subflows o Libraries o Applications o Services o Patterns o Mobile o Pattern authoring o Message Broker API ▪ This session covers many new features such as service creation 2 © 2012 IBM Corporation
  • 3. Effective Application Development Introduction © 2012 IBM Corporation
  • 4. Tools of the Trade! 4 © 2012 IBM Corporation
  • 5. Create Your Connectivity Solution  Built-in nodes encapsulate transports, technologies and applications – Our intent is always to make the common tasks easy, and the rest possible! – Use the built-in nodes to reduce the amount of custom code required – This makes best use of the built-in facilities like activity trace and resource statistics 5 © 2012 IBM Corporation
  • 6. Transformation Options ▪ Message Broker has several transformation options: ▪ Mapping ▪ XSLT ▪ ESQL ▪ Java ▪ PHP ▪ .NET ▪ Reflects the importance of transformation in connectivity solutions ▪ User-defined nodes supported for Java and C/C++ ▪ Every transformation option has strengths and weaknesses! – Performance and scalability – Backend integration – Skill sets and learning curve – Developer usability – Portability and maintenance  Use a transformation technology appropriate to the problem at hand! 6 © 2012 IBM Corporation
  • 7. Message Modelling  Models are needed for parsing, validation and transformation – Models avoid the need to write custom code to parse messages!  Graphical mapper requires models to display the message structure – ESQL editor provides in line validation of code that navigates message trees 7 © 2012 IBM Corporation
  • 8. Message Modelling DFDL and XML Schemas  XML documents and messages are modelled using XML schemas – XSDs and WSDLs are deployed directly to the runtime – no import required!  Non XML data (both text and binary) is defined using DFDL schemas – Data Format Description Language standardised through the Open Grid Forum – DFDL schemas replace message set projects and the MRM message domain – Message Broker input nodes now support DFDL alongside XMLNSC, JSON, MRM etc  New model based tooling to design and test DFDL schema models – Test parsing, test data generation and parse-by-example all built into editor! – As with XSDs, DFDL schemas are also deployed directly to the runtime 8 © 2012 IBM Corporation
  • 9. Design for Performance  There are several areas that incur a processing cost in Message Broker – Parsing and serialization of messages as they enter and exit Message Broker – Business logic such as transformations executed during message processing – Transformation cost includes general complexity, tree navigation and tree copying – External resources such as interactions with databases and queue managers  Message flow design is critical to achieve high performance and scalability – For example using global units of work to achieve transactionality across a flow  Performance is a large (and important) topic in its own right – There is a wealth of information and guidance available online! 9 © 2012 IBM Corporation
  • 10. Design for Administration ▪ Message Broker Explorer has a wealth of monitoring tools! ▪ Statistics monitor resource usage across execution groups ▪ Range of options to update and visualise the resource statistics 10 © 2012 IBM Corporation
  • 11. Design for Administration ▪ Monitoring also provided on individual message flows ▪ Quick and easy way to identify hot spots in your solutions! 11 © 2012 IBM Corporation
  • 12. Design for Administration ▪ Use configurable services to externalize deployment time properties ▪ Allows deployment information to be configured by a system administrator ▪ For example, credentials for the database nodes and FTP server and port ▪ Ideal for moving solutions through staging environments (test to production) 12 © 2012 IBM Corporation
  • 13. Effective Application Development Connecting with Nodes © 2012 IBM Corporation
  • 14. Connecting with Nodes ▪ Nodes represent both logical end points and processing functions ▪ User-defined nodes can be written in Java, C/C++ and also as subflows ▪ Where possible use the built-in nodes - log a requirement if something is missing! ▪ Several broad categories of node exist in Message Broker ▪ Input, output, get and request nodes that manage end points ▪ Asynchronous variations also exist for more efficient processing ▪ The JavaCompute node dramatically reduced the need to write custom nodes: 14 © 2012 IBM Corporation
  • 15. Effective Application Development Subflows © 2012 IBM Corporation
  • 16. Subflows ▪ Subflows are simply message flows that are invoked from another flow ▪ Input and output nodes in the subflow become terminals in the main flow ▪ Use subflows to break up large problems into smaller more manageable chunks ▪ Subflows are directly deployable to the Message Broker runtime ▪ Shared subflows deployed just once per execution group (or application) ▪ No need to redeploy message flows after changes to shared routines are made ▪ Redeployment of a subflow is automatically picked up by any consumers 16 © 2012 IBM Corporation
  • 17. Effective Application Development Applications and Libraries © 2012 IBM Corporation
  • 18. Applications and Libraries New in V8 ▪ Applications package end-to-end connectivity solutions ▪ The concept of an application is shared between the toolkit and runtime ▪ Applications are deployed and managed as a single unit of isolation ▪ Libraries package resources for reuse (flows, scripts, models) ▪ Resources in an application are not visible to anything else ▪ Use applications to manage your solutions inside an execution group 18 © 2012 IBM Corporation
  • 19. Effective Application Development Services © 2012 IBM Corporation
  • 20. Services ▪ Services are applications with a well defined interface (contract) ▪ The service interface is expressed with a WSDL and a port type ▪ Service creation includes tooling to build the interface and structure ▪ Each operation is implemented as a (deployable) subflow ▪ Service descriptor (XML) ties the interface with the service implementation ▪ Services are deployed and managed just like regular applications ▪ Supporting resources are deployed with the service (maps, ESQL, schemas) 20 © 2012 IBM Corporation
  • 21. Effective Application Development Patterns © 2012 IBM Corporation
  • 22. The Challenge From: MQ File WSDL To: 22 © 2012 IBM Corporation
  • 23. Patterns for Simplified Development  Creates top-down, parameterized connectivity solutions  Reduces common problems in flow development  Establishes best practices for healthcare integration  Reduces time-to-value for solution development  Patterns are easily extended with regular broker functionality 23 © 2012 IBM Corporation
  • 24. Built-In Patterns  Message Broker provides a core set of built-in patterns  These implement a variety of common scenarios – Web service front end to a MQ based application – Processing data stored in a file and routing to one or more queues – Adding a proxy in front of a web service provider – Processing data from an SAP system and routing to MQ – Shredding messages and routing to one or more queues  Patterns are selected based on client feedback and field experience  This core set of patterns continues to grow with each release 24 © 2012 IBM Corporation
  • 25. Effective Application Development Mobile © 2012 IBM Corporation
  • 26. Mobile  Worklight integration makes developing mobile services simple! – Four new patterns makes mobile service integration quick and easy – Toolkit support to mobile enable Message Broker services – Pattern source included for flexible customization to many other tools  Message Broker mobile patterns – Mobile enablement for Microsoft .NET applications – Create flexible mobile services on top of Message Broker – Resource management including security and caching – Outbound push notifications for asynchronous data delivery 26 © 2012 IBM Corporation
  • 27. Mobile Enablement for Microsoft .NET Applications  Creates a mobile-ready service around a Microsoft .NET application – Generates a web service implementation which is deployed to Message Broker – Builds a Worklight integration adapter and a sample mobile application – Inbound data from the mobile application is sent to Worklight as JSON/HTTP – The adapter converts the JSON data into/from SOAP/HTTP for the .NET web service 27 © 2012 IBM Corporation
  • 28. Mobiles Services  Creates a mobile-ready interface around a Message Broker service – Right click option on a Message Broker service to mobile service enable it! – Builds an adapter to integrate Worklight and Message Broker services – Inbound data from the mobile application is sent to Worklight as JSON/HTTP  Makes it very simple to mobile enable a Message Broker service! – The adapter passes the inbound request straight through to the service – Pattern adds an HTTP/JSON message flow (binding) to the service project 28 © 2012 IBM Corporation
  • 29. Asynchronous Push Notifications  Creates a push notification adapter from a WebSphere MQ queue – Generates a web service implementation which is deployed to Message Broker – Users receive notifications when the mobile application is not active – Efficiency gain as application does not need to issue constant queries – Saves battery life and also reduces network bandwidth (communication fees)  Push notifications are applicable across many industry verticals – Notifications are not always appropriate and do have disadvantages 29 © 2012 IBM Corporation
  • 30. Worklight Resource Handler  Resource oriented architecture is a well known implementation pattern – Provides a common set of functions (CRUD – Create Read Update and Delete) – A Message Broker service is generated with subflows for each operation – The service integrates security authorization and authentication (LDAP) – Operations optionally integrate with the Message Broker Global Cache (WXS) 30 © 2012 IBM Corporation
  • 31. Effective Application Development Pattern Authoring © 2012 IBM Corporation
  • 32. Pattern Authoring  Patterns becomes even more compelling when you can create your own! – Every organization has their own repeating connectivity patterns! – Pattern authoring is the name we give to this technology in Message Broker  We recommend you start with a working solution – One or more Message Broker projects  Pattern authoring is a design activity – It may be long lived – It is often not sequential  Using patterns is a top-down activity driven by a requirement, but: – Authoring a working solution is (typically) a bottom-up activity – So pattern authoring bridges these two different approaches  Patterns have their own development cycle – Pattern Authoring editor supports this design activity 32 © 2012 IBM Corporation
  • 33. Create Your Working Solution  No change at all - design your Message Broker solution as you do today – Pattern authoring does not change the tools you use to create solutions – The key to a good pattern is to create a good working solution! 33 © 2012 IBM Corporation
  • 34. Design Your Pattern  Straightforward to create patterns using the Pattern Authoring editor! – Design the user interface which is presented to your pattern users – Easy to add branding - style sheets, images and other files as required 34 © 2012 IBM Corporation
  • 35. Pattern Refinement  Pattern authoring in Message Broker supports property changes – Node, user-defined properties (UDPs) and promoted node properties  Property variability is the most common type of variability that a pattern might need to express - there are many others: – Generate application text files such as ESQL scripts – Make structural changes to Message Flows – Create administration files such as MQSC scripts  It is impossible to try and predict all the possible extensions that a pattern author might wish to implement  In Message Broker we provide two ways to extend pattern authoring – Java code that is invoked when pattern instances are generated – PHP templates that generate text files in pattern instance projects 35 © 2012 IBM Corporation
  • 36. Packaging a Pattern 36 © 2012 IBM Corporation
  • 37. Effective Application Development From small to large! User-defined nodes Opaque node implementation hides intellectual property (UDNs) Extend the built-in nodes with your own business logic Excellent potential re-use across many applications Subflows A piece of reusable logic implemented as a subflow Copy-and-pasted into the main flow by the BAR compiler Deployable subflows Separately deployed from the main flows that invoke them Libraries Packaging mechanism to facilitate reuse of many resources Shared understanding between the toolkit and runtime Applications Connectivity solutions which are managed as a whole Typically combines one or more libraries together Services Services provide interface (contract) and implementation Promotes encapsulation, isolation and re-use of solutions Patterns Re-use working solutions quickly and easily Creates production ready connectivity solutions Builds on all of the above technologies! 37 © 2012 IBM Corporation
  • 38. Message Broker API Migration, Mash-ups, On-demand Applications… © 2012 IBM Corporation
  • 39. Message Broker Flow API  The Message Broker Flow API is our Java application development API – Packaged along with the administration API in ConfigManagerProxy.jar – Provides a complete Java API to manipulate message flows (and subflows)  The Message Broker Flow API can be used in standalone applications – Wide variety of applications are now possible such as business data mashups – Easy to implement mass creation of message flows during migration projects 39 © 2012 IBM Corporation
  • 40. Effective Application Development Debug and Test © 2012 IBM Corporation
  • 41. Debugging Applications  Message Broker has excellent real time debugging facilities built-in: 41 © 2012 IBM Corporation
  • 42. Unit Test Client 42 © 2012 IBM Corporation
  • 43. Effective Application Development Summary  Use the features of Message Broker to their full extent! – Message modelling, transformation options, applications and libraries – Capabilities link in with activity trace, record edit replay, and more  Libraries and subflows make for simpler designs – Deployable subflows and libraries extend the benefits to the runtime  Consider production and performance early on in your design – In particular, applications and configurable services – Your system administrator will thank you for this!  Patterns address time-to-value for your solutions – It takes just a few minutes to create a pattern! – Why not create a patterns community in your organisation?  Tell us what you need in Message Broker – we really do listen 43 © 2012 IBM Corporation