From: Simon Nash
[mailto:NASH@uk.ibm.com]
Sent: Sunday, March 02, 2008 6:47 PM
To: Mary McRae
Cc: Michael Rowley; sca-j@lists.oasis-open.org
Subject: Fw: [sca-j] package names
Mary,
I am following
up on this discussion on behalf of the OpenCSA sca-j co-chairs. There is
now a formal issue open for this (JAVA-28), with a proposed resolution to leave
the Java package names as they are specified in the SCA 1.0 input documents
submitted to OASIS (i.e., as "org.osoa.sca" and
"org.osoa.sca.annotations").
The sca-j TC
has asked the sca-j co-chairs to clarify whether a decision by the sca-j TC to
retain exisiting package names starting "org.osoa," for compatibility
reasons would be acceptable to OASIS. When we have received this
clarfication, we will proceed to a resolution of this issue.
The rationale
for leaving the names unchanged is that products are already available that
implement the current package names, and a growing body of applications is
being created that uses the current package names. Changing the package
names would require all implementing products and all using applications to
make an incompatible change, which would be very disruptive.
The JCP has
many precedents for how to deal with this situation. It is appropriate to
look to the JCP for guidance, as this body has a lot of experience in dealing
with Java package name issues. Over the years, the JCP has brought many
APIs into the JDK that were previously in extension packages. The normal
naming convention for APIs in the JDK is to start package names with
"java." and for APIs in extension packages the convention is to start
them with "javax." However, when APIs are brought into the JDK
from extensions, the existing "javax." names are not changed to
"java." names but are retained unchanged. This is because the
disruptive impact of package renaming on developers would outweigh the value of
strict naming consistency within the JDK.
In addition to
package names starting with "java." and "javax.", the JDK
contains many APIs with other package names such as "org.ietf.",
"org.omg.", "org.xml.", and "org.w3c.".
These names were previously created by other "de jure" or
"de facto" standards organizations, and were left unchanged when the
APIs were brought into the JDK.
For new Java
APIs created by OASIS, a consistent package naming convention that identifies
the APIs as belonging to OASIS is clearly desirable. An obvious choice
would be "org.oasis." but there is a difficulty with this name
because normal Java package naming rules would give the right to use the
"org.oasis." package name to the owner of the "oasis.org"
domain and not to the owner of the "oasis-open.org" domain. The
name "org.oasis-open." cannot be used for Java packages, because the
minus sign "-" is not valid within a Java name. OASIS needs to
resolve this problem so that it can give naming guidance for new Java package
names created by OASIS TCs, but this is a separate discussion from the issue
that is facing the sca-j TC today.
It should be
pointed out that the OASIS policy of requiring XML schema namespaces to be
within the oasis-open.org domain has a technical justification that does not
apply to Java package names. XML schema URIs may need to be
dereferenceable directly from a URL that is fully under OASIS control, and this
can only be achieved by putting schema names in the oasis-open.org domain.
This consideration does not apply to Java API names, which are never deferenced
directly.
Many thanks for
your help with this.
Simon
Simon C. Nash,
IBM Distinguished Engineer
Member of the IBM Academy of Technology
Tel. +44-1962-815156 Fax +44-1962-818999
-----
Forwarded by Simon Nash/UK/IBM on 02/03/2008 22:39 -----
Bryan
Aupperle <aupperle@us.ibm.com>
14/01/2008
13:29
|
To
|
sca-j@lists.oasis-open.org
|
cc
|
|
Subject
|
Fw:
[sca-j] package names
|
|
Mary's feedback.
Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Master Inventor
Research Triangle Park, NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com
----- Forwarded by Bryan Aupperle/Raleigh/IBM on 01/14/2008 08:29 AM -----
"Mary
McRae" <mary.mcrae@oasis-open.org>
Sent by: Mary McRae <marypmcrae@gmail.com>
12/13/2007
05:06 PM
Please respond to
<mary.mcrae@oasis-open.org>
|
|
To
|
Bryan
Aupperle/Raleigh/IBM@IBMUS
|
cc
|
|
Subject
|
RE:
[sca-j] package names
|
|
Thanks Bryan, for the info. I hadn’t considered actual executable code. I
think replacing osoa with oasis is all that would be required; beyond that I
would accept best practice. Most TCs aren’t involved in writing code, or
it’s done as an external project and not part of the actual TC work
product.
I’m glad I asked the question!
Mary
From:
Bryan Aupperle [mailto:aupperle@us.ibm.com]
Sent: Thursday, December 13, 2007 4:34 PM
To: mary.mcrae@oasis-open.org
Subject: RE: [sca-j] package names
Packages are a Java concept and are used partition the Java name space to
eliminate collisions much the same way namespaces are used in XML. They
are hierarchical in nature and there is a direct correspondence between the
package name hierarchy and the directory structure in which the classes that
belong to packages are stored in a file system. Some examples:
java.lang.annotation
javax.xml.xpath
org.apache.xerces
org.eclipse.sdk
As I said below, the current one for SCA is org.osoa.sca, but I suspect that
this will need to change. There is a similar concept is C++, which is
prompting my query. C++ has a namespace construct. It is also
hierarchical in nature insofar as one namespace can be nested in another.
C++ namespaces have names that are valid C++ identifiers. Currently
in C++ we use osoa::sca.
I did not find anything in the OASIS material that provided any guidance on
this.
Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Master Inventor
Research Triangle Park, NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com
"Mary
McRae" <mary.mcrae@oasis-open.org>
Sent by: Mary McRae <marypmcrae@gmail.com>
12/13/2007
01:24 PM
Please respond to
<mary.mcrae@oasis-open.org>
|
|
To
|
Bryan
Aupperle/Raleigh/IBM@IBMUS
|
cc
|
|
Subject
|
RE:
[sca-j] package names
|
|
Hi Bryan,
Not sure what you mean by “package names” – there are TC
Admin-approved namespace and URI designs, if that’s what you’re
referring to? If not, I’m happy to provide assistance.
Regards,
Mary
From:
Bryan Aupperle [mailto:aupperle@us.ibm.com]
Sent: Thursday, December 13, 2007 12:11 PM
To: sca-j@lists.oasis-open.org
Subject: [sca-j] package names
I know that this is a minor thing, but has there been any discussion about
needing to change the package names from org.osoa.sca... to something else -
potentially org.oasis.sca... or org.oasis-open.sca...?
Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Research Triangle Park, NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com
Unless
stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU