Is there somebody who can advise me when to use the Tamino API for Java and when to use the Tamino Client API?
The documentations advice to use, for new development, the Tamino API for Java. It says that the HTTP client API is still there for backwards compatibility. Is this true.
And what about the performance between the two different APIs?
My advice to you would be to use the Tamino API for Java. The main reason is that at some point in the future I suspect the HTTP client API will be deprecated.
The Tamino API for Java has a more flexible architecture for supporting different object models, e.g. JDOM, which the HTTP client API does not. As these core API’s are enhancements or new things come along the Tamino API for Java will be enhanced to incorporate them.
For the performance question: I think this is not easy to answer because the new API supports newer core API’s and has a completely different architecture. So its not so easy to compare the two as they are very different. At the very core of the API it is still HTTP communication and the performance there won’t have changed.
I agree with Stuart’s comment and advice. This is what I would have commented too.
A word about performance: We have started performance tests and deeper investigations. Our goal is to write a comprehensive document about the APIs and performance including tips and tricks. What I can say already is, that almost all time spend in API code is used for parsing XML documents and Tamino responses. The XP parser used in the old API is faster than Xerces, which we use in the Tamino API for Java (about a factor of 1.3). However Xerces has functionality (Encoding etc.), which is not supported in XP. Also there seems to be no further development for XP.