RE: profiles in AS2

"Gijsbert in 't Veld" <[email protected]> Fri, 16 Dec 2005 09:43:14 +0100
Newsgroups gmane.ietf.ediint
Message-ID <[email protected]>
This is a multi-part message in MIME format.

------_=_NextPart_001_01C6021C.C1E2DD9C
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I'm in favor of the features header in combination with the version
indicator, but the features (capabilities) should always be negotiated
during session setup. For each capability, the lowest "level" wins. So
if A sets up a connection with B and requests "Multiple =
attachments=3DYes"
then B could say "Multiple attachments=3DNo". The result will then be
"Multiple attachments=3DNo".

=20

Also, the mininum AS2 protocol version supported should be 1.0. All the
AS2 implementions should be backwards compatible. Detecting an older
version then the one that will support feature negotiation always means
that there are no features to be negotiated.

=20

That way it's very flexible. This is how it's done in other major
protocols as well (for example OFTP).

=20

Best,

Gijsbert in 't Veld

Covast CTO

=20

________________________________

From: [email protected]
[mailto:[email protected]] On Behalf Of Kyle Meadors
Sent: Thursday, December 15, 2005 11:21 PM
To: [email protected]
Subject: RE: profiles in AS2

=20

Not a lot of comments on this thread. But to summarize...

=20

3 in favor of Option 2 (Features header) and use of AS2-Version 1.2=20

1 in favor Option 3 where filtering is done on a message

=20

Still does not fully address the initial start-up conditions as Richard
pointed out, but perhaps that just can not be done without some manual
setup.

=20

Since this EDIINT WG will likely be closing relatively soon, I hope we
can get some more to weigh in on this. Do others object to Option 2
(with AS2-Version 1.2)?

=20

For those AS2 vendors supporting Option 2, would this impact your
product, including those deployed in existing supply chains? Are their
significant backward compatibility problems with this choice?

=20

Kyle Meadors

DGI

________________________________

From: Tim McCarthy [mailto:[email protected]]=20
Sent: Wednesday, December 07, 2005 9:14 AM
To: Kyle Meadors; [email protected]
Subject: RE: profiles in AS2

=20

Seems to me that a combination of features 2 and 4 would provide
everything we'd need.

=20

________________________________

From: [email protected]
[mailto:[email protected]] On Behalf Of Richard Bigelow
Sent: Tuesday, December 06, 2005 5:07 PM
To: Kyle Meadors; [email protected]
Subject: RE: profiles in AS2

=20

These are my comments.  Option 2 is preferred.  This memo essentially
supports John Duker's memo of Dec. 5, Features Profile in AS2.

=20

1. This option requires that implementers of feature 1.n also implement
all earlier features.  Is that reasonable?  What if 1.5 is difficult and
many vendors don't want to do it, but many want to support 1.6?  Not
recommended.

=20

2.  The features header allows the partner A receiving the message to
know the other partner's (B's) capabilities.  So when A sends to B, A
knows what is allowed.  A can also check B's AS2-version; 1.1 does not
allow any of the controlled features, but does allow compression.  A
should update some state for every message received from B.  B might
stop supporting some feature.  Recommended.

=20

A possible variant of (2) is that a partner could send some message to
all its trading partners when its capabilities change.  This message
would have headers only, no content.  It might be useful to send this
capabilities message to partners that would rarely receive normal
messages.

=20

3. This option allows receivers to ignore messages they don't
understand, and to detect those messages without looking for unknown
headers.  But it does not provide a mechanism for the sender to know
whether a receiver can receive the message.  Suppose we had done
compression this way.  A could send a compressed file to B, and B could
ignore it based on the feature header, but then the file is lost.  B
could return a new MDN code indicating unsupported-feature, and A could
then send the uncompressed file, in this example.  In other cases, A
would have to use some other mechanism.  A could remember that B
rejected the file and not try that feature again, but how would A know
if B upgraded and can now support the feature?  The original intent of
the features header was that the sender could know in advance if the
receiver supports the feature.  3 is not recommended.

=20

4. Before sending a message to B, A should ask B for B's capabilities,
and check if B supports the feature.  Since B might stop supporting a
feature, A should ask each time.  This is ok for rare messages, like
CEM, but not for common ones, like Multiple Attachments.  Not
recommended.

=20

None of these protocols fully addresses the initial case.  Before any
messages are exchanged, how do the partners know each other's
capabilities?  Each partner must assume that the other supports only the
basic 1.0 AS2 protocol.   Hopefully, they will be able to exchange
normal messages, which will contain at least the 1.2 version header.
They can then use option 2 to discover each other capabilities.  This
probably works for most features.  For CEM, either they must first
exchange test messages that are unencrypted and unsigned to establish
CEM capability, or exchange initial certificates manually.

=20

Alternatively, the partners would configure each other manually the
first time.  Thereafter, they would be automatically updated on each
other's capabilities.

=20

Richard Bigelow
Inovis
[email protected]

________________________________

From: [email protected]
[mailto:[email protected]] On Behalf Of Kyle Meadors
Sent: Thursday, December 01, 2005 9:04 AM
To: [email protected]
Subject: profiles in AS2

=20

I am needing the opinion of the AS2 community on the use of a feature
profiles within AS2. Back in 2002, compression was added as an extra
feature. Using "AS2-Version: 1.1" in a message indicated the UA could
support compression even if the actual message did not contain the
compressed envelope. This assisted implementers in knowing if their
trading partners could support compression.=20
 =20
Moving to the present, users are requesting new features. These include
I-Ds for Reliability (from GS1), Multiple-Attachments (oil & gas users)
and Certificate Exchange Messaging (Wal-mart, P&G and others GS1
companies). Given AS2's adoption, I am sure there will be others in the
future.=20
 =20
My question to those on this elist is how to do move forward with new
features. What do we do to insure only those who support a feature
receive it (e.g., only sending CEM message to trading partners who
support that profile)? Also, can anything be done to insure backward
compatibility to keep new Feature Header messages from being sent to &
breaking older, existing implementations (e.g. older implementation
errors gracefully when getting an unrecognized MA message).=20
 =20
Here are some options. I would like to hear your thoughts on what is
best or other ideas.=20
   =20

1. Use AS2-Version header to indicate UA support of profiles (e.g. 1.2
indicates CEM, 1.3 indicates CEM, Reliability). Works like compression
(e.g. "1.2" indicates capability of CEM but not an actual CEM message).

=20

2. Use a new header, e.g. EDIINT-Features. The features header shows all
features supported by UA (e.g. EDIINT-Features: CEM,
multiple-attachment) but like AS2-Version does not indicate every
message contains profile.

=20

3. Use a new header for each feature which is present ONLY in the
message using that feature. For example, "CEM-Profile" for CEM messages.
This could allow receiving UA to filter in only profiles it recognizes.

=20

4. Create a "Capability Query" AS2 Message which returns a Capability
MDN. MDN indicates what features receiving UA can support.

=20

=20

Kyle Meadors

Principal, Test Process

Drummond Group Inc.

615.212.0826

=20


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.13.10/189 - Release Date:
11/30/2005



--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.13.12/193 - Release Date:
12/6/2005



--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.14.0/203 - Release Date:
12/15/2005



------_=_NextPart_001_01C6021C.C1E2DD9C
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40"
xmlns:ns0=3D"urn:schemas-microsoft-com:office:smarttags">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
p.source, li.source, div.source
	{margin-top:0in;
	margin-right:-.75in;
	margin-bottom:0in;
	margin-left:.2in;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Courier New";}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:Arial;
	color:windowtext;}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:Arial;
	color:navy;}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:Arial;
	color:navy;}
span.EmailStyle21
	{mso-style-type:personal;
	font-family:Arial;
	color:navy;}
span.EmailStyle22
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>I&#8217;m in favor of the features =
header
in combination with the version indicator, but the features =
(capabilities) should
always be negotiated during session setup. For each capability, the =
lowest &#8220;level&#8221;
wins. So if A sets up a connection with B and requests &#8220;Multiple
attachments=3DYes&#8221; then B could say &#8220;Multiple =
attachments=3DNo&#8221;.
The result will then be &#8220;Multiple =
attachments=3DNo&#8221;.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Also, the mininum AS2 protocol =
version
supported should be 1.0. All the AS2 implementions should be backwards
compatible. Detecting an older version then the one that will support =
feature
negotiation always means that there are no features to be =
negotiated.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>That way it&#8217;s very flexible. =
This is
how it&#8217;s done in other major protocols as well (for example =
OFTP).<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Best,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Gijsbert in &#8216;t =
Veld<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Covast =
CTO<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font =
size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'>
[email protected] [mailto:[email protected]] =
<b><span
style=3D'font-weight:bold'>On Behalf Of </span></b>Kyle Meadors<br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Thursday, December =
15, 2005
11:21 PM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> =
[email protected]<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> RE: profiles in =
AS2</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Not a lot of comments on this =
thread. But
to summarize&#8230;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>3 in favor of Option 2 (Features =
header)
and use of AS2&#8211;Version 1.2 <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>1 in favor Option 3 where filtering =
is
done on a message<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Still does not fully address the =
initial
start&#8211;up conditions as Richard pointed out, but perhaps that just =
can not
be done without some manual setup.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Since this EDIINT WG will likely be
closing relatively soon, I hope we can get some more to weigh in on =
this. Do
others object to Option 2 (with AS2&#8211;Version =
1.2)?<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>For those <span =
style=3D'text-transform:
uppercase'>AS2 </span>vendors supporting Option 2, would this impact =
your product,
including those deployed in existing supply chains? Are their =
significant
backward compatibility problems with this =
choice?<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Kyle Meadors</span></font><font
color=3Dnavy><span style=3D'color:navy'><o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>DGI</span></font><o:p></o:p></p>

</div>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font =
size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'> Tim =
McCarthy
[mailto:[email protected]] <br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Wednesday, December =
07, 2005
9:14 AM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> Kyle Meadors;
[email protected]<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> RE: profiles in =
AS2</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Seems to me that a combination of =
features
2 and 4 would provide everything we&#8217;d =
need.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font =
size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'>
[email protected] [mailto:[email protected]] =
<b><span
style=3D'font-weight:bold'>On Behalf Of </span></b>Richard Bigelow<br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Tuesday, December =
06, 2005
5:07 PM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> Kyle Meadors;
[email protected]<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> RE: profiles in =
AS2</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>These are my comments.&nbsp; Option =
2 is
preferred.&nbsp; This memo essentially supports John Duker's memo of =
Dec. 5,
Features Profile in AS2.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>1. This option requires that =
implementers
of feature 1.n also implement all earlier features.&nbsp; Is that
reasonable?&nbsp; What if 1.5 is difficult and many vendors don't want =
to do
it, but many want to support 1.6?&nbsp; Not =
recommended.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>2.&nbsp; The features header allows =
the
partner A receiving the message to know the other partner's (B's)
capabilities.&nbsp; So when A sends to B, A knows what is allowed.&nbsp; =
A can
also check B's AS2-version; 1.1 does not allow any of the controlled =
features,
but does allow compression.&nbsp; A should update some state for every =
message
received from B.&nbsp; B might stop supporting some feature.&nbsp; =
Recommended.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>A possible variant of (2) is that a
partner could send some message to all its trading partners when its
capabilities change.&nbsp; This message would have headers only, no
content.&nbsp; It might be useful to send this capabilities message to =
partners
that would rarely receive normal messages.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>3. This option allows receivers to =
ignore
messages they don't understand, and to detect those messages without =
looking
for unknown headers.&nbsp; But it does not provide a mechanism for the =
sender
to know whether a receiver can receive the message.&nbsp; Suppose we had =
done
compression this way.&nbsp; A could send a compressed file to B, and B =
could
ignore it based on the feature header, but then the file is lost.&nbsp; =
B could
return a new MDN code indicating unsupported-feature, and A could then =
send the
uncompressed file, in this example.&nbsp; In other cases, A would have =
to use
some other mechanism.&nbsp; A could remember that B rejected the file =
and not
try that feature again, but how would A know if B upgraded and can now =
support
the feature?&nbsp; The original intent of the features header was that =
the
sender could know in advance if the receiver supports the feature.&nbsp; =
3 is
not recommended.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>4. Before sending a message to B, A =
should
ask B for B's capabilities, and check if B supports the feature.&nbsp; =
Since B
might stop supporting a feature, A should ask each time.&nbsp; This is =
ok for
rare messages, like CEM, but not for common ones, like Multiple =
Attachments.&nbsp;
Not recommended.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>None of these protocols fully =
addresses
the initial case.&nbsp; Before any messages are exchanged, how do the =
partners
know each other's capabilities?&nbsp; Each partner must assume that the =
other
supports only the basic 1.0 AS2 protocol.&nbsp; &nbsp;Hopefully, they =
will be
able to exchange normal messages, which will contain at least the 1.2 =
version
header.&nbsp; They can then use option 2 to discover each other
capabilities.&nbsp; This probably works for most features.&nbsp; For =
CEM, either
they must first exchange test messages that are unencrypted and unsigned =
to
establish CEM capability, or exchange initial certificates =
manually.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Alternatively, the partners would
configure each other manually the first time.&nbsp; Thereafter, they =
would be
automatically updated on each other's =
capabilities.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div>

<div>

<p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=3D1 color=3Dgray face=3DVerdana><span =
style=3D'font-size:9.0pt;font-family:Verdana;
color:gray'>Richard Bigelow<br>
Inovis<br>
<a =
href=3D"mailto:[email protected]">[email protected]</a>=
</span></font><font
color=3Dgray><span style=3D'color:gray'><o:p></o:p></span></font></p>

</div>

</div>

</div>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font =
size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'>
[email protected] [mailto:[email protected]] =
<b><span
style=3D'font-weight:bold'>On Behalf Of </span></b>Kyle Meadors<br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Thursday, December =
01, 2005
9:04 AM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> =
[email protected]<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> profiles in =
AS2</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>I am needing the opinion of the AS2 community on the =
use of
a feature profiles within AS2. Back in 2002, compression was added as an =
extra
feature. Using &quot;AS2&#8211;Version: 1.1&quot; in a message indicated =
the UA
could support compression even if the actual message did not contain the
compressed envelope. This assisted implementers in knowing if their =
trading
partners could support compression.</span></font> <br>
<font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;</span></font>
<br>
<font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>Moving
to the present, users are requesting new features. These include =
I&#8211;Ds for
Reliability (from GS1), Multiple&#8211;Attachments (oil &amp; gas users) =
and
Certificate Exchange Messaging (Wal&#8211;mart, P&amp;G and others GS1
companies). Given AS2's adoption, I am sure there will be others in the =
future.</span></font>
<br>
<font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;</span></font>
<br>
<font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>My
question to those on this elist is how to do move forward with new =
features.
What do we do to insure only those who support a feature receive it =
(e.g., only
sending CEM message to trading partners who support that profile)? Also, =
can
anything be done to insure backward compatibility to keep new Feature =
Header
messages from being sent to &amp; breaking older, existing =
implementations
(e.g. older implementation errors gracefully when getting an =
unrecognized MA
message).</span></font> <br>
<font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;</span></font>
<br>
<font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>Here
are some options. I would like to hear your thoughts on what is best or =
other
ideas.</span></font> <br>
<font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;<o:p=
></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>1. Use AS2&#8211;Version header to indicate UA =
support of
profiles (e.g. 1.2 indicates CEM, 1.3 indicates CEM, Reliability). Works =
like
compression (e.g. &#8220;1.2&#8221; indicates capability of CEM but not =
an
actual CEM message).<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>2. Use a new header, e.g. EDIINT&#8211;Features. The
features header shows all features supported by UA (e.g. =
EDIINT&#8211;Features:
CEM, multiple&#8211;attachment) but like AS2&#8211;Version does not =
indicate
every message contains profile.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>3. Use a new header for each feature which is present =
ONLY
in the message using that feature. For example, =
&#8220;CEM&#8211;Profile&#8221;
for CEM messages. This could allow receiving UA to filter in only =
profiles it
recognizes.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>4. Create a &#8220;Capability Query&#8221; AS2<font
color=3Dnavy><span style=3D'color:navy'> </span></font>Message which =
returns a
Capability MDN. MDN indicates what features<font color=3Dnavy><span
style=3D'color:navy'> </span></font>receiving UA can =
support.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Kyle Meadors</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Principal, Test Process</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Drummond Group Inc.</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>615.212.0826</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>
<BR>

<P><FONT SIZE=3D2>--<BR>
No virus found in this outgoing message.<BR>
Checked by AVG Free Edition.<BR>
Version: 7.1.362 / Virus Database: 267.13.10/189 - Release Date: =
11/30/2005<BR>
</FONT> </P><BR>

<P><FONT SIZE=3D2>--<BR>
No virus found in this incoming message.<BR>
Checked by AVG Free Edition.<BR>
Version: 7.1.371 / Virus Database: 267.13.12/193 - Release Date: =
12/6/2005<BR>
</FONT> </P><BR>

<P><FONT SIZE=3D2>--<BR>
No virus found in this outgoing message.<BR>
Checked by AVG Free Edition.<BR>
Version: 7.1.371 / Virus Database: 267.14.0/203 - Release Date: =
12/15/2005<BR>
</FONT> </P>

<P><FONT SIZE=3D2 FACE=3D"Arial"> </FONT> </P>
------_=_NextPart_001_01C6021C.C1E2DD9C--