Application integration (sometimes called enterprise application integration or EAI) is the process of bringing data or a function from one application program together with that of another application program. Where these programs already exist, the process is sometimes realized by using middleware, either packaged by a vendor or written on a custom basis. A common challenge for an enterprise is to integrate an existing (or legacy) program with a new program or with a Web service program of another company.
In general, for new applications, the use of object-oriented programming and actual or standard development tools and interfaces (such as JAVA or .NET) will help ensure that new application programs can be easily integrated with those that may be needed in the future. The Extensible Markup Language (XML) promises to serve as a tool for exchanging data among disparate programs in a standard way.