SWF / MVC write-up
Marvin S. Addison
marvin.addison at gmail.com
Wed Sep 4 10:59:20 EDT 2013
> I've documented most of my findings and the results of various experiments
> with the testbed Brent created together with my authentication flows.
>
> https://wiki.shibboleth.net/confluence/display/IDP30/Spring+and+Web+Flow+Te
> chnical+Issues
Some feedback on sections of that document.
On views, I recall that multiple view resolvers were supported out of
the box. Cursory code review suggests that by leveraging
setViewNames(String[]) on each resolver, the canHandle() method performs
a test whether the resolver works with a particular logical view name.
Provided you know the logical view names up front as a matter of
configuration, which seems a reasonable requirement, you could configure
multiple resolvers with their supported views. Seems easy enough to test.
On serialization, all indications suggest that strictly avoiding the
Java serialization mechanism will be a non-trivial task in the SWF
components alone, not to mention other places serialization creeps in.
It's not clear to me whether you want to unplug the default and plug in
a custom implementation (i.e. StorageSerializer) or avoid serialization
altogether. Either way it feels like a lose-lose in terms of substantial
work for fewer features/deployment options.
Java serialization is an assumed capability for numerous technologies.
For example we've made use of the Tomcat feature to overflow idle
sessions to disk to avoid high memory footprints while allowing very
long session timeouts (some of our users linger on the login form in CAS
for quite some time). Stateful clusters would also be out. Anything with
caching and replication will need it, so it seems to make sense to
design for it. If there is concern about control over what and how
objects are serialized, volatile fields and Externalizable provide all
the rope you want. On the other hand you can still use Serializable to
get sensible defaults.
M
More information about the dev
mailing list