Web Services Exception Handling Framework for EAI Applications
Design Approaches for the EAI Exception Handling Framework
The design of a Web services exception handling framework is influenced by the architecture of a given EAI application. The primary behavior of the framework is to provide a uniform exception handling mechanism for all general exceptions, such as connection failures among the disparate integrated systems, connection timeouts, availability of data, network failures or port occupation, failures at data conversion (invalid data format), and many more.
The robustness of the EAI application depends on how well the exception-handling framework is implemented with a centralized notification control to track all the captured defects of the entire integrated system.
Click here for a larger image.
Figure 2: Stack of EAI Application Properties
Now, examine the common properties of the EAI architecture and Web Services architecture, in the direction of making a generalized service-oriented, exception-handling framework that can be fitted to any EAI application.
Connectivity: The status of the connections between host systems will be monitored and notified whenever a failure happens.
- Usage of fault tolerant hardware and clustering enabled application design helps to avoid connection failures to a maximum extent.
- Connection from one system to other system is maintained in a metadata repository.
- The centralized or metadata repository acts as a notification engine when the connectivity of integrated systems fails due to network problems and helps to reconnect with the failed system. The scheduler plays a role to ping up the connected or disconnected systems in the EAI workflow to monitor the connection timeouts and notify as and when the connection failed.
Consistency: Define an error code for each blocking factor and associated with the relevant error message.
Flexibility: Able to add, delete, or modify the components of the exception framework. The framework should be able to incorporate or accommodate new features as per business requirements are changed.
Message and System Monitoring: EAI application exchanges the data in the message or event-based format. The message level integrity resolves many integration level problems. The message workflow provides the necessary state management to complete a business process in the integrated environment.
Stability: Include state management into the exception framework to bring the system back to a normal state, even if exceptions are raised.
Event-Based Approach: Apply trigger or event-based (on and off) methodology in the exception handling framework to overcome performance bottlenecks (slower system execution).
Reliability: Ensures the keeping of process data when an exception is raised in the middle of process execution.
Notification of error events: An error message should describe the cause of the problem and state where it failed:
- The error log should show the complete path of execution before it failed and the error message should describe the cause of the problem and state where it failed.
- Handled exceptions should be published. When exceptions are handled, the error data should be published to a system log and/or to the user.
- Error code and errors message mapping:
- All automatic workflow activities should be tracked to ensure they are started and completed within an acceptable amount of time.
- Tracking of the notification should be in place and produce reports for scheduled intervals of time.
State Management: Maintain process state and process until process is successfully executed or aborted at the middle of the process state; in other words, the request is timed out or the connection fails.
- Remove the process data from its storage buffer (file or database) when a transaction is successfully committed or executed.
- Roll back the process data (changes done by the process to avoid the duplication of data)
To achieve commit or rollback of the transaction, the latest process state is captured and maintained in the persistence way. This captured process data helps identify and correct the process failure.
- Use the process data to continue the process workflow where it is left out. To achieve this task, the latest process state is captured and maintained in the persistence way.
In this article, you have seen various exception handling guidelines, EAI application properties, and the life cycle of the Web Services exception handling framework. In the coming articles, you will learn about the internal components of a generalized exception handling framework and how these components fit an EAI application.
About the Author
Sridhar Ravuthula is a technical leader with Reliance, India. He was with ONGC, Syntel, and Hewlett-Packard. He has a master's degree in computer applications. Sridhar has been involved in designing and developing J2EE-based solutions on various platforms. He has worked in flagship product development, HP e-speak, and HP Bluestone (HPAS).
He has eight years of hands-on experience in various technology segments such as Client Server, J2EE, EAI, .NET, and Web Services. You can reach him at firstname.lastname@example.org or Sridhar.Ravuthula@relianceinfo.com.
Page 2 of 2