Could i get some advice or guidance on testing tools (both manual and/or auto) that are suitable for middle-ware testing?

General set-up:
-Server backend: Versant OODBMS with Autonomy search engine
-Middleware: Variety of components that will generate XML metadata and messages in JSON
-Client layer: a desktop tool and a separate web version tool

So selenium would be ideal to test the web based stuff in the client layer, however, im aware that such an architecture will require a combination of testing tools.....what is the best approach to take in testing e.g. unit tests for middle layer - if so - what sort of unit tests? which tools for metadata and json? And what is best suited to test desktop based clients?

Many thanks!