Re: Beta release of XProc-Z 1.0

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