Maven Build and OSGi Platform Support

2019-09-01 Thread Peter Firmstone
JGDMS at this time, just the module structure.At this time, it seems to make sense to also make maven modules OSGi bundles. However it is important to realise that making the modules into bundles isn't sufficient in iteself to support OSGi. This is due to a number of ServiceLoader Provider

OSGi & Configuration

2018-04-19 Thread Peter
Any OSGi people on this list have advice or experience with ensuring class visibility with Configuration files? AtomicILFactory accepts a class or ClassLoader argument, for a service, this is used to locate the ClassLoader of the proxy bundle for deserialization. A class can be passed

Re: OSGi [PREVIOUSLY]Re: Maven Build

2017-10-03 Thread Peter
: I'm considering api that may be required for improved OSGi support. In order for an OSGi environment to deserialize a proxy, it needs to first install a bundle for the proxy and resolve any dependencies. For OSGi a ProxyPreparer must first locally marshall (create a MarshalledIn

Re: OSGi [PREVIOUSLY]Re: Maven Build

2017-10-02 Thread Gregg Wonderly
support “multiple services platform” more readily. It also affords CodeSource level security controls more readily. Gregg > On Oct 2, 2017, at 5:01 AM, Peter <j...@zeus.net.au> wrote: > > I'm considering api that may be required for improved OSGi support. > > In order fo

Re: OSGi [PREVIOUSLY]Re: Maven Build

2017-10-02 Thread Peter
I'm considering api that may be required for improved OSGi support. In order for an OSGi environment to deserialize a proxy, it needs to first install a bundle for the proxy and resolve any dependencies. For OSGi a ProxyPreparer must first locally marshall (create a MarshalledInstance

Re: OSGi [PREVIOUSLY]Re: Maven Build

2017-09-27 Thread Peter
for ServiceUI yet, at least not for OSGi. The reality is that lots of different service implementations might have common ServiceUI components. Sounds like this is an opportune time to start thinking more about it. It also makes me wonder whether MarshalledInstance could accept a URI codebase string

Re: OSGi [PREVIOUSLY]Re: Maven Build

2017-09-27 Thread Peter
ositories and follow the approach that published versions are immutable, then a client would download the code only once, and re-use as necessary. Or are you thinking of this or something else? Thanks Dennis On Wed, Sep 27, 2017 at 4:59 AM, Peter<j...@zeus.net.au> wrote: Some updates on

Re: OSGi [PREVIOUSLY]Re: Maven Build

2017-09-27 Thread Dennis Reedy
gt; wrote: > Some updates on thoughts about OSGi: > > 1. In JGDMS, SafeServiceRegistrar (extends ServiceRegistrar), > ServiceDiscoveryManager and ProxyPreparer allow provisioning of > OSGi bundles for Jini services. > 2. SafeServiceRegistrar lookup results contain only

Re: OSGi [PREVIOUSLY]Re: Maven Build

2017-09-27 Thread Gregg Wonderly
relying on the “service” setup to include all of that detail, or is there something we can do, to wrap ServiceUI into the mechanism you are talking about here? Gregg > On Sep 27, 2017, at 3:59 AM, Peter <j...@zeus.net.au> wrote: > > Some updates on thoughts about OSGi: &g

OSGi [PREVIOUSLY]Re: Maven Build

2017-09-27 Thread Peter
Some updates on thoughts about OSGi: 1. In JGDMS, SafeServiceRegistrar (extends ServiceRegistrar), ServiceDiscoveryManager and ProxyPreparer allow provisioning of OSGi bundles for Jini services. 2. SafeServiceRegistrar lookup results contain only instances

Re: OSGi Bundles for services

2017-02-24 Thread Peter
d seem best to avoid using codebase annotations in OSGi unless a developer is very familiar with ClassLoaders etc. It might be possible to register ClassLoader's with their codebase annotation locally and associate them with proxy ClassLoaders, via a lookup list in PreferredClassProvider, al

Re: OSGi Bundles for services

2017-02-23 Thread Peter
. There would of course be no codebase annotation losses, the point is objects may not return to their originating loader, so it would seem best to avoid using codebase annotations in OSGi unless a developer is very familiar with ClassLoaders etc. It might be possible to register ClassLoader's

Re: OSGi Bundles for services

2017-02-23 Thread Peter
The client ClassLoader is determined during delayed unmarshalling and smart proxy bundle provisioning. This ensures that deserialization at each endpoint has a compatible view of classes (as recently discussed on osgi-dev). It's important at this time to distinguish between remote objects and remot

Re: OSGi Bundles for services

2017-02-22 Thread Peter
ovisioning. This ensures that deserialization at each endpoint has a compatible view of classes (as recently discussed on osgi-dev). It's important at this time to distinguish between remote objects and remote services, registered with a lookup service. A remote service must have a pr

Re: OSGi Bundles for services

2017-02-22 Thread Peter
Sent from my Samsung device.     Include original message Original message From: Peter <j...@zeus.net.au> Sent: 23/02/2017 03:26:15 pm To: dev@river.apache.org <dev@river.apache.org> Subject: OSGi Bundles for services I've attached some ASCII of the relationship be

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-16 Thread Michał Kłeczek
that are held here around security, OSGI, serialization etc. The questions are very detailed and technical - because there is a lot of things that are not clear in the proposed designs. For example - saying that "deserializing an object is secure because it is a dynamic proxy" is simply

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-16 Thread Gregg Wonderly
questions are more >> important than answers. >> >> Regards, >> >> Peter. >> >> Sent from my Samsung device. >> Include original message >> Original message >> From: Peter<j...@zeus.net.au> >> Se

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-15 Thread Peter
07:48:48 pm To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Miscommunication... as usual :D Anyway - I was really interested why you find the need for the bootstrap  proxy to be necesarilly a dynamic proxy (since you seemed to find i

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-15 Thread Peter
message Original message From: Peter <j...@zeus.net.au> Sent: 15/02/2017 07:01:06 pm To: dev@river.apache.org <dev@river.apache.org> Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Oh I thought it was part of your SmartProxyWrapper?

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-15 Thread Peter
original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 15/02/2017 05:00:14 pm To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy They are valid questions and you haven't answered any of them.

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Michał Kłeczek
. Sometimes the right questions are more important than answers. Regards, Peter. Sent from my Samsung device. Include original message Original message From: Peter<j...@zeus.net.au> Sent: 15/02/2017 12:58:55 pm To: dev@river.apache.org<dev@river.apache.org> Subject: Re: OSGi

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Peter
/  assumptions.  Sometimes the right questions are more important than answers. Regards, Peter. Sent from my Samsung device.     Include original message Original message From: Peter <j...@zeus.net.au> Sent: 15/02/2017 12:58:55 pm To: dev@river.apache.org <dev@river.apache.org> Subje

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Peter
, Peter. Sent from my Samsung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 15/02/2017 06:20:37 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy So I've given i

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Peter
- Original message From: Michał Kłeczek<mic...@kleczek.org> Sent: 14/02/2017 01:27:09 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy See below. Peter wrote: Using one of the secure discovery providers with authentic

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Michał Kłeczek
So I've given it some thought and the only explanation I can come up with is: 1. To create an instance of the bootstrap proxy you need the codebase annotation. 2. Codebase annotation is needed because you want the bootstrap proxy's class to be defined in the proper codebase ClassLoader 3.

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Michał Kłeczek
Let me dig some deeper. Comments inline. Peter wrote: Yes the dynamic proxy's are 100% local code. Remember dynamic proxy's don't have codebase s. :) Of course they do - look at PreferredClassProvider - the dynamic proxy class is defined by the codebase loader! Being a dynamic proxy does

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Peter
. Sent from my Samsung device.     Include original message Original message From: Peter <j...@zeus.net.au> Sent: 14/02/2017 09:34:01 pm To: dev@river.apache.org <dev@river.apache.org> Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy T

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Michał Kłeczek
It seems like I am missing the high level view on the architecture of your software. Would it be possible for you to write one? Peter wrote: There's a new constraint AtomicInputValidation that jeri uses to prevent standard serialization being used. Reggie has been granted DownloadPermission

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Peter
Samsung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 14/02/2017 07:39:52 pm To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Comments inline. Peter wrote: > Som

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Michał Kłeczek
Comments inline. Peter wrote: Some of your assumptions around forbidding code downloading are incorrect, which means the other assumptions that rely upon it are also wrong. Which assumptions? I know about DownloadPermissions. And while using RequireDlPermProvider closes the security

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-14 Thread Peter
mic...@kleczek.org> Sent: 14/02/2017 03:43:39 pm To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Wouldn't it be easier if you simply forbid code downloading during  unmarshalling as in SmartProxyWrapper I've shown in another message? Then

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
Wouldn't it be easier if you simply forbid code downloading during unmarshalling as in SmartProxyWrapper I've shown in another message? Then u use the unmarshalled bootstrap object to securely download the real proxy using existing Jeri implementation. Then you do not need any advanced

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
.  DownloadPermission is incorrectly named, it should be called DefineClassPermission. Regards, Peter. Sent from my Samsung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 14/02/2017 01:45:43 am To: dev@river.apache.org Subject: Re: OSGi NP Co

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
Classloader from being gc'd. Option 2 is loosely coupled ie the OSGi way and published via the service registry, so multiple client consumer bundles may utilise it without causing a ClassLoader reference to any client consumer bundle. For a smart proxy listener, the service could allow a smart proxy

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
01:55:56 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy It is as simple as: interface ServiceProxyDownloader extends Remote, RemoteMethodControl {    Object downloadServiceProxy() throws RemoteException; } //this class is

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
ung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 14/02/2017 01:45:43 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Peter wrote: > The codebase is signed and 

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
wrapper authenticate the service before codebase and smart proxy download? Sent from my Samsung device. Include original message Original message From: Michał Kłeczek<mic...@kleczek.org> Sent: 14/02/2017 01:21:46 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
Include original message Original message From: Michał Kłeczek<mic...@kleczek.org> Sent: 14/02/2017 01:27:09 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy See below. Peter wrote: Using one of the secure dis

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
This has the issue that you are not reusing any OSGi container class loading infrastructure 2. Use OSGi container to install proxy's class bundle - which has other problems discusses so far IMHO there is a third way - but I am still not finished with it :) Thanks, Michal Peter wrote: My take

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
The codebase is signed and download permission is granted only to the signed codebase. Sent from my Samsung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 14/02/2017 01:27:09 am To: dev@river.apache.org Subject: Re: O

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 14/02/2017 01:21:46 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy So if the CodeDownloadingSmartProxyWrapper implements AtomicSerial then  it is fine? Cool 

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
we can do much more to support OSGi. Regards, Peter. Sent from my Samsung device.     Include original message Original message From: Michał Kłeczek <michal@kleczekorg> Sent: 14/02/2017 01:05:54 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
See below. Peter wrote: Using one of the secure discovery providers with authentication and input validation. Download and deserialization permissions are granted dynamically just after authentication, but before download. But now you just moved trust decisions to SafeServiceRegistrar

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
:13:04 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy So your SaveUnmarshallingProxy can do input validation fist as well, can't it? BTW - how does the client unmarshalls SafeServiceRegistrar proxy in a secure way? Thanks,

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
, Peter. Sent from my Samsung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 14/02/2017 01:13:04 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy S

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
There are actually two things that we are discussing at the same time: 1. The need to have an "installer" object and how it should be provided to the client 2. The algorithm of class loader resolution in OSGi These two things are orthogonal to each other and your question is abou

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
solve this problem? Regards, Peter. Sent from my Samsung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 14/02/2017 12:39:40 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invo

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
class with a readResolve method? Sorry. Regards, Peter. Sent from my Samsung device. Include original message Original message From: Michał Kłeczek<mic...@kleczek.org> Sent: 14/02/2017 12:14:41 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deseriali

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
But what if the client has MULTIPLE clients - each with its own exact API version? OSGi handles this case just fine with service trackers. Do you want to give up on this? Thanks, Michal Peter wrote: You can however for each service api package version, it's all in the smart proxy bundle

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
Original message From: Peter <j...@zeus.net.au> Sent: 14/02/2017 12:33:54 am To: dev@river.apache.org <dev@river.apache.org> Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy You can however for each service api package version, it's all 

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
he.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Peter wrote: > In jgdms I've enabled support for https unicast lookup in LookupLocator this  >establishes a connection to a Registrar only, not any service.  This  >functionality doesn't exist in Rive

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
, Peter. Sent from my Samsung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 14/02/2017 12:24:58 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Peter

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
one service per each service interface version any client might require. No... You have to be able to make this class resolution decision on the client. And if the client VM allows to have many class loading context at the same time (as is the case with OSGI) then the infrastructure has

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
.     Include original message Original message From: "Michał Kłeczek (XPro Sp. z o. o.)" <michal.klec...@xpro.biz> Sent: 13/02/2017 11:59:34 pm To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Comments inline. Peter

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
Peter wrote: In jgdms I've enabled support for https unicast lookup in LookupLocator this establishes a connection to a Registrar only, not any service. This functionality doesn't exist in River. How do you propose establishing a connection using one of these endpoints? I am not sure I

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
Samsung device.     Include original message Original message From: "Michał Kłeczek (XPro Sp. z o. o.)" <michal.klec...@xpro.biz> Sent: 14/02/2017 12:00:02 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek (XPro Sp. z o. o.)
Nope - not at all. I am only trying to convince you that there is no reason to involve ServiceRegistrar or SDM for code downloading. HOW the class resolution is done - is another story. I actually tend to think in a similar way to what Niclas said: Do not use OSGi to load proxy class - create

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
I changed it to highlite Nic's point that it's not feasible to resolve and provision osgi bundle transitive dependencies during deserialization because the time taken to do that can be excessive due to NP Complete nature of resolution. It is incompatible with stream codebase annotations. I

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek (XPro Sp. z o. o.)
> Sent: 13/02/2017 11:34:45 pm To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy 1. The connection can be done using normal (secure) Jeri. We do not have to verify the installer object since its classes were loaded locally an

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek (XPro Sp. z o. o.)
Comments inline. Peter wrote: N.B Can't see any chicken egg problem. If service doesn't resolve to same service api as client, then it isn't compatible. The client isn't interested in incompatible services, only those that are compatible This is just an artifact of the dependency

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
o. o.)" <michal.klec...@xpro.biz> Sent: 13/02/2017 11:34:45 pm To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy 1. The connection can be done using normal (secure) Jeri. We do not have to verify the installer object since its cla

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
How do you establish the secure jeri connection? Regards, Peter. Sent from my Samsung device.     Include original message Original message From: "Michał Kłeczek (XPro Sp. z o. o.)" <michal.klec...@xpro.biz> Sent: 13/02/2017 11:34:45 pm To: dev@river.apache.org Subj

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
t;j...@zeus.net.au> Sent: 13/02/2017 11:15:27 pm To: dev@river.apache.org <dev@river.apache.org> Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy So this object that you have with a locally installed class is tasked with  authenticating the remote service, 

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek (XPro Sp. z o. o.)
ioning and resolving a bundle, deserializing the smart proxy and registering it with the OSGi service registrar in a readResolve or readObject method? How do you propose the connection from the client to the service established in order to enable this to occur? How do you prevent an attacker from

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Patricia Shanahan
Sorry, I'm trying to find out the meaning of the current subject line. I'm not sure when it changed to "OSGi MP Complete". On 2/12/2017 10:50 PM, Michał Kłeczek wrote: Sorry, NP Completness of what? I have been the first to mention NP hardness of constraint satisfaction proble

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
So this object that you have with a locally installed class is tasked with authenticating the remote service, provisioning and resolving a bundle, deserializing the smart proxy and registering it with the OSGi service registrar in a readResolve or readObject method? How do you propose

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
On 13/02/2017 6:11 PM, Michał Kłeczek wrote: We are talking about the same thing. We are turning circles, Peter - all of this has been already discussed. 1. Yes - you need to resolve bundles in advance (in OSGi it is not possible to do otherwise anyway) Agree. 2. You cannot decide upon the bun

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
Kłeczek wrote: We are talking about the same thing. We are turning circles, Peter - all of this has been already discussed. 1. Yes - you need to resolve bundles in advance (in OSGi it is not possible to do otherwise anyway) Agree. 2. You cannot decide upon the bundle chosen by the container

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Peter
the smart proxy first? More comments inline below. On 13/02/2017 6:11 PM, Michał Kłeczek wrote: We are talking about the same thing. We are turning circles, Peter - all of this has been already discussed. 1. Yes - you need to resolve bundles in advance (in OSGi it is not possible to do otherwise

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-13 Thread Michał Kłeczek
We are talking about the same thing. We are turning circles, Peter - all of this has been already discussed. 1. Yes - you need to resolve bundles in advance (in OSGi it is not possible to do otherwise anyway) 2. You cannot decide upon the bundle chosen by the container to load the proxy class

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-12 Thread Peter
Also see the OSGi Enterprise specification, v6, Chapter 136, page 691, there's some discussion about the NP-complete nature of dependency resolution there as well. https://www.osgi.org/developer/downloads/release-6/release-6-download/ On 13/02/2017 5:19 PM, Peter wrote: OSGi Dependency

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-12 Thread Peter
OSGi Dependency resolution is. http://underlap.blogspot.com.au/2010/02/osgi-resolution-is-np-complete-so-what.html Which means if we want to support an OSGi environment properly, we may need some time to resolve the dependencies for a smart proxy, before deserializing the proxy, rather than

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-12 Thread Michał Kłeczek
Sorry, NP Completness of what? I have been the first to mention NP hardness of constraint satisfaction problem but I am not sure if this is what you are asking about. Thanks, Michal Patricia Shanahan wrote: Are you literally claiming NP Completeness, or just using that as an analogy for

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-12 Thread Patricia Shanahan
ryManager is the solution. ServiceDiscoveryManager performs discovery and looks up services from registrars based on filters. ServiceDiscoveryManager then performs local filtering. This allows time for proxy bundles to be installed, resolve, started and confirmed type compatible, prior to th

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-12 Thread Peter
, Peter. Sent from my Samsung device.     Include original message Original message From: Peter <j...@zeus.net.au> Sent: 12/02/2017 08:42:23 am To: dev@river.apache.org Subject: Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy Thanks Michal, See inline

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-11 Thread Peter
developers to assist. The proxy implementation (provider) is abstracted behind the service api completely, typical of OSGi practise, ServiceDiscoveryManager allows time for service proxy's to be wired up, prior to deserialization using delayed unmarshalling. The consumer must use the service api to

Re: OSGi NP Complete Was: OSGi - deserialization remote invocation strategy

2017-02-11 Thread Michał Kłeczek
eryManager then performs local filtering. This allows time for proxy bundles to be installed, resolve, started and confirmed type compatible, prior to them being made available (via OSGi service registry if you so desire) for client use. The new interfaces that are part of JGDMS tha

Re: OSGi - deserialization remote invocation strategy

2017-02-08 Thread Peter
Thanks Nic, It looks like OSGi is generating a lot of interest. I'm spending a lot of time respoding to discussions, which is important, but I'd also like to get the the existing test suite working with the new JGDMS OGSi Bundles, so will have to excuse myself as I'm still in the learning

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Gregg Wonderly
> On Feb 7, 2017, at 8:56 AM, Michał Kłeczek (XPro Sp. z o. o.) > <michal.klec...@xpro.biz> wrote: > > Comments inline > > Niclas Hedhman wrote: >> 4. For Server(osgi)+Client(osgi), number of options goes up. In this space, >> Paremus has a lot of experience

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Niclas Hedhman
Maybe there are some misunderstanding somewhere... see below; On Wed, Feb 8, 2017 at 3:35 AM, Peter <j...@zeus.net.au> wrote: > I'm currently only considering OSGi server -> OSGi client. Mick's investigating all four options. Ok, makes it a lot easier for me to follow. >

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Peter
Correct in the second instance. Sent from my Samsung device.     Include original message Original message From: Michał Kłeczek <mic...@kleczek.org> Sent: 08/02/2017 09:24:21 am To: dev@river.apache.org Subject: Re: OSGi - deserialization remote invocation strategy So in thi

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Michał Kłeczek
int and invocation handler and marshal streams) . > > Cheers, > > Peter. > Sent from my Samsung device. > > Include original message > Original message > From: Michał Kłeczek <mic...@kleczek.org> > Sent: 08/02/2017 06:51:55 am > To: dev@riv

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Peter
Kłeczek <mic...@kleczek.org> Sent: 08/02/2017 06:07:19 am To: dev@river.apache.org Subject: Re: OSGi - deserialization remote invocation strategy Hmm.. I see. So your solution explicitly only handles cases of looking up a service  in the ServiceRegistrar. How about smart RemoteEventLis

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Peter
Clarification inline. Sent from my Samsung device.     Include original message Original message From: Peter <j...@zeus.net.au> Sent: 08/02/2017 05:35:57 am To: dev@river.apache.org <dev@river.apache.org> Subject: Re: OSGi - deserialization remote invocation strategy

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Michał Kłeczek
. Include original message Original message From: "Michał Kłeczek (XPro Sp. z o. o.)"<michal.klec...@xpro.biz> Sent: 08/02/2017 05:51:07 am To: dev@river.apache.org Subject: Re: OSGi - deserialization remote invocation strategy So I must have misunderstood the part about sma

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Peter
of MarshalledIstance. Cheers, Peter. Sent from my Samsung device.     Include original message Original message From: "Michał Kłeczek (XPro Sp. z o. o.)" <michal.klec...@xpro.biz> Sent: 08/02/2017 05:51:07 am To: dev@river.apache.org Subject: Re: OSGi - deserialization remote inv

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Michał Kłeczek (XPro Sp. z o. o.)
ude original message Original message From: "Michał Kłeczek (XPro Sp. z o. o.)"<michal.klec...@xpro.biz> Sent: 08/02/2017 12:28:50 am To: dev@river.apache.org Subject: Re: OSGi - deserialization remote invocation strategy Are you proposing to provide a bootstrap

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Peter
Hi Nic, I'm currently only considering OSGi server -> OSGi client.  Mick's investigating all four options. Not expecting the client calling bundle to resolve everything, hence the stack, so we have the full visibility of the bundle of the class that was last resolved, so we can resolve

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Peter
No, no bootstrap objects. Cheers, Peter. Sent from my Samsung device.     Include original message Original message From: "Michał Kłeczek (XPro Sp. z o. o.)" <michal.klec...@xpro.biz> Sent: 08/02/2017 12:28:50 am To: dev@river.apache.org Subject: Re: OSGi - deseri

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Michał Kłeczek (XPro Sp. z o. o.)
Comments inline Niclas Hedhman wrote: 4. For Server(osgi)+Client(osgi), number of options goes up. In this space, Paremus has a lot of experience, and perhaps willing to share a bit, without compromising the secret sauce? Either way, Michal's talk about "wiring" becomes

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Michał Kłeczek (XPro Sp. z o. o.)
Are you proposing to provide a bootstrap object that will download some meta information prior to class resolution? How does it differ from simply changing annotations to be those "bootstrap objects" instead of Strings? Thanks, Michal Peter wrote: Proposed JERI OSGi class loadin

Re: OSGi - deserialization remote invocation strategy

2017-02-07 Thread Niclas Hedhman
TL;DR 1. It sounds awfully complex, because my gut says that it is not a solvable problem, especially since I don't see 4 distinct cases; Server(osgi)+Client(osgi), Server(osgi)+Client(plain), Server(plain)+Client(osgi) and Server(plain)+Client(plain), where the last one is what we currently have

OSGi - deserialization remote invocation strategy

2017-02-07 Thread Peter
Proposed JERI OSGi class loading strategy during deserialization. Record caller context - this is the default bundle at the beginning of the stack. It is obtained by the InvocationHandler on the client side. The InvocationDispatcher on the server side has the calling context of the Remote

Re: OSGi

2017-02-06 Thread Gregg Wonderly
chal.klec...@xpro.biz> wrote: > > Once you realize you need some codebase metadata different than mere list of > URLs > the next conclusion is that annotations should be something different than... > a String :) > > The next thing to ask is: "what about mixed OSGI and n

Re: OSGi

2017-02-06 Thread Michał Kłeczek (XPro Sp. z o. o.)
wrote: For the sake of simplicity it's probably best if OSGi and non interact only using reflection proxy's and have their own djinn groups so code downloading is unnecessary between them. At least that's how I'd consider introducing it into an existing djinn. A jvm that doesn't have version

Re: OSGi

2017-02-05 Thread Michał Kłeczek (XPro Sp. z o. o.)
the assumption that codebase annotations are Strings - it has all the necessary extension points available. I've already started writing the test suite for the thing and hope to present it soon. Thanks, Michal Peter wrote: For the sake of simplicity it's probably best if OSGi and non interact

Re: OSGi

2017-02-05 Thread Peter
For the sake of simplicity it's probably best if OSGi and non interact only using reflection proxy's and have their own djinn groups so code downloading is unnecessary between them.  At least that's how I'd consider introducing it into an existing djinn. A jvm that doesn't have version

Re: OSGi

2017-02-05 Thread Michał Kłeczek (XPro Sp. z o. o.)
Once you realize you need some codebase metadata different than mere list of URLs the next conclusion is that annotations should be something different than... a String :) The next thing to ask is: "what about mixed OSGI and non-OSGI environments" Then you start to realize you need t

Re: OSGi

2017-02-05 Thread Peter
annotation (the smart proxy).  This is similar in some ways to never preferred, where locally visible classes will be selected first. The strategy is to let OSGi do all the dependency wiring from bundle manifests.  Classes not visible will be visible from a common package import class, except for poorly

Re: OSGi

2017-02-05 Thread Peter
  Thanks Nic, If annot You've identified the reason we need an OSGi specific RMIClassLoaderSpi implementation; so we can capture and provide Bundle specific annotation information. Rmiclassloaderspi's loadClass method expects a ClassLoader to be passed in, the context ClassLoader is used

  1   2   3   >