Home / projects / P21-JADE-FIPA-JDK17_en.html

Abstract:

Compilation and unification of libraries used by JADE 4.6.1 (2023/07/11), reorganization of the directory structure in the MAVEN model and preparation of `pom.xml` and `pom8.xml` files to obtain functional JADE Platform version with containers Docker.

Cite management: 1, 2, 3, 4.

Section 1: Identification

  • Proposes: FJ Aguayo.
  • Proposal date: January 2023.
  • Results location: GitHub repo.

Section 2: Proposal description

  • Incorporate the Maven model into the latest available JADE Platform source code.
  • Prepare Maven POM.XML files and Scripts necessary to compile JADE on official Maven containers in Docker Hub.

2.1. Abstract

To improve security and restrict the vulnerabilities generated by the compilation process to a minimum, this generation maintenance project for the jade.jar library is proposed. Currently this library is built with Apache Ant, as proposed by the JADE Team. This proposal will deliver Maven POM.xml files, to obtain versions of the same library but compiled with the latest official version of the images in Docker Hub provided by Apache Maven. And in this way, obtain a reliable image generation mechanism for containers with the libraries: dpsAgents, dpsFramework, CLIPSJNI, Prolog JPL and Jess in Java 8 or JDK17 versions.

2.2. destination platform

  • Initially this proposal was made to use Java JDK 17 or OpenJDK-17 or higher.

  • That initial objective is expanded. In this review, the necessary Maven images in Docker Hub are used to obtain the JADE Platform library appropriate to each Architecture and JDK version required by each specific application and deployment.

23. What does the update proposal need?

  • Access to the JADE Platform code. Found at: https://jade.tilab.com/svn/jade/trunk/
  • A development environment. Eclipse 2021-12 has been used. Eclipse 2023-12 has been used in this review.
  • A detailed compilation of the errors offered by the OpenJDK-17/Java JDK-17 compiler; its progressive correction; the incorporation of the Java Platform Module System to allow the subsequent integration of JADE with its FIPA module under the Java module system.

2.4. Why this proposal?

  • Because the evolution of the Java compiler has eliminated the CORBA libraries from the Java core.
  • Because it is necessary to have a reliable and repeatable process for generating JADE.jar on a first container dedicated to its compilation, which will allow it to be integrated into the Docker image for the specific architecture where it is executed against CLIPS-JNI, Prolog JPL and Jess, BeanShell, etc. Used by dpsAgents and dpsFramework

2.5. Underlying technology or technologies:

  • OpenJDK-9 to OpenJDK18.
  • Oracle Java 8 through Oracle Java JDK-18.
  • GlassFish CORBA ORB 2.4
  • Apache-Commoms 1.3 -Docker -Maven -Images: maven:3.8.3-openjdk-17; maven:3.3-jdk-8; maven:3.9.6-amazoncorretto-17-al2023; and maven:3.9.6-ibmjava-8

2.6. Package name for API proposal?

  • File: jade-platform-4.6.1.jar
  • Package: jade

2.7. Dependencies on specific operating systems

  • Those corresponding to the version and architecture of the Java compiler.

2.8. Security issues due to the current security model

  • Delegated to the vulnerability analysis offered by the official Maven image on Docker Hub.

2.9. Internationalization or localization problems?

  • They have not been implemented.

2.10. Any need for revision as a result of this work?

  • It has not been foreseen. Awaiting review.

2.11. Schedule for the development of this proposal

  • Start: December 2022
  • End: January 2023
  • Reviewed: March 2024

Section 3: Contributions

3.1. Documents, proposals, or implementations that describe the technology.

3.2. Starting point of the work.

  • JADE-4.6.0 Patch 6871.
  • JADE-4.6.1 Rev. 6874.

Section 4: Additional Information (Optional)

4.1. Additional information to include in the Improvement Proposal

References

  1. [1]. Project results in: JADE Platform compiled with Maven in Docker images. 2024. Site: https://github.com/dpsframework/jade-platform

  2. [2]. Apache Maven Project: UTF-8 and other POM file specifications. Site: https://maven.apache.org/plugins/maven-resources-plugin/examples/encoding.html

  3. [3]. Maven images in Docker Hub. 2024. Site: https://hub.docker.com/_/maven

  4. [4]. Apache Maven Compiler Plugin. 2024. Site: https://maven.apache.org/plugins/maven-compiler-plugin/



License: GNU Lesser General Public License v2.1
Author: JADE Team (TILAB Telecom)
Updated: 2024-03-10

Top