Hi Peter,

I really love your enthusiasm. I'm not sure I understand what reflective 
proxies are, not sure JVM code generation would not bring in new security 
issues (not sure it would not either). Can you elaborate?

Being a pragmatic kind of guy, and before we jump into Java 8, perhaps getting 
the codebase at least up to Java 7 would be huge. Using development tools 
applicable for this decade would be also be a real win IMO. Perhaps:

1. Use of generics in service discovery and Configuration (I think you've 
already done the latter).
2. Use of annotations in services for lifecycle and injection of required 
services and configuration properties.
3. River and other technologies (Spring, JEE, OSGi), how to integrate and use.
4. Examples of how to create a project using up to date build tools (Maven, 
Gradle, Grunt?). 
5. Get rid of classdepandjar. Adopt conventions that use a project structure 
representative of the architectural role of each jar file created.
6. Examples of how to test your services using JUnit and/or TestNG, including 
bootstrapping core River services needed for integration testing.
7. River in the cloud (a River AMI might be a start).
8. River and big data technologies, applicable for this area? 
9. Seriously address what River includes as services; do we need Norm, Phoenix, 
Fiddler?
10. River and other JVM languages (Scala, Clojure)

There is lots of work (adding to all the work you've already done in 
qa_refactor) just to make River understandable (in a use-case point of view) 
for developers to grasp how it can be used to even augment their existing 
systems (forget about a total green field project that uses River from the 
get-go). Just modernizing River is a tall effort.

Additionally, now we have the Internet of Things (IoT) and the Alljoyn effort 
(https://www.alljoyn.org), how does that fit (if at all) into what River can 
do? Do we care?

The other way to think about your idea is to do it outside of River, might 
actually be easier.

Just my $0.02

Regards

Dennis

On Feb 4, 2014, at 652PM, Peter <j...@zeus.net.au> wrote:

> Components:
> 
> DNS-SRV Discovery
> UDT JERI Endpoints- Firewall traversal & superior WAN performance
> TLS Encryption
> Reflective Proxies - no code downloads
> Lambda expressions (for services) - remote dynamic code generation (this is 
> big, don't download a codebase, the jvm generates code on demand)
> Secure serialization - limit classes to java.lang, and Jini trusted subsets. 
> Size constraints on method invocation returns - anti dos measure
> 
> A new internet lookup service, reflective proxy, with lambda expression based 
> lookup.
> 
> 
> There's not a great deal of work required to do this and it should make a 
> huge difference to our userbase, which at present appears limited.
> 
> Thoughts?
> 
> Peter.

Reply via email to