Book a Demo

Author Topic: Oracle / DDL / EA / etc.  (Read 3287 times)

davisford

  • EA User
  • **
  • Posts: 63
  • Karma: +0/-0
    • View Profile
Oracle / DDL / EA / etc.
« on: May 07, 2006, 04:48:25 pm »
Hi, I have sort of a general problem, and thought I would post here to look for solution ideas.

Quick background: working in Geographic Information Systems domain.  We're using Oracle.  Oracle stores primitive map data (i.e. points, lines, polygons, etc.) in one database.  Another database (we call data dictionary) defines a conceptual model on how to compose geometric features from primitive data -- for example it describes how to make roads out of lines and counties or countries out of polygons.

I can use EA to import the data dictionary schema into a class diagram, and this is very handy.

I would like some way to also import the actual data in the data dictionary database into EA.  

Since I can import the schema into EA, and then forward engineer an XML schema (XSD)...I guess what I'm looking for is a transformation or mapping from XML (that conforms to the XSD) to UML (class diagram).

The actual data is not that large, but a visual model of it is the real "end" goal here.  We can already get a logical visual model of the schema via EA import through ODBC.

I'm just guessing at ways to do this...but I'm sure other people have considered this problem before.  Any ideas or suggestions?

Regards,
Davis

thomaskilian

  • Guest
Re: Oracle / DDL / EA / etc.
« Reply #1 on: May 07, 2006, 08:48:12 pm »
Davis,
if I get you right, your database contains something like "code" to assemble GIS primitives, although it does not execute by itself. Probably you can model this with classes and hence you can use the code generation to create the data.

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Oracle / DDL / EA / etc.
« Reply #2 on: May 08, 2006, 04:17:18 am »
Hi Davis,

As I understand it, you are storing both 'primitives' to describe geographical entities and the instructions for constructing various representations, for lack of better words.

I think you have got representations of instances of a metamodel - the instructions - as well as instances of entities within the metamodel. Looks a bit weird when I write it down, but makes perfect sense.

You might want to approach this along the lines of a CWM implementation. There are two well known books from the OMG on CWM stuff. The first is difficult to find in hard copy but is available as a download from the usual vendors. The second is oriented toward the practitioner. While the second would certainly involve a learning - or at least practicing - curve, it could be the way to go. CWM allows you to define your own structures and rules (your primitives and instructions) and to store and reconstruct instances of arbitrarily complex - or simple - constructes.

You could also approach this along the lines of David Marco et al. Their writings on metadata factories etc. would give you another approach on how to conceptualize this stuff, and could provide the direction and focus to take this to the next level (or beyond).

Both these approaches require some work, and may not yield immediate results, but could really pay off if you are in this for the longer haul.

David
No, you can't have it!

davisford

  • EA User
  • **
  • Posts: 63
  • Karma: +0/-0
    • View Profile
Re: Oracle / DDL / EA / etc.
« Reply #3 on: May 08, 2006, 08:58:45 pm »
Quote
Hi Davis,

I think you have got representations of instances of a metamodel - the instructions - as well as instances of entities within the metamodel. Looks a bit weird when I write it down, but makes perfect sense.



David/Thomas - thx for the insight.

You hit the nail on the head above.  Let me try a concrete example:

The data dictionary describes things such as a Point Feature, and a Point Feature can have Attributes, and Attributes can have name/value, etc.  That's really simplifying the model, but it will work as an example.

The data dictionary schema describes all that from a conceptual point of view.

In the real data for the data dictionary you have point of interest (POI), and you can have many such as:

Zoo
Restaurant
Cafe
etc..

So, in EA, I can reverse engineer the data dictionary schema into one or more class diagrams that describe the "metamodel".

What I want to do, is find some way to also reverse-engineer the real data into class diagrams and make sure it conforms to the schema.  

Following the concrete example, this means I could have a class diagram that shows multiple POI's such as Zoo, Restaurant, etc.

The goal is visual representation of the meta-model and the data.

Consumers of the meta-model/schema will be spec maintainers who tweak the meta-model as they update the spec.

Consumers of the visual data will be people that want to browse the contents of the dicitionary to see what's in there and have editing capability.  For instance, they may want to add a new POI like police station.   This should be as easy as adding a new class and synching with the database.

After that explanation, do you guys have any insight/clues on what could be done?

I'll follow up on the links you sent, David.

Thx,
Davis

thomaskilian

  • Guest
Re: Oracle / DDL / EA / etc.
« Reply #4 on: May 09, 2006, 01:16:24 am »
You probably have to create an XMI from your structure which you can import directly into EA. Another way could be to create some kind C# (or whatever language) class with the according attributes and reverse engineer that.  The latter might be the easiest way. However, you have to spend some programming effort in order to convert your metadata into XMI or a language stub.