Hi Sizwe,

Thanks for the interesting email, yes, I think you're asking in the right
place.  Some answers within.



On 29 January 2015 at 15:36, Mabanga, Sizwe <[email protected]> wrote:

> Hi Guys
>
> Not sure whether this is the place to address this... but I would really
> like to
>
> *         interrogate the Naked Objects spec to see if it can handle
> relationships gracefully and
>
> *         interrogate the resultant RestFul Objects spec for the same
> reason.
>
> At the moment both of these specs treat relationships in a shallow way as
> un-typed compositions and aggregations.
>

I don't think that's quite true.

In the Isis metamodel we have OneToOneAssociation (representing a simple
scalar property) and OneToManyAssociation (representing a vector
collection).

The (compile-time) type of the OTOA, and of the elements held within the
OTMA, are available from getSpecification();  see [1].





> I would like to bring first class relationships in at the spec level
> rather as an Isis add-on or branch.
>
>
So, I think they are there already.




> My analysis points to a need for an entirely different approach to
> composition and aggregations that manages and leverages these richer
> relationships to sub-objects and aggregated objects.
>
>
Admittedly we only have informal support for "aggregation" and none for
"composition"; however the Isis metamodel is extremely extensible, and it
is very easy to add in additional "facets".  There's some stuff on our
website [2]; very happy to guide you through this.




> Both Naked and Restful Objects need to somehow start listing the
> relationships available on an object and avoid un-typed relationships. I
> suspect that this might lead to even stronger domains more capable of
> representing complex business needs.
>
>
As I said, that information is already available.

You might also be interested in one the Isisaddons, devutils [3], that has
some stuff in this space for exporting the Isis metamodel into an Excel
spreadsheet (in future I'm sure we'll export it into other formats so we
can leverage the metadata in other ways too).




> I understand that this poses a political problem in the sense that graph
> databases are still young and most projects feel safe with RDBMS, but I'm
> convinced this will change.
>
>
A few weeks back we had some contributions from Jeremy Branham to get Isis
running against Neo4J (perhaps you saw them); perhaps you might want to
reach out and collaborate there.  Meantime we have a page on using Isis
with Neo4J, see [4].




> Perhaps we could branch at the specification level? I am willing to work
> on both the spec and the implementation.
>
> Thnx
> Sizwe
>
>

[1]
https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectFeature.java#L77
[2]
http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-programming-model.html
[3] https://github.com/isisaddons/isis-module-devutils
[4] http://isis.apache.org/components/objectstores/jdo/using-neo4j.html




To read WesBank's Disclaimer for this email click on the following address
> or copy into your Internet browser:
> https://www.wesbank.co.za/wesbankcoza/about/legal/emaildisclaimer.xhtml
>
> If you are unable to access the Disclaimer, send a blank e-mail to
> [email protected] and we will send you a copy of the
> Disclaimer.
>

Reply via email to