EAI (enterprise application integration) refers to the plans, methods, and tools aimed at modernizing, consolidating, and coordinating the computer applications in an enterprise. Typically, an enterprise has existing legacy applications and databases and wants to continue to use them while adding or migrating to a new set of applications that exploit the Web, e-commerce, extranet, business-to-business (B2B) commerce, and other new technologies. Enterprise application integration is difficult mainly because there is no standard infrastructure for communication between heterogeneous systems. The four types of B2B and A2A integration challenges that most organizations encounter today are user-interface integration, application integration, business-to-business integration, and data integration.