Common issues with all bus configurations
When planning a service integration bus configuration, consider the following points:
- The volume of messages that a bus has to handle. Depending on the volume of messages anticipated, we might have to adjust the high message threshold setting for a bus or messaging engine.
- The transport chain to be used for communication between messaging engines.
- Whether bus security is required. When bus security is enabled, access to the bus itself and to all destinations on the bus must be authorized. If we enable bus security, we might also want to define aliases for authenticating messaging engines and mediations accessing the bus. A single version bus does not require an authentication alias. However, if we create a mixed-version bus define an inter-engine authentication alias for a WebSphere Application Server v6 or v6.1 bus member, to enable it to establish trust with the other bus members of later versions.
- Choose bus names that are compatible with the IBM MQ queue manager naming restrictions. We cannot change a bus name after the bus is created, which means that we can only interoperate with IBM MQ in the future if we use compatible names.
- When naming buses, ensure that the names are unique because we cannot connect two buses with the same name. For example, we cannot connect two buses with the same name in any of the following ways:
- By creating an inter-bus link between two buses with the same name.
- By attempting to connect to a remote bus from an application running in a remote cell where a bus with the same name is defined.
- By creating a core group bridge between two cells containing buses with the same name.
- Destinations
- Decide on the number and type of destinations, mediations, destination routing paths, and qualities of service for the destination for our configuration. For point-to-point messaging we define bus destinations as queues, whereas for publish/subscribe messaging we define bus destinations as topic spaces.
- For point-to-point messaging only, we select one bus member as the assigned bus member that is to hold messages for the queue. This action automatically defines a queue point for each messaging engine in the assigned bus member.
- We can also define alias destinations to provide a level of indirection between applications and the underlying target bus destinations. Applications interact with the alias destination, so we can change the target bus destination without changing the application.
- We should decide how we want to use the bus destinations as we can configure a bus destination to prevent producers sending messages to the destination, or consumers receiving messages from the destination.
- Message persistence
- The reliability quality of service for messages on a destination has implications for performance and the amount of space required for a message store. Higher levels of reliability impact performance and increase the space a message store requires, because fewer messages are discarded.
- When planning a message store configuration, remember that each messaging engine has a single message store, which can be either a file store or a data store. See Relative advantages of a file store and a data store. Remember that larger messages increase the space that a message store requires.
- If we use a data store, the default database system for the data store is Apache Derby Version 10.3. However, we might want to use a different system, such as DB2 . We can select different data store configurations depending on your requirements; for more information see Configuration planning for a messaging engine to use a data store.
- Application environment
- An application attaches as a client to a messaging engine on the bus, either by an in-process call or across a network using a remote client. A remote client can run in either the Java EE application client environment or the Java EE application server environment. Various transport chains can be used.
- Application connections
- The way that a messaging engine is selected, and the mechanism an application uses to reach it, is configured on a JMS connection factory. We need to decide which messaging engines the applications should connect to and on the transport chain to be used. See Configure resources for the default messaging provider and on transport options, see Transport chains.
- IBM MQ client links
- IBM MQ client links allow JMS clients developed for WAS v5.1 to use messaging resources on the bus. WAS v5.1 uses an IBM MQ queue manager as its JMS provider so that WAS Version 5.1 clients connect using the MQ link protocols. An IBM MQ client link, in service integration, provides an attachment capability that these clients can use.
- Transaction logs
- Plan where transaction logs will be placed. See the topic about transactional high availability in the related links.
Related:
Bus configurations Single-server bus Interconnected buses Multiple-server bus without clustering Multiple-server bus with clustering Transactional high availability Secure links between messaging engines IBM MQ naming restrictions