The table below lists facilities that are supported by either YAZ Proxy or Metaproxy.
Table 3.1. Metaproxy / YAZ Proxy comparison
Facility | Metaproxy | YAZ Proxy |
---|---|---|
Z39.50 server | Using filter frontend_net(3mp) | Supported |
SRU server | Supported with filter sru_z3950(3mp) | Supported |
Z39.50 client | Supported with filter z3950_client(3mp) | Supported |
SRU client | Supported with filter zoom(3mp) | Unsupported |
Connection reuse | Supported with filter session_shared | Supported |
Connection share | Supported with filter session_shared | Unsupported |
Result set reuse | Supported with filter session_shared | Within one Z39.50 session / HTTP keep-alive |
Record cache | Supported by filter session_shared | Supported for last result set within one Z39.50/HTTP-keep alive session |
Z39.50 Virtual database, i.e. select any Z39.50 target for database | Supported with filter virt_db | Unsupported |
SRU Virtual database, i.e. select any Z39.50 target for path | Supported with filter virt_db ,
sru_z3950 | Supported |
Multi target search | Supported with filter multi (round-robin) | Unsupported |
Retrieval and search limits | Supported using filter limit | Supported |
Bandwidth limits | Supported using filter limit | Supported |
Connect limits | Supported by filter frontend_net (connect-max) | Supported |
Retrieval sanity check and conversions | Supported using filter record_transform | Supported |
Query check |
Supported by query_rewrite which may check
a query and throw diagnostics (errors)
| Supported |
Query rewrite | Supported with query_rewrite | Unsupported |
Session invalidate for -1 hits | Unsupported | Supported |
Architecture | Multi-threaded + select for networked modules such as
frontend_net ) | Single-threaded using select |
Extensibility | Most functionality implemented as loadable modules | Unsupported and experimental |
USEMARCON | Supported with record_transform | Supported |
Portability | Requires YAZ, YAZ++ and modern C++ compiler supporting Boost. | Requires YAZ and YAZ++. STL is not required, so pretty much any C++ compiler out there should work. |