Gopalan Suresh Raj's Web Cornucopia
An Oasis for the parched Enterprise Services Engineer/Developer

    SOA Tips-Cache wherever possible


    Repeated calls over the network can degrade the performance of your system. For read intensive type services that provide relatively static content like historic data or catalog information, cache as much data as you can on the consumer side. This puts the onus on the consumer’s cache implementation to ensure that the data does not go stale by checking for updates based on the policies you set up at the consumer side.

    You could also use policies like aggregation by replication in a service facade that retrieves data from multiple other services. The aggregating service could contact other services during off-peak hours and replicate the data locally if it is possible. Then when external clients invoke the service it could return the aggregated data as a rich business document in real-time.

    It is also advisable to cache the WSDL files in a centralized catalog and periodically check for updates based on policies that are set up. The same goes for XML schema definitions too.

    Author Bibliography

    Gopalan Suresh Raj is a Senior Analyst, Software Architect, and Developer with expertise in multi-tiered systems development, enterprise service architectures, and distributed computing. He is also an active author, including contributions to Professional JMS Programming, Wrox Press, 2001, Enterprise Java Computing-Applications and Architecture, Cambridge University Press, 1999, and The Awesome Power of JavaBeans, Manning Publications Co., 1998. He has submitted papers at international fora, and his work has been published in numerous technical journals. Visit him at his Web Cornucopia© site ( or mail him at