Here's the situation:
I have a middleware stack (third party, no sources) that provides services to a database using an HTTP XMLRPC server. The middleware provides several methods to query data and also a way to pass in a SQL string to the database and return the results if applicable.
This is fine for simple scenarios but highly inefficient when there are a lot of data being thrown at or received from the middleware. Also, there is no transaction support encapsulating several requests.
We are challenging the idea of totally bypassing the middleware and writing our own (in C#) that would directly access the database. Of course, we want to do better and support transactions and improved performance.
One solution I am thinking of is to have a web service (multithreaded to support some parallelism for the requests coming from clients) that would use WCF or ESB.
I would like the clients to use a repository pattern in some way with the service.
Has anyone been confronted to such a problem and what was your solution?