Suche senden
Hochladen
Advanced Pattern Authoring with WebSphere Message Broker
•
3 gefällt mir
•
3,865 views
Ant Phillips
Folgen
Technologie
Unterhaltung & Humor
Melden
Teilen
Melden
Teilen
1 von 65
Empfohlen
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
Ant Phillips
Introduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message Broker
Ant Phillips
Mobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message Broker
Ant Phillips
Introduction to WebSphere Message Broker
Introduction to WebSphere Message Broker
Ant Phillips
Lab jam websphere message broker labs
Lab jam websphere message broker labs
Eng Binary
WebSphere Message Broker Training Agenda
WebSphere Message Broker Training Agenda
Vijaya Raghava Vuligundam
WebSphere Message Broker In Shared Runtime Environments
WebSphere Message Broker In Shared Runtime Environments
Mårten Gustafson
OMG CORBA Component Model tutorial
OMG CORBA Component Model tutorial
Johnny Willemsen
Empfohlen
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
Ant Phillips
Introduction to Patterns in WebSphere Message Broker
Introduction to Patterns in WebSphere Message Broker
Ant Phillips
Mobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message Broker
Ant Phillips
Introduction to WebSphere Message Broker
Introduction to WebSphere Message Broker
Ant Phillips
Lab jam websphere message broker labs
Lab jam websphere message broker labs
Eng Binary
WebSphere Message Broker Training Agenda
WebSphere Message Broker Training Agenda
Vijaya Raghava Vuligundam
WebSphere Message Broker In Shared Runtime Environments
WebSphere Message Broker In Shared Runtime Environments
Mårten Gustafson
OMG CORBA Component Model tutorial
OMG CORBA Component Model tutorial
Johnny Willemsen
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
Vijaya Raghava Vuligundam
201307 esb01 - iib v9 patterns
201307 esb01 - iib v9 patterns
kondapallishashi
IBM How to Develop Responsive Applications
IBM How to Develop Responsive Applications
IBM Systems UKI
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
t_quigly
How to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq light
matthew1001
IBM WebSphere Portal References Education
IBM WebSphere Portal References Education
Dvir Reznik
MQLight for WebSphere Integration user group June 2014
MQLight for WebSphere Integration user group June 2014
Mark Phillips
TechDoc - WMB - Administration - Logs
TechDoc - WMB - Administration - Logs
Glen Brumbaugh
Websphere Portal
Websphere Portal
dominion
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
Robert Nicholson
MQ Light for WTU
MQ Light for WTU
Robert Nicholson
Extreme Versioning: Delivering Customized Documentation Via XML
Extreme Versioning: Delivering Customized Documentation Via XML
Scott Abel
Chapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration Technologies
It Academy
IBM WebSphere Application Server (Clustering) Concept
IBM WebSphere Application Server (Clustering) Concept
ejlp12
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
Carl Tyler
IBM WebSphere Portal
IBM WebSphere Portal
Vincent Perrin
Yury Verameichyk-2015
Yury Verameichyk-2015
Yuri Veremeichik
IBM Portal Web intro
IBM Portal Web intro
danisman
The art of wmb deployment automation
The art of wmb deployment automation
MidVision
Java & J2EE Coding Conventions
Java & J2EE Coding Conventions
Vijaya Raghava Vuligundam
IBM MQ: Using Publish/Subscribe in an MQ Network
IBM MQ: Using Publish/Subscribe in an MQ Network
David Ware
Apache Kafka Reliability Guarantees StrataHadoop NYC 2015
Apache Kafka Reliability Guarantees StrataHadoop NYC 2015
Jeff Holoman
Weitere ähnliche Inhalte
Was ist angesagt?
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
Vijaya Raghava Vuligundam
201307 esb01 - iib v9 patterns
201307 esb01 - iib v9 patterns
kondapallishashi
IBM How to Develop Responsive Applications
IBM How to Develop Responsive Applications
IBM Systems UKI
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
t_quigly
How to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq light
matthew1001
IBM WebSphere Portal References Education
IBM WebSphere Portal References Education
Dvir Reznik
MQLight for WebSphere Integration user group June 2014
MQLight for WebSphere Integration user group June 2014
Mark Phillips
TechDoc - WMB - Administration - Logs
TechDoc - WMB - Administration - Logs
Glen Brumbaugh
Websphere Portal
Websphere Portal
dominion
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
Robert Nicholson
MQ Light for WTU
MQ Light for WTU
Robert Nicholson
Extreme Versioning: Delivering Customized Documentation Via XML
Extreme Versioning: Delivering Customized Documentation Via XML
Scott Abel
Chapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration Technologies
It Academy
IBM WebSphere Application Server (Clustering) Concept
IBM WebSphere Application Server (Clustering) Concept
ejlp12
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
Carl Tyler
IBM WebSphere Portal
IBM WebSphere Portal
Vincent Perrin
Yury Verameichyk-2015
Yury Verameichyk-2015
Yuri Veremeichik
IBM Portal Web intro
IBM Portal Web intro
danisman
Was ist angesagt?
(18)
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
201307 esb01 - iib v9 patterns
201307 esb01 - iib v9 patterns
IBM How to Develop Responsive Applications
IBM How to Develop Responsive Applications
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
How to develop responsive applications with ibm web sphere mq light
How to develop responsive applications with ibm web sphere mq light
IBM WebSphere Portal References Education
IBM WebSphere Portal References Education
MQLight for WebSphere Integration user group June 2014
MQLight for WebSphere Integration user group June 2014
TechDoc - WMB - Administration - Logs
TechDoc - WMB - Administration - Logs
Websphere Portal
Websphere Portal
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
MQ Light in IBM MQ: IBM Interconnect 2015 session AME4182
MQ Light for WTU
MQ Light for WTU
Extreme Versioning: Delivering Customized Documentation Via XML
Extreme Versioning: Delivering Customized Documentation Via XML
Chapter 10:Understanding Java Related Platforms and Integration Technologies
Chapter 10:Understanding Java Related Platforms and Integration Technologies
IBM WebSphere Application Server (Clustering) Concept
IBM WebSphere Application Server (Clustering) Concept
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
IBM WebSphere Portal
IBM WebSphere Portal
Yury Verameichyk-2015
Yury Verameichyk-2015
IBM Portal Web intro
IBM Portal Web intro
Andere mochten auch
The art of wmb deployment automation
The art of wmb deployment automation
MidVision
Java & J2EE Coding Conventions
Java & J2EE Coding Conventions
Vijaya Raghava Vuligundam
IBM MQ: Using Publish/Subscribe in an MQ Network
IBM MQ: Using Publish/Subscribe in an MQ Network
David Ware
Apache Kafka Reliability Guarantees StrataHadoop NYC 2015
Apache Kafka Reliability Guarantees StrataHadoop NYC 2015
Jeff Holoman
Kafka Reliability Guarantees ATL Kafka User Group
Kafka Reliability Guarantees ATL Kafka User Group
Jeff Holoman
WebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
WebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
ecorptraining2
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
Leif Davidsen
InterConnect 2016: What's new in IBM MQ
InterConnect 2016: What's new in IBM MQ
David Ware
InterConnect 2016: IBM MQ self-service and as-a-service
InterConnect 2016: IBM MQ self-service and as-a-service
David Ware
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
David Ware
IBM Messaging Security - Why securing your environment is important : IBM Int...
IBM Messaging Security - Why securing your environment is important : IBM Int...
Leif Davidsen
Docker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
Data Power Architectural Patterns - Jagadish Vemugunta
Data Power Architectural Patterns - Jagadish Vemugunta
floridawusergroup
IBM MQ Disaster Recovery
IBM MQ Disaster Recovery
MarkTaylorIBM
Netflix security monkey overview
Netflix security monkey overview
Ryan Hodgin
IBM Integration Bus High Availability Overview
IBM Integration Bus High Availability Overview
Peter Broadhurst
Mini-Training: Netflix Simian Army
Mini-Training: Netflix Simian Army
Betclic Everest Group Tech Team
Apache Spark: What's under the hood
Apache Spark: What's under the hood
Adarsh Pannu
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
Chen-en Lu
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
Serdar Basegmez
Andere mochten auch
(20)
The art of wmb deployment automation
The art of wmb deployment automation
Java & J2EE Coding Conventions
Java & J2EE Coding Conventions
IBM MQ: Using Publish/Subscribe in an MQ Network
IBM MQ: Using Publish/Subscribe in an MQ Network
Apache Kafka Reliability Guarantees StrataHadoop NYC 2015
Apache Kafka Reliability Guarantees StrataHadoop NYC 2015
Kafka Reliability Guarantees ATL Kafka User Group
Kafka Reliability Guarantees ATL Kafka User Group
WebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
WebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
Expanding your options with the IBM MQ Appliance - IBM InterConnect 2016
InterConnect 2016: What's new in IBM MQ
InterConnect 2016: What's new in IBM MQ
InterConnect 2016: IBM MQ self-service and as-a-service
InterConnect 2016: IBM MQ self-service and as-a-service
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM Messaging Security - Why securing your environment is important : IBM Int...
IBM Messaging Security - Why securing your environment is important : IBM Int...
Docker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Data Power Architectural Patterns - Jagadish Vemugunta
Data Power Architectural Patterns - Jagadish Vemugunta
IBM MQ Disaster Recovery
IBM MQ Disaster Recovery
Netflix security monkey overview
Netflix security monkey overview
IBM Integration Bus High Availability Overview
IBM Integration Bus High Availability Overview
Mini-Training: Netflix Simian Army
Mini-Training: Netflix Simian Army
Apache Spark: What's under the hood
Apache Spark: What's under the hood
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
Ähnlich wie Advanced Pattern Authoring with WebSphere Message Broker
Php Framework
Php Framework
cncwebworld
Php framework
Php framework
cncwebworld
Ide
Ide
kalasalingam university
Spring Architecture | Advanced Java
Spring Architecture | Advanced Java
VISHAL DONGA
Lamp Zend Security
Lamp Zend Security
Ram Srivastava
Review Paper on Online Java Compiler
Review Paper on Online Java Compiler
IRJET Journal
Introducing symfony
Introducing symfony
Wildan Maulana
green
green
alind tiwari
Spring notes
Spring notes
Rajeev Uppala
MVC 3.0 KU Day 1 v 1.1
MVC 3.0 KU Day 1 v 1.1
Lek Pongpatimet
Php Frameworks
Php Frameworks
Ryan Davis
Everything PHP Developers Need To Be Productive
Everything PHP Developers Need To Be Productive
Michael Findling
dotNET frameworks
dotNET frameworks
nawal saad
PHP Frameworks
PHP Frameworks
Dumindu Pahalawatta
Zero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or less
Davalen LLC
6
6
Majong DevJfu
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
IRJET Journal
PHP Basics
PHP Basics
Roohul Amin
Php&yii2
Php&yii2
RakhiBhojwani
Java Spring Framework
Java Spring Framework
Mehul Jariwala
Ähnlich wie Advanced Pattern Authoring with WebSphere Message Broker
(20)
Php Framework
Php Framework
Php framework
Php framework
Ide
Ide
Spring Architecture | Advanced Java
Spring Architecture | Advanced Java
Lamp Zend Security
Lamp Zend Security
Review Paper on Online Java Compiler
Review Paper on Online Java Compiler
Introducing symfony
Introducing symfony
green
green
Spring notes
Spring notes
MVC 3.0 KU Day 1 v 1.1
MVC 3.0 KU Day 1 v 1.1
Php Frameworks
Php Frameworks
Everything PHP Developers Need To Be Productive
Everything PHP Developers Need To Be Productive
dotNET frameworks
dotNET frameworks
PHP Frameworks
PHP Frameworks
Zero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or less
6
6
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
PHP Basics
PHP Basics
Php&yii2
Php&yii2
Java Spring Framework
Java Spring Framework
Mehr von Ant Phillips
Healthcare Standards for Connecting Clinical Applications
Healthcare Standards for Connecting Clinical Applications
Ant Phillips
Connecting Clinical Applications with WebSphere Message Broker
Connecting Clinical Applications with WebSphere Message Broker
Ant Phillips
HL7 DFDL with WebSphere Message Broker
HL7 DFDL with WebSphere Message Broker
Ant Phillips
Healthcare Analytics with WebSphere Message Broker
Healthcare Analytics with WebSphere Message Broker
Ant Phillips
Medical Imaging (DICOM) with WebSphere Message Broker
Medical Imaging (DICOM) with WebSphere Message Broker
Ant Phillips
Healthcare Integration with WebSphere Message Broker
Healthcare Integration with WebSphere Message Broker
Ant Phillips
An Overview of the Message Broker Healthcare Connectivity Pack
An Overview of the Message Broker Healthcare Connectivity Pack
Ant Phillips
Mehr von Ant Phillips
(7)
Healthcare Standards for Connecting Clinical Applications
Healthcare Standards for Connecting Clinical Applications
Connecting Clinical Applications with WebSphere Message Broker
Connecting Clinical Applications with WebSphere Message Broker
HL7 DFDL with WebSphere Message Broker
HL7 DFDL with WebSphere Message Broker
Healthcare Analytics with WebSphere Message Broker
Healthcare Analytics with WebSphere Message Broker
Medical Imaging (DICOM) with WebSphere Message Broker
Medical Imaging (DICOM) with WebSphere Message Broker
Healthcare Integration with WebSphere Message Broker
Healthcare Integration with WebSphere Message Broker
An Overview of the Message Broker Healthcare Connectivity Pack
An Overview of the Message Broker Healthcare Connectivity Pack
Kürzlich hochgeladen
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Kürzlich hochgeladen
(20)
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Advanced Pattern Authoring with WebSphere Message Broker
1.
Ant Phillips antphill@uk.ibm.com WebSphere
Message Broker Advanced Pattern Authoring © 2012 IBM Corporation
2.
Round Tripping
© 2012 IBM Corporation
3.
Customising Pattern Instances
The message flow below shows a familiar pattern authoring approach: Subflows clarify where pattern users should add their customisations – Defines a design contract between the generated flows and the pattern user – This contract ensures the pattern user does not break the generated flows – Pattern users can extend their pattern instances in many different directions! • Message maps, PHP scripts, Java, XSLT, message definitions and much more However, everything is deleted when a pattern instance is re-generated! – Re-generation is a common task as a pattern user explores a pattern A clean separation is required between the generated artifacts and the pattern user’s customisations 3 © 2012 IBM Corporation
4.
Customising Pattern Instances
Recommended approach is put the subflows in a separate project: – This project contains the subflows for the pattern user to modify – One or more projects which contain the pattern instance generated flows The project is marked as customisable in the Pattern Authoring editor: Customisation projects are never deleted nor overwritten when a pattern instance is re-generated 4 © 2012 IBM Corporation
5.
Pattern Refinement
© 2012 IBM Corporation
6.
Refresh! Pattern authoring
supports property changes out-of-the-box – 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 6 © 2012 IBM Corporation
7.
Where Does Your
PHP and Java Code Go? Pattern refinements are packaged in one or more separate plug-ins – Packaged and distributed with the generated pattern plug-ins – Clean separation between code written by the pattern author and the plug-ins generated by the Pattern Authoring editor – Makes it very easy to re-use Java and PHP between patterns – Straightforward to version, patch and upgrade the plug-ins – All the plug-ins can still be packaged in a single ZIP file for distribution New pattern authoring wizard make it a breeze to create plug-ins! 7 © 2012 IBM Corporation
8.
Pattern Instance Generation
The following sequence of actions generates pattern instance projects: 1. The pattern authoring runtime creates the pattern instance projects 2. All non message flow files are copied into the pattern instance projects 3. The message flows are loaded into memory from the pattern plug-ins 4. All target properties are configured in the message flows 5. PHP and Java targets are invoked in top-to-bottom order 6. The message flows are saved into the pattern instance projects 8 © 2012 IBM Corporation
9.
Rolling Your Own
Plug-in? It must be a plug-in not just a Java project! Your plug-in must export the Java classes that are to be invoked You will need a reference to com.ibm.broker.config.appdev There is a reference from the pattern plug-ins to your plug-in – The pattern authoring generator adds this to the plug-in manifest If it contains PHP templates then it must be a directory plug-in – PHP scripts can only be loaded direct from the file system and not from a JAR The plug-in must be installed before pattern instances can be created – So think about how you want to distribute your code! 9 © 2012 IBM Corporation
10.
Java and PHP
code Easy to attach Java and PHP code to a pattern – the code is invoked in top down order as shown in the Pattern Authoring editor 10 © 2012 IBM Corporation
11.
Java Code Java
classes implement GeneratePatternInstanceTransform The pattern authoring runtime invokes onGeneratePatternInstance The method is passed a reference to a PatternInstanceManager – Provides access to pattern parameters, pattern instance name and workspace location – Most important of all, the Java class can manipulate message flows! 11 © 2012 IBM Corporation
12.
Java Example 12
© 2012 IBM Corporation
13.
Manipulating Message Flows
Retrieve a message flow using the patternInstanceManager Pass the (exemplar) project name and the relative path to the file The message flows are loaded into memory from the pattern plug-ins – The flows are automatically saved into the pattern instance projects at the end Your changes act on the message flow immediately 13 © 2012 IBM Corporation
14.
Message Flow API
The MessageFlow API contains all the nodes, connections and artefacts present in the message flow The Message Flow API includes properties, nodes and connections – This is not an exhaustive list! User Defined Nodes are represented as GenericNode 14 © 2012 IBM Corporation
15.
Message Flow API
Helper methods throughout the Message Flow API – For example, finding a node by its label using getNodeByName Node properties are strongly typed wherever possible Enumerations are provided for properties – Implemented as type-safe classes JavaDoc provided for properties (easily viewed in the Java editor) 15 © 2012 IBM Corporation
16.
Creating Connections Between
Nodes Nodes can be connected using terminals (in the Node class) Dynamic terminals and GenericNode terminals also supported 16 © 2012 IBM Corporation
17.
Complex Properties Complex
properties are manipulated using objects (tables and rows) Property values on rows are strongly typed Rows can be added and removed from tables 17 © 2012 IBM Corporation
18.
Complex Properties Example 18
© 2012 IBM Corporation
19.
PHP PHP is
a general purpose dynamic scripting language Easy to use with a gentle learning curve Efficient syntax and library have evolved in open source – Community driven to get more done in less time – Impressive results with little code – Extensive library support – Language well suited to rapid prototyping More than 3 million developers worldwide 4th most populate language after Java, C and Visual Basic Message Broker PHP Compute Node since v6.1.0.4 – Java implementation, fully compliant with PHP version 5.2 19 © 2012 IBM Corporation
20.
PHP Templates Output
from PHP template is written straight to a pattern instance file 20 © 2012 IBM Corporation
21.
PHP Scripts The
PHP script invokes other PHP templates to output files – Script acts as a controller and runs other templates as required Typically used when custom logic is required with pattern parameters Output from the controller script is sent to the Console view 21 © 2012 IBM Corporation
22.
PHP Example (main.php) 22
© 2012 IBM Corporation
23.
PHP Example (example.esql.php)
This uses the PHP echo function to write the text into the output file - the embedded PHP code is accessing pattern parameters through the _MB super global This section of ESQL script is conditionally output depending on the value of the errorAction pattern parameter - the surrounding PHP uses a HEREDOC to output the code as a literal string 23 © 2012 IBM Corporation
24.
PHP Super Globals
PHP provides a large number of predefined variables to any script which it runs – Message Broker has an additional super global called _MB _MB in pattern authoring is populated with the pattern parameters, the pattern instance name and the PatternInstanceManager: 24 © 2012 IBM Corporation
25.
Standard PHP Functions
The full list of supported PHP extensions and functions are listed here: http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ac69026_.htm Extensive help on PHP is available on http://php.net –Individual functions can be located directly, for example: http://php.net/phpinfo The language reference for PHP is here: –http://www.php.net/manual/en/langref.php There are a few language differences between the Message Broker PHP and the Open Source PHP implementation – they are listed here: –http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp 25 © 2012 IBM Corporation
26.
Debug
© 2012 IBM Corporation
27.
Debugging Your Pattern
Refinements Java pattern refinements can be debugged in the Java debugger The launch configuration is automatically created the first time you test a pattern from the Pattern Authoring editor: Any console output from your PHP or Java appears in the Console view: 27 © 2012 IBM Corporation
28.
Editing PHP On-The-Fly
You do not need to re-launch a workbench to test your PHP changes Simply save the file in the main workbench and click Generate again This edit and test efficiency is a major productivity boost If you change anything else in the pattern then you need to re-launch 28 © 2012 IBM Corporation
29.
Exception Handing Exceptions
from PHP and Java code are caught and displayed 29 © 2012 IBM Corporation
30.
Java and PHP
Interoperability © 2012 IBM Corporation
31.
PHP and Java
Integration It is straightforward to invoke Java code from your PHP scripts: The Message Broker PHP runtime has a feature rich Java bridge http://www.projectzero.org/sMash/1.1.x/docs/zero.devguide.doc/zero.php/ZeroAdvancedPHPJavaBridge.html This PHP script is manipulating the message flow using the Java API! 31 31 © 2012 IBM Corporation
32.
So Which Language
Should I Use? Because of the Java bridge in the PHP runtime, many pattern authoring tasks can be done in either language So here are some general recommendations – your mileage may vary! Use PHP for text files that need to be marked up with conditional logic Use Java to manipulate message flows as you get an excellent debugger and code completion in the Java editor – Unless you have PHP skills and prefer the productivity of scripting languages! If you have existing assets or libraries that you want to call, pick the language that best aligns with them 32 © 2012 IBM Corporation
33.
Table Parameters
© 2012 IBM Corporation
34.
Table Parameters Tables
support row oriented data entered by the pattern user – The data type of the rows in a table is restricted to strings at the moment – No field validation of data is possible either (for example between columns) No automatic mapping to complex properties is available – Process the rows of information using the Message Flow API Tables appear frequently in the built-in Message Broker patterns – For example, to control message routing in the file processing pattern 34 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
35.
Table Parameters Table
editor added to the selection of editors available for parameters: Tables are defined by the pattern author in the table editor – Columns can be mandatory or optional, and may also have width specified – Help text for the columns in defined in HTML just like pattern parameters 35 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
36.
Accessing Table Parameters
Two Java APIs isTableParameter and getParameterTable available in the PatternInstanceManager interface getParameterTable returns a PatternParameterTable instance PatternParameterTable provides access to the row count and the individual rows Rows are accessed through an instance of PatternParameterRow 36 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
37.
Enumerated Types
© 2012 IBM Corporation
38.
Enumerated Types Target
properties are strongly typed – String, integer, boolean and enumerations and the most common types – An enumeration is a list of permissible values for a given property: The Pattern Authoring editor has full support for enumerations – An enumerated type is automatically created when a target property is added – The enumerated type includes the display names and property values – The list of values presented to the pattern user can be reduced if required 38 © 2012 IBM Corporation
39.
Advanced Field Editors
© 2012 IBM Corporation
40.
Field Editors Advanced
field editors provide richer user interface experience – Built in validation also ensures data is entered correctly by the pattern user Queue name and project name editors make common cases simple! 40 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
41.
File and Folder
Selection Two use cases stand out above all others for the file selection editor: As a way to augment existing files to implement micro patterns – For example, to add error handling logic to existing Message Flows To store metadata for mass migration and generation of message flows – The file might be XML data and used to programmatically generate message flows – Sometimes it is appropriate for pattern users to enter data in third party tools 41 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
42.
User-Defined Editors
© 2012 IBM Corporation
43.
User-Defined Editors Pattern
authoring provides an extensive set of pattern parameter editors Built-in editors support a range of data types such as strings and integers Validating editors also provided such as the message queue name editor Patterns are emerging which require a richer set of parameter editors Supports scenarios where your pattern user does extended exploration and discovery 43 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
44.
User-Defined Editors Pattern
authors can define their own editors to use in their patterns: User-defined editors are defined and implemented in Java code Java code is packaged just like existing code in a pattern authoring project User-defined editors collaborate with the Pattern Instance editor User-defined editors support watermarking, XPath enablement, mandatory configuration, validation, and change notifications to other editors! 44 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
45.
Creating User-Defined Editors
© 2012 IBM Corporation
46.
Creating User-Defined Editors
- Introduction You create two Java classes that together implement a user-defined editor: The first class implements the user interface using SWT controls This user interface class extends the SWT Composite class The second class extends the BasePatternPropertyEditor class This class interfaces with the Pattern Instance editor Wizards are provided that make it very easy to create these classes! 46 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
47.
Creating User-Defined Editors
- Composite Recommended to install WindowBuilder into your Message Broker toolkit WindowBuilder is an open source user interface design tool for Eclipse Download WindowBuilder from http://code.google.com/javadevtools/wbpro/ Very easy to install the plug-ins using Help -> Install New Software Message Broker is now based on Eclipse Helios so use the 3.6 update site 47 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
48.
Creating User-Defined Editors
- Composite Create an SWT Composite using the standard WindowBuilder wizard: 48 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
49.
Creating User-Defined Editors
– User Interface Design your SWT composite using the WindowBuilder editor The palette of SWT controls makes it easy to visually create your user interface Set up handlers (methods) to receive event notifications from your SWT controls 49 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
50.
Creating User-Defined Editors
– Main Class New wizard makes it easy to create a user-defined editor main class User-defined editors extend the BasePatternPropertyEditor class There are several methods (explained next) you override to complete your editor Your implementation class must be exported from your Java project Double click the MANIFEST.MF and check the exported packages on the Runtime tab! 50 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
51.
Creating User-Defined Editors
– Main Class The configureEditor method is called first to set up your editor A PatternPropertySite is provided as your interface to the Pattern Instance editor The configuration values from the pattern authoring editor are also provided In your main editor class create an instance of your Composite class Do this when your createControls method is invoked by the Pattern Instance editor 51 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
52.
Creating User-Defined Editors
– Main Class Add extra methods to your main class to complete your implementation: isValid returns null or a string describing the validation error setValue is called early on to pass the initial value to your editor getValue is called when the editor is being saved into a configuration file setEnabled to enable and disable your user interface controls Your editor is always saved before a pattern instance is generated Return your editor value as a string (or return null for no current value) You must call valueChanged on your site when your value changes This ensures change notifications are sent to any editors listening to your editor! 52 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
53.
Creating User-Defined Editors
– Debugging All exceptions thrown by user-defined editors are caught and displayed Provides fail fast feedback to the pattern author on where the code issue is Beware of setValue being called with a null value when your editor is instantiated! 53 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
54.
Packaging User-Defined Editors
© 2012 IBM Corporation
55.
Creating a User-Defined
Editor – Packaging Additional projects can now be packaged into patternzip archives Convenient way to add Java projects containing user-defined editors Also provides an easy way to package third party JAR files in your patterns! 55 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
56.
Using User-Defined Editors
© 2012 IBM Corporation
57.
Using User-Defined Editors
Select your user-defined editor when you configure a pattern parameter Provide a default value to pass an initial value to the user-defined editor 57 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
58.
Using User-Defined Editors
Choose the project and class name that contains the user-defined editor Additional editor specific configuration values can be passed along Select the pattern parameters that will send you change notifications Allows chaining of dependent pattern parameters like message set, type and format 58 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
59.
User-Defined Editors -
Summary User-defined editors support rich pattern user interface experiences Very simple - get a fully functional editor working in less than an hour! WindowBuilder provides an excellent design environment for your user interface 59 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
60.
Fine Grained Control
© 2012 IBM Corporation
61.
Transformation The Pattern
Authoring editor uses XPath as its expression language – XPath is a general purpose expression language! XPath expressions can transform pattern parameter values: – Pattern authors can configure an XPath expression for a pattern parameter – Expressions are evaluated when the pattern instance is generated 61 © 2012 IBM Corporation
62.
Enablement Enablement uses
an XPath expression to control when a pattern parameter is enabled in the Pattern Instance editor The enablement expression is evaluated every time a pattern parameter referenced in the XPath expression changes value If the result of the evaluation is true then the editor is enabled 62 © 2012 IBM Corporation
63.
Hiding Groups Groups
can be conditionally hidden in the Pattern Instance editor Follows same design principle as enabling and disabling parameters Removes visual clutter from screen for more complex patterns 63 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
64.
Project Enablement Projects
can be enabled in the Pattern Authoring editor: The XPath expression is evaluated when a pattern instance is generated If the result of the evaluation is true then the project is created – Allows project creation to be linked to pattern parameters 64 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation
65.
Project Naming Control
available over generated project names The pattern instance name prefix is optional for each project Pattern parameters can also now be used to name generated projects – Hidden parameters can be used so that complex names can be specified in XPath 65 Pattern Building in WebSphere Message Broker © 2012 IBM Corporation