Experiences/Best practices Axon on Google App Engine?

Hi All(ard),

Do you know if it is possible to use Axon combined with GAE?
Can you implement the event store for instance? Other hints and tricks
are highly appreciated too ofcourse!

Regards,
Freek

Hi Freek,

interesting case. To be honest, I haven’t tried yet. Most of the features in Axon don’t use any of the GAE restricted API’s. The Axon annotation support does use reflection, which is restricted in GAE. I am not sure to what extent, though.

According to the GAE expert here, it should be fairly simple to create an event store implementation on Google’s BigTable. The Event Store interface is pretty simple to implement.

Cheers,

Allard

Ah, OK
.
I believe GAE also has restriction on the use of threads. Does Axon (a
lot of) use threads for aynchronous event processing?

I believe Axon and GAE could be a very good match and I do not want to
make my own CQRS implementation specifically for GAE. I'll start
hacking with Axon soon and let you know my findings :smiley:

regards,
Freek

Hi Freek,

For the asynchronous event handling (which isn’t required), Axon requires an Executor implementation. GAE does have task scheduler support, and I suppose (I am not sure about this) that their executor service implements Java’s executor interface. If not, it’s probably easy to create small wrapper. One thing is sure, Axon never (ever!) creates a thread on its own.

Happy hacking around!

Cheers,

Allard

Hi,
just wanted to let you know we have moved some google app engine related classes to the new incubator of axon. I also have a very basic application that runs on google app engine that you can try. Sources are available on Github. If you have questions, use this group. I will monitor it for questions that are google app engine related.

Axon incubator
http://code.google.com/p/axonframework/source/browse/trunk#trunk%2Fincubator%2Fgoogle-app-engine

Running sample
http://company-hr.appspot.com/

Sample code
https://github.com/jettro/CompanyHr

greetz Jettro

wrt GAE deployment…what is the level of support for scheduled event and SagaRepository in Google app engine as Quartz is default in current axon? and google support of Quartz is?

Any other gaps in current 1.3.1 for gae deployment?

Thanks and Cheers…

Hi,

GAE support is not very high on the priorities list. Although GAE is a nice platform for some applications, there is too much specific things going on there. Unless there is a big user base for it, I don’t think its worth all the maintenance effort to provide full support for GAE right now.

In you case, it’s probably relatively easy to create a scheduler that works fine for your specific application’s requirements. Axon is built up as an extensible framework, so it’s just a matter of implementing an interface.

Cheers,

Allard