- From: Paul Tyson <phtyson@sbcglobal.net>
- Date: Tue, 12 May 2015 21:29:07 -0500
- To: Conal Tuohy <conal.tuohy@gmail.com>
- Cc: Florent Georges <fgeorges@fgeorges.org>, XProc Dev <xproc-dev@w3.org>
Hi Conal,
Florent can speak more precisely about Servlex, but here are some
comments from my experience.
On Wed, 2015-05-13 at 09:54 +1000, Conal Tuohy wrote:
> Hi Florent!
>
>
> Yes XProc-Z is in many ways like Servlex or Piperack or similar server
> platforms. The key difference I think is the way in which the XProc
> pipeline is connected to the HTTP protocol.
>
>
> If I understand it correctly, in Servlex the HTTP request is parsed
> into a sequence of XML documents of a custom (Servlex-defined) type,
> which are passed to a pipeline. In other words, the HTTP protocol is
> converted into a custom protocol for connection to the pipeline.
Servlex uses the expath webapp specification [1] for its XML versions of
the request and response. Those are the expected input and output of the
invoked pipeline.
>
>
> Whereas when XProc-Z receives an HTTP request, it passes it to the
> pipeline in the form of a c:request document, to which the pipeline is
> expected to respond with a c:response document. In other words, an
> XProc-Z pipeline uses XProc's own "native" HTTP protocol binding, just
> like the p:http-request step.
>
>
That's an interesting variation. Comparing c:request (from xproc) with
web request (from expath webapp spec):
<c:request
method = NCName
href? = anyURI
detailed? = boolean
status-only? = boolean
username? = string
password? = string
auth-method? = string
send-authorization? = boolean
override-content-type? = string>
(c:header*,
(c:multipart |
c:body)?)
</c:request>
<request servlet = NCName
path = string
method = NCName>
url,
authority,
context-root,
path,
param*,
header*,
(body|
multipart)?
</request>
I wasn't in on the creation of either spec, so I don't know how they
came to be defined this way. But it looks like c:request is patterned
off of HTTP protocol, while web request looks more like a Java servlet
request object.
I'm too far removed from day-to-day development in this area to say if
one or the other is better for any particular purpose. But they are both
"standard"--the servlex implementation is not proprietary (although
Florent is editor of the expath webapp spec and also creator of
servlex!)
Regards,
--Paul
[1] http://expath.org/spec/webapp
>
> Regards
>
>
> Conal
>
>
> PS Straight after posting that release, I discovered a regression
> error in the downloading of binary files (base64 decoding) which I'm
> now fixing, while kicking myself for not having a proper test suite.
>
>
> On 12 May 2015 at 18:26, Florent Georges <fgeorges@fgeorges.org>
> wrote:
> On 12 May 2015 at 03:43, Conal Tuohy wrote:
>
> Hi,
>
> > I have made a beta release of XProc-Z; the simple web
> platform for XProc.
>
> Great to see more happening in this area!
>
> > The major point of difference between XProc-Z and other
> XProc-hosting
> > servers is that in XProc-Z, a web application is entirely
> defined in a
> > single XProc pipeline.
>
> Sounds like what Servlex is doing (among other
> possibilities), doesn't it?
>
> Regards,
>
> --
> Florent Georges
> http://fgeorges.org/
> http://h2oconsulting.be/
>
>
Received on Wednesday, 13 May 2015 02:29:35 UTC