Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

How does the RTC repository handle dynamic attributes?

I have an EMF model that I need to persist to a database. I'd like the
model to be able to reference RTC users, workitems, and team areas, so
persisting the model in the RTC repository seems ideal. Our
application needs to use dynamic EMF to extend one or more of the
modeled classes to add user specified attributes. Conceptually, it
seems identical to how a user can customize a workitem. In fact, I
would like to allow users the ability to specify the additional
attributes as part of the process configuration data.

Can this type of model be persisted in the RTC repository? Do the
dynamically added attributes get mapped to columns in the table with
the base attributes so that they can be queried efficiently? Do I have
to write code to add the columns?

Another concern I have is performance. We will be inserting somewhere
in the range of 20 to 200 instances of the model per second. Does
anyone have a "gut feel" if RTC can handle that insert rate along with
updates, queries, etc? If the answer is "we can't handle that", how
much effort would it be to store a model (using something like Teneo)
that somehow ties back into RTC so that my UI can have links to RTC
users, workitems, etc?

Right now, I'm trying to evaluate Teneo, RTC, and developing a custom
solution. Any words of wisdom will be appreciated.

Bryan

0 votes



One answer

Permanent link
In Jazz/RTC a modeled Item can have the dynamic attributes you describe
through 'state extensions'. To allow an Item to have 'state
extensions', you can annotate your new EClass with a 'teamClass'
annotation, and add a detail allowsStateExtensions=true.

When the model code generation tool sees that annotation, it will add
the ability to store extra attributes on the Item and they will be
persisted automatically.

Whether RTC can handle the speed at which you want to insert items, I
would assume that it can. I'm not familiar with Teneo, so I don't quite
understand how your Ecore model would be related to Teneo.

-
Matt Lavin
Jazz Server Team


On Wed, 2008-11-05 at 22:53 -0600, Bryan Hunt wrote:
I have an EMF model that I need to persist to a database. I'd like the
model to be able to reference RTC users, workitems, and team areas, so
persisting the model in the RTC repository seems ideal. Our
application needs to use dynamic EMF to extend one or more of the
modeled classes to add user specified attributes. Conceptually, it
seems identical to how a user can customize a workitem. In fact, I
would like to allow users the ability to specify the additional
attributes as part of the process configuration data.

Can this type of model be persisted in the RTC repository? Do the
dynamically added attributes get mapped to columns in the table with
the base attributes so that they can be queried efficiently? Do I have
to write code to add the columns?

Another concern I have is performance. We will be inserting somewhere
in the range of 20 to 200 instances of the model per second. Does
anyone have a "gut feel" if RTC can handle that insert rate along with
updates, queries, etc? If the answer is "we can't handle that", how
much effort would it be to store a model (using something like Teneo)
that somehow ties back into RTC so that my UI can have links to RTC
users, workitems, etc?

Right now, I'm trying to evaluate Teneo, RTC, and developing a custom
solution. Any words of wisdom will be appreciated.

Bryan

0 votes

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,930

Question asked: Nov 05 '08, 11:58 p.m.

Question was seen: 6,145 times

Last updated: Nov 05 '08, 11:58 p.m.

Confirmation Cancel Confirm