EDI (Electronic Data Interchange)X.400 Servers and APIs for EDI Applications
EDI is the direct application-to-application transmission of business documents such as purchase orders, invoices and remittance advices. EDI is a critical component of many e-commerce solutions. Isode does not provide software to manage EDI formats or business integration, but does provide components for transfer of EDI documents.
What Isode Provides
X.400 is a common choice for transferring EDI messages as it offers high reliability, two levels of end to end acknowledgement as standard features, good audit logging, security and management. Isode provides the following X.400 components for the EDI market:
- M-Switch X.400: a high performance X.400 MTA (Message Transfer Agent), suitable for high volume backbone operation. M-Switch X.400 provides a flexible, secure and robust MTA solution
- M-Store: an X.400 Message Store supporting client access using the X.400 P7 protocol, and accepting messages from an MTA using X.400 P3.
- X.400 Client API: a cross-platform simple API, which enables an EDI application to operate over either a P3 or P7 connection.
- X.400 Gateway API: the Isode X.400 Gateway API is available for Java or as a simple 'C' programmatic interface to connect external messaging or telematic services to X.400
EDI applications connect to an X.400 infrastructure in two ways:
- By use of X.400 P7, connecting to an X.400 Message Store such as M-Store X.400. This is a client server protocol to access delivered messages, and to submit new messages. This is appropriate for small end user EDI applications, and might typically be used by someone running an EDI application on a PC.
- By use of X.400 P3, connecting to an X.400 Message Transfer Agent such as M-Switch X.400. This is appropriate for server applications, that do not require the X.400 infrastructure to store messages. It provides a submission and delivery service.
EDI Service Provider Options
End user EDI organizations will often connect to each other using a service provider, providing connectivity between EDI organizations, and acting as a transaction broker (as with a traditional EDI VAN (Value Added Network).
The core component for a service provider will be one or more X.400 Message Transfer Agents (M-Switch X.400) which provide X.400 switching connectivity between the EDI end user organizations, who are the customers of the EDI . Where the EDI service provider wishes to support small end users, it will also operate an X.400 Message Store (M-Store X.400) in order to provide X.400 P7 client server access.
EDI End-User Organisation Options
An EDI end user organization typically has two connectivity choices. The first is to connect using X.400 P7 to an EDI service provider. This is a good choice for a small organization that does not require to operate its own X.400 servers. Use of X.400 P3 could in principle be an alternate option for such organizations, but in practice most EDI service providers have chosen to offer X.400 P1 and P7 services, but not P3.
The second choice is for an end user organization to operate an X.400 Message Transfer Agent (M-Switch X.400) and to connect using X.400 P1 (server to server). This is appropriate for an organization with higher volumes of traffic to connect to an EDI service provider, or for two end user organizations to interconnect directly without using and EDI service provider. In this configuration, the EDI end user organization has two choices to connect users to the X.400 Message Transfer Agent:
- Direct connection of end users, using X.400 P3.
- Operate a local X.400 Message Store (M-Store X.400) and connect end users using X.400 P7.
EDI applications using an X.400 infrastructure need to be able to connect using X.400 P3 or P7. While some EDI applications have integrated X.400 support, in most cases this needs to be added. Isode provides an X.400 Client API product, which is a cross-platform simple API, which enable an EDI application to operate over either a P3 or P7 connection. This API is ideal for applications and special purpose clients that require to be connected to an X.400 infrastructure with a minimum of intervening software. Benefits of the Isode EDI Client API:
- Support of both P3 and P7, means that the EDI application can be deployed in either of the scenarios shown above, without code changes.
- API provides a simple abstraction and sample applications, which enable very rapid development.
- API enables generation of X.400 Inter Personal Notifications (IPNs) to acknowledge EDI message receipt.
- Use of a programmatic API ensures robust message handling, and a straightforward approach to dealing with error conditions.
- API supported in Java and 'C', as popular programming languages.
- API supported in Tcl scripting language, which enables flexible testing and easy integration.
In most situations, EDI integration with X.400 is best achieved as an end user integration using X.400 P3 or P7. In this model each instance of the EDI application is an X.400 end user that sends and receives EDI messages. There are more complex scenarios, where there is a need to integrate X.400 transfer with other transfer mechanisms, where this simple model does not work. If there is a need to map large numbers of addresses, and to map transport errors between X.400 and the remote system, then a gateway model is appropriate. Isode offers two EDI gateway approaches, described below.
Isode provides an X.400 Gateway API which is co-resident with M-Switch X.400. This API enables an EDI gateway to get at the full message transfer capabilities of X.400, and can support generic integration between an external EDI transfer infrastructure and X.400. In particular, the gateway can receive messages to be delivered to multiple recipients, and can generate X.400 delivery reports (which is not possible with X.400 P3 or P7).
EDI is often operated over the Internet using SMTP (Simple Mail Transfer Protocol). This can lead to a requirement to convert between EDI/X.400 and Internet Mail. The MIXER specifications are a good basis to achieve this. Isode offers a product for this with M-Switch MIXER. This provides a flexible mapping between MMHS and Internet Email, including full directory based configuration of the mappings. M-Switch MIXER also includes flexible authorization, which can control use of the MIXER gateway and control who can send messages.
In some situations this basic mapping is sufficient. Where additional mapping is needed, such as conversion to XML formats, this architecture can be extended to use SMTP to connect to an EDI Gateway. This architecture has the advantage of using the popular SMTP protocol, but does mean that some X.400 services are not available as a consequence of the MIXER translation. If access to all X.400 services is needed, the direct EDI Gateway approach is recommended.