Matchmaking Admin Guide

Matchmaking Service Admin Guide

The matchmaking service is deployed via Docker service to the docker-hub repository. As a prerequisite it is required to have valid docker account and access to the SourceCode Repository.

For obtaining & building the source code from gitlab, run :

git clone https://gitlab.fit.fraunhofer.de/efpf-pilots/matchmaking-services

A brief introduction to the matchmaking services content, see Matchmaking Developer Guide

Docker Images of Components

Conceptual Component Docker Repository URL
Configuration Server Nimble Cloud Config
Service Discovery Nimble Service Discovery & ASG-IMPORTER
Gateway Proxy Nimble Gateway Proxy
Indexing Service Matchmaking Service

The component of interest is the Matchmaking Service!

Building the Docker Image for the Matchmaking Service

In order to create the image, run the following commands.

mvn clean install
cd federated-search-service
mvn docker:build

The docker push command replaces the stored docker image with the latest/changed version:

docker push nimbleplatform/matchmaking-service:latest

(Re)start the service in the DEV (SRFG) environment

In the server environment, the docker information for running the distinct containers must be created. Copy the files from Docker Setup to the host environment and adjust the configuration (infra/env_vars & service/env_vars) files. In the host environment, run

./run-efac-portal.sh infra
./run-efac-portal.sh restart-single indexing-service

The first command pulls the required infrastructure such as Apache Solr and basic spring service (service-disovery, gateway and config-server) and starts the services. The second c ommand pulls the image from docker hub - the name of the docker images to be pulled is configured in service/docker-composer.yml and infa/docker-composer.yml

EFPF Federated Service API

The Federated Service API is online available from here. The service API is divided into

  • catalogue-controller: Catalogue API to index and delete catalogues (list of items)
  • index-controller: Search API to perform Solr operations on indexed parties (organizations), items, item-properties, property-codes and classes (item categories).
  • ontology-controller: Controller to upload and delete OWL-based ontologies in the index.

A valid security token is required for using the Federated Search Service API. The index controller reflects the searchable collections and provides the same methods for each of the collections. Descriptions for each of the provided methods are available online.

Using the Service API (Examples)

To get all companies :

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: EFPF_TOKEN" https://efpf-security-portal.salzburgresearch.at/api/index/party/select?q=*:*

More query parameter examples:

  • parameters to limit the results set to 0-30: start=0&rows=30
  • parameter to limit the resuts to a particular basePlatform: basePlatform=nimble OR basePlatform=composition etc

eg:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: EFPF_TOKEN" https://efpf-security-portal.salzburgresearch.at/api/index/party/select?q=basePlatform:nimble&start=0&rows30

To get all products/services :

 curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: EFPF_TOKEN" https://efpf-security-portal.salzburgresearch.at/api/index/item/select?q=*:*

To get an EFPF token you need to invoke below endpoint with your EFPF username,password, client_id=apisix, client_secret=apisix_secret and grant_type=“password”;

https://efpf-security-portal.salzburgresearch.at/auth/realms/master/protocol/openid-connect/token

Matchmaking front-end components in the EFPF portal

Matchmaking/ federated search front-end components are developed as Angular components in the EFPF portal in the below repository

https://gitlab.fit.fraunhofer.de/efpf-pilots/efpf-portal/-/tree/master/src/app/search
Previous
Next