idnits 2.17.1 draft-swenson-swap-vs-ipp-00.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 257 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack an Authors' Addresses Section. ** There are 38 instances of too long lines in the document, the longest one being 3 characters in excess of 72. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 115: '...which is REQUIRED and OPTIONAL...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 50 has weird spacing: '...tion of all...' == Line 60 has weird spacing: '...Process job...' == Line 79 has weird spacing: '...alse in but...' == Line 99 has weird spacing: '...ve from tripl...' == Line 101 has weird spacing: '...utes on pri...' == (8 more instances...) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 7, 1998) is 9366 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 12 errors (**), 0 flaws (~~), 9 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET-DRAFT K. Swenson 2 Netscape Communications Corp. 3 Expires February, 1999 Tom Hastings 4 Xerox Corp. 5 August 7, 1998 7 Similarities and Differences 8 between SWAP and IPP 10 This document is an Internet-Draft. Internet-Drafts are working 11 documents of the Internet Engineering Task Force (IETF), its 12 areas, and its working groups. Note that other groups may also 13 distribute working documents as Internet-Drafts. 15 Internet-Drafts are draft documents valid for a maximum of six 16 months and may be updated, replaced, or obsoleted by other 17 documents at any time. It is inappropriate to use Internet- 18 Drafts as reference material or to cite them other than as 19 "work in progress." 21 To view the entire list of current Internet-Drafts, please check 22 the "1id-abstracts.txt" listing contained in the Internet-Drafts 23 Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net 24 (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au 25 (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu 26 (US West Coast). 28 1.0 Abstract 30 IPP (Internet Printing Protocol) has been compared in conversations to SWAP 31 (Simple Workflow Access Protocol). Both are for starting an asynchronous 32 job, and then being able to check up on it later. The IPP is specifically 33 designed for printers and print jobs. SWAP is more generic, and is 34 generally oriented toward more computational jobs. But many of the 35 problems encountered are the same, and the approach to the solutions can be 36 examined and compared. This document goes through the features point by 37 point and shows in what ways they are similar, and more importantly in what 38 ways their approaches differ. The purpose of this is to guide discussions 39 about the two protocols. 41 2.0 Comparison 43 SWAP IPP 45 Resources that are named using Resources that are named using 46 URIs. Requests are made using URIs. Requests are made using 47 HTTP. HTTP. 49 A process definition resource, A printer resource, named by a URI, 50 named by a URI, allows cration of allow for creation of instances of 51 process instances. Process jobs. Printer operations (methods) 52 definition methods are are Print-Job, Print-URI, 53 LISTINSTANCES, Validate-Job, Create-Job, 54 CREATEPROCESSINSTANCE, as well at Get-Printer-Attributes, and 55 the standard PROPFIND and Get-Jobs. 56 PROPPATCH. 58 Process instance resource, named by A print job resource, named by a 59 a URI, represents a specific URI, represents a specific print 60 instance of the service. Process job. Job operations (methods) are 61 instance methods are GETHISTORY, Send-Document, Send-URI, 62 TERMINATE, SUBSCRIBE, UNSUBSCRIBE, Get-Job-Attributs, and Cancel-Job. 63 as well as PROPATCH and PROPFIND. 65 No concept of a numeric process IPP has additionally an integer 66 instance ID, no ability to call that represents the job ID. Print 67 instance methods on the process Job request can be made to the 68 definition. Printer, including the job ID. 69 Thus the printer resource acts as a 70 proxy for the printer job resource. 72 Single command to create the "Print-Job" command creates a print 73 instance, give it data and start job, accepts all data, and starts 74 it. the printing. "Print-URI" does the 75 same thing with the document 76 retrieved from a web server. 78 Can start an instance without "Create-Job" creates a print job 79 starting it, buy passing false in but does not cause it to start. 80 the start parameter. Data can be Data can be supplied later using 81 set on the process instance using "Send-Document" or "Send-URI". 82 "propPatch" any number of times. Whenever the data is sent with the 83 Then a transition to the running "last-document" flag set to true it 84 state causes it to start. causes the printing to start. 86 No analog to the "validateJob" "Validate-Job" command on the 87 command printer has all the parameters of a 88 create print job (except the 89 document data), it does not print, 90 but it does return whether the 91 printer is able to handle that 92 particular job request. 94 "listInstances" returns a list of "Get-Jobs" returns a list of the 95 the process instsances from that printer jobs on that printer. 96 process defnition. 98 Attributes: name/value pairs on the Attributes: name/type/value 99 process instance. Can retrieve from triplet. Printer resource will 100 the process definition a list of provide a list of attributes on the 101 names and types for attributes on printer, as well as on the print 102 process instances. No attributes jobs. 103 on the process definition. 105 Data type encodings supplied for There is a fixed set of types 106 date, number, and string. Other available. Support provided for 107 data types are implementation enumerated data types where there 108 dependent. is a specified set of allowed 109 values. 111 New data types can be registered New data types can be registered 112 for use. for use. 114 No standard attributes on the Printer object has standard 115 process definition, which is REQUIRED and OPTIONAL attributes 116 assumed to be configured in a that can be queried. No operation 117 proprietary way. Proprietary at present to set them. 118 process definition attributes can 119 be queried and set with PROPFIND 120 and PROPPATCH. 122 Attribute data is expressed in XML, This protocol invents its own way 123 using the same command (PROPFIND, to encode attribute data. They use 124 PROPPATCH) as WebDAV. The text/xml a mime type to indicate this 125 mime type is used. encoding: application/ipp. 127 Protocol invents new HTTP methods The POST method is used for every 128 as the command on the resources; operation. The actual command is 129 consistent with WebDAV. specified as part of the 130 application/ipp data. 132 Single level of attributes. Each Most attributes are job level 133 named attribute has on value. That attributes, but there can be a 134 value may be arbitrarily complex collection of documents to be 135 XML, but this is implementation printed, and there are a few 136 dependent. No collection attribute document level attributes. Defines 137 type. a datatype "collection" which 138 itself contains a set of named 139 attributes. 141 Attributes have a single (possibly Attributes can be multi valued. A 142 complex) value single value on a multivalued 143 attribute is encoded the same as a 144 single valued attribute. 146 Namespace controlled by XML Global attribute namespace 147 namespace mechanisms capability through use of the 148 company's domain name: e.g. 149 xerox.com-xxx for private use. 150 Also new standard attributes can be 151 registered for use in the global 152 namespace. 154 Makes use of a nested state There are a fixed number of 155 mechanism. A set number of states. Adding a new state 156 required states, but people can requires a new version of the 157 define sub states. Command to specification. There are special 158 change state allows moving to commands to change between states. 159 states not defined by the spec, but There is a "job-state-reasons" 160 nevertheless implemented by the attribute that explains why a 161 vendor. printer job ends up in a certain 162 state. This is an extensible set of 163 keyword values, effectively 164 providing one level of substate 165 capability. 167 Additional keywords can be Additional keywords can be 168 registered in the global namespace registered in the global namespace 169 for standard use. for standard use. 171 Input attributes and output IPP operations have input 172 attributes on the process instance, parameters and response value, but 173 described by the process there is no set of attributes that 174 definition. can be considered the 'result' of 175 print job. 177 Can get a history record of all the No standardized concept of 178 events that occurred on the process history. Can find out the current 179 instance. Can retrieve a status of jobs, and the reason for 180 collection of events across all the current status, including 181 instnces. completed, aborted, and cancelled 182 jobs, but no history. 184 process instances stay around until Completed job are accessible for a 185 released by the originator. while, but jobs disappear at an 186 undefined time. 188 When creating a process instance, When you ask for a print job, there 189 you can supply a URI to receive is a design (near future) for a way 190 responses back to. to register a URI to receive a 191 notification back on that job 192 and/or that printer. Also a 193 client can register a URI directly 194 with the IPP printer object for 195 specified events that happen to any 196 job and/or that printer. If the 197 printer does not implement the 198 notification directly, it will 199 register for you in an external 200 notification service. 202 3.0 References 204 More information about SWAP can be obtained from: 206 http://www.ics.uci.edu/pub/ietf/swap/ 208 More information about IPP is available at: 210 http://www.ietf.org/html.charters/ipp-charter.html 211 http://www.pwg.org/ipp/ 213 4.0 Copyright 215 Copyright (C) The Internet Society 1998. All Rights Reserved. 217 This document and translations of it may be copied and furnished to others, 218 and derivative works that comment on or otherwise explain it or assist in 219 its implmentation may be prepared, copied, published and distributed, in 220 whole or in part, without restriction of any kind, provided that the above 221 copyright notice and this paragraph are included on all such copies and 222 derivative works. However, this document itself may not be modified in any 223 way, such as by removing the copyright notice or references to the Internet 224 Society or other Internet organizations, except as needed for the purpose 225 of developing Internet standards in which case the procedures for 226 copyrights defined in the Internet Standards process must be followed, or 227 as required to translate it into languages other than English. 229 The limited permissions granted above are perpetual and will not be revoked 230 by the Internet Society or its successors or assigns. 232 This document and the information contained herein is provided on an "AS 233 IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE 234 DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 235 ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY 236 RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A 237 PARTICULAR PURPOSE. 239 5.0 Author Contact Information 241 Keith Swenson 242 Netscape Communications Corporation 243 501 E. Middlefield Rd. 244 San Jose, CA, 94043 245 kswenson@ms2.com 247 Tom Hastings 248 Xerox Corporation 249 hastings@cp10.es.xerox.com