views:

90

answers:

1

Hello all,

I'm currently trying to pick a thesis topic, preferably using Java. :)

There are cases exists, when a full-blown Java EE stack is a bloatware. You don't use many things, you don't need such tight replication, etc.

If you choose to go on a lightweight route, you can use Spring, Guice or any other IoC framework, you can use some nice features, such as DI (with Spring even more, as they've been wrapping everything in they taste), but let's set you want replication, and load-balancing on an application level. What are your options? So here's what I think: what about a cluster-aware IoC framework, where you could do something like:

@Inject  
@ClusterSynchronize  
private ConcurrentMap map;

and those method calls would be spread over the cluster, so effectively one could achieve data-replication on a field level.

or what about someting like:

@Inject
@LoadBalanced
private BlockingQueue queue;

Adding ad-hoc clustering into the mix (using multicast addresses/broadcasting), and implementing these features would allow any single application to scale effectively.

What are your thoughts? Would this will be a good topic?

+1  A: 

I'd simply use Terracotta for Spring

sfussenegger
+1: exactly what I came here to say
MrWiggles
AFAIK it's not free nor opensource
Zoltan
It is! But there's commercial licensing (required for some advanced features) and support provided by Terracotta Inc (yet another company that's building a working business around an open source product). If you don't believe me, here's the source: http://svn.terracotta.org/fisheye/browse/Terracotta
sfussenegger
I do believe you. the emphasis was on "thesis", not "what I would use in a project". :)
Zoltan