Search This Blog

Monday, August 11, 2025

MAS | Maximo : Getting Ready for upgrade - Maximo 7.6.1.3 to MAS

High-Level Migration Plan: From Maximo 7.6.1.3 to Maximo Application Suite 8/9

1. Initial Assessment and Detailed Inventory

  • Objective: Establish a full understanding of your current Maximo 7.6.1.3 environment.

  • Actions:

    • Inventorize all Java customizations by type (Java classes extensions for various type of events Mbo, MboSet , Conditions ,Field Classes , Workflows , Integration etc).
    • Extract all Automation Scripts, including launch points and event triggers.
    • Document all current integrations, identifying protocols (JMS, REST, SOAP) and endpoints.
    • Engage business stakeholders to identify critical features and obsolete components.
    • Catalog all configurations (workflows, Database components , conditions , escalations , UI changes etc.).
  • Outcome Focus: Clear knowledge base to prioritize migration scope and refactoring needs.

2. Licensing Transition Planning

  • Objective: Convert current Maximo licenses into MAS's flexible AppPoints licensing model.

  • Actions:

    • Use IBM’s AppPoints calculator with detailed user role analysis (authorized, concurrent, administrative).
    • Map legacy license types to AppPoints, incorporating mobile and add-on usage.
    • Plan license conversions early to enable phased migration and uninterrupted user access.
  • Outcome Focus: Cost-efficient, accurate licensing setup aligned with MAS usage.

3. Architecture and Infrastructure Preparation

  • Objective: Prepare MAS environment for deployment, focusing on cloud and containerization.

  • Actions:

    • Select deployment architecture: public cloud, private cloud, or hybrid (IBM Cloud, AWS, Azure).
    • Provision Red Hat OpenShift clusters with appropriate sizing—master and worker nodes.
    • Define networking, storage, monitoring, and security policies for the container environment.
    • Set up DevOps pipelines for automated deployment, configuration, and customization delivery.
  • Outcome Focus: Robust, scalable, and manageable MAS infrastructure foundation.

4. Customization Analysis and Modernization

  • Objective: Rationalize and modernize custom business logic and UI customizations for MAS compatibility.

  • Actions:

    • Review Java classes and recompile/refactor for Java 17 (MAS 9.1 compatibility).
    • Convert suitable Java logic to MAS automation scripts for easier maintenance.
    • Refactor or remove legacy automation scripts, update syntax and error handling.
    • Rebuild UI customizations using MAS real-time CSS and layout tools to avoid downtime.

Package all artifacts into MAS customization archives for version-controlled deployment.

  • Outcome Focus: Clean, maintainable, future-proof customizations optimized for MAS.

5. Integration Reengineering

  • Objective: Ensure all external integrations are compatible, secure, and scalable in MAS.

  • Actions:

    • Identify legacy JMS and SOAP based interfaces; plan migration to Kafka events and REST APIs.
    • Update integration security by replacing maxauth tokens with MAS API keys and OAuth where applicable.
    • Conduct thorough end-to-end integration testing, simulating production workflows.
  • Outcome Focus: Reliable, secure, and scalable integration architecture aligned with MAS standards.

6. Authentication and Security Setup

  • Objective: Implement modern, secure user authentication aligned with enterprise policies.

  • Actions:

    • Choose authentication strategy: Local MAS credentials, LDAP integration, and/or SAML SSO.
    • Configure role mappings and access controls based on authenticated user attributes.
    • Secure APIs with token-based authentication and enforce encryption standards.
  • Outcome Focus: Seamless, secure user access management integrated with corporate identity services.

7. Rigorous Testing and Validation

  • Objective: Verify full functionality, integration, performance, and user acceptance before go-live.

  • Actions:

    • Develop automated functional and regression test scripts for customizations and core features.

    • Perform parallel runs of legacy Maximo and MAS environments to ensure data and process consistency.

    • Conduct User Acceptance Testing (UAT) engaging business users and power users.

    • Establish rollback plans and backups to mitigate risk during cutover.

  • Outcome Focus: High confidence in migration readiness and minimal business disruption.

8. Documentation, Training, and Governance

  • Objective: Support long-term MAS stability and evolving needs through documentation and governance.

  • Actions:

    • Maintain detailed technical, functional, and business documentation on customizations, integrations, infrastructure, and security configurations.

    • Implement version control and change management processes for customization and configuration updates.

    • Train IT support, developers, and end-users on MAS functionality, architecture, and operational best practices.

    • Establish governance frameworks for ongoing customization approvals, testing, and compliance.

  • Outcome Focus: Sustainable MAS operations with controlled evolution and enhanced support capabilities.

Sunday, June 29, 2025

Maximo : MAS Understanding the Role of Customization Archives in IBM Maximo Application Suite Upgrades

 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:

  1. Pulls base container images from the IBM Entitled Registry.

  2. Fetches the Customization Archive (if specified) from a customer-hosted repository (HTTP/S, FTP, or SFTP).

  3. Overlays industry solutions/add-ons and the extracted archive onto the Manage base image.

  4. Validates dependencies against the MAS compatibility matrix.

  5. 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 TypeExample Paths
Java Classes/applications/maximo/businessobjects/classes/cust/...
Configuration Filesproduct.xmla_customer.xml
Database Scripts/tools/maximo/en/cust/V7612_01.dbc
ServletsCustom MyPingServlet.class under OSLC providers
Web DeploymentLiberty web.xml for MEA, UI, or All workloads
Third-Party LibsJARs in /applications/maximo/lib/
JSP OverridesCustom .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:

yaml

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:

  1. Functional Testing: Execute test cases covering all modified workflows.

  2. Log Analysis: Check container logs for archive extraction errors.

  3. Artifact Verification: Confirm files exist in expected container paths:

    bash
    oc exec <pod-name> -- ls /opt/ibm/maximo/applications/maximo/businessobjects/classes/cust  
  4. 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

  1. Pre-Upgrade Audit

    • Inventory all customizations; discard obsolete/duplicate artifacts.

    • Analyze compatibility with MAS 8.x (e.g., deprecated APIs, UI framework changes).

  2. Archive Minimalism
    Exclude non-essential files to reduce build complexity and failure points.

  3. Continuous Integration
    Host the archive in a version-controlled repo linked to CI/CD pipelines for traceability.

  4. 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.