Also maven has been used as part of this solution too. Maven lookup by package instead of interface seems like adding another layer or a redirection in lookup mechanisms.
Gregg Sent from my iPhone > On Jul 26, 2016, at 8:41 AM, Michał Kłeczek (XPro Sp. z o. o.) > <michal.klec...@xpro.biz> wrote: > > I am well aware of StartNow since that is the first Jini "support library" I > have used. Indeed - it is really easy to use. > But it is only one side of the issue - the API and some support support code > that is supposed to be linked statically with the service implementation. > > What I am talking about is actually "externalizing" most aspects of a service > implementation so that: > - you do not have to package any (for some meaning of "any" :) ) libraries > statically (since all code can be downloaded dynamically) > - you do not have to provide any (for some meaning of "any" :) ) static > configuration (ie. configuration files) - a service should simply use other > services and "reconfigure" itself when those change > It would go towards some kind of an "agent architecture", with movable > objects (ie "services") being "hosted" by well... other movable objects :). > The idea is less appealing today when we have all the cloud infrastructure, > virtualization, software defined networking etc. Nevertheless still > interesting IMHO. > > Thanks, > Michal >> Gregg Wonderly July 26, 2016 at 1:28 PM >> My StartNow project on Java.net aimed directly at this mode of operation a >> decade ago. I wanted conventions that provided use of configuration with >> defaults. >> >> You just extend PersistantJiniService and call start(serviceName). >> Subclasses could override default implementation for how the conventions in >> the APIs created implementation objects through code or configuration. >> >> The intent was to create THE API to provide the conventions of service >> creation. >> >> We have a Window/JWindow class and don't have to do all the decorating >> ourselves. >> >> Jini service construction should work the same way! >> >> Gregg >> >> Sent from my iPhone >> >> >> Tom Hobbs July 26, 2016 at 11:50 AM >> I would say the comment on that blog sums everything about Jini up. >> >> It’s just too hard to set up and get working. >> >> That’s why I think simplifying reggie is possibly a first step. Make a >> /small/ and simple reggie jar that just handled service registration and not >> proxy downloading etc. Make it really easy to register your services without >> needing class loaders etc, preferably via some convention rather than >> configuration. (This is what I’m trying to find the time to work on.) >> >> I’d really like to be able to type; >> >> $ java -jar reggie.jar >> >> And have a reggie running with all the defaults ready to register my >> services with. Or perhaps, as an option; >> >> $ java -jar reggie.jar —ipv6 >> >> Security, class loading, proxy downloading and all the rest of it could then >> be put back in by specifying more advanced configuration options. >> >> My Scala service would be great if I could define it just as; >> >> object MyCoolService extends LazyLogging with ReggieRegistration with >> ReggieLookup >> >> Or in Java with default interface methods; >> >> class MyCoolService implements ReggieRegistration, ReggieLookup >> >> And that would be it, congratulations you’ve started a reggie and registered >> your service and have methods available to help you find other services. >> >> This would satisfy use cases where the network was private and/or trusted. >> And security on top would, ideally, be up to configuration again or perhaps >> injecting some alternative implementation of some bean somewhere. But the >> core premise is, make it easy to startup, demo and see if it fits what you >> want it for. >> >> >> >> >> Peter July 26, 2016 at 3:58 AM >> Note the comment about security on the blog? >> >> Steps I've taken to simplify security (that could also be adopted by river): >> 1. Deprecate proxy trust, replace with authenticate service prior to >> obtaining proxy. >> 2. proxy codebase jars contain a list of requested permissions to be granted >> to the jar signer and url (client need not know in advance). >> 3. Policy file generation, least privilege principles (need to set up >> command line based output for admin verification of each permission during >> policy generation). >> 4 Input validation for serialization. >> 5. DownloadPermission automatically granted to authenticated registrars (to >> signer and url, very specific) during multicast discovery. >> >> Need to more work around simplification of certificate management. >> >> Regards, >> >> Peter. >> Sent from my Samsung device. >> >> Include original message >> ---- Original message ---- >> From: Peter <j...@zeus.net.au> >> Sent: 26/07/2016 10:27:59 am >> To: dev@river.apache.org <dev@river.apache.org> >> Subject: another interesting link >> >> https://blogs.oracle.com/hinkmond/entry/jini_iot_edition_connecting_the >> >> >> Sent from my Samsung device. >