We are developing an AF Analysis rule based application that will be used to produce data files for importing into a reservoir modelling application. The reservoir engineers will have access to the analysis rule through a web front end, which in turn will use a web service to pass configuration parameters to the analysis rule on the AF server, and then execute the rule.
In our test environment, the rule, web front end and web service all work quite well together. But one issue that we are concerned about is concurrency, when more than one user wishes to run the rule to produce an export file at the same time. The middle tier web service passes parameters to the analysis rule by writing a new ConfigString to the rule each time a user configures the front end with the required parameters for a data export (gas field, starting date, end date, reporting basis - daily, monthly, yearly).
My question is this - how does AF handle concurrency in this type of scenario (if at all), and if it doesn't handle it natively, what type of approach would the community recommend to handle this. I have had some ideas about this, such as multiple threads on the web service, each one sandboxing the config string (not checking it in) and then running the rule, but I haven't as yet tried this out. I'm keen to hear others' ideas on approaching this problem.
All components (web front end, web service and analysis rule) are coded in C#. We are also using AF 2010 R2.