Color scheme: Light
You are here: start » en » Documentation » Data integration and data access » WKL Database Gateway » Reference » Standards and specifications of the data service (reference)

Standards and specifications of the data service (reference)

This page lists the standards and specifications that the Wkl.Data.Gateway data service is based on, what each one requires, and how the service implements it. Use this page when you assess whether a client works with the service, or when you trace where a requirement comes from.

Types of sources

None of the sources is legally binding on the operator. They differ in how much interoperability or protection depends on them:

TypeMeaning for the service
Protocol standard (OASIS Standard, standards-track RFC)If the service deviates, standards-compliant clients don't understand it
Vendor specification (SQL Server, Windows)Behavior that the service relies on toward the database and the operating system
Informational RFC, drafta widespread method without standard status; the service follows it, a client doesn't have to
Product definition (native API, vocabulary Wkl.Store.V1, headers X-Wkl-…)a design decision of this product, described in this documentation

Sources and their implementation

SourceTypeWhat it defines, as far as the service is concernedImplementation in the serviceLimitations
OData 4.01 Part 1: ProtocolOASIS Standardrequests, responses, error format, next pages, ETags, create/update/deleteresponds with OData-Version: 4.0; next pages via @odata.nextLink; @odata.etag and If-Match with 412$batch, delta, asynchronous requests, and media entities aren't supported
Part 2: URL ConventionsOASIS Standardquery options, literals, addressing$select, $filter, $orderby, $top, $skip, $count, $skiptoken; POST …/$query (since 4.01); see OData v4$expand, $search, and the odata.maxpagesize preference aren't supported
CSDL XML 4.01OASIS Standardschema document $metadataentity sets per alias and schema, keys, facets, annotations; each caller sees only the objects they're permitted to useno CSDL as JSON
OData JSON Format 4.01OASIS Standardrepresentation of values and errorsJSON; binary values as ordinary Base64, not base64url, because Power Query loads only ordinary Base64no Atom/XML; the native API also delivers XML
OData Extension for Data Aggregation 4.0OASIS Committee Specification, not an OASIS Standard$apply with filter, compute, groupby, aggregate; announcement ApplySupportedthese four transformations; COUNT(column) via the own method Wkl.Store.V1.countother transformations and Rollup aren't supported
RFC 9110 HTTP SemanticsRFC, Internet Standardconditional requests (If-Match, 412), 401 with WWW-Authenticate, 409, 422, 414write conflict 412, duplicate 409, rejected statement 422—
RFC 6585standards-track RFC429 Too Many Requestslimits for failed attempts and requests per caller—
RFC 7617 Basicstandards-track RFCuser name and password, character set UTF-8SQL Server login, only over a protected connection; charset="UTF-8" in the challenge—
RFC 4559 Negotiateinformational RFCKerberos or NTLM over HTTPWindows sign-in with Kerberos or NTLM, groups via SID—
RFC 6238 TOTPinformational RFCtime-based one-time codessecond factor, each code accepted only once—
Idempotency-Key HTTP Header FieldIETF draft (expired), not a standardrepeating a change without a double effectfirst response kept in memory for ten minutesforgotten after a restart; not shared across multiple instances
RFC 8439 ChaCha20-Poly1305, RFC 5869 HKDFinformational RFCsauthenticated encryption, key derivationconnection strings and second factors sealed in the administration store (XChaCha20 variant with a 24-byte nonce), keys derived per purposeXChaCha20 itself is described only in an IRTF draft
X-Forwarded-For, X-Forwarded-Protocommon practice, not a standard (RFC 7239 standardizes the Forwarded header)origin and scheme behind a proxyevaluated only from proxies listed in TrustedProxies, starting from the nearest hopForwarded (RFC 7239) isn't read
EXECUTE AS, SESSION_CONTEXTvendor specificationswitching the execution context, session valuespassing on the person, session context wkl.person/wkl.key/wkl.role, read-only—
TLS via Kestrel or Windows (Schannel)operating systemprotocol versions, algorithmsleaves version and algorithms to the operating system; post-quantum key exchange where Windows offers it—

See also

en/wiki/data-conectivity/database-gateway/reference/standards.txt · Last modified: by Wolfgang van der Stille