⬆️ ⬇️

Information Systems Integration

It's no secret that "everything is already done before us." Only a little “assembled fragments” remained to solve the task. And here it turns out that integrating fragmented parts is not often more difficult than writing them. Why is this happening? What can you do about it?



All programmers love to make systems from scratch, when a thought can freely invent any form and means, when it is possible to make decisions without looking at what is going on. Of course, an integrally designed system, provided that it was made by an expert, always looks monolithic and pleases the eye. But after all, the reality is fluid and over time, any conceptual idyll is disrupted in the course of business development, changes in processes, absorption or merging of enterprises, the introduction of new systems, changes in hardware or software platforms, and even legislation.



Who supported and implemented the system, and even more so, was engaged in refining, reengineering and integration, he knows that more than two thirds of all efforts in IT (attention, time and money) go to the "gluing together" of the incompatible and trying to "make friends" modules written different people, at different times, in different languages ​​and technologies, under different platforms.



Let's list and analyze the factors affecting integration:



These are the realities, I am even ready to argue that there is no more complex task in IT than the integration of systems. Let us now analyze the task from a different angle, select the parameters responsible for the complexity of integration and offer options for minimizing the negative impact of these parameters:



Our common task now looks like this: it is necessary to integrate N information systems characterized by the factors described above, with minimization of the number of layers, converters, brokers and interfaces between them. If we solve the problem head-on, then between N systems there will be N (N-1) / 2 connections, that is, with two-way interaction of N (N-1) interfaces. If we consider that under the interface we can understand anything here, from a web service to an offline process that runs, for example, once a day and performs a number of complex database synchronization operations (requests, processing, export, downloading via FTP, signal transfer the other part of the system to accept the transferred data and complete its part of the work, and then notify the results and transfer the necessary data back). In general, such options can never be completely eliminated, the only question is their proper implementation.

')

But I will cite the whole arsenal of tools for solving the problem, from those I have learned from others, I used myself and observed in practice:



This is almost an exhaustive review of classical methods, please add if I missed something. But for non-classical integration methods, I am preparing another publication. Thanks for attention.

Source: https://habr.com/ru/post/117468/



All Articles