- From: Conal Tuohy <conal.tuohy@gmail.com>
- Date: Wed, 13 May 2015 14:55:27 +1000
- To: Paul Tyson <phtyson@sbcglobal.net>
- Cc: Florent Georges <fgeorges@fgeorges.org>, XProc Dev <xproc-dev@w3.org>
- Message-ID: <CAErBQuTr6acMqWziTeA+=FndSG7_-NTVe5fykt7xCYq3OcONQQ@mail.gmail.com>
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