attachment-0001


<br><font size=2 face="sans-serif">Ira, first, thanks for sketching the
proposal.</font>
<br>
<br><font size=2 face="sans-serif">I see pro's and con's to leveraging
this much of the existing semantic model.</font>
<br>
<br><font size=2 face="sans-serif">PROs</font>
<br><font size=2 face="sans-serif">1. The document object is directly applicable</font>
<br><font size=2 face="sans-serif">2. The CreateJob, ValidateJob etc. operations
are general enough that it seems appropriate to leverage them rather than
define new (similar) ops (CreateTransform)</font>
<br>
<br><font size=2 face="sans-serif">CONs</font>
<br><font size=2 face="sans-serif">1. I REALLY wish PSI had used &quot;target&quot;
in place of &quot;targetDevice&quot; (everywhere)! </font>
<br><font size=2 face="sans-serif">2. Where do we describe the transform
specific attributes such as HoldUntil, KillAfter?</font>
<br><font size=2 face="sans-serif">&nbsp; - Are you suggesting we extend
IPP Job Template Attributes?</font>
<br><font size=2 face="sans-serif">&nbsp; - But what if we run into some
very transform specific attributes (ex. OCR level)?</font>
<br><font size=2 face="sans-serif">3. How does an application discover
and/or distinguish between a Transform Service and a Print Service?</font>
<br><font size=2 face="sans-serif">----------------------------------------------
<br>
Harry Lewis <br>
Chairman - IEEE-ISTO Printer Working Group<br>
http://www.pwg.org<br>
IBM Printing Systems <br>
http://www.ibm.com/printers<br>
303-924-5337<br>
---------------------------------------------- </font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>&quot;McDonald, Ira&quot;
&lt;imcdonald@sharplabs.com&gt;</b> </font>
<p><font size=1 face="sans-serif">05/31/2004 02:48 PM</font>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">&quot;'pwg@pwg.org'&quot;
&lt;pwg@pwg.org&gt;</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top><font size=1 face="sans-serif">Harry Lewis/Boulder/IBM@IBMUS</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">TFM Svc as strict subset
of PSI/1.0</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Hi folks, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; Monday (31 May 2004)<br>
<br>
PSI/1.0 _already_ supports very precise document transforms, via the<br>
'requestedTargetDeviceDataType : &nbsp;DocumentFormatDetails' parameter<br>
of the CreateJob method. &nbsp;This is the _same_ functionality incorporated<br>
into the latest JDF/1.2 spec. &nbsp;A PSI client uses FetchDocumentDataByPull<br>
or FetchDocumentDataByValue later to retrieve the transformed output.<br>
<br>
 &nbsp; &nbsp;ftp://ftp.pwg.org/pub/pwg/ps/wd/wd-psi10-20040113.pdf<br>
<br>
Thus, here's a proposal to define a PWG Transform Service (TFM) as a<br>
strict _subset_ of PSI/1.0 without Target Devices (and without _any_ new<br>
features or Job/Document elements). &nbsp;The proposal is summarized by
the<br>
commented table of contents from the latest PSI/1.0 draft.<br>
<br>
<br>
Rationale for proposal, from section 5.5.2 CreateJob of PSI/1.0 spec:<br>
<br>
&quot;targetDeviceIdentifier : URI<br>
<br>
A URI that defines the Target Device that is to be associated with a<br>
Job. &nbsp;See definition in section 7.2.<br>
<br>
&lt;...&gt;<br>
<br>
If the client specifies the Print Service's Service Root URL as the<br>
targetDeviceIdentifier, then the Print Service is considered the final<br>
destination, and the Print Service can perform all job processing. &nbsp;For<br>
example, document transformation.&quot;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; ^^^^^^^^^^^^^^^^^^^^^^^<br>
<br>
<br>
and later in section 5.5.2:<br>
<br>
&quot;requestedTargetDeviceDataType : DocumentFormatDetails<br>
<br>
If this parameter is specified, then the Print Service shall transform<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^^^^^^^^^^^^^^^<br>
the source Document into the data type requested. &nbsp;If the specified<br>
Target Device does not support the requestedTargetDeviceDataType, the<br>
Print Service shall throw a ProcessingRequestUnsupported exception.&quot;<br>
<br>
<br>
Comments?<br>
<br>
Cheers,<br>
- Ira<br>
<br>
<br>
Ira McDonald (Musician / Software Architect)<br>
Blue Roof Music / High North Inc<br>
PO Box 221 &nbsp;Grand Marais, MI &nbsp;49839<br>
phone: +1-906-494-2434<br>
email: imcdonald@sharplabs.com<br>
<br>
------------------------------------------------------------------------<br>
[Transform Service (TFM) subset of PSI/1.0 - per TOC of PSI/1.0]<br>
<br>
5 Interface Definition<br>
<br>
5.1 PSI Service Root URL<br>
5.2 Negotiating a secure PSI connection<br>
<br>
5.3 QueryEndPointsInterface<br>
5.3.1 Interface Usage Examples<br>
5.3.2 QuerySupportedInterfaces<br>
5.3.3 QueryInterfaceDefinition<br>
<br>
5.4 ServiceCapabilitiesInterface<br>
5.4.1 Interface Usage Examples<br>
5.4.2 GetTargetDeviceElements -- needed to query TFM Service elements<br>
** delete ** 5.4.3 GetKnownTargetDevices -- TFM Service is only endpoint<br>
5.4.4 ValidateReference<br>
<br>
5.5 JobControlInterface<br>
5.5.1 Interface Usage Examples<br>
5.5.2 CreateJob<br>
5.5.3 CloseJob<br>
5.5.4 AddDocumentByReference<br>
5.5.5 AddDocumentByPush<br>
5.5.6 PushDocumentDataDelivered<br>
5.5.7 AddDocumentByValue<br>
5.5.8 GetJobs<br>
5.5.9 GetJobElements<br>
** delete ** 5.5.10 SetJobElements -- passive Jobs only<br>
5.5.11 CancelJob<br>
5.5.12 GetDocuments<br>
5.5.13 GetDocumentElements<br>
** delete ** 5.5.14 SetDocumentElements -- passive Documents only<br>
5.5.15 CancelDocument<br>
5.5.16 FetchDocumentDataByPull -- needed for client to retrieve output<br>
5.5.17 PullDocumentDataFetched -- needed for client to retrieve output<br>
5.5.18 FetchDocumentDataByValue -- needed for client to retrieve output<br>
** delete ** 5.5.19 FetchJobs -- no Target Device support<br>
<br>
------------------------------------------------------------------------<br>
</tt></font>
<br>