Cette documentation s’appuie sur l’utilisation de Maven et Spring Boot 2.5.14.
Core Services
Services Javadoc
Set-up
Maven
Les librairies nécessaires à ce client Java sont publiées dans l’Artifactory Arondor. Si vous êtes externe à Arondor, veuillez contacter le support FlowerDocs pour obtenir les librairies mentionnées.
Afin d’utiliser le client Java dans un projet Maven, commencez par ajouter la dépendance suivante :
<dependency>
<groupId>com.flower.docs</groupId>
<artifactId>flower-docs-starter-client</artifactId>
<version>2.8.2</version>
</dependency>
Cette dépendance tire les dépendances nécessaires pour démarrer un projet de client FlowerDocs.
Application Spring Boot
Pour définir votre application Spring Boot comme étant un client FlowerDocs, ajouter l’annotation @FlowerDocsClient
sur la classe principale tel que :
@SpringBootApplication
@FlowerDocsClient
public class SampleClient
{
public static void main(String[] args)
{
SpringApplication.run(SampleClient.class, args);
}
}
Cette annotation permet d’initialiser la configuration requise à l’initialisation d’un client FlowerDocs. Pour que le client démarre, il est nécessaire de définir de la propriété ws.url
dans le fichier application.properties avec l’URL d’accès aux web services exposés par FlowerDocs.
Authentification
Les appels effectués auprès de FlowerDocs Core nécessitent que les requêtes soient authentifiées. Une requête peut être authentifiée en fournissant un jeton utilisateur propre à FlowerDocs.
Compte de service
Le développement d’une application qui interagit avec FlowerDocs requiert généralement l’utilisation d’un compte de service utilisé pour effectuer les opérations auprès de FlowerDocs Core.
Pour cela, le client Java fournit une classe utilitaire permettant de simplifier la gestion de l’authentification.
@Autowired
private Authenticator authenticator;
...
authenticator.authenticate("scopeId");
La configuration du compte utilisé se fait à travers les propriétés :
flower.user=<identifiant de l'utilisateur>
flower.password=<mot de passe>
Ces propriétés peuvent être soit passées dans le fichier de configuration Spring application.properties
soit en tant que propriétés de la JVM.
Génération d’un token
Un jeton utilisateur peut également être généré dynamiquement à l’aide du service AuthenticationService
qui expose la méthode login :
@Autowired
AuthenticationService service;
...
ContextHelper.setScope(new Id("GEC"));
Token token = service.login("user","password");
Développement
Accès aux services
L’accès aux services FlowerDocs s’appuie sur le contexte Spring. Pour récupérer une instance de service, il suffit d’utiliser l’annotation @Autowired.
Par exemple, pour accéder au service de gestion de documents :
@Autowired
private DocumentService documentService;
Gestion des logs
Les APIs FlowerDocs s’appuient sur la couche d’abstraction de framework de log SLF4J. Ce framework permet de s’abstraire du framework de log utilisé. Par défaut, l’implémentation utilisée est Logback.
Pour instancier un logger, il suffit de :
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
private static final Logger LOGGER = LoggerFactory.getLogger(SampleClient.class);
...
LOGGER.info("Found {} documents", response.getFound());