cancel
Showing results for 
Search instead for 
Did you mean: 

Soap Messages Cache

Former Member
0 Kudos

Hi all,

Is there a way to implement caching to soap messages?

For example, I have an interface that retrieves a customer list (code, description) in a synchronous scenario Soap -> Abap proxy. If some legacy app (soap) gets the data from this interface, the response (customer list) could be placed in a cache (like we have in web applications), and next calls to the same interface in a configured time (lets say, 30 minutes) could retrieve the cached response, without going to the abap proxy.

Some tip about?

thanks!

roberti

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi all,

anyone has a tip about it?

thanks!

roberti

bhavesh_kantilal
Active Contributor
0 Kudos

Not sure if it helps from a real time perspectivel, but have you considerined the TCP Gateway?

This tool allows you to monitor your HTTP over SOAP messages to and from XI and maybe you can extend this tool ( open source ) to capture the message and then store it maybe into a Database and so on.

Just search on SDN for TCP Gateway and you will find a blog by stefan grube describing how to use it.

Regards

Bhavesh

PS: Can you let us know why you are trying this?

Former Member
0 Kudos

Hi Bavesh,

I read the blog, tested the TCP Gateway and I think it really can help with another issue I have, thanks!

We are trying to cache the messages because we have a synchronous scenario Legacy -> XI SOAP Web Service -> Abap Proxy, where the program at the abap side is slow to execute (people have already worked hard on it to improve its performance, but they seems to be reached the limit).

The data that this interface retrieves is not changed very much. This interface will be executed about 4500 times a day, and about 45% of the execution is about the same data (same parameters on request, same processing and same response).

Then we implemented a "cache" to this soap interface, and the scenario changed to Legacy -> Soap Cache -> XI Soap Web Service -> Abap Proxy. This Soap cache is based on a hash table created based on the request - same requests have same hash - if the hash is found in the table, Soap Cache retrieves the response without need to go to XI and Abap proxy. Each message remains in the Soap Cache for a limited period (configurable) of time.

We found that this approach (like in web applications) is very useful to improve performance for data interfaces. But the problem is that we add a new component in the scenario (need to have another server, another application to keep, it's another failure point for the scenario).

A standard messaging cache would be better and, I think, not so difficult to implement. Because this I think probably it already exists - don't know where

regards!

roberti

bhavesh_kantilal
Active Contributor
0 Kudos

Well I get the big picture. Maybe you can consider using the ValueMapping Cache here?

The ValueMapping is nothing but a Key - Value Pair, and so you can Cache the Request - Response in this ValueMapping Cache ( data can be inserted in the runtime in the ValueMapping Table using ValueMappingReplication Message Interface ) and you cal also read data from the ValueMapping Cache and so on.

Again search on SDN for ValueMappingReplication and you will find a blog that describes its implenetation and then you would maybe be able to understand what I am talking about

Keep us posted on the results.

Regards

Bhavesh

Former Member
0 Kudos

Hi all,

We leave this idea of caching soap messages. All of our tests seems to be so process consuming and time consuming as the execution of the real interfaces every time they are needed.

Thanks for your help.

regards.

roberti