Best Practices for Managing and Monitoring WebSphere Message Broker
June 25, 2013Amir Gabrieli, Vice President of Solution Engineering, Correlsense
1. WMB’s role today2. Challenges to managing WMB3. Best practices 4. Correlsense approach5. Summary and Q&A
Agenda
Housekeeping
• Presentation will last 45 minutes• Submit questions via the chat window• Slides will be made available tomorrow
Featured Speaker
Amir GabrieliVP, Solution EngineeringCorrelsense
WMB’S ROLE IN TODAY’S COMPLEX SOLUTIONS
Market Example: Rede D’Or São Luiz
• Largest private hospital network in Brazil with 27 hospitals and 25,000 employees
• Needed to integrate multiple systems and ensure easy access to information
• Uses WMB to:– Automate communication between operational units
– Exchange information between hospitals and with backend operations
– Handle a high volume of information
Case study from IBM: http://www-01.ibm.com/software/success/cssdb.nsf/CS/KPES-97JPWS?OpenDocument&Site=default&cty=en_us
CHALLENGES AROUND MANAGING WMB-BASED SOLUTIONS
Managing WMB in Production is Challenging
• WMB comes with inherent challenges– Acts as a hub for business critical transactions
– Mediates between services and protocols
• Risks include:– Losing critical business transactions
– Failing critical business transactions
– General outages
– Poor performance of Flows and transactions
The Challenges
• Organizational• Change Management • Transactions Accountability • Production Monitoring
Organizational Challenge
• Different owners … one business service • Often the WMB developer sits in a different
department from the application owner• Message Flow “code” is not always under the
application owner’s control
Organizational Risks/Challenge
• Message Flow code is prone to logical errors • May result in unexpected/unsupported
transaction flows • Message Flows are more complicated than
assumed• Not enough QA/ testing invested for new Message
Flows
Change Management Challenge
• Making and deploying changes in Message Flows is easy … too easy– Dependencies with event sources, event consumers and
other services are not always obvious
– Hard to determine which components will be affected by a change
Change Management Risks/Challenge
• Small/last-minute changes may cause flow incompatibilities
• Often the test cycles for Message Flows are not well defined
Transactions Accountability
• Making sure each transaction is successful and having the ability to explain why other transactions fail
• Risks/challenges:– Typically you won’t be alerted to lost transactions and
Message Flows
– These may result in lost revenue and complications with business partners
Monitoring Challenge
• Existing monitoring solutions provide limited coverage
• WMB’s internal monitoring and standard solutions do not effectively address these challenges– Most focus on WMB and MQ performance
– Do not directly monitor the run-time execution of flows
– Or the interdependencies in the environment
Monitoring Risks/Challenge
• Long and complex troubleshooting sessions• Less control over the environment and solution
BEST PRACTICES APPROACH TO MANAGING AND MONITORING WMB-BASED APPLICATIONS
1. Write Logs for Easy Back-Tracking
• Production issues are unavoidable– Provide and use better tracking and logging functionality
• Why?– Easier to track and
troubleshoot in production
– Provides a clear understanding
1. Write Logs for Easy Back-Tracking
AddToInventory
AddToInventory_SOAPInput
InventoryServices
FindInventory_SetFunctionName
Reply_To_Queue
SetMQProperties
SetExpressionToLocalEnvironment
GetInventoryAvailabilityToFindInventoryInput_Transformation
Trace_GetInventoryAvailabilityToFindInventoryInput
SetMQProperties
JMS MQ Transform
SetSOAPReplyIdToJMSCorrelID
JMS Output
Example:• Log when Message Flow start/end/failed• Log when Message Nodes start/end/fail
1. Write Logs for Easy Back-Tracking
Example: • Log which
messages were received/sent
• Log which queues are involved
1. Write Logs for Easy Back-Tracking
Example: • Capture errors
2. Keep Message Flows Lean
• Experienced WMB users tend to keep their Message Flows lean
• Why?– Message Flow syntax can get complicated and hard to
maintain
– Keeping simple Message Flows makes WMB easier to maintain and reuse
3. Keep Logic in the Apps
• Complex logic associated with Message Flows should be pushed to the application components
• Avoid developing complex logic within the flow
• Why?– Keep your Message Flows lean
– Keep your applications decoupled
– Complex validation tests and logic are easier to develop in programming languages
4. Manage the Inter-Dependencies
• Track and manage interdependency mapping between WMB, Message Flow, services and applications
• Why?– Understand who is impacted by changes
– Understand who is impacted by problems
– Increase control over the solution
4. Manage the Inter-Dependencies
Example: • Interdependency between applications, Web-Services, and other
services using WMB
5. No Code Changes in Production
• Changes should never be executed directly on the production environment
• They should be made on a test environment and then moved to production after approval
• Why?– Ensure all changes in production are controlled and
verified by QA
6. Manage Transaction Accountability
• Errors and unexpected flow behaviors will result in lost messages– For business critical solutions, this could cause lost
revenue or complications with partners
• Each transaction should be tracked and audited through the entire IT stack and WMB flows
• Why?– Audit for historical review
– Ensure the application owner can quickly find and handle lost messages and errors
6. Manage Transaction Accountability
6. Manage Transaction Accountability
7. Have Proper Monitoring Solutions
• You need to monitor:– WMB
– MQ
– Message Flows
– Business Transactions
• Why?– WMB-based solutions have many weak spots
– Ensure smooth operation and fast reaction to issues
CORRELSENSE APPROACH
SharePath for WMB
• Correlsense SharePath is an enterprise scale transaction centric application management and monitoring solution
• SharePath uses a unique monitoring technology for comprehensive monitoring of WMB-based applications
SharePath WMB Agent
• Complete visibility into WMB Message Flow processing
OS
Core Collector
Execution Group Process
(DataFlowEngine)
WMB Flows/Nodes
WMB Collector
Captures Message Flow
and Message Flow
Node
activity
Captures TCP/IP activity –
incoming and outgoing requests
for a wide range of protocols –
the interaction of WMB with all
other servers
MQ ClientMQ Collector
Captures shared-mem
ory MQ
Activity (Message IDs, queues, etc)
EXAMPLES
Real Time Tracing and Monitoring ofMessage Flows
Deep Dive for WMB Flows
• Log which SQLs and other API calls were called by nodes
Find (Lost) Transactions and Message Flows
Transaction Auto-Detection, Dependency and Topology Mapping
Load and Volume Trending
By Message Flow By Execution Group / Process
By Node (Message Flow Step)
Summary
• WMB is a market leader service bus solution
• Like other service buses it has inherent monitoring challenges
• Best practices and appropriate monitoring solutions are critical
Top Related