Issue 283: Similar structure to IR::Identifier (orb_revision) Source: (, ) Nature: Uncategorized Severity: Summary: Summary: There is no such type as IR::Identifier? It should really say CORBA::Identifier. Are ServiceTypeNames limited to characters allowed in IDL Identifier and also case sensitive? Resolution: resolved in 2.2 Revised Text: Actions taken: October 19, 1996: received issue February 23, 1999: moved to orb_revision February 26, 1999: closed issue Discussion: closed issue End of Annotations:===== >From mail Sat Oct 19 16:43 EDT 1996 X-Sender: vinoski@pop-e3.ch.apollo.hp.com Date: Sat, 19 Oct 1996 16:38:11 -0400 To: issues@omg.org, orbos@omg.org From: Steve Vinoski Subject: trading spec issues Content-Length: 1293 * The IDL for the Trading Service (page A-1) says in a comment that a ServiceTypeName has a "similar structure to IR::Identifier". What does this mean, given that as far as I know there is no such type as IR::Identifier? Should it really say CORBA::Identifier? If so, does this mean that ServiceTypeNames are limited to the characters allowed in an IDL identifier as defined in CORBA 2.0 section 3.2.3, and are also case insensitive like IDL identifiers? If so, why is ServiceTypeName a typedef of Istring rather than being a typedef of CORBA::Identifier? >From mail Thu Oct 24 04:28 EDT 1996 To: Steve Vinoski Cc: issues@omg.org, orbos@omg.org Subject: Re: trading spec issues Date: Thu, 24 Oct 1996 18:25:23 +1000 From: Kerry Raymond Content-Length: 5220 I have talked to my fellow Trader-ites in the DSTC and these are the DSTC answers to Steve Vinoski's questions. > * The IDL for the Trading Service (page A-1) says in a comment that a > ServiceTypeName has a "similar structure to IR::Identifier". What > does this mean, given that as far as I know there is no such type as > IR::Identifier? Should it really say CORBA::Identifier? Yes, the IR is in module CORBA and it should have been CORBA::Identifier, but it was in a comment, so the IDL isn't broken. > If so, does this mean that ServiceTypeNames are limited to the > characters allowed in an IDL identifier as defined in CORBA 2.0 section > 3.2.3, and are also case insensitive like IDL identifiers? If so, why > is ServiceTypeName a typedef of Istring rather than being a typedef of > CORBA::Identifier? As you might remember, there was an issue raised with the AB on whether the Trader spec should put its service types in the Interface Repository or in some other repository. The AB decision was to *not* use the IR and I suspect that comment in the IDL is a carry-over from the time when we thought the IR would be used. If the IR had been used, then, yes, the usual definition of IDL identifiers (including case-insensitivity) would have applied. However, the Trader spec ended up having to specify its own repository for service types, although there was some feeling that this would just be a temporary measure with the expectation that the Meta-Object Facility might be a long-term solution, to be resolved in some future revision process. The issue with the use of Istring everywhere in the Trader spec was due to the concurrent RFP process on IDL extensions and the expectation that internationalised strings would become the "norm" for textual data in all CORBAservices. The net result of all this is that a ServiceTypeName is just an Istring (which is defined as a string, currently) without any specific syntax. So, a ServiceTypeName can be any of these: "Banking::Savings" "/banking/savings" "C:\banking\savings" "There once was a man from HP" "@$#@# #@#$*" "" and exact string comparison (i.e. with full case sensitivity) applies to determine equivalence of ServiceTypeNames. This means that there isn't any immediate use for the IllegalServiceType exception, but I guess it future-proofs us against the day when ServiceTypeNames are more constrained. Perhaps I am wrong in this interpretation, but in the absence of any explicit statement to the contrary, I would always assume that a string is any sequence of characters, a long is any integer value expressible by 2s-complement in 32 bits, etc. However, to forestall the obvious response, I am inclined to agree that a little more structure for ServiceTypeName might be a "good thing". Return-Path: Date: Wed, 30 Jul 1997 12:27:37 +0100 From: Bridget Walsh Reply-To: bwalsh@iona.com Organization: Iona Technologies To: issues@omg.org CC: bwalsh@dublin.iona.ie Subject: Issue 283: Similar structure to IR::Identifier I believe the format of service type names should be tightened up, as it's causing confusion. It makes it difficult for users of the Trader to know which format to use. At the moment, they can use either Repository Id format (e.g "IDL:a/b:1.0") or a fully scoped name ("::a::b"). For future compatibility of code, and for interacting with other traders, it seems to make more sense just to go for "Repository Id" format as standard. A similar issue arises with "interface name". I think this should be "Repository Id" format also. I realise it's stricter than it needs be, but it resolves ambiguity, and makes it easier to write consistent code. Users will get an error if they're not using the standard format, which most of them would want. what do people think ? thanks, Bridget -- Bridget Walsh | E: bwalsh@iona.com | T: +353 1 6625255 Iona Technologies | ftp.iona.com | F: +353 1 6625244 8-10 Lwr Pembroke St. | http://www.iona.com | T: (US/Can) 1 800 orbix4u Dublin 2, Ireland | Return-Path: X-Authentication-Warning: foxtail.dstc.edu.au: michi owned process doing -bs Date: Mon, 4 Aug 1997 16:28:08 +1000 (EST) From: Michi Henning To: Bridget Walsh cc: issues@omg.org Subject: Re: Issue 283: Similar structure to IR::Identifier On Wed, 30 Jul 1997, Bridget Walsh wrote: > I believe the format of service type names should be tightened up, > as it's causing confusion. Yes, this is definitely under-specified. > It makes it difficult for users of the Trader to know which format > to use. At the moment, they can use either Repository Id format > (e.g "IDL:a/b:1.0") or a fully scoped name ("::a::b"). > > For future compatibility of code, and for interacting with other > traders, it seems to make more sense just to go for "Repository Id" > format as standard. Hmmm... I'm not sure I'm happy about using repository ids. The problem I see is that a repository id explicitly identifies an IDL interface. However, service type names are not IDL interfaces. My preferred idea is to use a scoped name (like ::a::b), and to define equivalence of scoped names such that "::a::b" and "a::b" compare as identical (that way, whether the leading :: qualifier is used or not doesn't matter for comparison). > A similar issue arises with "interface name". I think this should > be "Repository Id" format also. Yes, definitely, this is the only thing that makes sense. Cheers, Michi. -- Michi Henning +61 7 33654310 DSTC Pty Ltd +61 7 33654311 (fax) University of Qld 4072 michi@dstc.edu.au AUSTRALIA http://www.dstc.edu.au/BDU/staff/michi-henning.html