We have a requirement wherein we will be polling database using a complex SQL every few seconds to check whether we have any update or not. If there is update then will process it further. Sometime we might get one record or might get 100 records.
Based on this i started looking into database listener which allows polling of database and then it publishes the document on broker. Now in IS 9.5, these database listener have started using EAD - Event driven architecture in combination with NERV. To use these new technologies, you need to do few configuration to make it work which i fell is too much to achieve this sime requirement. Writing Complex SQL using Databse listener is also big pain as it provides you a wizard to come up with SQL instead of accepting SQL from property file.
Now my question on this topic is there any better idea you folks can suggest to poll the database periodically and get the information out and process it further.
You mean from 9.5 they have removed the Insert/Update/Delete JDBC notifications template mechanism as a whole and replaced with EDA and 7.x/8.x framework need to be changed?
Sorry, my bad for not providing the complete details.
They do have Insert/Update/Delete/Basic JDBC notifications templates in 9.5 but to generate these event they are using EDA & NERV (Network for Event Routing and Variation) to route the event to correct subscriber. To make these database notification to work, you need to configure NERV via command central atleast thats what documentations says.
I am trying to avoid installation of command central on 9.5 and then configuring this NERV (Which is totally unknown to me). I am looking for a simple way which can allow me to poll the database and publish the document to broker.
OK there should be some alternate way to by pass NERV…can you check with SAG support also in the mean time?
Some times per documentation is not quite accurate.
Kindly share your new knowledge once after achieving this.
Perhaps I’m missing something but why do you need to configure NERV?
I have tried with a 9.6. You can publish notifications via NERV when checking Publish Events in the notification configuration, but it still publishs documents via webMethods messaging (Broker or UM) or JMS which you can still subscribe with a trigger like before.
As you have a complex SQL (which retrieves data by interacting with few tables I assume), you could use custom SQL, and invoke this service through scheduler at frequent intervals.
If you want to go with database listener, you could still write the result of this query into a table, and configure a ‘insert’ notification through webMethods JDBC adapter.
@Ap: I am a big fan of basic notification :), so suggesting solution based on it.
If it is single table, I suggest to use DB capabilities to do the data population based on complex logic written in a trigger.
Source Table [trigger]–> Buffer Table → Notification
If multiple tables, again I suggest writing trigger on each table and flag a column in staging table.
So design would be Multiple Tables [triggers]–> Staging Table with data ready flag [Trigger] → Buffer Table → Notification.