- Data not sent to destination
- Connection to FTP, database, MQ, DB2 or other platform or application is down
- Exceptions due to data validation errors
- Component of application server is not working
- System: Due to some component or configuration functinality on server/platform we see this kind of error. Yes, bad coding, we all are good coders, however we do mistakes . No proper handling of exception lead it to surprise for us.
- Network: since interfaces interact with so many systems/ application internal or external. Sometimes something is not workting over the network and it is completly out of our scope since this may the owned by some other part of enterprise or may be failure in partner systems. We only can inform them and wait for them to take action.
- Data: What if the application or system using the interface sending data which is not in proper fomat. Few simple expamle are date format mismatch, length of field is wrong for fix length data, mandatory field is missing
This solves our simple purpose for error logging and notification
- System error should be logged to internal to error table with description of error and notification sent to development and admin team
- Network error should be logged in error and the framework should provide functionality for re-invocation of interface, however notification should be sent to the different concerned parties
- Data error should be logged in error and notification should be sent to user of the interface. Providing the detail of data error.
Being the part of team responsible for development and maintainance I would be intrested to drill down more in to system errors. Usually their are two seperate roles one administration and other for development, mainainance and support.
- Errors from server/platform for administrator: Since administration team use their own tools for tracking of errors on server and other infrastructure. We can notify them by logging to server log or may be sending notification mails
- Errors from application/interface/service for developers: This kind of exceptions/errors should be handled properly during development, developers and architect should be notified with details in form of hourly/daily reports or email per error. And no errors should be left for surprise and to be logged on server. Additionally we can have a framework for re-invocation of interfaces.
Re-invocation framework: When first time I thought of this idea it sound appealing, but complicated since there are different type of interfaces. However this is acheivable, specially when we compare the effort of re-concilation due to some failures.
Since what all resources need to re-invoke interface are within scope, we just need wrap the request and send to to re-concilation framework. And framework have to be robust enough to re-send/invoke all of interfaces.