Have you ever think how this Blog works? No, isn't it. In the top you may see something like "Thilina's Blog". Then the whole area is divided in to two separate columns. One containes this article and the other may contain some additional links. If you try to view the same article after few days, you may see some new details on the right side column (maybe new links). So how it happen?
Most modern web pages display a main content and with some related links and informations. Even if you request a single thing, it must offer that thing as well as other related stuff. Likewise there are some systems which need other systems informations in order to display or to do its task. When a system depends on another system, these things need to communicate each other.
Think you need to change your address details in your bank account. What you will do is, just simply login to the bank website and change the address. But if you try to view your address through a ATM machine or from a bank statement, that thing also updated. But have you update those thing? The thing is, when you update the details through the website it automatically update all other things also. So how to do this kind of a thing? One system should send data to the aother system and the that system should be able to read data from it.
In a bank there are several different sections. Likewise in a bank network also there are different services provided by different systems. As an example, ATM will provide a different service than a bank website. But both things work in a single bank system. In here we can see some systems must responds according to the service it can offer. How to implement this kind of a service oriented thing. System must respond to according to the request and chose the correct system which is capabler of doing the requested task.
Think you had login to your banking website. Now you can view your bank details. If you go to an ATM machine and try to login with your PIN number, there also you will see your details. In both case you will see only your details but not others. Both systems must identify the user and view the correct content. The identification of the user is a common process for these two system. If this is more common thing, coding it again and again in different sub systems is not needed. But there is a need to communicate with that process in order to complete a process in a different sub system.
If you need to buy something from a website, what you will do? We need only to insert our bank details. But, the website must verify wither we got enough credit to buy that thing or not. So to do that it need to communicate with our bank. Now a system in a business need to communicate with another system which is also in another business. So how to communicate between two enterprise systems?
These are the main areas that an enterprise system developers must think. Most of the time enterprise system developers use per-build sub systems, because developing a hole system is very time consuming thing. That's why we need "Integration Patterns". Here I have describe main types of integration;
* Information Portal
* Data Replication
* Shared Business Function
* Service Oriented Architecture
* Distributed Business Process
* Business to Business integration.
When a developer need to develop an enterprise system he/she can use these methods in order to do it in less effort and without wasting time.