A company wants partner applications to query a product table over HTTPS as RESTful resources, using standardized URL query options such as $filter, $select and $top instead of custom endpoints for each request type. Which protocol best fits this requirement?
Select an answer to reveal the explanation.
Short Explanation
Those dollar-sign query options are OData's fingerprints. OData lets you treat a table like a web resource and slice it right in the URL, filter this, select that, give me the top 10. SOAP is the formal letter in an XML envelope, and ODBC is a driver on the client, not a web endpoint.
Full Explanation
The Open Data Protocol (OData) is a standard for building and consuming RESTful APIs over HTTP. It models data as entity sets and entities with a published metadata document, and it defines system query options carried in the URL, including $filter for row selection, $select for column projection, $orderby for sorting and $top and $skip for paging. A client can therefore express many query shapes against one endpoint without the provider writing a custom operation for each, which is exactly the requirement. SOAP is a messaging protocol that sends XML envelopes, typically over HTTP, against operations described in a WSDL contract; each operation is defined by the provider, and SOAP has no standard URL query options. ODBC is a client-side call-level driver interface used by applications to connect to databases; it is not a web protocol and would require partners to have direct network and database access. RPC lets a client call a procedure on a remote server as though it were local; like SOAP, it exposes specific procedures rather than a resource model with generic query options. Exam caveat: OData still needs authentication, authorization and paging limits, because standard query options let clients request large result sets. Operational check: request the service's metadata document, then run a sample query using $filter and $top and confirm that only permitted columns are returned.