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. |