Whilst we were in Antwerp, Manik, Shane, Rodney and I sat down to think a bit about what
this means. A few of the salient points we discussed are:
Good clustering support (Pete)
---------------------------------
* Ensure we always externalize any application state e.g. store it in the session, CDI
supports this beautifully!
* Make sure we can externalize "framework" state i.e. any state we store in the
framework that can't be trivially rediscovered when a new node starts. The Weld core
works like this, as do portable extensions which are coded well, and use Contextual to
store state.
- An idea is to add the ability to generate the class metadata (and perhaps even the
bean metadata?) at compile time, and store in some binary format inside the jar. This can
then be read in when the app starts, rather than using reflection to study the classes.
This may lead to faster boot (needs research!)
* Think about replication when we write the core, extensions and apps, and ensure that we
allow for efficient replication
Multi-tennanted apps (Shane is going to lead this effort)
-----------------------------
* How are they configured externally from the app itself (e.g. the idea for how to read in
properties Gavin blogged about)
* Isolation
* Security?
* Integrating with distributed datastores such as Infinispan, this is intrusive into your
data model as some things which work well in RDBMS don't work so well here
Testing (Pete)
----------
* Mainly infrastructure for us, may be useful for others?
* How do we test in GAE?
* How do we test in EC2/Rackspace (talk to Bob McWhirter)
Images (Shane)
----------
* Thincrust images e.g. with Weld installed onto Tomcat (useful for getting started?)
Show replies by date