"When does support end for the Java on this server?"

seungchulkim
Tera Contributor

Answering that simple question means judging millions of software install records — every day.
I recently designed and built a software EOL / EOS judgment engine on ServiceNow for a large enterprise. Here's what worked.

■ The problem
The same product arrives under dozens of names.
Versions are messy: 1.8.0_111(64bit), 2012 R2, v5.16.3 …
And lifecycle data rarely lines up 1:1 with installed versions.

■ The approach — an owned knowledge base, not a licensed module
1) Normalization rules: exact · prefix · regex · publisher conditions map raw names to a standard product
2) Version modes: java (1.8 → 😎 · year · major · regex — bitness and build tails stripped automatically
3) Lifecycle catalog: synced from the endoflife.date API, with manual entries taking precedence
4) Four-step version matching: prefix → latest → version rule → inference
(older than the oldest tracked cycle, and that cycle has ended → EOL)

■ Making it run daily at scale
· Judge combinations, not rows: GlideAggregate on (name · version · publisher) turns millions of rows into thousands of combos
· Idempotent writes: updateMultiple only where the verdict changed — a same-day rerun writes nothing
· Instant UI, background heavy lifting: over the limit → mark PENDING and drain via an on-demand job
· Dashboards read one precomputed JSON snapshot, not live aggregates

■ Lessons learned
· GlideAggregate silently ignores invalid conditions — a bad dot-walk returns the whole table count
· COUNT(field) is not a distinct count → use COUNT(DISTINCT
· != drops NULLs too → add ^OR…ISEMPTY
· Dry-run first for bulk writes, and record the dry flag in the result object

Every install now carries a daily verdict — EOL, imminent, EOS, supported or needs action —
and the judgment logic (rules, standard products, lifecycles) is an asset the organization owns, independent of any license.

Architecture and sequence diagrams attached.
Would love to hear how others are tackling software lifecycle risk 🙌

#ServiceNow #ITAM #SAM #CMDB #EOL #SoftwareAssetManagement #ITOM #ServiceNowDeveloper

0 REPLIES 0