Relationship Between External Objects

Posted by tenzi on 15-May-2014 05:07

Hi all,

I have read about Rollbase limitations on External Object manipulation and one of those is creating relationships between them. Is it correct? Or can be somehow created relationships between External Objects (imported objects).

Or there is a way to filter them manually? Eventually, it can be defined a trigger or write a script in order to do this?
Thanks!

Posted by Bill Wood on 15-May-2014 08:33

Not that I know of.

All Replies

Posted by kiran kumar Angara on 15-May-2014 05:26

Hi Tenzi,

We can create relationship between two External objects. But right now M-M cardinality is not supported.

Please find the documentation link for further reference

documentation.progress.com/.../index.html

Hope this will clear your doubt :-)

Thanks & Regards,

Kiran Avs.

Posted by Bill Wood on 15-May-2014 05:34

There are 3 types of External Metadata Objects in Rollbase: DataDirect Cloud, OpenEdge Service, and External Database Tables.   For all of these you can create relationships between Rollbase native objects and the external ones... the limitation is that they need to have a Primary Key defined.    Basically Rollbase creates a 'relationship' from the native object to the external one by creating a foreign key in the native object.      Rollbase does this by modifying the definition of the native object.

Naturally, Rollbase cannot modify the schema for native objects, so you can't create new schema elements in objects 'owned' externally.  But Rollbase will read Foreign Key / Primary Key information when it can.   This generally means in External Database Tables (see "External Relationships" in the documentation).   

Was there a particular use case you were referring to with respect to the type of External Metadata Object?

Posted by tenzi on 15-May-2014 08:03

Thanks for your answers!

I have created an Object from External Metadata using OpenEdge Service option.

As I have read, for this option Rollbase should Import Objects and Relationships from uploaded OpenEdge JSDO catalog file.

I tried two different scenarios for this option:

1. A REST Service with a dataset containing three tables: ttOrder, ttOrderLine and ttItem, and the relationships between them.  I have attached the json returned by this service (OrderItemsService.json). For this use case the relations were created in Rollbase. I created a new tab OrderLines in Order tab, but the related OrderLine records were not displayed and an error was trown (Error loading query).

2. Three REST Services, each containing a dataset with a single table. Please find attached also these services (OrderService.json, OrderLineService.json and ItemService.json);

But as I understood from your answer: Rollbase can't create new schema elements in objects 'owned' externally, so for this use case Rollbase cannot create relationships between ttOrder and ttOrderLine, etc.

I think the first scenario should work because for each table from dataset is created an Object also the relationships are created, probably something is wrong with created relations, or maybe with the service?

Posted by Bill Wood on 15-May-2014 08:19

The first case (#1) you have is a complex dataset, with a resource containing multiple-tables. For Rollbase 2.2, and earlier, only single-table datasets are supported in Rollbase. The JSDO catalog does have the intra-dataset relationships, but Rollbase itself does not deal with the fact that the CRUD operations in this case get multiple tables. =

Posted by tenzi on 15-May-2014 08:26

So there is no way to create relationships between two External Objects, created with OpenEdge Service(s)?

Posted by Bill Wood on 15-May-2014 08:33

Not that I know of.

This thread is closed