Babek asked the following questions with regard to my diagram:
I am not sure what you mean by GUI in the diagram? Isn't GUI part of the
application? Also, appliaction calls the Printer driver directly,
assuming my understanding of the the GUI piece is correct.
RKD> The GUI here is meant to be an IPP GUI, that is, it provides
RKD> a GUI to functions provided by the IPP Client. It is not
RKD> the application's GUI. The Browser in this picture may be
RKD> a legacy Browser with no special support for IPP, In this case
RKD> it could do things like get job status, just as in your NT 5.0,
RKD> using html templates.
There is usually another component between Printer Driver and "IPP
client", namely the spooler. Unless you were including the spooler in
the Printer Driver (but spooler is normally running as a separate
process from the app). So most likely the IPP client would be running as
a spooler component.
RKD> I could add a spooler as you suggest, but wonder if it would be
RKD> there for all possible clients. Maybe it's in the picture as an
RKD> optional component.
Also, I am not sure how the browser would work independent of the IPP
client. Are you assuming the browser would have the IPP client built-in?
RKD> No, I am assuming a vanilla Browser with no IPP support. One could
RKD> think of the combination of the GUI and the IPP client as an IPP
RKD> enabled browser (if it provided browser function in addition to
RKD> IPP function).
>
> o +-------------+
> \|/ | Application |
> / \ +------+------+
> End-User |
> +-------------+ +-----+ +------+-------+
> | Browser | | GUI | | Print Driver |
> +------+------+ +--+--+ +------+-------+
> | | |
> | +---+------------+---+
> D S | | IPP Client |
> I E | +---------+----------+
> R C | |
> E U
> C R ---------- HTTP -----------
> T I
> O T |
> R Y |
> Y +---------+---------+
> | Web Server |
> +---------+---------+
> |
> +---------+---------+
> | IPP Server |
> +---------+---------+
> |
> +---------+---------+
> | Print Service |
> +---------+---------+
> |
> Output Device(s)
>