I guess the Peter's problem with service.pid was that it is not defined by
the user. It is unique indeed. However, if you have a distributed system,
there is no function in ConfigurationAdmin to create a configuration with
the same service.pid on the other node. A clustered solution cannot be
implemented as an extension (catching events and pushing to other node) but
only be re-implementing ConfigurationAdmin with the replication feature
inside.

service.pid is assigned to one configuration instance. If someone wants to
replace with another implementation (that registers the same OSGi
services), he/she must also re-configure all dependent components.

service.pid is is not human-readable. That is where service.description
could help. It is not unique, not even for configurations with the same
factory pid. Description does not mean a short text so it cannot be shown
on a graph for each node. Or it can, but it in the way that if it is too
long, it is cropped.

For me for now, it does not matter if service.description is unique or not.
The only one importance is that it should be human readable. As soon as I
want to have clustered OSGi containers, I will have the same problems as
Peter has (so I will write a new e-mail :)).

As OSGi is more and more common in the server side world of Java, I think
many will try to find a solution for these issues. It would be nice if
there was a standard answer.

Regards,
Balazs

On Wed, Aug 6, 2014 at 11:55 AM, BJ Hargrave <[email protected]> wrote:

> service.pid is unique across all configurations belonging to a factory
> pid. Why is that not enough?
>
> The original email was looking for a label that was human readable for a
> UI. And service.description would work for that usage.
> --
>
>  *BJ Hargrave*
> Senior Technical Staff Member, IBM
> OSGi Fellow and CTO of the *OSGi Alliance* <http://www.osgi.org/>
> *[email protected]* <[email protected]>
>
> office: +1 386 848 1781
> mobile: +1 386 848 3788
>
>
>
>
>
> From:        Peter Kriens <[email protected]>
> To:        OSGi Developer Mail List <[email protected]>
> Date:        2014/08/06 05:48
> Subject:        Re: [osgi-dev] Asking for service.pid.label standard
> property
> Sent by:        [email protected]
> ------------------------------
>
>
>
> I do not think it is a label (though it is useful as such) that is needed.
> The service.id is clever but is intended to be human readable and has no
> unique requirements. I frequently have the need for a unique id within one
> factory pid so you can make updates idempotent which you cannot do without
> such an id.
>
> The first use was FileInstall. Since it gets configurations from the file
> system and applies them to Config Admin I needed a way to make sure I did
> not create multiple factory configurations accidentally. The only solution
> I could see was to add an anchor property to the factory configuration so
> that I could see that specific configuration was already created and I just
> needed to update it.
>
> Since then (15 years ago :-( ) I've have many other cases that required
> this same feature, last time was actually last week when I developed a
> distributed Configuration Admin. I've also seen the same pattern being
> invented independently by others.
>
> So I do think we should consider a feature in CM where we can have a
> property that must be unique among all configuration instances belonging to
> a factory pid. It would benefit tools like Web Console, distributed CM,
> file install, etc. if we would have a standard property name for this
> concept.
>
> Kind regards,
>
> Peter Kriens
>
>
>
>
>
>
> On 5 aug. 2014, at 21:23, BJ Hargrave <*[email protected]*
> <[email protected]>> wrote:
>
> Why isn't this just service.description? It's value can certainly be
> unique for every registered service and tools can display it (or some
> abbreviation if long).
>
> I am not sure I see the need for another human readable "label" on a
> service registration.
> --
>
>  *BJ Hargrave*
> Senior Technical Staff Member, IBM
> OSGi Fellow and CTO of the *OSGi Alliance* <http://www.osgi.org/>
> *[email protected]* <[email protected]>
>
> office: +1 386 848 1781
> mobile: +1 386 848 3788
>
>
>
>
>
> From:        Peter Kriens <*[email protected]*
> <[email protected]>>
> To:        OSGi Developer Mail List <*[email protected]*
> <[email protected]>>
> Date:        2014/08/05 09:13
> Subject:        Re: [osgi-dev] Asking for service.pid.label standard
> property
> Sent by:        *[email protected]*
> <[email protected]>
>
> ------------------------------
>
>
>
> Ok, I now understand you better ... you want an Configuration Admin
> independent unique id for a factory instance. This is actually a pattern I
> used a lot myself, I usually call it the 'anchor'. For each factoryPid, the
> anchor must be unique. This allows you to create a configuration that are
> idempotent.
>
> Why don't you file a bug on the public OSGi bugzilla? These bugs are
> discussed in the EG meetings and can result in a RFP.
>
> Kind regards,
>
> Peter Kriens
>
>
>
> On 5 aug. 2014, at 12:35, Balázs Zsoldos <*[email protected]*
> <[email protected]>> wrote:
>
> Yes it can be. However, a standard and reserved property name would be
> good as:
>
> - DS and other similar technologies could generate metatype in the way
> that it contains this property always in the first place
> - Web UI could show the label in the table of configuration/component (not
> only on the details view)
> - Graph representations like x-ray could also show this label therefore it
> would be easier to see the state of the system
>
> It is possible to solve this in a custom way with metatype. In case of a
> custom solution, all of the tools have to be also customized to provide
> better information about the system. A standard name would solve this
> issue, by the time every tool would use it.
>
> I do not mean long specifications here. Only a new property in the
> Constants interface with some Javadoc. There should be no check if label is
> unique, it is just a useful property that the user can set always. If there
> is no value provided by the user, the default value can be service.pid.
>
> It is really a nightmare now to configure a system via the UI where there
> are 6-7 components that reference each other and that are instantiated
> multiple times.
>
> * Zsoldos Balázs*
> Rendszertervező | Software architect
>
>
>
> +36 70 594 9234 | *[email protected]* <[email protected]>
>
> * EverIT Kft.*
> 1137 Budapest, Katona József utca 17. III. em. 2.
> *http://www.everit.biz* <http://www.everit.biz/> I *[email protected]*
> <[email protected]>
>
> Ezen üzenet és annak bármely csatolt anyaga bizalmas, jogi védelem alatt
> áll, a nyilvános közléstől védett. Az üzenetet kizárólag a címzett, illetve
> az általa meghatalmazottak használhatják fel. Ha Ön nem az üzenet
> címzettje, úgy kérjük, hogy telefonon, vagy e-mail-ben értesítse erről az
> üzenet küldőjét és törölje az üzenetet, valamint annak összes csatolt
> mellékletét a rendszeréből. Ha Ön nem az üzenet címzettje, abban az esetben
> tilos az üzenetet vagy annak bármely csatolt mellékletét lemásolnia,
> elmentenie, az üzenet tartalmát bárkivel közölnie vagy azzal visszaélnie.
>
>
> This message and any attachment are confidential and are legally
> privileged. It is intended solely for the use of the individual or entity
> to whom it is addressed and others authorised to receive it. If you are not
> the intended recipient, please telephone or email the sender and delete
> this message and any attachment from your system. Please note that any
> dissemination, distribution, copying or use of or reliance upon the
> information contained in and transmitted with this e-mail by or to anyone
> other than the recipient designated above by the sender is unauthorised and
> strictly prohibited.
>
>
>
> On Tue, Aug 5, 2014 at 12:07 PM, Peter Kriens <*[email protected]*
> <[email protected]>> wrote:
> Isn't this a job for metatype?
>
> Kind regards,
>
> Peter Kriens
>
> On 5 aug. 2014, at 10:11, Balázs Zsoldos <*[email protected]*
> <[email protected]>> wrote:
>
> Hi,
>
> we use Declarative Services very often. We use the web console and its DS
> plugin as well.
>
> Our experience is that it is easy to configure a system until every
> Component is instantiated ones. However, as soon as we want to create
> several configurations for components it is almost impossible to configure
> the system without creating a spreadsheet and maintain the configuration
> there as well. In the spreadsheet, we normally create label-service.pid
> pairs so we can know the aim of an instance without going through all of
> its references transitively.
>
> I would like to ask you to define a standard "service.pid.label" property
> in the specification. This would be an optional property that could be
> defined for every configurations. In case this is defined, this could be
> shown on every management screens that would make configuration much
> faster. If a reference of a component has service.pid.label defined, that
> could be shown at the references.
>
> service.pid.label would not have any functionality, it would be simply a
> reserved word so technology implementors (especially webconsole plugin
> developers) would know that they can use it.
>
> Thanks and regards,
> * Zsoldos Balázs*
>
> _______________________________________________
> OSGi Developer Mail List
> *[email protected]* <[email protected]>
> *https://mail.osgi.org/mailman/listinfo/osgi-dev*
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
>
>
> _______________________________________________
> OSGi Developer Mail List
> *[email protected]* <[email protected]>
> *https://mail.osgi.org/mailman/listinfo/osgi-dev*
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
>
> _______________________________________________
> OSGi Developer Mail List
> *[email protected]* <[email protected]>
> *https://mail.osgi.org/mailman/listinfo/osgi-dev*
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
> [attachment "smime.p7s" deleted by BJ Hargrave/Austin/IBM]
> _______________________________________________
> OSGi Developer Mail List
> *[email protected]* <[email protected]>
> *https://mail.osgi.org/mailman/listinfo/osgi-dev*
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
> _______________________________________________
> OSGi Developer Mail List
> *[email protected]* <[email protected]>
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
> [attachment "smime.p7s" deleted by BJ Hargrave/Austin/IBM]
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to