design web application which consume many web services
problem is existing applications on our organization required to enter same data multiple times, data naming conversions not consistent across applications.
currently there are many WCF and asmx web services already deployed for existing applications. But I don't have control over any of those services and also they are host on different countries. I can request small modifications for existing application (e.g. link to new application with required quarry strings.)
To overcome repetitive data entering process I have to find solution. currently what in my mind is create web application and keep business logic layer with reference to all required services. need to request to do some modifications on existing applications to connect new application and it will map required data and made the connection between separated applications.
following are few questions currently facing,
- To do a task there may be many services required, if one service not respond on middle of the process how I can rollback the process ?
- since all are service calls it may take more time to do a simple operation but i need to increa开发者_StackOverflow社区se performance of the applications, how I can improve performance while handling many services on one application?
Tools such as Biztalk might fit for your scenario, depending on your architecture and integration options. See http://www.microsoft.com/biztalk/en/us/default.aspx.
edit: as per your edit with your additional questions:
if you are storing results to your local database, you should be able to do a database rollback if any of the service calls fail. If the service calls will span a long duration of time, so that this cannot happen in the context of a single session, then you can create a holding area of sort in your data model. The holding area can hold all of the results from your various service calls. If all succeed, you can then transfer the holding area to your permanent storage. If all fail, you can rollback your holding area data.
One way to to improve user responsiveness in this type of scenario is to asynchronously call your web services. This may require a page redesign, since the user's browser page will receive its response even if all service calls haven't completed. But if you have no control over the services and must call them, this is probably your only option to improve user responsiveness
精彩评论