Tuesday, June 08, 2010

Configuring webMethods Broker 7.1.2 as a JMS Provider

Increasingly, customers are aware of the value in adopting open standards within their IT infrastructure. 

In middleware Java Message Service (JMS) is the most widely standard used for sending and receiving messages.  It allows components based on Java 2 Platform, Enterprise Edition (J2EE) to create, send, receive, and read messages.

Instructions below is a guide for installing and configuring webMethods Software for JMS compatible.


  1.  Install Integration Server 7.1.2 (localhost:5555) and Broker Server (localhost:6849)
    • Remove all unused packages
    • Add developer account
    • Set Outbound Passwords to 0
    • Set Broker Configuration to Not Configured (restart required)
    • Install WmBrokerAdmin_6_5.zip package
  2. Remove default broker and create ESB JMS broker
  3. MSDOS> cd C:\webMethods712\Broker\bin
    MSDOS> .\broker_delete.exe "Broker #1@localhost:6849"
    MSDOS> .\broker_create.exe ESB@localhost:6849 -default -description "Enterprise Service Bus JMS Broker"
    
  4. Create JMS Connection Alias to ESB@localhost:6849
  5. Modify JNDI properties file (C:\webMethods712\Broker\bin\jndi.properties) to refers to the ESB JMS Broker
  6. java.naming.factory.initial=com.webmethods.jms.naming.WmJmsNamingCtxFactory
    java.naming.provider.url=wmjmsnaming://ESB@localhost:6849
    com.webmethods.jms.naming.clientgroup=admin
    
  7. Create JMS Connection Alias
  8. Connection Alias Name: ESB_JMS
    Enabled: Yes
    Description: Enterprise Service Bus JMS Broker
    Transaction Type: NO_TRANSACTION
    Connection Client ID: HOST_IS
    Create Connection Using: NATIVE WEBMETHODS API
    Broker Host: localhost:6849
    Broker Name: ESB
    Client Group: admin
    
  9. Bind JMS topics to JNDI (so that it can be visible to 3rd JMS)
  10. MSDOS> cd C:\webMethods712\Broker\bin\
    MSDOS> .\jmsadmin.exe -p jndi.properties
    / > conn broker ESB server localhost:6849
    Connected to ESB on localhost:6849
    / > list
    / > create topic testTopic
    / > permit group admin to publish testTopic
    / > permit group admin to subscribe testTopic
    / > bind topic testTopic with tn=testTopic
    / > bind tcf topicFactory with brokerHost=localhost:6849 group=admin brokerName=ESB
    / > list
    [1]: testTopic ==> com.webmethods.jms.impl.WmTopicImpl
    / > quit
    
  11. Create JNDI Provider Alias
  12. JNDI Alias Name: JNDI_ESB
    Description: JNDI for ESB JMS Broker
    Initial Context Factory: com.webmethods.jms.naming.WmJmsNamingCtxFactory
    Provider URL: wmjmsnaming://ESB@localhost:6849
    Other Properties: com.webmethods.jms.naming.clientgroup=admin