After long consideration & research, we have decided to store our value mappings in database tables and not use the Value Mapping mechanism of SAP XI (which we found too limited). From our (XSLT) mappings, we invoke Java code that makes an RFC call and retrieves the value mappings. This mechanism works fine.
To optimize performance, we want to implement caching in our Java code. The Java code (singleton) and data should remain "cached" in memory. But how to deploy this Java code? If we include our Java code in aii_af_jmsproviderlib.sda, the Java code cannot be invoked from a mapping. But if we package our software in jrfc.sda, everything works fine. The mapping finds the Java code we included in jrfc.sda.
But how to make a nice deployment? How to arrange that our Java code can be called from mappings and can estblish RFC (JCO) connections? If we package our Java code as a "library" SDA, the mapping program does not find our Java code. Should we convert into a service and deploy our Java code as a "service" SDA?
So we lack knowledge about 1) deploying Java software in the J2EE engine and 2) how the mappings (XSLT) find the Java code. Welcome your input/feedback.
Kind regards, Guy Crets