Matchmaker Developer Guide
The matchmaker component provides an explicit match of requesters and suppliers which participate in an ecosystem and enables automated negotiations. It is a rule-based matchmaking engine enhanced with multi-criteria algorithms for offers’ evaluation. It supports semantic matching in terms of services, products and business entities’ capabilities at the EFPF platform and is used in cross domain scenarios in order to enable a real time bidding process. The actual actors of the matchmaking component are the Agents. They instantiate the supply-chain formation strategy of industry stakeholders and are in charge of triggering the start of the automated negotiations. The Requester and the Supplier are the two types of stakeholders/agents which request the matchmaker services in order to:
- Request the list of the suitable agents for a certain negotiation, e.g. the agents offering a certain service on the marketplace
- Evaluate the offers that have been received during a negotiation
Semantic rules and queries are designed and executed in order to achieve optimal suggestions and matching between Requesters and Suppliers. Stakeholders and Agents are external participants of the matchmaking application, but as it is crucial, they have to reflect the classes, functions and attributes defined in the common ontology, so as to enable interoperable behaviour and matching.
Design and architecture
Matchmaker is a RESTful application, using open source components combined with custom-made components towards an automated matchmaking procedure. Its integrated and modular architecture is described in detail below.
The Semantic Matchmaker is built upon Apache Jena framework, the free open source Java framework suited for Semantic Web and Linked Data applications. Jena provides a programmatic environment for RDF, RDFS and OWL, SPARQL, GRDDL, and includes a rule-based inference engine. The Semantic Matchmaker application has adopted the architecture depicted below, including:
Figure 1: Matchmaker architecture
- The Ontology Store (RDF triple store), initialized by the System’s Service Ontology.
- The Ontology Query Engine inside the corresponding Ontology API which enables the manipulation of the Ontology Store by the Marketplace Agents and Stakeholders.
- The Matchmaker API, which exchanges information through the Ontology Model with the Ontology Store. Two matchmaking levels are developed, the Agent and Offer Level matchmaking. Both use the Semantic Rules Module for the matching, while the latter matchmaking level implements the Weight Assessment module.
- The Rest API, on the top of all APIs, which enables the requests of Agents and Stakeholders in the Semantic Framework’s different components.
The table below contains the technology used for the development of each Matchmaker architecture component.
|Ontology Store||Apache Jena RDF/TDB API|
|Ontology Query Engine||SPARQL|
|Matchmaker API||Apache Jena Ontology/Inference API|
|Rest API||Java RESTful Web Services|