To understand the approach of integration, let us assume that-
Software A is used in first step to generate data. So Addmen OMR Software will be called Software A.
Software B is used in second step to receive data and do the calculations. So client's software will be called Software B.
These two softwares A and B, are to be integrated such that data output generated by Software A (Addmen OMR Reader) is to be used by Software B (Client's Result Processing Software) as input.
Such software hand-shaking (data integration) can be done in two ways:
Push Integration - Software A will provide a specific output in the format and location required by software B.
Pull Integration - Software A will provide a generic output which will be selectively used as input by Software B.
Both softwares A & B have been developed by two different teams.
None of the team knows the internal work process and data structure of the other software.
So both softwares will be obviously different in many ways, the way they store data and interpret data might be totally different.
The Database is different, the table names are different, the fields name, structure and type all are different.
How can Software A team put the data in Software B database without fully knowing the process and Data structure of software B?
And since all Software B of different clients are different from each other,
So for every integration with a new client, the Software A team will have to study different Software B and write a customised code to deliver data into Software B database.
This is too taxing and meaningless for the Software A team to spend time and effort to study different softwares
to write custom code n their Software A for each client and unnecessary add garbage code to make software A heavy.
The worst effect is Dependency of Software B team on Software A. If the the Software B maes any change in their process or Database, they will have to again request and wait for Software A to amend the data transfer code.
Because of these reasons, the idea of Software A putting data inside Software B (Push Integration) is not the right approach.
This is a common scenario whenever there is a hand-shaking between any two softwares in any process. So there must be a universally standard and commonly acceptable approach for integration, so that-
Push Integration - Software A will provide a specific output in the format and location required by software B.
Pull Integration - Software A will provide a generic output which will be selectively used as input by Software B.
Mostly clients who suggest Push Integration, are not aware of the challenges and implications of this method.
Since every Software B has its own database, secure logins and specific table and field structure, which Software A does not know. So Software A cannot put directly into software B unless all this information is known to the Software A.
Even if this information is shared, still since the information is specific to one specific software, then specific code will be required to insert data into the table structure of Software B. This specific provision is obviously a customization and involves cost.
Secondly, though the Software A is ideally calculating lot of information, but since the Software B is accepting only limited part for its use, then the other information is unused and getting lost. So whenever there is change in the work process or data structure of Software B, whenever they want to make use of more information, then every time the Software A team will have to be involved to make change in its code, which not only increases dependency but also becomes a costly affair.
Thirdly, Software A (Addmen OMR), is an independent product, it is not feasible to maintain a separate codes for each client. It is also not feasible to make the general product code complex and hefty by adding every users specific requirement. Neither a separate code for each user can be maintained, not all the user specific customizations can be overloaded because it is damaging to software efficiency. All these factors have time and cost associated with them.
Pull Integration is the best approach for data integration which eliminates any dependency, delay and any cost.
Addmen Group Copyright 2024. All Rights Reserved.