RE: profiles in AS2
"Richard Bigelow" <[email protected]> Mon, 19 Dec 2005 10:56:20 -0800
| Newsgroups | gmane.ietf.ediint |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. ------_=_NextPart_001_01C604CD.E6F20670 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Concerning a 1.2 version interoperating with a 1.1 version: The 1.1 version should accept the 1.2 messages. The compression draft says that a version of 1.1 or greater indicates compression. =20 =20 I have some concern about Kyle's comment that this WG may be closing soon. Is this in response to IETF's requirement to make progress on AS3? I hope that this WG will continue. We have some proposals on the table, including Reliability and CEM and perhaps Profiles in the future. =20 =20 Richard Bigelow Inovis [email protected] ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Dale Moberg Sent: Saturday, December 17, 2005 7:49 AM To: Kyle Meadors; [email protected] Subject: RE: profiles in AS2 =20 The consensus seems to be that it should be possible to support some AS2 features independently, rather than cumulatively. Although I think the combinations of features of Reliability, CEM, and Multipart could be coded up by 8 numbers, if more end user requirements get specified, that encoding would become inconvenient to support. So moving to an EDIINT-Features header seems to be a reasonable way to advertise capabilities. =20 Would AS1, AS2 and AS3 all use this header? I assume that CEM and attachments are OK, but Reliability mainly pertains to AS2. Also, would AS1 have to add an "X-" preface to the header? (So we would have somemething like "X-EdiintFeatures" as the header value?) =20 I take it that there is some concern about the waste of sending this header every time and that partially motivates inventing new behavior to supply these values in a MDN (when requested). While that might be more elegant, I guess the logic would be that you can only use that form of request when the original has an AS2-Version of "1.2"? My preference here is not to try to develop option 4 into a new capability query and response pattern, but just accept that the Ediint-Features header may waste a few bytes per message.=20 =20 How will existing applications respond to this? Presumably they would (or should) ignore an included "EdiintFeatures" header and also never send one. If they never sent one (and their ASx-version was either 1.0 or 1.1), then they must not be sent multiparts or CEM. In that case, messages with the new features would not even be sent to older applications and could not cause them to malfunction. So it should be stated that you may not use these features unless the other side both has a version value greater than 1.1 and also has included the feature in its EdiintFeatures header. =20 What should be said about a 1.2 version interoperating with a 1.1 version? Since a 1.1 level app. would be entitled to ignore a message with a higher version, should a 1.2 app be advised to be configurable to advertise itself as a 1.1 version to promote interoperation? =20 What should be done about detecting a change (upgrade) of versions when the other side begins sending the higher "1.2" value? Are implementations expected to check the version or is this left to the implementation? Richard B. says "A should update some state for every message received from B" I think it would be sufficient to check the state and update if a change is noticed. (Maybe that is what Richard meant though.) I suppose an empty message could be sent to announce a change in capabilities, but again only to ediint agents with a version greater than 1.1. =20 So far the specifications have not really required that the version be checked for every message. For example, the AS3 draft says=20 =20 The AS3-Version header is a header which is required only if the value of the header is not "1.0". Its purpose is to allow systems to=20 determine which version of this specification, should the specification evolve over time, the sender of a document has used to package the document. A user agent MUST NOT reject a message if the=20 version header is missing. =20 AS3-Version: 1*DIGIT . 1*DIGIT =20 A version header value of "1.1" indicates an implementation can support EDIINT data compression [18]. A user agent MUST NOT send=20 compressed messages to trading partners who do not use a version=20 header of "1.1" or greater.=20 =20 =20 It seems to me that versions greater than 1.1 will need to check the version values for every message. If a version header is missing, it is version 1.0. =20 ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Kyle Meadors Sent: Thursday, December 15, 2005 3: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_01C604CD.E6F20670 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:st1=3D"urn:schemas-microsoft-com:office:smarttags" = 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]--><o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags" = name=3D"PersonName"/> <!--[if !mso]> <style> st1\:*{behavior:url(#default#ieooui) } </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";} p.source0, li.source0, div.source0 {margin-top:0in; margin-right:-.75in; margin-bottom:0in; margin-left:.2in; margin-bottom:.0001pt; font-size:9.0pt; font-family:"Courier New";} span.EmailStyle19 {mso-style-type:personal; font-family:Arial; color:windowtext;} 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; font-family:Arial; color:navy;} span.EmailStyle23 {mso-style-type:personal; font-family:Arial; color:navy;} span.EmailStyle24 {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'>Concerning a 1.2 version = interoperating with a 1.1 version: The 1.1 version should accept the 1.2 = messages. The compression draft says that a version of 1.1 or greater indicates compression. <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> </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'>I have some concern about Kyle's = comment that this WG may be closing soon. Is this in response to IETF's requirement to make progress on AS3? I hope that this WG will continue. We have some proposals on the table, including = Reliability and CEM and perhaps Profiles in the future.<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> </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> </o:p></span></font></p> <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> </span></font><font size=3D1 face=3DVerdana><span = style=3D'font-size:9.0pt; font-family:Verdana'><ns0:Street w:insAuthor=3D"IPNet" w:insDate=3D"2005-12-19T10:49:00Z" w:endInsAuthor=3D"IPNet" w:endInsDate=3D"2005-12-19T10:49:00Z"><ns0:address = w:insAuthor=3D"IPNet" w:insDate=3D"2005-12-19T10:49:00Z" w:endInsAuthor=3D"IPNet" w:endInsDate=3D"2005-12-19T10:49:00Z"><font color=3Dgray><span = style=3D'color:gray'>Inovis</span></font></ns0:address></ns0:Street><ns0:= Street w:insAuthor=3D"IPNet" w:insDate=3D"2005-12-19T10:49:00Z" = w:endInsAuthor=3D"IPNet" w:endInsDate=3D"2005-12-19T10:49:00Z"><ns0:address = w:insAuthor=3D"IPNet" w:insDate=3D"2005-12-19T10:49:00Z" w:endInsAuthor=3D"IPNet" w:endInsDate=3D"2005-12-19T10:49:00Z"><font color=3Dgray><span = style=3D'color:gray'><br> </span></font></ns0:address></ns0:Street><font color=3Dgray><span style=3D'color:gray'><a = href=3D"mailto:[email protected]">[email protected]</a>= </span></font></span></font><font color=3Dgray><span style=3D'color:gray'><o:p></o:p></span></font></p> </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>Dale Moberg<br> <b><span style=3D'font-weight:bold'>Sent:</span></b> Saturday, December = 17, 2005 7:49 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> </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'>The consensus seems to be that it = should be possible to support some AS2 features independently, rather than cumulatively. Although I think the combinations of features of = Reliability, CEM, and Multipart could be coded up by 8 numbers, if more end user = requirements get specified, that encoding would become inconvenient to support. So = moving to an EDIINT-Features header seems to be a reasonable way to advertise 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> </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'>Would AS1, AS2 and AS3 all use this header? I assume that CEM and attachments are OK, but Reliability mainly pertains to AS2. Also, would AS1 have to add an “X-“ preface = to the header? (So we would have somemething like = “X-EdiintFeatures” as the header value?)<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> </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'>I take it that there is some = concern about the waste of sending this header every time and that partially motivates inventing new behavior to supply these values in a MDN (when requested). = While that might be more elegant, I guess the logic would be that you can only = use that form of request when the original has an AS2-Version of = “1.2”? My preference here is not to try to develop option 4 into a new = capability query and response pattern, but just accept that the Ediint-Features = header may waste a few bytes per 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> </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'>How will existing applications = respond to this? Presumably they would (or should) ignore an included “EdiintFeatures” header and also never send one. If they = never sent one (and their ASx-version was either 1.0 or 1.1), then they must not be = sent multiparts or CEM. In that case, messages with the new features would = not even be sent to older applications and could not cause them to malfunction. = So it should be stated that you may not use these features unless the other = side both has a version value greater than 1.1 and also has included the feature = in its EdiintFeatures header.<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> </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'>What should be said about a 1.2 = version interoperating with a 1.1 version? Since a 1.1 level app. would be = entitled to ignore a message with a higher version, should a 1.2 app be advised to = be configurable to advertise itself as a 1.1 version to promote = interoperation?<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> </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'>What should be done about detecting = a change (upgrade) of versions when the other side begins sending the = higher “1.2” value? Are implementations expected to check the = version or is this left to the implementation? Richard B. says “A should = update some state for every message received from B” I think it would be = sufficient to check the state and update if a change is noticed. (Maybe that is = what Richard meant though.) I suppose an empty message could be sent to = announce a change in capabilities, but again only to ediint agents with a version = greater than 1.1.<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> </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'>So far the specifications have not = really required that the version be checked for every message. For example, = t</span></font><font size=3D2 face=3D"Courier New"><span = style=3D'font-size:10.0pt;font-family:"Courier New"'>he AS3 draft says <o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier = New"'><o:p> </o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = The AS3-Version header is a header which is required only if the = value<o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = of the header is not "1.0". Its purpose is to allow systems to = <o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = determine which version of this specification, should = the<o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> specification evolve over time, the sender of a document has used = to<o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = package the document. A user agent MUST NOT reject a message if the = <o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = version header is missing.<o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier = New"'><o:p> </o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> AS3-Version: 1*DIGIT . 1*DIGIT<o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = <o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = A version header value of "1.1" indicates an implementation = can<o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = support EDIINT data compression [18]. A user agent MUST NOT send = <o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> compressed messages to trading partners who do not use a version = <o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier New"'> = header of "1.1" or greater. <o:p></o:p></span></font></p> <p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 = face=3D"Courier New"><span style=3D'font-size:10.0pt;font-family:"Courier = New"'><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> </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'>It seems to me that versions = greater than 1.1 will need to check the version values for every message. If a version = header is missing, it is version 1.0.<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> </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'> = <st1:PersonName w:st=3D"on">[email protected]</st1:PersonName> = [mailto:<st1:PersonName w:st=3D"on">[email protected]</st1:PersonName>] <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 3: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> </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…<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> </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–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> </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–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> </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–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> </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> </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> </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’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> </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'> = <st1:PersonName w:st=3D"on">[email protected]</st1:PersonName> = [mailto:<st1:PersonName w:st=3D"on">[email protected]</st1:PersonName>] <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> </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. Option = 2 is preferred. 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> </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. 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.<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> </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. 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.<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> </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. 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.<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> </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. 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.<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> </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. = 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.<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> </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. 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.<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> </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. 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> </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'> = <st1:PersonName w:st=3D"on">[email protected]</st1:PersonName> = [mailto:<st1:PersonName w:st=3D"on">[email protected]</st1:PersonName>] <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> </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 "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.</span></font> <br> <font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt;font-family:Arial'> </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–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.</span></font> <br> <font size=3D2 face=3DArial><span = style=3D'font-size:10.0pt;font-family:Arial'> </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 & 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'> </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'> <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–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).<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> </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–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.<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> </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, = “CEM–Profile” 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> </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 “Capability Query” 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> </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> </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> </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_01C604CD.E6F20670--