WAS v8.5 > Administer applications and their environment > Welcome to administering Service integration > Administer service integration buses > Configure buses

Define outbound chains for bootstrapping

We can define new outbound chains using the wsadmin utility.

These chains can be used for bootstrapping connections to messaging engines. To create outbound chains for bootstrapping, there are several main steps:

  1. Locate the appropriate TransportChannelService configuration object. This object is the parent object of all the objects created.

  2. Create the individual channels that comprise the transport channel service. Some of these channels might require references to other configuration objects.
  3. Assemble the channels that we have created into an outbound channel chain.

The channels used to build an outbound bootstrap chain determine the protocol with which the outbound chain can be used to bootstrap. The following table shows all valid bootstrap chains with their bootstrap protocols.

Valid bootstrap chains and protocols. The first column contains the bootstrap protocol used in building the outbound bootstrap chain. The second to fifth columns in the table contain the channels that are valid for the protocol specified on the first column. The order of the channels is important while building the chain. The order of the channels from left to right as given in the table is TCP, SSL, HTTP, HTTP tunneling, and JFAP channels.

Bootstrap protocol TCP channel SSL channel HTTP channel HTTP tunneling channel JFAP channel
TCP X       X
SSL X X     X
HTTP X   X X X
HTTPS X X X X X

For example, a chain for bootstrapping that uses the SSL protocol would consist of a TCP channel, SSL channel, and JFAP channel. When you create chains, the order of channels in the chain is important. Specify channels in the order (left to right) in which they appear in the preceding table.

The example in this topic describes how to create a bootstrap chain that is capable of bootstrapping using the HTTPS protocol. This requires a chain containing all the channel types described. Thus, it is easy to see how to create chains for other protocols by omitting channels during the chain creation step.

  1. Locate the TransportChannelService object for the server in which to create the new chain. For example, in a WebSphere Application Server Network Deployment configuration, we can list the available TransportChannelService objects and select the appropriate service as follows.

    Jython:

    wsadmin>AdminConfig.list("TransportChannelService" )
    (cells/BadgerCell01/nodes/BadgerCellManager01/servers/dmgr|server.xml
    #TransportChannelService_1)
    (cells/BadgerCell01/nodes/BadgerNode01/servers/nodeagent|server.xml
    #TransportChannelService_1095
    711814579)
    (cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml
    #TransportChannelService_109571
    2023139)
    (cells/BadgerCell01/nodes/BadgerNode01/servers/server2|server.xml
    #TransportChannelService_109571
    2039302)
    wsadmin>tcs = AdminConfig.list("TransportChannelService" ).split("\r\n")[2]

    Jacl:

    wsadmin> $AdminConfig list TransportChannelService
    (cells/BadgerCell01/nodes/BadgerCellManager01/servers/dmgr|server.xml
    #TransportChannelService_1)
    (cells/BadgerCell01/nodes/BadgerNode01/servers/nodeagent|server.xml
    #TransportChannelService_1095
    711814579)
    (cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml
    #TransportChannelService_109571
    2023139)
    (cells/BadgerCell01/nodes/BadgerNode01/servers/server2|server.xml
    #TransportChannelService_109571
    2039302)
    wsadmin> set tcs [lindex [$AdminConfig list TransportChannelService] 2]
    (cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml#
    TransportChannelService_1095712023139)
  2. Define an outbound TCP channel called testTCPChannel.

    Jython:

    wsadmin>tcpChannel = AdminConfig.create("TCPOutboundChannel", tcs, 
    [["name", "testTCPChannel"]] )

    Jacl:

    wsadmin>set tcpChannel [$AdminConfig create TCPOutboundChannel $tcs 
    "{name testTCPChannel}"]
    testTCPChannel(cells/BadgerCell01/nodes/BadgerNode01/servers/
    server1|server.xml#TCPOutboundChannel_1095969213949)
  3. Define an outbound SSL channel called testSSLChannel. There are two steps required to define such a channel.

    1. Identify the SSL alias to be used by the channel.

      Jython:

      wsadmin>for obj in AdminConfig.list("SSLConfig" ).split("\r\n"): 
      print obj+AdminConfig.show(obj, "alias")
      (cells/BadgerCell01|security.xml#SSLConfig_1) 
      [alias BadgerCellManager01/DefaultSSLSettings]
      (cells/BadgerCell01|security.xml#SSLConfig_1095711819776) 
      [alias BadgerNode01/DefaultSSLSettings]

      Jacl:

      wsadmin>foreach obj [$AdminConfig list SSLConfig] { puts "$obj 
      [$AdminConfig show $obj alias]]" }
      (cells/BadgerCell01|security.xml#SSLConfig_1) {alias BadgerCellManager01/
      DefaultSSLSettings}]
      (cells/BadgerCell01|security.xml#SSLConfig_1095711819776) {alias BadgerNode01/
      DefaultSSLSettings}]

    2. Create an SSL channel as in the following example, in which the BadgerNode01/DefaultSSLSettings alias is used.

      Jython:

      wsadmin>sslChannel = 
      AdminConfig.create("SSLOutboundChannel", tcs, [["name", "testSSLChannel"], 
      ["sslConfigAlias", "BadgerNode01/DefaultSSLSettings"]] )

      Jacl:

      wsadmin>set sslChannel [$AdminConfig create SSLOutboundChannel $tcs 
      "{name testSSLChannel} 
      {sslConfigAlias BadgerNode01/DefaultSSLSettings}"]
      testSSLChannel(cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml#
      SSLOutboundChannel_1095971760671)

  4. Define an outbound HTTP channel called testHTTPChannel.

    Jython:

    wsadmin>httpChannel = AdminConfig.create("HTTPOutboundChannel", tcs, 
    [["name", "testHTTPChannel"]] )

    Jacl:

    wsadmin>set httpChannel [$AdminConfig create HTTPOutboundChannel $tcs 
    "{name testHTTPChannel}"]
    testHTTPChannel(cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml#
    HTTPOutboundChannel_1095971896556)
  5. Define an outbound HTTP tunneling channel called testHTCChannel.

    Jython:

    wsadmin>htcChannel = AdminConfig.create("HTTPTunnelOutboundChannel", tcs, 
    [["name", "testHTCChannel"]] )

    Jacl:

    wsadmin>set htcChannel [$AdminConfig create HTTPTunnelOutboundChannel $tcs 
    "{name testHTCChannel}"]
    testHTCChannel(cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml#
    HTTPTunnelOutboundChannel_1095972164201)
  6. Define an outbound JFAP channel called testJFAPChannel.

    Jython:

    wsadmin>jfapChannel = AdminConfig.create("JFAPOutboundChannel", tcs, 
    [["name", "testJFAPChannel"]] )

    Jacl:

    wsadmin>set jfapChannel [$AdminConfig create JFAPOutboundChannel $tcs 
    "{name testJFAPChannel}"]
    testJFAPChannel(cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml#
    JFAPOutboundChannel_1095972226631)
  7. Finally, create the channel chain by combining the channels defined so far. For example, to create a chain called testChain:

    Jython:

    wsadmin>AdminConfig.create("Chain", tcs, [["name", "testChain"], ["enable", "true"], 
    ["transportChannels", [tcpChannel, httpChannel, htcChannel, jfapChannel]]] )
    testChain(cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml#
    Chain_1095972662147)

    Jacl:

    wsadmin>$AdminConfig create Chain $tcs "{name testChain} {enable true} 
    {transportChannels {$tcpChannel $httpChannel $htcChannel $jfapChannel}}"
    testChain(cells/BadgerCell01/nodes/BadgerNode01/servers/server1|server.xml#
    Chain_1095972662147)


Related concepts:

Outbound transport options
How JMS applications connect to a messaging engine on a bus


+

Search Tips   |   Advanced Search