Re: Beta release of XProc-Z 1.0

Thanks Paul!

I haven't used the EXPath webapp spec at all, though I have read it. At the
time I felt I was looking for something simpler.

Actually, looking at it again, I'm now not sure whether a pipeline in that
framework should expect to receive a sequence of documents, or a single
document. In some places it mentions a "sequence", and an example shows a
pipeline declared to accept a sequence, but it also appears that the web
request is fully self-contained, including HTTP headers and a body with
parts and so on.

But yes, the expath XML documents for HTTP requests and responses are very
similar to those used in XProc's http-request. One of my goals with XProc-Z
was to keep it as simple as possible, and this is why it doesn't conform to
expath but rather follows http-request. That makes it relatively easy to
use XProc-Z as a proxy, as well.

The other area of relative simplicity in XProc-Z is that there is no extra
packaging; no declaration of webapps; no routing of particular URL patterns
to particular pipelines and other components. There is simply a single
pipeline and it's responsible for everything. It absolutely privileges
XProc over XQuery and XSLT; you can write XQuery or XSLT apps in it, but
only by calling them through an XProc pipeline. In that sense it's more of
a "pure XProc" approach.

Conal



On 13 May 2015 at 12:29, Paul Tyson <phtyson@sbcglobal.net> wrote:

> 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 04:56:15 UTC