Your SlideShare is downloading. ×
0
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
WebSphere Message Broker v6.x Overview - 2008-01-09
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

WebSphere Message Broker v6.x Overview - 2008-01-09

2,038

Published on

Internal presentation given at a Zystems event at the Gothenburg office in 2008.

Internal presentation given at a Zystems event at the Gothenburg office in 2008.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,038
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. WebSphere Message Broker v6.x Overview 2008-01-09 Zystems Gothenburg Mårten Gustafson Zystems
  • 2. WMBv6.x general overview compared to WBIMBv5.x <ul><li>Configuration manager </li></ul><ul><ul><li>No database pre-req </li></ul></ul><ul><ul><li>Supported on all platforms (only Windows in WBIMB) </li></ul></ul><ul><li>Toolkit </li></ul><ul><ul><li>Supported on Linux </li></ul></ul><ul><li>New graphical mapping node </li></ul><ul><li>Java Compute Nodes </li></ul><ul><li>Enhanced JMS support </li></ul><ul><li>HTTPS support </li></ul>
  • 3. New in WMBv6.0 <ul><li>Configuration manager </li></ul><ul><ul><li>No database pre-req </li></ul></ul><ul><ul><li>Supported on all platforms (only Windows in WBIMB) </li></ul></ul><ul><li>Toolkit </li></ul><ul><ul><li>Supported on Linux </li></ul></ul><ul><li>New graphical mapping node </li></ul><ul><li>Java Compute Nodes </li></ul><ul><li>Enhanced JMS support </li></ul><ul><li>HTTPS support </li></ul>
  • 4. New in WMBv6.1
  • 5. New in WMBv6.1 <ul><li>Nodes </li></ul>
  • 6. New in WMBv6.1 Nodes – Not yet released <ul><li>WebSphere Transformation Extender ( ”wettex” ) </li></ul><ul><ul><li>Native execution </li></ul></ul><ul><ul><ul><li>Direct access to the broker tree </li></ul></ul></ul><ul><li>To be included by default: </li></ul><ul><ul><li>Transport Header nodes </li></ul></ul><ul><ul><ul><li>Creates, deletes and modifies: </li></ul></ul></ul><ul><ul><ul><ul><li>MQMD </li></ul></ul></ul></ul><ul><ul><ul><ul><li>MQDLH </li></ul></ul></ul></ul><ul><ul><ul><ul><li>JMS </li></ul></ul></ul></ul><ul><ul><ul><ul><li>HttpInput, HttpResponse, HttpReply, HttpRequest </li></ul></ul></ul></ul><ul><ul><li>TCP/IP nodes </li></ul></ul>
  • 7. New in WMBv6.1 Nodes - Considerations <ul><li>The following nodes requires careful consideration before using in an active/active environment: </li></ul><ul><ul><li>Collector </li></ul></ul><ul><ul><li>FileInput </li></ul></ul><ul><ul><li>SOAPInput </li></ul></ul><ul><ul><li>HTTPInput </li></ul></ul><ul><ul><li>Possibly the JCA adapter nodes </li></ul></ul>
  • 8. New in WMBv6.1 Infrastructure <ul><li>Java 1.5 on all supported platforms </li></ul><ul><li>Java JDBC supports globally coordinated TX </li></ul><ul><ul><li>Only for distributed platforms (ie NOT on z/OS) </li></ul></ul><ul><ul><li>Only for type 4 drivers </li></ul></ul><ul><li>XMLNSC domain uses new parser </li></ul><ul><ul><li>Schema validation </li></ul></ul><ul><ul><li>Opaque parsing </li></ul></ul><ul><ul><li>Better performance, reduced memory use </li></ul></ul><ul><li>XML domain deprecated, use XMLNSC instead </li></ul><ul><li>IDOC domain deprecated, use TDS insetad </li></ul><ul><li>Debugger does not use RAC anymore(!) </li></ul><ul><li>Test client introduced in 6.0 actually works, to some extent </li></ul><ul><li>Trace nodes can be switched on and off using configuration commands </li></ul>
  • 9. New in WMBv6.1 Security <ul><li>Security Manager </li></ul><ul><ul><li>Extracts and authenticate the identity in a message </li></ul></ul><ul><ul><ul><li>Location of identity specified using XPath </li></ul></ul></ul><ul><ul><ul><li>Map an identity to an alternate identity </li></ul></ul></ul><ul><ul><li>Security lookup using external system </li></ul></ul><ul><ul><ul><li>LDAP </li></ul></ul></ul><ul><ul><ul><ul><li>Username & password </li></ul></ul></ul></ul><ul><ul><ul><li>Tivoli Federated Identity Manager </li></ul></ul></ul><ul><ul><ul><ul><li>Username & password </li></ul></ul></ul></ul><ul><ul><ul><ul><li>X.509 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Identity mapping </li></ul></ul></ul></ul><ul><ul><ul><li>X.509 in LDAP requested and being considered </li></ul></ul></ul><ul><ul><li>Configuration stored in security profiles </li></ul></ul><ul><ul><ul><li>A profile applies on a given input node </li></ul></ul></ul>
  • 10. New in WMBv6.1 Extended use of XPath in node configuration <ul><li>Collector node </li></ul><ul><li>DatabaseRoute node </li></ul><ul><li>DatabaseRetrieve node </li></ul><ul><li>EmailOutput node </li></ul><ul><li>FileOutput node </li></ul><ul><li>HTTPInput node </li></ul><ul><li>JMSInput node </li></ul><ul><li>MQInput node </li></ul><ul><li>Route node </li></ul><ul><li>SOAPEnvelope node </li></ul><ul><li>SOAPExtract node </li></ul><ul><li>SOAPInput node </li></ul><ul><li>SOAPReply node </li></ul><ul><li>SOAPRequest node </li></ul><ul><li>SOAPAsyncRequest node </li></ul><ul><li>SOAPAsyncResponse node </li></ul><ul><li>WebSphere Adapter Request nodes </li></ul><ul><li>WebSphere Service Registry and Repository EndpointLookup node </li></ul><ul><li>WebSphere Service Registry and Repository RegistryLookup node </li></ul>
  • 11. WMBv6.x Java Compute Node
  • 12. WMBv6.x - Java Compute Node Overview <ul><li>At most 10% (YMMV) slower than ESQL </li></ul><ul><li>The possible use of third party libraries: </li></ul><ul><ul><li>Extremly powerful </li></ul></ul><ul><ul><li>Extremly dangerous </li></ul></ul><ul><li>Versioning of shared code needs careful consideration </li></ul>
  • 13. WMBv6.x - Java Compute Node Overview
  • 14. WMBv6.x - Java Compute Node Overview In
  • 15. WMBv6.x - Java Compute Node Overview Failure
  • 16. WMBv6.x - Java Compute Node Overview Out
  • 17. WMBv6.x - Java Compute Node Overview Alternate
  • 18. WMBv6.x - Java Compute Node Overview <ul><li>A node points out one Java class </li></ul><ul><ul><li>Java classes are kept in separate Java projects in the tooling </li></ul></ul>
  • 19. WMBv6.x - Java Compute Node Possible uses <ul><li>Transformation </li></ul><ul><li>Routing </li></ul><ul><li>Filtering </li></ul><ul><li>Database interaction </li></ul><ul><li>And anything else that Java can do </li></ul><ul><ul><li>Be careful and bear in mind that WMB is NOT ment to serve as an Java application server </li></ul></ul>
  • 20. WMBv6.x - Java Compute Node <ul><li>Accessing the parse tree </li></ul>
  • 21. WMBv6.x - Java Compute Node Accessing the tree <ul><li><document> </li></ul><ul><li><chapter title=&quot;Chapter One&quot;> </li></ul><ul><li>This is chapter one </li></ul><ul><li></chapter> </li></ul><ul><li></document> </li></ul>
  • 22. WMBv6.x - Java Compute Node Accessing the tree <ul><li><document> </li></ul><ul><li><chapter title=&quot;Chapter One&quot;> </li></ul><ul><li>This is chapter one </li></ul><ul><li></chapter> </li></ul><ul><li></document> </li></ul><ul><li>(0x01000000):XMLNSC = ( </li></ul><ul><li>(0x01000000):document = ( </li></ul><ul><li>(0x03000000):chapter = 'This is chapter one' </li></ul><ul><li>( </li></ul><ul><li>(0x03000100):title = 'Chapter One' </li></ul><ul><li>) </li></ul><ul><li>) </li></ul><ul><li>) </li></ul>
  • 23. WMBv6.x - Java Compute Node Accessing the tree <ul><li>Using the object API </li></ul>
  • 24. WMBv6.x - Java Compute Node Accessing the tree using object API (0x01000000):XMLNSC = ( (0x01000000):document = ( (0x03000000):chapter = 'This is chapter one' ( (0x03000100):title = 'Chapter One' ) ) )
  • 25. WMBv6.x - Java Compute Node Accessing the tree using object API assembly.getMessage();
  • 26. WMBv6.x - Java Compute Node Accessing the tree using object API MbElement xmlnsc = assembly.getMessage().getRootElement().getLastChild();
  • 27. WMBv6.x - Java Compute Node Accessing the tree using object API MbElement xmlnsc = assembly.getMessage().getRootElement().getLastChild(); MbElement chapter = xmlnsc.getFirstChild().getFirstChild();
  • 28. WMBv6.x - Java Compute Node Accessing the tree using object API public class SampleFlow_JavaCompute extends MbJavaComputeNode { public void evaluate(MbMessageAssembly assembly) throws MbException { MbElement xmlnsc = assembly.getMessage().getRootElement().getLastChild(); MbElement chapter = xmlnsc.getFirstChild().getFirstChild(); } }
  • 29. WMBv6.x - Java Compute Node MbElement object (0x01000000):XMLNSC = ( (0x01000000):document = ( (0x03000000):chapter = 'This is chapter one' ( (0x03000100):title = 'Chapter One' ) ) ) MbElement chapter = xmlnsc.getFirstChild().getFirstChild(); chapter.getName(); // Returnerar ”chapter” chapter.getValue(); // Returnerar ”This is chapter one” chapter.getType(); // Returnerar MbElement.TYPE_NAME_VALUE chapter.getSpecificType(); // Returnerar 0x3000000 (XMLNSC-typkoden för element) chapter.setName(”foo”); chapter.setValue(”bar”); …
  • 30. WMBv6.x - Java Compute Node ESQL equivalents getMessage().getRootElement() InputRoot getMessage().getRootElement() .getLastChild() InputBody getLocalEnvironment().getRootElement() InputLocalEnvironment getGlobalEnvironment().getRootElement() Environment getExceptionList().getRootElement() InputExceptionList
  • 31. WMBv6.x - Java Compute Node Accessing the tree <ul><li>Using XPath </li></ul>
  • 32. WMBv6.x - Java Compute Node Accessing the tree with XPath / <document> <chapter title=”Chapter One”> This is chapter one </chapter> </document> (0x01000000): XMLNSC = ( (0x01000000):document = ( (0x03000000):chapter = 'This is chapter one' ( (0x03000100):title = 'Chapter One' ) ) )
  • 33. WMBv6.x - Java Compute Node Accessing the tree with XPath /document < document > <chapter title=”Chapter One”> This is chapter one </chapter> </ document > (0x01000000):XMLNSC = ( (0x01000000): document = ( (0x03000000):chapter = 'This is chapter one' ( (0x03000100):title = 'Chapter One' ) ) )
  • 34. WMBv6.x - Java Compute Node Accessing the tree with XPath /document/chapter <document> < chapter title=”Chapter One”> This is chapter one </ chapter > </document> (0x01000000):XMLNSC = ( (0x01000000):document = ( (0x03000000): chapter = 'This is chapter one' ( (0x03000100):title = 'Chapter One' ) ) )
  • 35. WMBv6.x - Java Compute Node Accessing the tree with XPath /document/chapter/@title <document> <chapter title=”Chapter One” > This is chapter one </chapter> </document> (0x01000000):XMLNSC = ( (0x01000000):document = ( (0x03000000):chapter = 'This is chapter one' ( (0x03000100): title = 'Chapter One' ) ) )
  • 36. WMBv6.x - Java Compute Node Accessing the tree with XPath /document/chapter[@title=’Chapter One’] <document> < chapter title=”Chapter One”> This is chapter one </ chapter > </document> (0x01000000):XMLNSC = ( (0x01000000):document = ( (0x03000000): chapter = 'This is chapter one' ( (0x03000100):title = 'Chapter One' ) ) )
  • 37. WMBv6.x - Java Compute Node Accessing the tree with XPath /document/chapter[@title=’Chapter One’]/.. < document > <chapter title=”Chapter One”> This is chapter one </chapter> </ document > (0x01000000):XMLNSC = ( (0x01000000): document = ( (0x03000000):chapter = 'This is chapter one' ( (0x03000100):title = 'Chapter One' ) ) )
  • 38. WMBv6.x - Java Compute Node Accessing the tree with XPath string(/document/chapter/@title) <document> <chapter title=” Chapter One ”> This is chapter one </chapter> </document> (0x01000000):XMLNSC = ( (0x01000000):document = ( (0x03000000):chapter = 'This is chapter one' ( (0x03000100):title = ' Chapter One ' ) ) )
  • 39. WMBv6.x - Java Compute Node <ul><li>Modifying the tree using XPath </li></ul>
  • 40. WMBv6.x - Java Compute Node Modifying the tree with XPath Funktioner: set-value() set-local-name() set-namespace-uri()
  • 41. WMBv6.x - Java Compute Node Modifying the tree with XPath Broker specific XPath additions: ?myElement Selects myElement, created if not present ?$myElement Creates myElement as last child and selects it ?^myElement Creates myElement as first child and selects it ?>myElement Creates myElement as next sibling and selects it ?<myElement Creates myElement as previous sibling and selects it @ Used to select attributes, e.g; ?@myAttribute[set-value(’Attribute value’)]
  • 42. WMBv6.x - Java Compute Node Modifying the tree with XPath <document> <chapter title=”Chapter One”> This is chapter one </chapter> </document>
  • 43. WMBv6.x - Java Compute Node Modifying the tree with XPath <document> <chapter title=”Chapter One”> This is chapter one </chapter> </document> /document/?$chapter [set-value('This is chapter two')] [?@title[set-value('Chapter Two')]]
  • 44. WMBv6.x - Java Compute Node Modifying the tree with XPath <document> <chapter title=”Chapter One”> This is chapter one </chapter> </document> /document/?$chapter [set-value('This is chapter two')] [?@title[set-value('Chapter Two')]] <document> <chapter title=”Chapter One”> This is chapter one </chapter> <chapter title=”Chapter Two”> This is chapter two </chapter> </document>
  • 45. WMBv6.x - Java Compute Node <ul><li>Classloading </li></ul>
  • 46. WMBv6.x - Java Compute Node Classloading <ul><li>One JVM for each EG </li></ul>
  • 47. WMBv6.x - Java Compute Node Classloading <ul><li>Shared libraries may be deployed either by </li></ul><ul><ul><li>Adding the JAR file in the BAR file </li></ul></ul><ul><ul><li>Adding the JAR file in the shared-classes directory on the broker server </li></ul></ul>
  • 48. WMBv6.x - Java Compute Node Classloading <ul><li>The shared-classes directory is shared(!) by all EGs </li></ul>
  • 49. WMBv6.x - Java Compute Node Classloading <ul><li>Classloading is performed in this order </li></ul><ul><ul><li>The own EG is searched </li></ul></ul><ul><ul><li>The shared-classes directory is searched </li></ul></ul>
  • 50. WMBv6.1 Recommended skill set <ul><li>XPath – first and foremost </li></ul><ul><ul><li>Used extensively in: </li></ul></ul><ul><ul><ul><li>node configuration </li></ul></ul></ul><ul><ul><ul><li>Java API </li></ul></ul></ul><ul><li>If you’re about to use Java </li></ul><ul><ul><li>Learn the broker XPath extensions </li></ul></ul><ul><ul><ul><li>Enables you to write more robust code </li></ul></ul></ul><ul><ul><li>Carefully plan and consider the usage of shared libraries </li></ul></ul>

×