To Split or not to Split - that is the question.

"Dick Brooks" <[email protected]> Tue, 21 Jan 2003 12:33:37 -0700
Newsgroups gmane.ietf.ediint
Message-ID <[email protected]>
Perhaps it's time to examine the clarity issue a bit further, and this may
help us decide whether to split the spec or not.

I'll begin by providing a little background on the original GISB standard.
This will be followed by a description of the GISB/AIAG AS2 profile and,
lastly, I'll compare the GISB/AIAG and UCC AS2 profiles (at a very high
level).

In 1996 the Energy industry needed a secure, reliable means to transport EDI
documents over the Internet. A relatively new specification was emerging
from the IETF that would permit file exchanges using web browsers/HTTP, the
spec eventually became known as RFC 1867. RFC 1867 has been updated/replaced
by RFC 2388. If you've ever uploaded a file using a web browser to Yahoo,
E-Bay or one of the picture sharing sites chances are good you've used the
RFC  2388 standard.

If you would like to see a GISB standard upload in action simply go to
http://www.tech-comm.com/gisbupload.html and send a file to the server. The
information you send will be "mirrored" back to your browser so that you can
see what data was sent. You don't have to encrypt the data to see how this
works, but feel free to do so if you wish. To send a file, click the browse
button, pick a file, then send it using the submit button. I've limited the
amount of data allowed so please pick a small file to send.

*IMPORTANT NOTE FOR CLARITY*
The example above uses an interactive web browser to demonstrate a GISB
standard upload, however this DOES NOT mean users must use interactive
browsers to send files. There are numerous, automated scripting tools
available which implement this same functionality that run in an unattended
manner. In fact, the majority of implementations in the Energy industry use
automated tools to encrypt/decrypt and send/receive files using the GISB
standard.

Also, the standard response to a file upload, as defined by GISB,is an
acknowledgement timestamp, which is not shown in the example above. In an
attempt to help people understand how this works I've chosen to display the
data that was received by the server so that you may see what a GISB
standard message looks like.
*END NOTE*

As you can see by this example the GISB standard upload procedure is
relatively simple to understand, there are 4 identification elements:
FROM: Duns number of sender
TO:   Duns number of recipient
INPUT-FORMAT: Describes the type of data being sent (X12)
TRANSACTION-SET: Specific identifier for the type of data in the encrypted
payload
INPUT-DATA: This is the actual file being sent.

The message packaging is entirely based on RFC 2388, which is well
documented and very easy to understand. All a developer needs to do is view
the output from any browser using the HTML form above to see a GISB standard
message.

The GISB standard for crypto is PGP, and all senders are expected to encrypt
their business data before sending it to the server. This approach was
fairly easy for people to understand and explicit command line examples
using PGP to encrypt files are available for those needing assistance,
e.g. pgp -esa foo.bar receiver-pubkey -u signer-key

After completing the encryption step, a sender can use a simple web form,
like the one above, to upload the encrypted data.

One of the benefits of the GISB approach is that an end user doesn't need
expensive or complex software to send a file. All that's needed is a web
browser and PGP.

In 1999, the decision was made to converge the functionality defined by GISB
and AIAG into the IETF AS2 effort. The result of this convergence may be
seen in another AS2 compliant html form,
http://www.tech-comm.com/as2upload.html

This AS2 conformant approach was adopted by GISB in 2000 and is now an
official standard of the Energy industry.

As you can see by the as2upload form there are many more identification
elements available than with the original GISB standard. These are all part
of what people refer to as the  GISB/AIAG AS2 profile. Some of these
elements are specifically related to AS2's mechanism for receipt delivery,
and security options. In this sense the UCC profile and GISB/AIAG profile
are alike and use the same element names to request receipts.

So how do the UCC and GISB/AIAG approach's differ within AS2?

At a high level, and at the risk of oversimplifying...

The UCC approach defines HTTP extension headers to convey similar
information to the "identification elements" used by GISB and AIAG, which
you can see the as2upload.html form above. Instead of using the element
names "FROM" and "TO" to identify sender/receiver the UCC profile uses
"AS2-From" and "AS2-To".

Additionally, the UCC profile specifies the use of S/MIME version 2 for all
crypto functions. The GISB/AIAG AS2 profile specifies OpenPGP.

Lastly, the UCC profile uses MDN's for receipt acknowledgements, whereas
GISB uses a generic "multipart/report" containing tracking identifiers and
timestamps.

In terms of function the two profiles are virtually identical; to provide
reliable, secure delivery of business data.

I hope this helps.

Dick Brooks
Systrends, Inc
7855 South River Parkway, Suite 111
Tempe, Arizona 85284
Web: www.systrends.com <http://www.systrends.com>
Phone:480.756.6777,Mobile:602-684-1484,eFax:240-352-0714


-----Original Message-----
From: [email protected]
[mailto:[email protected]]On Behalf Of Andrew Stickland
Sent: Tuesday, January 21, 2003 2:01 AM
To: [email protected]
Cc: '[email protected]'; [email protected]
Subject: RE: Split within EDIINT: Multiple versions of AS2



All,

Since throwing in my own comments a few days ago, I have been watching
developments with interest.

So far, it would seem that the split is fairly even between those advocating
the splitting and those for keeping the merge but Ned now raises some
interesting points.

>From my own point of view, I don't see that creating two documents really
solve the clarity issue when a single document can be restructured to
achieve the same effect. Personally, I found the splitting of the MIME
specification over multiple documents to be a real pain when we first
started doing some work in this area.

I've been out of the deep technical loop on this for some time so please
don't shoot me if I get some things a little bit wrong...

The original split between AS1 and AS2 was purely due to the difference in
delivery mechanism - one used SMTP/POP3 and the other HTTP. Could it not be
said that this is still true today and in fact both the 'UCC' and 'Energy'
variants could be carried by either mechanism? Actually, if this is not true
then maybe it should be.

This would therefore suggest that it may be time to take a step back from
AS2 and re-think the definition of EDIINT as a whole.

It would seem to me that a possible rework of the specifications would be...

  Doc 1 - Delivery mechanisms (SMTP/POP3 and HTTP)
  Doc 2 - Enveloping (S/MIME and PGP)

There is a lot I could say on the matter but I think I'll leave it there for
initial comments.

Regards
Andrew Stickland
Manager, Technical Services
mailto:[email protected]



-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: 20 January 2003 16:38
To: [email protected]; [email protected]; [email protected]
Subject: RE: Split within EDIINT: Multiple versions of AS2



Area Director hat on...

I've been reading the comments on this issue with considerable interest. At
this point I think it is important to point out that at least two entirely
issues are being conflated here. Specifically, splitting something into two
documents doesn't mean that the two documents comprise separate
specifiations.
Nor, for that matter, does having a single document mean that there wouldn't
or
couldn't be two conformance levels to AS2.

There are plenty of examples of specifications split into multiple documents
in
the IETF. MIME, for example, is split into 5 documents, RFCs 2045-2049. I'm
not
aware of any case where this has caused problems: You frequently hear people
refer to "MIME conformance", but not "RFC 2045 conformance".

SNMP is an even better example. Here we have multiple specification
versions,
each split up into who knows how many base documents. Yet again, I've never
heard of there being a problem with peoeple claiming selective conformace to
a
specific documents within an SMNP version. (Conformance to different SNMP
versions is another matter, but we really don't want to go there...)

When I hear claims that there's a problem of clarity in the single document
--
a claim I don't think has been contested -- I start to think that splitting
things into multiple documents is worth considering. I therefore suggest
that
this issue be dealt with indepenently of what it means to conform to AS2. If
splitting the material into two documents makes it clearer it is something
that
should be done. If not, it shouldn't.

In regards to specification conformance and assuming AS2 is split into two
documents, there are all sorts of ways this could be handled:

(1) (MIME approach) Everybody has to support both documents in order to
claim
    conformance to AS2.
(2) (PL/I approach) You can support what you want and claim conformance to
    AS2(1) or AS2(2), but you cannot claim to conform to AS2 without
    supporting both.
(3) (PostScript approach) There's no such thing as conformance to AS2 as a
    whole, you implement and claim conformance to either part independently.
(4) The issue is left to other groups to address.

Of these the only one I'd have issues with is (4). The goal of IETF
specifications is interoperability. And one of the tools that's been
effective
in achieving interoperability has been conformance criteria. Therefore the
decision to abandon this tool should not be taken lightly.

I'm well aware, however, that this is a case where various other groups will
likely profile anything the IETF produces. So what the IETF says constitutes
conformance may not end up being what matters to vendors. But that's not an
excuse for not doing our jobs.

In any case, I do think that the two issues should be dealt with
independently
and the document structure issue needs to be addressed first. If nothing
else,
it would help to make it clear to everyone what's in each part.

				Ned

P.S. I've used the term "conformance" rather than "compliance" throughout
this
message. This was an intentional choice: To me, compliance tends to imply
measurement or testing will be done to insure things work as intended. But
this
is not something the IETF does, at least not directly.

*******************************************************
This email has originated from Perwill plc (Registration No. 1906964)
Office registered at: 13A Market Square, Alton, Hampshire, GU34 1UR, UK
Tel: +44 (0)1420 545000
Fax: +44 (0)1420 545001
www.perwill.com
*******************************************************
Privileged, confidential and/or copyright information may be contained
in this email, and is only for the use of the intended addressee.
To copy, forward, disclose or otherwise use it in any way if you are not
the intended recipient or responsible for delivering to him/her is
prohibited.
If you receive this email by mistake, please advise the sender immediately,
by using the reply facility in your email software.

We may monitor the content of emails sent and received via our network
for the purposes of ensuring compliance with policies and procedures.
This message is subject to and does not create or vary any contractual
relationships between Perwill plc and the recipient.
*******************************************************
Any opinions expressed in the email are those of the sender and not
necessarily of Perwill plc.
*******************************************************
This email has been scanned for known viruses using
McAfee WebShield 4.5 MR1a
*******************************************************