[
https://issues.apache.org/jira/browse/PIVOT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13425669#comment-13425669
]
Sandro Martini commented on PIVOT-851:
--------------------------------------
Some related readings (on Event Sourcing), as a starting point (even without
the need to rewrite in a different language):
http://martinfowler.com/eaaDev/EventSourcing.html
http://codebetter.com/gregyoung/2010/02/20/why-use-event-sourcing/
http://blog.zilverline.com/2012/07/04/simple-event-sourcing-introduction-part-1/
http://lostechies.com/jimmybogard/2011/10/11/event-sourcing-as-a-strategic-advantage/
http://julienletrouit.com/?cat=4
Using this approach we could have (more) loose coupled components, and probably
a simpler approach than Listeners, but of course we have to check at
performances, and more important the ability at compile time to discover
problems, etc ...
Note that the Event Store could be pluggable (and by default not persistent),
other implementations could use remote storage or even local (maybe with a
NoSQL storage) ... and we could process events in a parallel way, etc ...
In this way for example we could have a simple way to record/playback
application events, useful in customer support, and probably even in debug (and
in unit tests) for developers.
Of course this could handle not only GUI Events, but maybe even other kind of
events.
But all this at the moment is only to get some more idea on if / what to do ...
> Verify if move to a more reactive approach for event propagation and loose
> coupling between components
> ------------------------------------------------------------------------------------------------------
>
> Key: PIVOT-851
> URL: https://issues.apache.org/jira/browse/PIVOT-851
> Project: Pivot
> Issue Type: Wish
> Reporter: Sandro Martini
> Assignee: Sandro Martini
> Labels: event, gui, java, message, reactive, scala
> Fix For: 3.0
>
>
> Verify if move to a more reactive approach for event propagation and loose
> coupling between components.
> For example, verify (for what it's possible in Java, without a full rewrite
> in Scala)
> http://www.scala-lang.org/sites/default/files/sids/imaier/Mon,%202009-11-02,%2008:55/scala-swing-design.pdf
> http://lamp.epfl.ch/~imaier/pub/DeprecatingObserversTR2010.pdf
> http://stackoverflow.com/questions/3755453/scala-listener-observer
> http://stackoverflow.com/questions/3084546/design-patterns-for-functional-oo-hybrid-languages
> An innovative frameworks like Play have chosen for its new major release
> (2.0, released in March 2012) to do a full rewrite in Scala BUT with full
> compatibility even with Java (and Java 8 should have the same features too
> ...).
> Last, another interesting point to explore (but again mainly for Scala, or
> using Akka even from Java) could be to use Actors (local and/or remote), even
> for events ... just as idea.
> Many other interesting ideas for a more "complete" approach to make
> applications from Eclise E4 (extension points, mapping controllers to URLs,
> etc), for example some info here:
> http://www.vogella.com/articles/Eclipse4RCP/article.html
> and of course even from Griffon (in from the Groovy side).
> At the moment this issue is only a pleceholder to share in the same place
> ideas and links on this subject ... so as always comments are welcome.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira