Para ajudar a orientar o desenvolvimento e o empacotamento de suas classes de implementação customizadas, considere as melhores práticas a seguir:
O IBM Sterling® Order Management System é implantado no servidor de aplicativos WebSphere Liberty como uma coleção de vários aplicativos empacotados em um único arquivo EAR. No arquivo EAR, os arquivos JAR de backend (arquivos JAR do diretório runtime/jar ) estão presentes no diretório <EAR_root>/lib . No entanto, a UI específica do aplicativo ou os arquivos JAR de backend da UI (arquivos Jar do diretório runtime/repository/eardata/<application_code>/extn/WEB-INF/lib ) estão presentes no diretório <EAR_root>/<application_WAR>/WEB-INF/lib .
Quando você estiver implementando classes customizadas, primeiro determine se as classes customizadas são aplicáveis para a lógica específica do aplicativo (IU ou backend da IU) ou para a lógica de backend global, que se aplica a todos os aplicativos.
- Se uma classe customizada for aplicável para a lógica de backend global, que se aplica a todos os aplicativos, siga estas diretrizes:
- A classe customizada deve fazer parte de um arquivo JAR, que deve ser empacotado no arquivo JAR de extensões No arquivo JAR de extensões, o arquivo JAR que contém a classe customizada deve estar presente no diretório extensions/jars .
Como parte do processo UCD "Build Customized Runtime", os arquivos JAR de backend são copiados primeiro para o diretório runtime/jar e, em seguida, durante a criação do EAR, copiados para o diretório <EAR_root>/lib .
- A classe customizada pode conter referências a classes de outros arquivos JAR que estão presentes no diretório <EAR_root>/lib . Mas uma classe customizada não deve conter referências a classes de quaisquer arquivos JAR específicos do aplicativo que estejam presentes no diretório <EAR_root>/<application_WAR>/WEB-INF/lib .
- Se uma classe customizada for aplicável para lógica específica do aplicativo (UI ou backend da UI), siga estas diretrizes:
- A classe customizada deve fazer parte de um arquivo JAR, que deve ser empacotado no arquivo JAR de extensões No arquivo JAR de extensões, o arquivo JAR que contém a classe customizada deve estar presente no diretório extensions/files/repository/eardata/<application_code>/extn/WEB-INF/lib .
Como parte do processo UCD "Build Customized Runtime", os arquivos JAR de backend são copiados primeiro para o diretório runtime/repository/eardata/<application_code>/extn/WEB-INF/lib e, em seguida, durante a criação do EAR, copiados para o diretório <EAR_root>/<application_WAR>/WEB-INF/lib .
- A classe customizada pode conter referências a classes de outros arquivos JAR presentes no diretório <EAR_root>/lib e às classes dos arquivos JAR presentes em seu próprio diretório, <EAR_root>/<application_WAR>/WEB-INF/lib. Mas uma classe customizada não deve conter referências a classes de arquivos JAR específicos do aplicativo de um arquivo WAR do aplicativo diferente.