← Prev in month ← Prev in thread

[sca-bindings] Revised proposal to resolve issues 57, 58, and 59

From
Eric Johnson <>
Date
2009-01-29T07:10:32+00:00
ID
Thread
[sca-bindings] Revised proposal to resolve issues 57, 58, and 59
Discussion:

As I go through this attempt at establishing a naming convention, I'm
still suspicious that our approach to acronyms is flawed.  I tend to
agree with sentiment expressed in our call - I think by Simon H. - that
acronyms should be treated as if they were words.  Which means we get
@uri, or @jndiUrl, and a "jms" and "soap" intent.  For example, I note
the Assembly Binding complex type, which has an @uri element.  The
naming conventions expressed in the Assembly specification do not speak
to how this one should be treated, since the "CamelCase" convention
usually applies to words, and of course, "URI" is not a word. 
Following naming convention I proposed in an earlier email, this
attribute would instead be @URI.  So here's a few examples of the
problem (current state listed first, options following):

(Assembly) @uri vs. @URI

(binding.jca) @jndiURL vs. @jndiUrl or @JNDIURL

(binding.jms) @JMSType vs. @jmsType

(binding.jms) @JMSDeliveryMode vs. @jmsDeliveryMode

(policy - value) SOAP vs. soap

(policy - value) JMS vs. jms

To fit with the current state of both the assembly and policy
specification, I think we have to treat element and attribute names
with acronyms as if the acronyms were words.  However, policy intents
need to treat acronyms as all caps items.  An annoying inconsistency,
to be sure, but that's how I proceeded below.  The alternative would be
to have Assembly state a position with regards to acronyms in element
and attribute names, and policy change its position with regards to the
intents "JMS", and "SOAP".

Proposed resolution for issues 57, 58, 59:

Each specification (ws, jms, jca) adds a section
1.4 -
Naming Conventions.

The text of that section as follows (between the two line breaks):

This specification follows some naming conventions for artifacts
defined by the specification.  In addition to the conventions defined
by section 1.3 of the Assembly [SCA-Assembly] specification, this
specification adds two additional conventions:

  
Where the names of elements and attributes consist partially or
wholly of acronyms, those acronyms will be treated as if they are
words, and use the CamelCase conventions outlined in the Assembly
specification.  For example, an attribute might be named "uri", or
"jndiUrl".

  

  
For the values of XML Schema elements or attributes defined in
this specification, the values follow the same convention as the names
of intents in the Assembly specification.  If the value is of type
QName, the local part of the QName value follows the same convention as
names of intents.

  

For resolution of
http://www.osoa.org/jira/browse/BINDINGS-58,
also apply the following changes
to the binding.jca specification:

(In document sca-binding-jca-1.1-spec-cd01-rev4.pdf)

Rename element "jca.outbound.connection" to "outboundConnection",
all occurrences.

Rename element "jca.inbound.connection" to "inboundConnection", all
occurrences.

Rename element "jca.outbound.interaction" to "outboundInteraction",
all occurrences.

Rename element "jca.inbound.interaction" to inboundInteraction", all
occurrences.

Rename attribute "binding.jca/@jndiURL" to "jndiUrl", all occurrences.

The value "ifnotexist" (multiple attributes) should everywhere be
changed to "ifNotExist".

The values of the "resAuth" element, "Container" and "Application"
should be renamed to "container" and "application".

For resolution of
http://www.osoa.org/jira/browse/BINDINGS-59, also apply the following
changes to the binding.jms specification:

(In document sca-binding-jms-1.1-spec-cd01-rev4.pdf)

Rename attribute "binding.jms/jndiURL" to "jndiUrl" for all occurrences

The value "ifnotexist" should everywhere be changed to "ifNotExist".

The attributes "JMSType", "JMSDeliveryMode", "JMSTimeToLive",
"JMSPriority", and "JMSSelector" are renamed to "type", "deliveryMode",
"timeToLive", "priority", and "selector", respectively.

Change "PERSISTENT" value to "persistent"

Change "NON_PERSISTENT" value to "nonpersistent"

Change "sca:MessageId" value to "sca:messageId"

Change "sca:CorrelationID" value to "sca:correlationId"

Rename jndiURL attribute to "jndiUrl"

Rename the element "wireformat.jmsdefault" to "wireFormat.jmsDefault"

The "jms" intent referenced in section 5 of this specification needs to
be capitalized as "JMS" to correspond to the Policy specification.

For resolution of
http://www.osoa.org/jira/browse/BINDINGS-57, also apply the following
changes to the binding.ws specification:

Rename the intents (section #4) from "soap", "soap.1_1" and "soap.1_2"
to "SOAP", "SOAP.1_1", and "SOAP.1_2", respectively.

Hopefully, this wraps it up.

-Eric.
← Prev in month ← Prev in thread