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

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

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


Subject: RE: [sca-assembly] ISSUE 16 - Binding URI - alternative


 

I see value in David's use case for URIs – so that you can refer to any kind of construct that has been deployed into the domain.  One use of this just came up the other day in the policy TC.  We would like to be able to create an external policy file that points to a deployed component/service/reference/etc and associate a policy with it.  It is useful if you can refer to it with a URI.

 

However, I see little value in customizing these URIs.  I see little reason why the structure of the domain should not translate directly into the URI of these constructs.  This customization does not seem to be sufficiently valuable to warrant including a @uri attribute on every element of a composite file.

 

You also can get into some very confusing situations.  If every element can customize its URI by a @uri attribute, then you would think that a reference binding would also be able to customize its URI, but it already has a @uri attribute, which means something completely different.  It isn’t the URI of the binding (so you can manage it), it is the URI that the binding will talk to.

 

By contrast, I’ll argue that what David calls a “deployed URI” _is_ something that people would want to customize.  This is because the URI landscape made available to external users should be carefully constructed so that it does not change, even when the structure of the domain changes.

 

Java EE allows you to customize the path part of the URIs for web-apps through the context-root property of a deployment descriptor.  In some scenarios it is also appropriate to be able to customize the “authority” part of the URI (e.g. http://foo.com).  Customizing the authority is possible in very simple deployments, where the host domain is fixed, or in much more complex deployments, where you have some kind of a virtual hosting capability.

 

Michael

 

-----Original Message-----
From: David Booz [mailto:booz@us.ibm.com]
Sent: Tuesday, April 01, 2008 2:33 PM
To: sca-assembly@lists.oasis-open.org
Subject: [sca-assembly] ISSUE 16 - Binding URI - alternative

 

 

First, to establish context.  My issue with the current proposal is not so

much the proposal itself (i.e. the mechanics of constructing a URI), but

the use cases which motivated the proposal.  For the purposes of this

discussion, I'll define the term deployed URI to mean the URI that a

deployed service is listening on such that a client outside the SCA Domain

can use this URI to invoke the service.  The use cases suggest that the URI

which results from the construction algorithm in the proposal are used as

'deployed URI's.  There's no where in the CD01 spec that requires this

usage of binding URIs.  The existing CD01 and this proposal talk about 'the

URI of a deployed binding'.  I'm concerned that some people interpret

'deployed URI' and 'the URI of a deployed binding' to be identical.  In my

proposal, they are not.  Further I think it is in appropriate for SCA

composites to contain deployment specific topology information such as

'deployed URI's.  The usual response to such a comment is that 'deployed

URI's are allowed in reference bindings, so we're already pregnant.  True,

but that's an accomodation for early adopters, and it's important to

remember that.  In a real production system references won't have these

brittle 'deployed URI's either, they will be found in WSDL documents or

service registries or in WSDL documents which are in service registries.

 

My view of these URIs is that they represent resources in the SCA Domain.

Bindings have URIs, components have URIs, services have URIs, etc.  The

URIs can be used to address deployed instances in the Domain model.  One

set of use cases involve using the URIs within management software to enact

dynamic changes on the Domain.  With this view, I think the only conflict I

have with the current proposal is over the need to have more than 1 base

Domain URI.  The essence of my alternative proposal is to assert that there

need not be more than one base Domain URI per Domain.  The current proposal

says that the base Domain URI is implementation dependent.  I agree.  If a

runtime wanted to use the URIs associated with a binding to do double duty

as a 'deployedURI' as well, I suppose we should allow that since creation

of 'deployedURI's is really up to the implementation anyway.  The other

changes you'll see are Word comments which indicate a desire to distribute

the text for constructing a component URI into the component section,

service URI construction into the service section, etc.  I would like to

add reference URIs and possibly property URIs, but I'll wait to see where

the TC lands before I put in a lot of work.

 

 

Editting the existing document is going to be painful.  I modified the

existing document very slightly, but it's going to be very hard to make

heads or tails of who changed what.  I put in some markers around points

where I added comments.  I suggest that reviewers temporarily use a

combination of accepting changes from one or more editors to make sense of

it.  There are some sections that need to be moved, but I'm quite afraid of

actually doing it.  I already had to recover the document once and have

spent more time on this than might possibly imagine.  Hopefully this is

enough to give a feel of the alternative so that we can discuss it.

 

(See attached file: Issue_16_URI Construction_Proposal_04.doc)

 

This completes my AI 2008-03-18-2

 

Dave Booz

STSM, SCA and WebSphere Architecture

Co-Chair OASIS SCA-Policy TC

"Distributed objects first, then world hunger"

Poughkeepsie, NY (845)-435-6093  or  8-295-6093

e-mail:booz@us.ibm.com

http://washome.austin.ibm.com/xwiki/bin/view/SCA2Team/WebHome



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