[JAVA] Faire de Frontale un micro service

Cet article est le 17e jour du Calendrier de l'Avent FUJITSU 2017.

Dans cet article, nous allons présenter comment créer un programme qui fournit des informations sur le joueur frontal à l'aide de l'API REST à l'aide de Launcher, qui est l'implémentation MicroProfile de Fujitsu.

Avant cela, qu'est-ce que MicroProfile?

MicroProfile est une communauté qui examine les spécifications pour la réalisation de micro-services pour les entreprises en Java. (http://microprofile.io) Dans cet article, nous utiliserons les quatre API suivantes définies dans MicroProfile 1.1.

Choses à préparer à l'avance lors de la création d'un programme

Étant donné que les quatre API ci-dessus sont incluses dans Launcher, aucune autre bibliothèque ou environnement de développement pour Java EE n'est requis.

Flux de processus

  1. Utilisez l'API Config pour obtenir l'URL de la page d'accueil et, si nécessaire, des informations PROXY.
  2. Obtenez le HTML depuis Frontale Page. Le HTML acquis est analysé et une liste d'informations sur le joueur est créée. (Cela n'a rien à voir avec MicroProfile)
  3. Créez un point de terminaison REST avec JAX-RS / CDI.
  4. Lorsque la demande arrive, nous la renverrons en JSON.

Créer une source

Seule l'API Config de Frontale.java est expliquée.

Frontale.java


     71     Config config = ConfigProvider.getConfig();

Obtenez l'objet Config du ConfigProvider. La valeur réelle de la propriété est obtenue via cet objet Config.

Frontale.java


     77       url = config.getValue("frontale.url", String.class);

Passez le nom de la propriété dans le premier argument de la méthode getValue et le type dans le deuxième argument. Si la valeur de la propriété est introuvable, une NoSuchElementException est levée.

Il existe différentes manières de spécifier des propriétés, mais ce programme utilise le fichier de propriétés par défaut et le décrit comme suit.

microprofile-config.properties


  frontale.url = http://www.frontale.co.jp/profile/2017/number.html

compiler

% javac -classpath launcher-1.0.jar -d classes *.java

Créer un pot

Le fichier de classe et le fichier de propriété sont rassemblés dans un pot comme indiqué ci-dessous.

% jar tf frontale.jar
META-INF/
META-INF/MANIFEST.MF
WEB-INF/
WEB-INF/classes/
WEB-INF/classes/META-INF/
WEB-INF/classes/kzr/
WEB-INF/classes/kzr/frontale/
WEB-INF/classes/META-INF/microprofile-config.properties
WEB-INF/classes/kzr/frontale/Frontale$1.class
WEB-INF/classes/kzr/frontale/Frontale$Parser.class
WEB-INF/classes/kzr/frontale/Frontale$Parser2.class
WEB-INF/classes/kzr/frontale/Frontale.class
WEB-INF/classes/kzr/frontale/FrontaleApplication.class
WEB-INF/classes/kzr/frontale/FrontaleService.class
WEB-INF/classes/kzr/frontale/Player.class

Lancez l'appli

Exécutez simplement la commande suivante. Aucune installation préalable n'est requise, sauf pour le JDK.

% java -Djava.io.tmpdir=. -jar launcher-1.0.jar --deploy frontale.jar​

Résultat d'exécution

--Informations sur Kenta Kano (http : // localhost: 8080/25)

en conclusion

"Micro-service" était une exagération, mais comme présenté ici, MicroProfile facilite la création d'applications qui s'exécutent dans des conteneurs légers.

Recommended Posts

Faire de Frontale un micro service
Faites une langue! (Faire une simple calculatrice ②)
Faites une langue! (Faire une simple calculatrice ①)
Créons une application de calcul avec Java