Hi Eduardo
It's a great idea using a Maven repository! All modern development is done using either
Maven or Gradle, and it should be the same with all ODM development. A Maven respository is the natural source for all DevOps CI/CD build and deploy artifacts. However most public Maven repositories, such as Maven Central, tend to contain dependencies of open source code. An alternative approach is to upload the ODM to the customer's Maven repository, which is probably what you have been doing, and is tedious and lengthy, selecting jars and lots of toing and frowing between IT admin layers
I have been using a stand-alone command line tool that can
rapidly kick-start ODM development by mavenizing the ODM installation in minutes. The
Maven Dependencies Tool (uploads all the ODM installation archives
.jar
,
.war
,
.ear
,
.rar
archives in /studio/lib, /teamserver/lib, /teamserver/applicationservers, executionserver/lib, executionserver/applicationservers to a Maven repository such as
Sonatype Nexus. It can install to either a local or deploy to a remote repository, so when the customer's repository is not readily available, you can get started locally and not get held up.
The tool also neatly handles all versioning of the ODM dependencies as they are not always versioned in the installation (for example jrules-engine.jar is 'jrules-engine.jar' in both ODM 8.10.1 and ODM 8.11.1). This allows you to work on multiple versions of ODM at the same time, such as during a migration.
With regard to Decision Center I have also developed and use the Maven
Repackage Decision Center Archive Plugin that adds any additional dependencies, resources etc. to the Decision Center war. Using the Dependencies Tool you can upload decisioncenter.war to Nexus, and then using the plugin to incorporate it into your Maven custom build.
You can of course wrap the ODM legacy ANT repackage script using the
Maven AntRun plugin, but the script is incredibly slow, hard to understand and contains lots of boiler plate. You can also manually hack the war to add dependencies (which is waht most people do), but that is highly tedious for development, error prone and won't work for CI/CD automation. The Repackage plugin is simpler, clearer and much faster, makes the build and test development cycle a snip, and can be incorporated into CI/CD automation in a standard way.
The plugin also provides full traceability for a Decision Center deployed to production. It properly versions a customized Decision Center archive by adding the Maven release version as part of build and updates the archive MANIFEST.MF file with the GIT revision number, the list of additional archives and resources added.
------------------------------
Peter Warde
------------------------------
Original Message:
Sent: Fri December 02, 2022 12:19 PM
From: Eduardo Izquierdo Lázaro
Subject: What's new in IBM decision management Webinar
Question: ¿Why IBM doesn't provide product APIS as Maven dependencies in a public repository? When you develop a project with DC API or RES API, you can set the dependencies with all other technologies providing public Maven coordinates, but all ODM's jars have to be referenced in the project from your local installation. This is specially annoying when you have to create a package to deploy your application (for instance a WAR), then you have to manually copy all ODM dependencies.
Similar thing for ADS. ADS offers maven packages but they have to be downloaded and installed in local maven repo. ¿Why not to offer dependencies publicly?
------------------------------
Eduardo Izquierdo Lázaro
Automation Architect
DECIDE
Madrid
609893677
Original Message:
Sent: Wed September 28, 2022 05:00 PM
From: Lori Brown
Subject: What's new in IBM decision management Webinar
Summary
Hear the latest developments in decision management at IBM
Please join us on Thursday, January 12th, 2023 at 11 AM ET. Share your questions below and register to join here.
------------------------------
Lori Brown
IBM
------------------------------