One hybrid solution would be to have db triggers adding records to a single
"monitor" table in which a polling inbound endpoint can periodically look
check for changes [1]. Based on the new records, the consequent sequence
can decide which actions to execute.

[1] -
http://stackoverflow.com/questions/6153330/can-a-sql-trigger-call-a-web-service


Regards,
Chamila de Alwis
Committer and PMC Member - Apache Stratos
Senior Software Engineer | WSO2
Blog: https://medium.com/@chamilad



On Tue, Aug 30, 2016 at 4:52 AM, Srinath Perera <[email protected]> wrote:

> Hi Malaka,
>
> If it is done using triggers, it can be done without us doing anything. I
> assume trigger can hit a URL in the ESB that trigger processing.
>
> Adding a DB listener as an inbound endpoint is OK.
>
> I suggest we only do DB listener.
>
> --Srinath
>
> On Tue, Aug 30, 2016 at 3:13 PM, Malaka Silva <[email protected]> wrote:
>
>> Hi,
>>
>> ​There are requirements to ​do additional operations when there are
>> changes done to organization data.
>>
>> One way to do this is to create triggers at database level. However there
>> are limitations on actions users can perform using triggers.
>>
>> So if we implement custom inbound endpoint we can cover most of the use
>> cases.
>> [image: Inline image 1]
>>
>>
>>
>> There are several ways to do that. But we already know using JDBC is
>> impossible at the moment. One way to achieve this is implementing a polling
>> inbound to monitor the changes in the database object (such as a table in
>> the database). If any change occurred, that inbound can invoke a sequence.
>> But this is not a good practice. What if your database has more than ten
>> tables? Then users have to create ten threads for each table and that would
>> be a great mess regarding to the performance.
>>
>> There are also vendor specific solutions provided. [1] [2]
>>
>> JPA also provide this capability [3] However with this users need to
>> create entities for there environment and using those with ESB is complex.
>>
>> Using Hibernate we can do the same and maintain the configuration in XML.
>>
>> Thoughts about this inbound are welcome?
>>
>> [1] http://stackoverflow.com/questions/12618915/how-to-imple
>> ment-a-db-listener-in-java
>> [2] http://www.ibm.com/support/knowledgecenter/SSSHYH_5.1.1/
>> com.ibm.netcoolimpact.doc5.1.1/solution/imsg_db_listeners_da
>> tabase_listener_overview_c.html
>> [3] https://docs.jboss.org/hibernate/entitymanager/3.6/reference
>> /en/html/listeners.html​
>> [4] https://dunithd.wordpress.com/2009/10/27/create-database-tri
>> ggers-like-features-using-hibernate-events/
>>
>>
>> Best Regards,
>>
>> Malaka Silva
>> Senior Technical Lead
>> M: +94 777 219 791
>> Tel : 94 11 214 5345
>> Fax :94 11 2145300
>> Skype : malaka.sampath.silva
>> LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
>> Blog : http://mrmalakasilva.blogspot.com/
>>
>> WSO2, Inc.
>> lean . enterprise . middleware
>> https://wso2.com/signature
>> http://www.wso2.com/about/team/malaka-silva/
>> <http://wso2.com/about/team/malaka-silva/>
>> https://store.wso2.com/store/
>>
>> Don't make Trees rare, we should keep them with care
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> ============================
> Srinath Perera, Ph.D.
>    http://people.apache.org/~hemapani/
>    http://srinathsview.blogspot.com/
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to