Select to view content in your preferred language

Transactions Handling across ArcSDE and Sliverlight -

592
0
03-29-2011 02:11 AM
LakshmananVenkatesan
Frequent Contributor
Hi All,

This is more of design question.  We have big enterprise application developed using ESRI Sliver light 2.1 and ArcGIS Server 10. We are using oracle database 10g and industry specific data model.
Shapes are stored in ArcSDE layer (not a feature class - not registered with SDE) and attributes in relational tables. We have no choice for customizations

We are using custom Geo processing service to do perform spatial operations from client and database inserts (only used for shape insert).We are also using third party product to create EDM (entity data model ) at client side and do the all non-shape database operations. This third party product DOES NOT support database transactions. We are mainly using this product to avoid WCF service or other methods to do DB operations being enterprise application.

Now, we have a use case - where user will draws the shape and enter the attributes and it needs to be saved to the database.

Application architecture is  that the shape will be passed as record set to custom GP tools and which will insert into ArcSDE layer using ArcSDE connection. Attribute data are inserted using third party product into the database.

Now, we have handle the distributed transactions, due to some issue[oracle/network], when the attributes data failed to insert the records into database, we need to roll back the shapes as well. Similarly when shapes failed to insert, attributes needs to be rolled back. Attributes information stored in 5 to 6 tables.

Question - How to handle such scenario i.e. distributed transactions?. Since shape is inserted ArcSDE layer (not a feature class) and attributes in relational table?

I have gone through ITransactions objects and other ways of handling but none of the idea seems to be satisfactory. Can some provide some idea on this issue?

Application architecture CANNOT be revised at this moment. All I need to know best way to maintain transactions and remove data inconsistency in best optimal way.

Please let me know if you require any clarifications or additional inputs if my message is not clear enough.

Please advice me on this

Regards
SR
0 Kudos
0 Replies