On Mon, Feb 18, 2002 at 11:31:05AM -0500, LeVan,Ralph wrote:
> Andy Powell asks (he's in my office at the moment) why we don't stick our
> explain responses into the WSDL description?
>
> If we are going to pay more than lip service to WSDL, I think this is a good
> suggestion. Assuming that there is a place for such information in WSDL.
>
> Ralph
Before I could answer such a question, I would need to work out
what information is going to be in Explain for SRW.
As a general comment, using ASN.1 for Explain in Z39.50 I think is
a failure because its not very extensible. One attractive thing
about doing Explain records as just another XML schema is that
its easy for people to add bits without harming interoperability
(as long as the additional bits are optional and don't change the
semantics of the core standard bits). Using a WSDL file (just like
ASN.1) means you are more locked in.
On the other hand, for programmers, the data structure contents
will certainly be more accessible putting them straight into WSDL.
So Alan the fence sitter asks:
Q1: "What information will be in Explain?"
Q2: "Is Explain going to be implemented as a database, or a
separate function to call - explain() returning ExplainInfo."
The database question is because you don't have to do explain
as a database. You can define a series of function calls with
different prototypes. For example indexFields() and indexField(string)
for returning information about all fields or a single named field.
The benefit of this is that it avoids the problem of 'what query
forms are legal on the Explain database'. Having function prototypes
means there are clear and agreed levels of functionality for
querying explain (whatever the functions are). If this was done,
I would say it would be correct to use WSDL to return the explain
data structures. If not, I would probably lean towards using XML.
(With the list of functions approach to explain, customized extensions
would be supported by vendors adding new functions rather than modifying
existing functions).
Alan
|