IPP Mail Archive: Re: IPP> ipppreso.ppt (EMBEDDED TEXT VERSION)

Re: IPP> ipppreso.ppt (EMBEDDED TEXT VERSION)

Jay Martin (jkm@underscore.com)
Wed, 28 Jan 1998 09:27:28 -0500

Following is a hand-crafted version of Josh's PowerPoint presentation.
Hopefully the translation was successful, but be forewarned. ;-)

In the future, it would be best to stay in the all-text world if
the information being conveyed is pure text, no?

...jay

----------------------------------------------------------------------
-- JK Martin | Email: jkm@underscore.com --
-- Underscore, Inc. | Voice: (603) 889-7000 --
-- 41C Sagamore Park Road | Fax: (603) 889-2699 --
-- Hudson, NH 03051-4915 | Web: http://www.underscore.com --
----------------------------------------------------------------------

1 - IPP Protocol Modifications
* Use XML instead of binary protocol
- why?
- Mapping details
- timing (1.0 or later)
* Use different method than POST
- why?
- granularity

2 - Non POST - why
* IETF Pressure
* POST overload obscures action
* Similar discussion in DAV
* Firewall ACL control degrees
* Fundamentally IPP doesn't care
* Some installed base issues for implementers

3 - Non POST - what
* One method "PRINT"
* Per Operation
- PRINT-JOB
- CANCEL-JOB
- LIST-JOBS
* Others?

4 - External Survey
* Do not overload POST
- Netscape Proxy Server
- Microsoft Proxy Server
- Inktomi Proxy Server
- Firewall Administrators
* 5 out of 6 administrators queried
* No objections to a new method, just two "indifference"

5 - XML - Why?
* The coming wave for structured data
- Tools are easily available and becoming more so
* Advantages of original ASCII proposal without its disadvantages
- Did not exist 9 months ago
- Has solved and will solve issues we haven't even thought about yet
- nested structure, arrays, etc

6 - XML - What
* DTD?
- Yes, for spec but not runtime validation
* XSL?
- No, not at this time
* Attributes or Elements?
- <xxx a=1 b=2>
- <xxx><a>1</a><b>2</b></xxx>
* Name Spaces
- Outermost elements only

7 - XML What (cont)
* Strong typing or weak typing
- Bob's proposal (strong)
- Paul/Josh (weak)
* Payload (PDL)
- multipart mime

8 - XML - When?
* Version 1.0
- XML not ready, some of us are done
- Creates legacy
* Version 2.0
* Never
* Our recommendation: do it now

9 - MS Proposal
* PRINT Method
* XML now
* DTD for reference but no runtime validate
* No XSL
* Elements, no (XML) attributes
* No strong typing
* No name space

10 - XML Mapping
* Request or response as outer element
* operation qualifiers next level
- version, option, state…
* Job Object, Job Attributes as elements
* Arrays (SetOf) as nested block - even for one occurrence

11 - IPP Type Mapping
* Date, name, text, keyword, URI, urischeme, charset,
naturallanguage & mime type as is
* Integer, enum, bool, -> numeric string
* range of -> structure with <from> & <to>
* resolution -> structure with <x> & <y>
* Some naming issues
- Why don't all job attributes start "job" ?

12 - Example Request

<?XML version=.1.0.>
<Request>
<Operation>Print Job</Operation>
<Version>1.0</version>
<Job>
<Name>My Print Job</name>
<copies>1</copies>
<Content>CID:content-label</content>
</job>
</request>

13 - Example "Get Jobs"

<Request>
<Operation>Get-Jobs</Operation>
<Version>1.0</Version>
<RequestedAttributes>
<attribute>jobCopies</attribute>
<attribute>jobName</attribute>
</RequestedAttributes>
</Request>

14 - "Get-Jobs" Response

<Response>
<status>200</status>
<Operation>GetJobs</Operation>
<Version>1.0</version>
<job>
<copies>1</copies>
<name>Mom's Apple Pie recipe</name>
</job>
<job>
<copies>2</copies>
<name>Paul's guide to horseback riding</name>
</job>
</response>

15 - Miscellaneous
* No typing
- typing adds no real value
- simpler
- IPP application must still validate its data
* XML Schema to be in UTF-8
* Case Insensitive

16 - Conclusion
* XML has gained momentum and is now a good choice for IPP
* Using PRINT instead of POST allows a finer grain of control
and expression in ACLs
* "after session" BarBof whiteboard session to discuss minor
issues of expression

# # # # #