• Save
WebSphere Message Broker v6.x Overview - 2008-01-09
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

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

on

  • 2,639 views

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.

Statistics

Views

Total Views
2,639
Views on SlideShare
2,243
Embed Views
396

Actions

Likes
1
Downloads
0
Comments
0

6 Embeds 396

http://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 363
https://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 15
http://www.slideshare.net 14
http://www.linkedin.com 2
http://marten.gustafson.googlepages.com 1
http://www.visualcv.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

WebSphere Message Broker v6.x Overview - 2008-01-09 Presentation 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
    • Configuration manager
      • No database pre-req
      • Supported on all platforms (only Windows in WBIMB)
    • Toolkit
      • Supported on Linux
    • New graphical mapping node
    • Java Compute Nodes
    • Enhanced JMS support
    • HTTPS support
  • 3. New in WMBv6.0
    • Configuration manager
      • No database pre-req
      • Supported on all platforms (only Windows in WBIMB)
    • Toolkit
      • Supported on Linux
    • New graphical mapping node
    • Java Compute Nodes
    • Enhanced JMS support
    • HTTPS support
  • 4. New in WMBv6.1
  • 5. New in WMBv6.1
    • Nodes
  • 6. New in WMBv6.1 Nodes – Not yet released
    • WebSphere Transformation Extender ( ”wettex” )
      • Native execution
        • Direct access to the broker tree
    • To be included by default:
      • Transport Header nodes
        • Creates, deletes and modifies:
          • MQMD
          • MQDLH
          • JMS
          • HttpInput, HttpResponse, HttpReply, HttpRequest
      • TCP/IP nodes
  • 7. New in WMBv6.1 Nodes - Considerations
    • The following nodes requires careful consideration before using in an active/active environment:
      • Collector
      • FileInput
      • SOAPInput
      • HTTPInput
      • Possibly the JCA adapter nodes
  • 8. New in WMBv6.1 Infrastructure
    • Java 1.5 on all supported platforms
    • Java JDBC supports globally coordinated TX
      • Only for distributed platforms (ie NOT on z/OS)
      • Only for type 4 drivers
    • XMLNSC domain uses new parser
      • Schema validation
      • Opaque parsing
      • Better performance, reduced memory use
    • XML domain deprecated, use XMLNSC instead
    • IDOC domain deprecated, use TDS insetad
    • Debugger does not use RAC anymore(!)
    • Test client introduced in 6.0 actually works, to some extent
    • Trace nodes can be switched on and off using configuration commands
  • 9. New in WMBv6.1 Security
    • Security Manager
      • Extracts and authenticate the identity in a message
        • Location of identity specified using XPath
        • Map an identity to an alternate identity
      • Security lookup using external system
        • LDAP
          • Username & password
        • Tivoli Federated Identity Manager
          • Username & password
          • X.509
          • Identity mapping
        • X.509 in LDAP requested and being considered
      • Configuration stored in security profiles
        • A profile applies on a given input node
  • 10. New in WMBv6.1 Extended use of XPath in node configuration
    • Collector node
    • DatabaseRoute node
    • DatabaseRetrieve node
    • EmailOutput node
    • FileOutput node
    • HTTPInput node
    • JMSInput node
    • MQInput node
    • Route node
    • SOAPEnvelope node
    • SOAPExtract node
    • SOAPInput node
    • SOAPReply node
    • SOAPRequest node
    • SOAPAsyncRequest node
    • SOAPAsyncResponse node
    • WebSphere Adapter Request nodes
    • WebSphere Service Registry and Repository EndpointLookup node
    • WebSphere Service Registry and Repository RegistryLookup node
  • 11. WMBv6.x Java Compute Node
  • 12. WMBv6.x - Java Compute Node Overview
    • At most 10% (YMMV) slower than ESQL
    • The possible use of third party libraries:
      • Extremly powerful
      • Extremly dangerous
    • Versioning of shared code needs careful consideration
  • 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
    • A node points out one Java class
      • Java classes are kept in separate Java projects in the tooling
  • 19. WMBv6.x - Java Compute Node Possible uses
    • Transformation
    • Routing
    • Filtering
    • Database interaction
    • And anything else that Java can do
      • Be careful and bear in mind that WMB is NOT ment to serve as an Java application server
  • 20. WMBv6.x - Java Compute Node
    • Accessing the parse tree
  • 21. WMBv6.x - Java Compute Node Accessing the tree
    • <document>
    • <chapter title=&quot;Chapter One&quot;>
    • This is chapter one
    • </chapter>
    • </document>
  • 22. WMBv6.x - Java Compute Node Accessing the tree
    • <document>
    • <chapter title=&quot;Chapter One&quot;>
    • This is chapter one
    • </chapter>
    • </document>
    • (0x01000000):XMLNSC = (
    • (0x01000000):document = (
    • (0x03000000):chapter = 'This is chapter one'
    • (
    • (0x03000100):title = 'Chapter One'
    • )
    • )
    • )
  • 23. WMBv6.x - Java Compute Node Accessing the tree
    • Using the object API
  • 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
    • Using XPath
  • 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
    • Modifying the tree using XPath
  • 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
    • Classloading
  • 46. WMBv6.x - Java Compute Node Classloading
    • One JVM for each EG
  • 47. WMBv6.x - Java Compute Node Classloading
    • Shared libraries may be deployed either by
      • Adding the JAR file in the BAR file
      • Adding the JAR file in the shared-classes directory on the broker server
  • 48. WMBv6.x - Java Compute Node Classloading
    • The shared-classes directory is shared(!) by all EGs
  • 49. WMBv6.x - Java Compute Node Classloading
    • Classloading is performed in this order
      • The own EG is searched
      • The shared-classes directory is searched
  • 50. WMBv6.1 Recommended skill set
    • XPath – first and foremost
      • Used extensively in:
        • node configuration
        • Java API
    • If you’re about to use Java
      • Learn the broker XPath extensions
        • Enables you to write more robust code
      • Carefully plan and consider the usage of shared libraries