I just read over the CPAP spec (a March 1992 version).
I am making a few comments to help with a discussion before the meeting
In CPAP a client opens a connection (e.g TCP/IP) and sends a series
of operations. The syntax for CPAP (simplified) is:
Integer-opcode Sequence-Number Length blank Data
The Data may be raw data (e.g. document data) or a sequence of
attributes in the form: name=string-value^A (control A ends each value.
The send-data operation sends raw data. Most of the other operations
A typical session is (from the CPAP document) with each operation
client action server action
open circuit returned
< repeat from start document above for more documents >
end of job
<repeat of above >
There are many operations and they include ones for management.
I like some ideas and not others in CPAP.
On the downside CPAP opens a new circuit for sending document data for
each document (for Level II). Level I does not, but the document advises
the use of Level II. This seems to have all the HTTP problems of too much
TCP build/ tear-down traffic.
On the good side, CPAP looks slightly more compact because of its
integer opcode and length. But the biggest savings in terms of
processing may be that the server knows that the operations are
in the context of the session and doesn't have to re-establish context
with each operation. For example, out SendJob currently contains
the job-URL. This seems redundant if the server knows from the preceding
CreateJob what job it is expecting to receive data.
My take is that there are some good ideas in CPAP that are worth
using, but I wonder if the PWG wants to take it as a whole.