OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-j message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [sca-j] ISSUE 212: @Service vs. @WebService name conflicts


I think I need to clarify as I look at this a little differently.

An implementation can only define one service by any given name.  If the
@Webservice and @Service annotations define a service of the same name,
then I'd assert that:
1) If the interface and policy intents are the same for each service, then
there is only one service defined, and there is no error.
2) If the interface and/or policy intents are different, then there is an
error because the same service is trying to be defined twice, OR
3) If the interface and/or policy intents are different, then the @Service
annotation wins, there is one service defined.

If the @Webservice and @Service annotations define services which have
different names (but potentially the same interface and policy intents),
then either:
A) There are two services defined, OR
B) @Webservice and @Servce can't both be used to define services, so only
the @Service defined service is used.

I think this comes down to the prominence of @Webservice annotations for
defining services.
If we think that @Service is primary, and @Webservice is only considered in
the absence of any @Service annotation, then we'd pick behaviors 1,3,B.
If we think that @Webservice is a more narrow synonym for @Service, then
we'd pick behaviors 1,2,A.

Behaviors 1,3,B correspond to the third grouping in Bryan's email.
Behaviors 1,2,A correspond to parts of the other two groupings because of
the optimized case in behavior 1.  Perhaps someone will make the case that
behavior 1 as defined isn't sufficient to determine equivalence of intent
on the part of the developer to converge the definition of a service across
the two intents.

Dave Booz
STSM, BPM and SCA Architecture
Co-Chair OASIS SCA-Policy TC and SCA-J TC
"Distributed objects first, then world hunger"
Poughkeepsie, NY (845)-435-6093  or  8-295-6093
e-mail:booz@us.ibm.com


|------------>
| From:      |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Bryan Aupperle/Raleigh/IBM@IBMUS                                                                                                                  |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |sca-j@lists.oasis-open.org                                                                                                                        |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |10/04/2010 01:57 PM                                                                                                                               |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Re: [sca-j] ISSUE 212: @Service vs. @WebService name conflicts                                                                                    |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|





After today's call we have three possible approaches to resolving this
issue: Treating a name conflict as an error, having different names define
multiple services or name from @Service overrides name from @WebService.

Here is a starting list of the advantages and disadvantages of each...

Treating a name conflict as an error:
   Advantages
      No surprise services defined
      No need to try and infer developer's intentions
   Disadvantages
      Forces a developer to make source changes to fix error
      Removes developer's control over the SCA service name (i.e. is forced
to use name from @WebService)

Different names define multiple services:
   Advantages
      Allows for different services with different sets of intents
      No need to try and infer developer's intentions
      Generalizes to any service name mismatch scenarios
   Disadvantages
      Potential developer surprise at additional service(s) being created

Name from @Service overrides name from @WebService:
   Advantages
      Keeps developer's control over the SCA service name
      Idea is that @Service was added for a reason
   Disadvantages
      Does not address conflicting @WebService names (@WebService on both
interface and implementation class)
      Potential confusion if a client is using a WSDL document derived,
using JAX-WS tools, from the @WebService annotation (i.e. WSDL portName and
SCA service name would not match)

Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
WW Center of Excellence for Enterprise Systems & Banking Center of
Excellence Application Integration Architect

Research Triangle Park,  NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com

                                                                           
 From:     Bryan Aupperle/Raleigh/IBM@IBMUS                                
                                                                           
 To:       sca-j@lists.oasis-open.org                                      
                                                                           
 Date:     09/24/2010 09:26 AM                                             
                                                                           
 Subject:  [sca-j] ISSUE 212: @Service vs. @WebService name conflicts      
                                                                           






I have uploaded a proposal for Issue 212 base on the discussion in Monday's
call [1].  It includes an additional normative statement in the CAA spec,
with a corresponding Test Assertion and TestCase and comments in the CI
spec including a reference to the CAA spec.  The bulk of the test artifacts
for the test case are available [2].  The updated version of
tuscany-oasis-sca-tests-errors.properties is not ready yet.  Tuscany needs
to add a test for this mismatch and until that is done I do not know what
the error message will be.

[1]
https://www.oasis-open.org/apps/org/workgroup/sca-j/download.php/39538/Issue%20212.zip

[2]
http://tools.oasis-open.org/version-control/browse/wsvn/sca-j/TestCases/?rev=199&sc=1


Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
WW Center of Excellence for Enterprise Systems & Banking Center of
Excellence Application Integration Architect

Research Triangle Park,  NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]