Skip to Main Content
Integration


This is an IBM Automation portal for Integration products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.


Status Under review
Workspace DataPower Gateway
Created by Guest
Created on Oct 20, 2024

Improve DataPower JSV Compiler for Optimizing Schema Compilation

Description: I would like to request an enhancement for IBM DataPower's JSON Schema Validation (JSV) compiler to optimize the handling of large schemas with repetitive substructures. This request is based on performance challenges encountered during the compilation of extensive JSON schemas in a DataPower environment with limited memory resources.

Background: During the development process, we have experienced significant memory consumption and extended compilation times when using the JSV compiler. Specifically, compiling a schema with 6716 objects, which contains repetitive substructures, resulted in high resource consumption and long compilation times (55 minutes and 28.6 GB of RAM on a 64 GB DataPower instance). For environments with smaller memory capacities, such as our 16 GB DataPower instance, this led to throttle reload issues.

We were advised that no APAR will be created for this, but we should raise an RFE to improve the JSV compiler's efficiency.

Requested Enhancement: We propose the following improvements to the DataPower JSV compiler:

Optimization of Identical Subparts: The JSV compiler should identify identical subparts within the schema and automatically move these repetitive subparts to /definitions, utilizing $ref references to reduce redundant compilation efforts.

In our case, out of the 6716 objects, there are only 60 unique patterns. With optimization, only these 60 unique subparts should be compiled, rather than compiling the same structure 6716 times.

Reduced Compilation Time and Memory Usage: With the suggested improvement, we observed that a rewritten JSV schema (using a custom GatewayScript) reduced the initial compilation time to 16 minutes, and memory usage dropped to 25.5 GB, which would work within the limits of a 32 GB DataPower appliance. We request that similar optimization be incorporated directly into the DataPower JSV compiler to improve the experience for all users, especially those working with large schemas.

Business Impact: This enhancement would significantly reduce the time and memory required to compile large JSON schemas. It would improve performance for systems with limited memory resources and enhance the overall reliability and efficiency of the DataPower JSV compiler.

Idea priority High