[oslc-core] Attachments
Martin Nally
nally at us.ibm.com
Mon Feb 7 18:04:10 EST 2011
To me this sounds like there is not a sufficiently compelling reason to
specify anything new, beyond perhaps explaining how Dave's non-design can
be applied to attachments. How would we poll the stakeholders to test that
assertion?
Best regards, Martin
Martin Nally, IBM Fellow
CTO and VP, IBM Rational
tel: +1 (714)472-2690
|------------>
| From: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|Nick Crossley/Irvine/IBM |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|James Conallen/Philadelphia/IBM at IBMUS |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Cc: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|Martin Nally/Raleigh/IBM at IBMUS, oslc-core at open-services.net@ |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|02/07/2011 04:54 PM |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|Re: [oslc-core] Attachments |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
I do not have a strong opinion on this either. I agree that the simple
'create a separate resource and then link it' approach that Dave has
written up is so simple that it need not be described - and describing it
as an attachment pattern might be misleading. If we do feel the need to
define a recommended pattern for the more complex cases, I have no strong
preference between a multipart approach vs. a creation factory approach, or
any other. Since different use cases might lead service providers to make
different choices here, I'm not convinced that recommending a single
pattern is even appropriate.
As far as common properties are concerned, I'm not convinced that we should
define an oslc:attachment property at this stage, since I do not think we
have an agreed common type or representation of such a property.
BTW, the SCM domain does not currently define or use attachments. My
examples of attachments that had dependent life cycles came primarily from
the CM domain, with attachments to change requests.
Nick.
-----oslc-core-bounces at open-services.net wrote: -----
To: Martin Nally/Raleigh/IBM at IBMUS
From: James Conallen/Philadelphia/IBM at IBMUS
Sent by: oslc-core-bounces at open-services.net
Date: 02/07/2011 01:31PM
Cc: oslc-core at open-services.net, oslc-core-bounces at open-services.net
Subject: Re: [oslc-core] Attachments
Actually I don't have any strong opinions on any of the approaches. In my
opinion attachments are just resources that we don't expect to parse, and
can be expected be provided back when asked. Whether or not they are
managed by the attachee's managing provider is really just one way to
facilitate its lifecycle being tied to that of the attachee resource. In
the SCM domain it is important that the lifecycle of an attachment
resource is closely associated with the 'atachee' resource.
In the AM domain this is not so important, and we can probably get away
with it just being another reference property.
What I think is more important is; should the OSLC Core define a common
property called 'attachment' or not? Is this a re-usable property like
title, and description? When spec writers need to have an attachment like
mechanism to support scenarios in their domain, should they reuse this
oslc 'attachment' property, or create a property in their domain (possibly
defining a cm:attachment, rm:attachment, qm:attachment, and am:attachment
property in each domain)?
If we don't define such a property then all the domains are free to use
what ever mechanism is most appropriate for their domain (i.e. SCM
adopting a formal Attachment resource to help manage the meta information
it needs, and CM using a simple cm:attachment property pointing to any
resource managed by any server).
I think the model that an attachment is actually part of the state of the
resource itself is an interesting one. At first thought, it didn't strike
me as what most people consider an attachment (something stapled to some
form that supplies supplementary information). But when I think of an
attachment to an email, it may not affect the text in the email, but the
overall message may be changed by it, and hence it has a different state.
By the way, this model of attachments obviously fulfills Nick's needs to
manage the life cycle of the attachment resource. When the resource is
deleted, all its state contributing resources could be considered deleted
(or at the very least not reachable through the original resource's URI).
If we adopt this approach (or any approach), I think spec writers and
clients would appreciate the OSLC Core to define a recommended pattern for
dealing with 'attachment' like things.
<jim/>
jim conallen
CAM Lead Architect, OSLC AM Lead
jconallen at us.ibm.com
Rational Software, IBM Software Group
(Embedded image moved to file: pic07231.gif)Martin Nally---02/07/2011
03:27:54 PM---I thought some more about attachments in the shower. The
design I still like the best is Dave's non-
From: Martin Nally/Raleigh/IBM at IBMUS
To: oslc-core at open-services.net, oslc-core-bounces at open-services.net
Date: 02/07/2011 03:27 PM
Subject: [oslc-core] Attachments
Sent by: oslc-core-bounces at open-services.net
I thought some more about attachments in the shower.
The design I still like the best is Dave's non-design, that says
attachments are not a special concept - they are just regular resources,
related to their "attachee" by a regular predicate.
If you really wanted to have something special for attachments, you could
do a design like the one Jim seemed to push on. In this design,
attachments
are still resources, but they can only be created by posting to a special
attachee-specific factory, can only be unattached by deleting them, and
are
deleted when the attachee is deleted. There is a predicate that links
attachees to attachments, but it cannot be manipulated like a regular
predicate - it can only be altered by new POSTs to the special factory, or
deletes of existing attachments.
It occurs to me that there is a different mental model for attachments
that
is worth thinking about. In this model, attachments are not separate
resources, they are part of the state of the resource they are attached
to.
When you create an attachment, you are adding to the state of the attachee
- you are not creating a new resource. Obviously, when you delete a
resource all its attachments will disappear since they are part of the
resource's state. When you get a resource with attachments, you may,
depending on your request accept headers, get a multi-part body
(http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html) that contains the
attachments as well as a representation of the other state. A crude way of
adding or removing attachments is to POST the whole multi-part thing back
-
it would be tempting to invent something additional. It would be possible
to invent URLs that return the portion of the resource state corresponding
to an individual attachment, even though it is not a resource, in the same
way that we invent URLs that can return a single triple of the state of a
resource, even though the triple is not a resource.
One of the reasons I like Dave's non-design is that the more I think about
more complex approaches to attachments, the less obvious it is to me what
the right model is. I think this is one of those problems that is much
harder than originally meets the eye.
Best regards, Martin
Martin Nally, IBM Fellow
CTO and VP, IBM Rational
tel: +1 (714)472-2690
_______________________________________________
Oslc-Core mailing list
Oslc-Core at open-services.net
http://open-services.net/mailman/listinfo/oslc-core_open-services.net
_______________________________________________
Oslc-Core mailing list
Oslc-Core at open-services.net
http://open-services.net/mailman/listinfo/oslc-core_open-services.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pic07231.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://open-services.net/pipermail/oslc-core_open-services.net/attachments/20110207/03de371c/attachment.gif>
More information about the Oslc-Core
mailing list