Prácticas recomendadas para desarrollar y empaquetar clases de implementación personalizadas

Para ayudar a guiar el desarrollo y el empaquetado de las clases de implementación personalizadas, tenga en cuenta las siguientes prácticas recomendadas:

IBM Sterling® Order Management System se despliega en el servidor de aplicaciones WebSphere Liberty como una colección de varias aplicaciones empaquetadas en un único archivo EAR. En el archivo EAR, los archivos JAR de fondo (archivos JAR del directorio runtime/jar ) están presentes en el directorio <EAR_root>/lib . Sin embargo, los archivos JAR de programa de fondo de interfaz de usuario o de interfaz de usuario específicos de la aplicación (archivos Jar del directorio runtime/repository/eardata/<application_code>/extn/WEB-INF/lib ) están presentes en el directorio <EAR_root>/<application_WAR>/WEB-INF/lib .

Cuando implemente clases personalizadas, primero determine si las clases personalizadas son aplicables para la lógica específica de la aplicación (interfaz de usuario o programa de fondo de interfaz de usuario) o para la lógica de programa de fondo global, que se aplica a todas las aplicaciones.
  • Si una clase personalizada es aplicable para la lógica de programa de fondo global, que se aplica a todas las aplicaciones, siga estas directrices:
    • La clase personalizada debe formar parte de un archivo JAR, que debe estar empaquetado en el archivo JAR de extensiones. En el archivo JAR de extensiones, el archivo JAR que contiene la clase personalizada debe estar presente en el directorio extensions/jars .

      Como parte del proceso UCD "Build Customization Runtime", los archivos JAR de fondo se copian primero en el directorio runtime/jar y, a continuación, durante la creación de EAR se copian en el directorio <EAR_root>/lib .

    • La clase personalizada puede contener referencias a clases de otros archivos JAR que están presentes en el directorio <EAR_root>/lib . Sin embargo, una clase personalizada no debe contener referencias a clases de ningún archivo JAR específico de la aplicación que esté presente en el directorio <EAR_root>/<application_WAR>/WEB-INF/lib .
  • Si una clase personalizada es aplicable para la lógica específica de la aplicación (interfaz de usuario o programa de fondo de interfaz de usuario), siga estas directrices:
    • La clase personalizada debe formar parte de un archivo JAR, que debe estar empaquetado en el archivo JAR de extensiones. En el archivo JAR de extensiones, el archivo JAR que contiene la clase personalizada debe estar presente en el directorio extensions/files/repository/eardata/<application_code>/extn/WEB-INF/lib .

      Como parte del proceso UCD "Build Customization Runtime", los archivos JAR de fondo se copian primero en el directorio runtime/repository/eardata/<application_code>/extn/WEB-INF/lib y, a continuación, durante la creación de EAR se copian en el directorio <EAR_root>/<application_WAR>/WEB-INF/lib .

    • La clase personalizada puede contener referencias a clases de otros archivos JAR que están presentes en el directorio <EAR_root>/lib y a las clases de los archivos JAR que están presentes en su propio directorio, <EAR_root>/<application_WAR>/WEB-INF/lib. Sin embargo, una clase personalizada no debe contener referencias a clases de archivos JAR específicos de la aplicación de un archivo WAR de aplicación diferente.