syncope-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré>
Subject Re: Creating events for changes and spi for transport of events
Date Sun, 20 Nov 2016 19:31:13 GMT
Hi Christian,

it sounds like a good idea, and I like the "mimic" of OSGi EventAdmin.


On 11/20/2016 08:11 AM, Christian Schneider wrote:
> I was listening to Colm´s presentation about customizing syncope with camel
> rotues. It sounds like a very powerful combination as you can influence all
> changes.
> For some simple cases like just listening to changes in syncope the camel
> routes look a bit complicated though.
> So I wonder if it would make sense to create some central event hub inside
> syncope that gets notified of all changes and allows to easily attach
> messaging systems.
> I could imagine something like this:
> interface EventBroker {
>   sendEvent(String topic, Object event)
> }
> There could be different event classes for each type of change. If those
> events have JAXB annotations it is very easy to create xml or json from
> them.
> The syncope classes where the events happen would just inject the
> EventBroker interface and send their events.
> The EventBroker would then forward the events to all EventListeners
> present. An EventListener would look like that:
> interface EventListener {
>   onEvent(String topic, Object event)
> }
> So we could provide some implementations of EventListener like for ActiveMQ
> and Kafka. Additionally users could also implement the interface and attach
> additional messaging systems.
> What do you think? Does something like this already exist? Would it make
> sense to add this mechanism to syncope?
> If there is interest I am willing to create the Broker as well as ActiveMQ
> and Kafka impls. I am not familiar enough with the individual source for
> the events to do the integration but I think it should be very easy for any
> syncope core developer to add them.
> Christian

Jean-Baptiste Onofré
Talend -

View raw message