|
Project Information
Members
|
Edifact D09A APIQuick startEdifactAPI project convert Edifact D09A standard's messages (invoice, order etc.) to excel definition files and schema files that can be used e.g. for creating Web Services. Below are invoice message examples of these files and web service:
Excel is for defining message requirements, schema is for developers and web service is for partners to send messages using Web Services. If you have any problems viewing files at 1 and 2 please download zip file from download section. Each zip contains both excel and schema file for message. What is edifact D09A?In short edifact is a standard which contains about 200 messages organizations can use to exchange data. (The can is bold because it is good to know that it is not a must to implement all messages. You might want to implement only e.g. invoice message) Edifact D09A is one version of this standard. Edifact is a global standard used in EDI. EDI itself is used by big companies in Electronic Data Interchange. In other words exchanging data between organizations. You can find out more information and original specifications of edifact here: http://www.unece.org/trade/untdid/welcome.htm The specifications are located at Directories -> Download Directories - ZIP files What is this project?This projet's goal is to make EDI implementation easier, cheaper and faster so that small companies and organizations can also benifit of EDI. Our focus in this project is more on information (where it is deliverd and what parties has agreed about information) than on "syntax of EDI file". In this project "the file syntax" is implemented as xml files. This philosophy you can see in our implementation of EDI: Schemafile + Excel definition file. In these files we are more "project orientated" than software orientated. This project don't offer any kind of "edi file parsers" or "mapping tools" for transforming files from one format to an other. This project goal is to use one format: Xml files that are based on edifact standard. (We do have plans to implement edifact file reader/writer for transforming edifact files into xml files and vise versa but this will be more "a helper util" when moving from current system to xml based edi.) Excel definition filesThese files are the cornerstones for whole edifactapi project. There is one excel file for each EDI message where all the fields that are possible to use in this message are listed. The actual job need to be done using these files is to find right fields what to use in messaging so that both the sender and receiver knows what information is delivered in what fields. (There are really a lot of fields and you will probably use only a really small subset of these fields) Filling these excels supports directly developers and make it much easier for them to implement the actual messages. Schema filesSchema files are ment for developers for implementing the definitions from excel files. Schema files are "replacements" for "edifact files" in this solution. The naming between schema files and excel files is identical so the developers can easily set and get the information to and from xml based messages. From schema files developers can easily create required classes they need in development. E.g. with javatools you need only run xjc and you done. Below is an example command for doing this. c:>myedifactproject\schemas\xjc -p org.mycompany.edifact.schemas.invoic_d09a schema1.xsd From xjc generated files developers can quite easily develop Web Services that can be used for receiveing messages from partners. After the Web Service is up and running partners can easily create classes for accessing the Web Service. Below is an example command for doing this with javatools. c:>myedifactclientproject\parties\companya\wsimport -keep http://url.to.webservice/invoic_d09a?wsdl* Web Service based architectre is known today as SOA (Service Orientated Architectre) and in general there is good support for this in several development tools and IDE (E.g. Ecliplse, NetBeans, Visual Studio, command line java tools etc.) If you want to see real WebService in action running on Google App Engine, please click the following link: http://www.vnetcon.org/invoice?wsdl This will show you EdifactAPI project's invoice spcification part served as WebService, powered by WebSerivceServlet. DownloadsAt downloads you can download both excel and shema files in one zip. There are about 200 zip files and each file represent one message (e.g. invoice, order) in edifact specification. At the moment only a subset of messages can be download due to space "challenges". We have apply more space and the rest of messages will be added later. How are these files done?We have developed a program that parses all the information from native edifact d09a specifications. The generation process is following:
Current solutions versus EdifactAPI solutionsBelow is a picture where you can see the diffrencies between current oparator based solutions versus EdifactAPI solution. Please note that this pictre does not cover the whole operator world or eghter EdifactAPI solution - it is only a simple high level picutre to get some understanding of differencies.
From this picture it is possible to see why integration (edi and others) are so difficult today:
Extra bonus using EdifactAPI is that you can send and receive messages directly without operators. And if you are using Google App Engine you don't have to buy or rent servers where you can run your messaging Web Services. If you have a really a lot of messages then you might have to pay something to get more resources, otherwise using Google App Engine is free. Unfortunately Google App Engine don't currently support Web Services. Because of this we have started a subproject to overcome this issue. This project can be found at http://code.google.com/p/webserviceservlet/ What are EdifactAPI project steps?Offering message interface for partners (Setting up Web Services)These are the required steps to be done if you start from scratch:
Accessing partners message interface (Calling Web Serivces)
About securityBasically you use the Web Service platforms security (https, authentication etc.) to secure you messages. Because it is also possible to use EdifactAPI in traditional way like file transfer using (s)ftp or even Google Shared folders then this kind of "Web Service" security is not possible. To overcome this we have started a project called pkimessages which uses standard pki methods for securing messages deliverd e.g. using shared folders, email, ftp etc. You can find this project at http://code.google.com/p/pkimessage/ Why Edifact and not e.g. UBL?This is a good question. We end up with edifact for following reasons:
|