Skip to main contentMagiq Minds
Automatisering & Scripting

Automation Scripts & Legacy PL/SQL Vervanging

Ontwerp en implementatie van een bibliotheek van Maximo automation scripts ter vervanging van legacy PL/SQL-triggers, event-driven verwerking via Azure Service Bus en een gestructureerde datamappinglaag.

SectorAsset Management
TaalJython / Python
IntegratieAzure Service Bus
Scripts opgeleverd30+
PipelineAzure DevOps
Challenge

The challenge

De organisatie had jaren aan bedrijfslogica verzameld in Oracle PL/SQL-triggers die direct op het Maximo-schema waren geplaatst. Deze triggers waren niet gedocumenteerd, moeilijk te testen en blokkeerden de databasemigratie naar SQL Server, omdat SQL Server stored procedures qua syntax en gedrag wezenlijk verschillen. Buiten de database-afhankelijkheid had de bestaande aanpak geen gestandaardiseerde logging, geen foutafhandelingspatronen en geen traceerbaarheid — waardoor het oplossen van productie-incidenten een tijdrovend handmatig proces was. Diverse integraties maakten gebruik van polling-patronen die latentie introduceerden en onnodige databasebelasting veroorzaakten.
Approach

The approach

  1. Alle PL/SQL-triggers en -procedures gecatalogiseerd per functioneel domein: levenscyclus werkorders, assetupdates, PM-generatie en goedkeuringsrouting. Elk item gekoppeld aan een doelautomation script of integratie-event.
  2. Maximo automation scripts in Jython geïmplementeerd volgens een gestandaardiseerde sjabloon: gestructureerde logging naar een aangepaste logtabel, uitzonderingsafhandeling met rollback-ondersteuning en een configuratiegedreven aanpak zonder hardgecodeerde waarden.
  3. Op polling gebaseerde integraties vervangen door Azure Service Bus-subscriptions, waarmee integratielatentie sterk werd gereduceerd en onnodige databasebelasting werd geëlimineerd.
  4. Een datamappinglaag geïntroduceerd met Python-gebaseerde transformatiescripts voor inkomende en uitgaande payloads, waarbij bedrijfslogica werd gescheiden van transportlogica.
  5. Een testinfrastructuur opgezet via een speciale TST Maximo-omgeving, waar scripts met gecontroleerde invoerdata konden worden geactiveerd en gevalideerd.

Ontwerpprincipe

Elk automation script is configuratiegedreven. Bedrijfsregels worden opgeslagen in een MAXVARS- of aangepaste configuratietabel — niet hardgecodeerd in de scriptlogica. Dit maakt configuratiewijzigingen door niet-ontwikkelaars mogelijk zonder scriptuitrol en maakt elk script afzonderlijk testbaar.

Outcome

The result

  • Alle Oracle-specifieke PL/SQL uit het Maximo-schema verwijderd, waarmee de SQL Server-migratie werd gedeblokkeerd.
  • Integratielatentie met meer dan 60% gereduceerd door event-driven Service Bus-messaging in plaats van polling.
  • Gestandaardiseerde automation script-bibliotheek met consistente foutafhandeling, logging en configuratiepatronen — meer dan 30 scripts.
  • Verbeterde reactietijd bij incidenten: gestructureerde logs brengen de oorzaak nu binnen minuten aan het licht.
  • Automation scripts volledig versiebeheerd in Azure DevOps met geautomatiseerde uitrolpipelines.
Technology

Technology stack

Maximo Automation ScriptsJythonAzure Service BusPythonAzure DevOps

Similar challenge in your environment?

Discuss the specifics with Magiq Minds. No generic advice — just a direct technical conversation about your situation.