Integration Projects / Enterprise Service Bus (ESB) are by its nature complex involving many Partners, Systems, technologies, and message structures.
Since there are many moving parts in the ESB system, if there are any problem occurs, diagnosing and fixing the issue is challenging. Also Support personal / Developers need to be knowledgeable in many skills both technically as well as business functions.
Smooth running ESB yield many benefits, besides removing complexity of message exchanging logic in individual systems, they also provide enormous flexibility in adding additional systems or trading partners with minimal incremental cost.
Here are some tips in Key areas to keep these systems in good condition. The recommendations are based on industry leading IBM integration products, WebSphere Message Broker (WMB), WebSphere Transformation Extender (WTX), WebSphere MQ etc; although it can be applied to any integration projects.
Configuration Management Process
- Have two separate repositories one for Documentation and other for Source code Management
- Finalize Project Source code directory structure early on and plan for future extensions
- Develop Naming standards for WTX Maps , type trees, Message Flows, ESQL, Queues, and other source components
- Finalize how the version nos. are used Major and Minor versions in case of releasing
- Finalize configuration on deployment environment: a) Directory structure for inbound files, b) Directory structure for outbound files, c)Directory structure for executable, d)Directory structure for parameter and other files
Data Management Process
Develop Data model have it handy and distributed to Developers for reference
- Develop commonly used SQL scripts /Queries and store it in Configuration management for all to use
- Identify Commonly used queries in the System verify Indexes are in place
- Identify Archival strategy for data, how long it will be retained in the current database and process to migrate to Archival database
- Identify Archival strategy for Data files. How long need to be retained in the current systems and when they will be moved to archival repository and retrieval procedures if there is need to be retrieved.
Exception Handling and Logging Process
In ESB, unlike traditional Web Application, errors are prone to occur due to many integration points. To quickly identify and resolve
- Have standardized Error reporting and Logging, to help automated tools
- Handle exceptions, have meaningful death of the process. It helps great deal for support people during production support
- Tie up with User Interface and reporting tools to easily search and navigate logs and exception data
Testing Process
Testing is Key in any integration project. It is estimated around 40% time is spent on testing. No doubt optimizing this function will yield lot of gains
- Develop Test Strategy, Test Plan and Test cases
- Identify test data for key scenarios, for regression testing , for Performance testing
- Test data should be organized based on test type: Unit testing, Integration testing, Regression testing, Performance testing, Acceptance testing etc.
- Automate testing and verification will yield tremendous amounts of gains and agility in adding new functionalities without breaking existing ones. Identify areas which can be automated, especially in regression testing.
Finally to On-board new resources
- Create Laptop Image of the development environment with all the Integration development tools, databases, Shared drives, Configuration Management
- Have an ID enablement management process to quickly activate necessary IDs for the new comers
- Provide Functional Orientation for new employees on the purpose of ESB
- Review Coding standards used in the ESB.
- Review Configuration Management Process, where the configuration assets stored how to update etc.
Developing early on these processes help rest of development and support to focus on value-added activities with less problems and high productivity.
Have a great Integration!!!