SAP Exchange Infrastructure (XI) belongs to the category of middleware software. By definition, it sits in the middle to connect two or more systems so that they can exchange messages with each other. These systems can be SAP as well as non-SAP, as long as that non-SAP system adopts some open standards, such as HTTP, Web Service; or in an old fashion way, an ASCII format file.
SAP XI uses XML format for messages. If a system connecting to it does not speak XML, or a different format of XML, an adapter is needed. In a non-technical way, I call an adapter a translator. It translates messages from one format to another, many times with data mapping involved. Some adapters are provided by SAP, others by our partners with a certification from SAP. I divide adapters into following four categories:
Technical Adapter, such as HTTP, SOAP, JDBC, Mail, etc.
SAP Application Adapters, such as RFC and IDoc.
Non-SAP Application Adapters, such as Oracle, Seibel, PeopleSoft, etc.
Industry Standard Adapters, such as CIDX, RosettaNet, EDI, etc.
The primary reason of using application or industry standard adapters is that they provide mappings. Take EDI adapter as an example. EDI has been used widely to exchange electronic data before the internet era. Over the time, many data formats have been defined by industry in each specific country. By buying an EDI adapter, you not only buy the communication protocol for data transfer, but also the data mapping for the industry you are working with. This is THE value of buying an EDI adapter. It saves you many days of work to map your data. The same concept applies to all of those application adapters.
Another concern adapter user has is that my application is based on Release X of Oracle Financials, for an example. Will your Oracle adapter work for me? The general answer is yes. The reason is that each application vendor publishes an API (application programming interface) for their applications. There are multiple applications from one vendor, but the API is quite structured and stable. It can link to any applications from that vendor. If over the time, this API changes, it is adapter providers responsibility to make modification to their adapter. An adapter user is free from this responsibility. That is why you pay for the maintenance of your adapter.
Another question related with this topic is that do I have to have a specific XYZ adapter to connect to my XYZ application. The answer is It depends. If the interface you are building with the XYZ application is very simple, and it has Web Service or HTTP communication channel built in, you might be able to use SOAP adapter for Web Service and HTTP adapter for HTTP messages. Otherwise, using XYZ adapter is a better choice. In either cases, you need an adapter, SOAP/HTTP or XYZ.
It is pretty much safe to say that you can only maximize the potential of your SAP XI using adequate adapters. Without these adapters, a middleware software is similar as a human without some vital limbs.