Information and data pack relation classes

Post Reply
cgauri
Posts: 8
Joined: 13 Sep 2010, 17:29

We installed the information and data pack recently, and are populating the model. In the APP_PRO_TO_INFOREP_RELATION class, what is the app_pro_persists_info_rep slot for, and how is it different from the Information Create/update fields?

For example, in the following scenario what should the values for the app_pro_persists_info_rep, information create and update slots be for Application A and B:
1. Application A is the system of record and creates/updates product records in its database
2. Application B reads/displays the product data and also updates some product information in the Application A database
3. Application B has its own database where it stores product document records

Thanks,
Charu
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Hi Charu,

There are some subtleties that we are providing for with these sorts of attributes.

In the case of the 'app_pro_persists_info_rep', this enables us to capture the fact that the Application Provider persists the Information Representation, in the context of this Application Provider using the Information Representation.

The CRUD enable us to capture whether the Application Creates, Updates etc. the Information but of course, the Application could do this without persisting the Information. A Business Intelligence application could create new Information (e.g. Customer Sales by Region) without persisting this to any datastore. The 'app_pro_persists_info_rep' slot enables us to identify this.

And this approach supports the scenario that you describe. When we have Information being passed between Applications - note that the 'messages' / 'files' are Information not Data - we use the APP_PRO_TO_INFOREP on that dependency to capture the specific contextual use of the information by the 'supplying' application as it sends it to the dependant application.

In addition, from this Application-using-Information relationship, we can specify what Data is used in the context of the use of the Information. This enables us to understand the CRUD on the Data that is being used to supply the Information that is being used by the Application.

Hope this helps to clarify things

Jonathan
Essential Project Team
cgauri
Posts: 8
Joined: 13 Sep 2010, 17:29

Hi Jonathan,
Thank you, your reply helped clear a number of our questions! I had a follow up on this:

If there is an application A that only reads information from database tables that are maintained and managed by another application B, then should that be modeled as a dependency relationship (A depends on B) in the static architecture of application A?

The Application B database is represented as an Information_Representation in our model, and there is an instance of APP_PRO_TO_INFOREP_RELATION created to link application B with the Application B database.

Do we create another instance of APP_PRO_TO_INFOREP_RELATION class relating application A to Application B database and use this relationship class on the APU-TO-APU-STATIC-RELATION in the static architecture dependency link?
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Hi Charu,

Yes, you capture how Information is provided to one Application Provider by another in the Static Application Architecture. On those models, note that the arrows are dependencies, so if A depends on B for Information I, then I flows 'up' the arrow from the arrow head (at B) to the tail (at A).

You open the dependency on the static application architecture by double clicking on it or by selecting it and then using the spy-glass button. A form pops up and on this form you can create/re-use an Application Provider to Information Representation relationship to show the Information that Application B is providing to A. This enables us to capture what happens to that Information as B provides it to A in terms of CRUD and persistence AND importantly, the specific Data that it uses to deliver that Information to Application A.

Sounds like you are doing the modelling correctly. Hope this helps

Jonathan
Essential Project Team
Post Reply