Geodatabase trigger

2462
7
07-30-2013 08:08 AM
AlagappanAL
New Contributor II
Hi,

Our users have a GIS web appliation where they will create a feature and this will get saved in Geodatabase (Oracle/ArcSDE10.1). And we don't have any control in modifying / enhancing that GIS application.

We have another web application 'X' that will interface with GIS records. Requirement is that: Whenever a feature is created in GIS, it should be notified to 'X' application real time.

The required data of that created feature should automatically flow to another Oracle Database that 'X' application is using. So that 'X' web application will fetch from its oracle db and know that GIS record is created. Is there any best way that we can accomplish this functionality from Geodatabase / services / triggers etc?
7 Replies
VinceAngelo
Esri Esteemed Contributor
A database isn't the greatest place to capture and fire real-time events like this, especially
when you have a web application that can forward the events directly.

There is no such thing as a geodatabase trigger, but the RDBMSes through which ArcSDE
is used to implement enterprise geodatabases do have that capability.  Your principal
difficulties would be determining which table should have the trigger added/modified --
versioned editing adds some uncertainty -- and how you're going to notify the 'X'
application based on row changes in one or more databases.

- V
0 Kudos
AlagappanAL
New Contributor II
Thanks Vangelo for your response.

I meant the Oracle Trigger and I am also wondering the trigger between different databases. And it is non-versioned geodatabase.

So your opinion is like to customize the 'X web application' to continuosly check / monitor the required featureclass and whenever the record gets created in GIS, it can pick the GIS data and store whereever necessary. Is this right or please let me know for any other suggestion.

Appreciating your help!!
0 Kudos
VinceAngelo
Esri Esteemed Contributor
No, you don't want to do a busy wait from the app, just send a message after the app
makes a change.

- V
0 Kudos
SachinKanaujia
Occasional Contributor III
Does you application have to be real-time or near real time? As you say notification? Is it like a "Push notification" where you sending the notification from the server to the client as soon as they arrive or a "Pull notification" where client queries and gets the information?

If its the latter then you are better off writing a view or a materilized view over the database to get the information. You can either poll it or refresh as n when the requests are received.

Some more details can help in being more specific?
0 Kudos
AlagappanAL
New Contributor II
Thanks again..

The problem here is we don't have any control on enhancing GIS application and GIS application is already in place. And we cannot send message from GIS application that a record is created. Users will create the record only in GIS application and the data should flow to X web application real time.

Whatever, we have to do from 'X' web application that is seeking GIS Data or from the Database / from Geodatabase. Please know your suggestions.

Thanks.
0 Kudos
AlagappanAL
New Contributor II
Hi Sachin,

It can be real time or near real time, but not late :(. It can be either way - push or pull. But users will not request - It should automatically happen. whenever a record is created in geodatabase from GIS application, it should be automatically notified to X application in any way (on creation of record in GIS, automatically storing in other database/table that 'X' application is consuming or X application will monitor either the geodatabase or its own table continuously for new record). you could suggest us any options or other, it would be great. Please let me know for any other information required.

Thanks for your response.
0 Kudos
SachinKanaujia
Occasional Contributor III
Oracle provides some facilities. I don't know if you have already looked at that. Worth trying out

http://docs.oracle.com/cd/E11882_01/java.112/e16548/dbchgnf.htm

Other custom approaches could also be designed. Do you have any update date field or any unique identifier?
0 Kudos