The Matchmaker is a Kettle app responsible for deciding which solutions and settings will best meet the user's individual needs and preferences.
The Matchmaker receives HTTP POST requests from the Flow Manager containing device information retrieved from the Device Reporter and user preferences retrieved from the Preferences Server. With this information, the Matchmaker conducts the following process:
- query the Solutions Registry for a list of all registered solutions for the specified OS and version;
- query the Ontology Server to transform the user needs and preferences from their default "flat" structure into the nested structure used by the match-making process;
- find a solution (or solutions) by matching the solution records to the needs and preferences using the current matching strategy;
- respond to the original request from the Flow Manager with the selected solution(s). The Flow Manager provides this information to the Lifecycle Manager, which configures and starts the solution(s).
The Matchmaker coordinates responses several requests, as described below. For more information on the request handling, see the page for the particular request handler.
|Description||Retrieve list of solutions for given user in given context|
|Handled by||Match Post Request Handler|
In some cases, a system may have more than one matchmaker running, perhaps to provide access to more than one matching strategy. In these cases, a Matchmaker Proxy must be used to mediate matchmaker requests.
- Use of the Matchmaker Proxy is fully transparent: the Proxy responds to exactly the same request as the Matchmaker and responds with exactly the same information.
- The Proxy will examine the user's preferences for any preference for a particular matchmaker; if no preferences is found, the default "flat" matchmaker is used.
When a Matchmaker Proxy is being used, it is irrelevant whether the multiple standalone Matchmakers are deployed locally or in the cloud.
[TK: elaborate on what to do to use/configure the proxy]