This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.

OSLC AM Scenario: Long Running MDD Transformations

In this scenario the server performs a long running operation like a MDD transformation. The transformation creates and modifies resources on the server, and perhaps externally (i.e. in SCM). The client initiates the process with a request to create a certain type of resource. The client can then poll that resource for status.

The general outline of the scenario is captured in the following sequence diagram.

initiating transformation

We are considering this as a general pattern for executing services, especially long running services on managed resources. The actual details of the resource properties are not important at this point, but are used below as part of an actual executable example.

Example

In this example the transformation happens on resources that the AM service provider manager (i.e. Entity resources), and produce source code and/or configuration files. These generated resources are placed in an SCM or on a filesystem. The transformation process updates each of the resources transformed, setting a property to point to the generated artifact as the most recently generated resource.

Transformation process

The transformation resource itself goes througha series of status (Initiated -> Processing -> [Completed Succesfully | Completed Unsuccessfully] ). This status is a property of the transformation resource.

The transformation can be canceled by DELETE ing it or perhaps the client can PUT and update to the resource with an action property to abort.

Some changes the service might reject (i.e. changing of parameter values mid way through transformation).

generic vs. tansform long runnig services

Resources

This scenario requires a separate resource type to represent the transformation (generation). Its properties both indicate the type of transformation but also any parameters for the transform. This example also requires a specialized AM resource to act as the source of the transformation.

resources

Entity Generator Resource

Entity Generator Resource is a resource that represents and manages a long running transformation of Entities to source code.

  • Name: EntityGeneratorResource
  • Type URI http://open-services.net/ns/am#EntityGeneratorResource

Prefixed Name Occurs Read-only Value-type Representation Range Description
dcterms:title exactly-one unspecified String n/a n/a The name of this transformation.
dcterms:description zero-or-one unspecified String n/a n/a Descriptive text about the transformation.
oslc_am:status exactly-one true String n/a n/a The current status of this transformation.
oslc_am:entity one-or-more true Resource Reference oslc_am:EntityResource A reference to an Entity to include in the transformation.
oslc_am:path exactly-one true String n/a n/a A path relative to the service provider pointing where to place the generated resources.
oslc_am:startTime exactly-one true Date Time n/a n/a The time the service started the transformation process. This time may be different from the creation time of this resource.
oslc_am:completionTime exactly-one true Date Time n/a n/a The time the transformation completed.

Entity Resource

Entity Resource is a model element resource that represents an Entity. It has simple properties (name/type) and can be transformed into source code.

  • Name: EntityResource
  • Type URI http://open-services.net/ns/am#EntityResource

Prefixed Name Occurs Read-only Value-type Representation Range Description
dcterms:title exactly-one unspecified String n/a n/a The name of this Entity.
dcterms:description zero-or-one unspecified String n/a n/a Descriptive text about the Entity.
oslc_am:entityProperty zero-or-one false Local Resource Inline oslc_am:EntityProperty A simple property of this entity
oslc_am:latestGeneratedEntity zero-or-one true String n/a n/a A path relative to the service provider pointing where the latest source to be generated from this entity is.

Entity Property

Entity Property is a simple property on an Entity.

  • Name: EntityProperty
  • Type URI http://open-services.net/ns/am#EntityProperty

Prefixed Name Occurs Read-only Value-type Representation Range Description
dcterms:title exactly-one false String n/a n/a The name of this property
dcterms:type exactly-one false String n/a n/a The type of this property.

Issues

  1. Should the status be a URI?
  2. How to abandon a transformation (DELETE, PUT)?
  3. Locking? Transactions? Or are these implementation specific issues, not OSLC API issues?
  4. Don't use official AM namespace for resource examples (create new one i.e. http://example.com/mdd# )
Topic attachments
I Attachment Action Size Date Who Comment
pngpng OSLCTransformationResources.png manage 15.2 K 10 Nov 2011 - 12:08 JimConallen OSLC resources in transformation
pngpng servicetypes.png manage 73.3 K 10 Nov 2011 - 16:13 JimConallen collaborative discussion in 10-nov-2011 mtg
Edit | Attach | Print version | History: r7 | r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 10 Nov 2011 - 16:15:45 - JimConallen
 
This site is powered by the TWiki collaboration platform Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use
Ideas, requests, problems regarding this site? Send feedback