|
(You must have EDIdEv Framework EDI - installed on your machine
to run the programs successfully. An evaluation copy can be downloaded at
www.edidev.com.)
The Internet has brought about more
methods of file transmission opening up different ways for companies to send and
receive EDI files. Below
are short descriptions of different file transport protocols and how
Framework EDI supports them:
Dial-Up
This is the earlier and traditional way of sending and receiving EDI files
before the Internet became popular. Communications would normally be over
dedicated lines directly between trading partner or through a VAN (Value-Added-Network).
But, because setting up a host server would require many modems and an application
server that required complex maintenance, only large companies were able to
provide dial-up service. Their servers would act like electronic
post-offices, which provided mailboxes where companies could send
outgoing or check for incoming EDI files. (Please note that Framework EDI
has no method or function to support dial-up protocols.)
SMTP or email
Email over the Internet provides for a less expensive and simple means of
sending and receiving EDI files. However, EDI files are less secure if
sent by email over the Internet, and the size of an account's mailbox limits the
size of EDI files one can send. Also, email generally requires a user
to retrieve an attached message, which is not in accordance to the EDI
definition of having no human intermediary.
Below is an example of how one can use the
Framework EDI component to send an EDI file by SMTP:
'
Send by SMTP
Set oTransport = oTransports.CreateTransport
' Set required parameters for email
oTransport.SetSMTP
Set oSmtpCfg = oTransport.GetSmtpCfg
oSmtpCfg.ServerName = ""smtp.maildomain.com""
oSmtpCfg.User = "useracountid"
oSmtpCfg.Password = "accountpassword"
oSmtpCfg.AddTo ("UserTo")
oSmtpCfg.From = "UserFrom@domain.com"
oSmtpCfg.FromDisplay = "UserFirst UserLastname"
oSmtpCfg.Subject = "Subject Title"
oSmtpCfg.MessageText = "Message Body. EDI file attached"
oTransport.Send sEdiFile
FTP
With FTP communication servers becoming affordable, and easier to set up and
operate, the FTP protocol has become one of, if not the most popular way of
sending and receiving files. Trading partners can easily set up their own
FTP server and have their EDI files directly uploaded to them. However, with FTP, files can only be sent to folders (or directories),
which wait to get polled for processing, therefore the receipts of EDI files are
not immediately acknowledged to inform the sender whether its files have been received or not.
Below is an example of how
one can send and receive EDI files by FTP with the Framework EDI component:
'
Send by FTP
Set oTransport =
oTransports.CreateTransport
oTransport.SetFTP
oTransport.Address = "www.domain.name"
oTransport.Password = "password"
oTransport.User = "username"
oTransport.TargetPath = "/inboundfolder/"
oTransport.Send sEdiFile
'
Receive by FTP
Set oTransport =
oTransports.CreateTransport
oTransport.SetFTP
oTransport.Address = "www.domain.name"
oTransport.Password = "password"
oTransport.User = "username"
oTransport.TargetPath = "/inboundfolder/"
oTransport.Receive sEdiFile
HTTP or HTTPS
With nearly every company owning a Web Site and a Web Server, the HTTP server is
the most available of all communication servers, but yet only a handful of
companies take advantage of this powerful and almost free resource for sending
and receiving EDI
files. Just like the FTP server, the HTTP server is inexpensive and is easy
to set up; but unlike the FTP protocol, which is limited to sending files to
folders, the HTTP protocol allows one to send a file straight to a program
(destination application). This makes it possible to have a destination
application acknowledge back to the sender an EDI acknowledgment (TA1, 997 or
CONTRL) immediately after
it receives an EDI file.
Below are sample programs that
demonstrate how one can send an EDI file securely using HTTPS and get an
acknowledgment back immediately.
-
SendHttpAckTa1.zip
- Download an example program written in VB6 that sends an EDI X12 file by HTTPS to our server and immediately
receives a TA1 acknowledgment. (The TA1 is an EDI file that acknowledges
whether an Interchange has been accepted or rejected.)
-
EdiServer.zip
- Download an example program of a destination application written in VB .NET. This is an
ASP .NET program that receives EDI files posted to it, and then generates
and sends a TA1 file acknowledgment back to the sender synchronously .
EDIINT AS2
EDIINT AS2 is basically a more sophisticated version of the above HTTP file exchange,
but more complicated because of the extra standards it introduces over the HTTP
protocol responses, and message format wrapped over the EDI standard. The AS2 protocol is not
specific to EDI files only, so another acknowledgment called the MDN
is used to acknowledge receipt of AS2 files. The extra layers in AS2 that
are not related to EDI make this protocol cumbersome and difficult to implement,
and can become expensive if certification and support maintenance are required.
-
To run and download an ASP
.NET example program that sends an AS2 message to our test AS2 server, click
here. (Source code for the ASP .NET AS2 Server sample program
is included in the Framework EDI Enterprise License only, or email support@edidev.com
to request for it.)
Below are sample programs in VB6 to demonstrate
how to use the FREDI-COM to send and receive AS2 messages. In our example,
the sample client application will send an AS2 message to an AS2 server program located on one of our computers, which will reply back to the client with an
MDN.
-
As2Client
- Download an example AS2 client application program with
source code (written in VB6). (This AS2 client can be used to send AS2 messages to
the sample DefaultAs2Server program below.)
-
DefaultAs2Server
- Download an example AS2 Server application program with
source code
(written in VB6 using the FREDI-ISAPI included only in the Enterprise
License). This AS2 server demonstrates how one can receive AS2
messages and validate the EDI
files contained in them before acknowledging with an MDN while in a synchronous connection.
Below are sample programs in VB6 to
show how one can use the component to create and import security
certificates.
-
CreateCert
- Creates a key container, certificate store and a certificate file.
-
ImportCert
- Imports a security certificate.
Click
here to download Framework EDI 
Frequently Asked Questions
Q. Is it possible to send and
receive AS2 messages with only the Framework EDI Professional License (without using the
Enterprise License)?
A. Yes, it is possible to send and receive AS2 messages with the Framework
EDI Professional
License. However, utilities such as the eSecurity Console and ISAPI
Extension Console that are only available in the Enterprise License help make
AS2 development much easier.
Q. Can the security
certificates created by Framework EDI be used in a production environment?
A. We don't recommend it because these security certificates are not
trusted, or have not been specifically assigned to you, which means that it
could be possible for someone else to create the same certificate you may have
created for yourself. Creating your own certificates (not trusted) should
be limited to testing environments only.
Q. Is the Framework EDI AS2
functionality certified by Drummond?
A. No, we have not sought for Drummond certification. The
functionalities in our component have not been limited or restricted to AS2
making it possible to create other message standards exchanged over HTTP (such
as NAESB) with the
Framework EDI component.
EDIdEv provides programming examples for illustration only, without
warranty either expressed or implied, including, but not limited to, the implied
warranties of merchantability and/or fitness for a particular purpose. This
article assumes that you are familiar with the programming language being
demonstrated and the tools used to create and debug procedures. EDIdEv
support engineers can help explain the functionality of a particular procedure,
but they will not modify these examples to provide added functionality or
construct procedures to meet your specific needs.
|