Interface Design Principles

Posted on May 04, 2010 at 09.45 AM - Kuala Lumpur, Malaysia

While designing or developing the interfaces, we must bear the interface design principles in mind, they are:

    1. Data integrity
    2. Guaranteed Delivery
    3. Security
    4. Sequencing of messages
    5. Error notification
    6. Monitoring Capability
    7. Error Correction
    8. Audit Trails
    9. Future Development

1. Data integrity

Even tough it's possible to use database (DB) replication as part of the interface strategy, it's not recommended to do so. One big risk is that it may jeopardize database integrity as the integration is done directly at the DB layer. This is especially true when we are dealing with complex transaction which store data in multiple tables instead of just only one.

2. Guaranteed Delivery

Even tough, custom built guaranteed delivery is possible to be used, this feature is normally addressed comprehensively by Enterprise Application Integration (EAI). SAP native frameworks like RFC and IDOC also support this principle only when using transactional RFC (tRFC) layer, which can be monitored through SM58.

3. Security,

More and more customer demand for better data security. In some countries like US, data security has become key issue that needs to be addressed at every interface, even between their own internal systems. The requirement may include not only session security but also data level security.

4. Sequencing of messages

This is important when certain messages can only be processed after other messages has been processed successfully. One typical example would be the processing of the delivery order, which can only be done after the respective sales order is created. So far, only IDOC and EAI has this capability in place.

5. Error Notification

This is also another important feature that the interface should have. Whenever the interface run ends up in error, there should be error notification sent to the interface admin. So far, only IDOC and EAI has this feature built in.

6. Monitoring Capability

Aside from alert or email being sent out to the interface admin, there should be a way to look into the issue more closely as to solve the problem. So far, almost all SAP native frameworks has the capability, even RFC can be considered as having this capability if we consider only using its tRFC layer.

7. Error Correction

There are 2 types of possible error, one is due to receiving system error, and another one is due to incoming data error. It's recommended NOT to change the incoming data error at the receiving side (as it may violate data integrity from the legal perspective), nevertheless IDOC and Batch Input (BI) have these feature built in.

If the error is due to configuration issue, then there should be restart mechanism built in. And again, almost all SAP native frameworks has the capability, even RFC can be considered as having this capability if we consider only using its tRFC layer.

8. Audit trails

This is important not only from the legal perspective, but also to address reconciliation requirements between systems. So far, only IDOC, BI and EAI have these capabilities.

9. Future development

In the future, company would like to have a flexible IT infrastructure which can be changed easily (at a reasonable time frame) to meet ever changing customer demand. This leads us to SOA concept, which utilize web service and business process management as their key driver. So far, this feature is only addressed by EAI.

In summary, it's easier to expand the existing interface in the future by using EAI as it incorporates lots of adapters to be used as well as it address more increasingly data security demand. However if there is no EAI involvement, then I would recommend as much as possible to use IDOC as the integration mechanism.

Life is beautiful! Let's make it meaningful and colorful!