Introduction
As organizations transition from IBM Maximo EAM 7.6.1.2 to the cloud-native Maximo Application Suite (MAS), managing customizations becomes critical for seamless deployment. This article explores the technical mechanics of the Customization Archive—a pivotal artifact in the MAS upgrade workflow—detailing its structure, integration with OpenShift operators, validation protocols, and best practices for ensuring upgrade fidelity.
1. The Customization Archive: Purpose and Deployment Context
When Is It Required?
The Customization Archive is essential only if migrating a customized Maximo instance. Unmodified deployments bypass this component entirely.
Integration with the MAS Manage Operator
During the deployment of MAS Manage (the evolution of Maximo EAM), the OpenShift Manage Operator initiates a Docker build process that:
Pulls base container images from the IBM Entitled Registry.
Fetches the Customization Archive (if specified) from a customer-hosted repository (HTTP/S, FTP, or SFTP).
Overlays industry solutions/add-ons and the extracted archive onto the Manage base image.
Validates dependencies against the MAS compatibility matrix.
Generates runnable container images (Admin, UI, Cron, BIRT, and All workloads) stored in the cluster’s Image Registry.
This process is triggered via a Custom Resource (CR) definition, where administrators configure:
Application version/replica counts
Database connectivity
Workload types
Path to the Customization Archive
2. Archive Composition: Technical Scope
The archive is a .zip
file containing only modifications outside standard Maximo. A representative structure includes:
Component Type | Example Paths |
---|---|
Java Classes | /applications/maximo/businessobjects/classes/cust/... |
Configuration Files | product.xml , a_customer.xml |
Database Scripts | /tools/maximo/en/cust/V7612_01.dbc |
Servlets | Custom MyPingServlet.class under OSLC providers |
Web Deployment | Liberty web.xml for MEA, UI, or All workloads |
Third-Party Libs | JARs in /applications/maximo/lib/ |
JSP Overrides | Custom .jsp files in UI components |
Key Consideration: Omit unmodified OOTB assets. The archive should exclusively contain delta customizations.
3. Implementation Workflow
Step 1: Compile the Archive
Collate all custom files (classes, scripts, configs) into a
.zip
preserving directory hierarchy.Verify against a dependency matrix to prevent conflicts with MAS core.
Step 2: Host the Archive
Upload to a repository accessible via curl
/wget
(e.g., GitHub, S3, or internal artifact store):
https://<repository-host>/path/customizationarchive.zip
Credentials (if required) are injected during the OpenShift build via the CR.
Step 3: Deploy via Manage CR
Specify the archive URL in the Custom Resource during Manage activation:
apiVersion: manage.mas.ibm.com/v1 kind: ManageApp metadata: name: mas-manage spec: customizationArchive: url: "https://github.com/myorg/repo/raw/main/customizationarchive.zip" credentialsSecretRef: repo-credentials # Optional secret for auth
4. Post-Deployment Validation
Post-installation, rigorously verify customizations:
Functional Testing: Execute test cases covering all modified workflows.
Log Analysis: Check container logs for archive extraction errors.
Artifact Verification: Confirm files exist in expected container paths:
oc exec <pod-name> -- ls /opt/ibm/maximo/applications/maximo/businessobjects/classes/cust
Compatibility Testing: Validate custom logic against MAS APIs and dependencies.
Critical: Some 7.6.1.2 customizations may require refactoring for cloud-native operation due to architectural shifts (e.g., stateless workloads, Liberty server constraints).
5. Strategic Recommendations
Pre-Upgrade Audit
Inventory all customizations; discard obsolete/duplicate artifacts.
Analyze compatibility with MAS 8.x (e.g., deprecated APIs, UI framework changes).
Archive Minimalism
Exclude non-essential files to reduce build complexity and failure points.Continuous Integration
Host the archive in a version-controlled repo linked to CI/CD pipelines for traceability.Fallback Testing
Maintain a rollback path to the source 7.6.1.2 instance during validation.
Conclusion
The Customization Archive is the conduit for lifting mission-critical customizations into MAS. Its precise construction—coupled with dependency validation and exhaustive testing—determines upgrade success. By adhering to structured compilation practices and leveraging OpenShift’s GitOps capabilities, enterprises can achieve deterministic MAS deployments while mitigating technical debt.
For further guidance, refer to IBM’s MAS Upgrade Documentation or consult IBM’s migration playbooks.
No comments:
Post a Comment