Book a Demo

Author Topic: Domains  (Read 13721 times)

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Domains
« on: January 08, 2005, 09:38:10 pm »
How does EA support the concept of "domains"?  Both in general and in the context of database modeling.

By "Domain" I mean user defined, perhaps structured, data types?  For example: an "Address" data type would have a Street, City, State, and ZIP Code in its structure.

Thanks
Jim
Verbal Use Cases aren't worth the paper they are written upon.

hd

  • EA Administrator
  • EA User
  • *****
  • Posts: 312
  • Karma: +0/-0
    • View Profile
Re: Domains
« Reply #1 on: January 09, 2005, 02:00:48 pm »
At present EA does not support domains or user-defined datatypes, however we are considering adding this feature in the future.

You can add extra datatypes in the Database Datatypes dialog, but they won't be true user-defined types.

Bryan Donohue

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: Domains
« Reply #2 on: September 14, 2016, 06:32:25 am »
Hi, I know this was answered 10 years ago, but does EA handle domains now?
i

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Domains
« Reply #3 on: September 14, 2016, 07:07:48 am »
Hi, I know this was answered 10 years ago, but does EA handle domains now?
i

There is at least nine separate uses of the word Domain within Computing.  I assume you're using this one https://en.wikipedia.org/wiki/Domain_(software_engineering).  How exactly do you think EA doesn't address domain driven design?

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Domains
« Reply #4 on: September 14, 2016, 08:26:19 am »
Probably like
By "Domain" I mean user defined, perhaps structured, data types?  For example: an "Address" data type would have a Street, City, State, and ZIP Code in its structure.

q.

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Domains
« Reply #5 on: September 14, 2016, 09:35:52 am »
Probably like
By "Domain" I mean user defined, perhaps structured, data types?  For example: an "Address" data type would have a Street, City, State, and ZIP Code in its structure.

q.

probably and perhaps are both words that indicate uncertainty. 

An address is also the location of a physical thing or a descriptor for a method of contact, and how it exists in a domain model can be nuanced.  All easily addressed in a UML class model.  So I don't think my question was unfair or overly difficult in any way.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Domains
« Reply #6 on: September 14, 2016, 09:54:42 am »
probably and perhaps are both words that indicate uncertainty. 
Ah... those great Compiler pragmas #probably# & #perhaps#  they are up there with #hopefully#   ;)

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Domains
« Reply #7 on: September 14, 2016, 10:04:01 am »
An address is also the location of a physical thing or a descriptor for a method of contact, and how it exists in a domain model can be nuanced.  All easily addressed in a UML class model.  So I don't think my question was unfair or overly difficult in any way.
In our ontology  - which has survived all challenges for over a decade, an address is ONLY a method of contact:

A mechanism for transmitting something (either tangible - such as goods or commodities - or intangible such as information) to some defined location (which need not be physical nor static).
                  <--+-->
Each address must reference at least one location (which need not be physical).
An address may (depending on its type) reference more than one location, and a location may be referenced by more than one address (even of the same type).
Addresses are of varying types:

Telephonic address
Geopolitical address - Used to navigate to a geographical location - for delivery or travel purposes   ·
Email address
URL address
Internal mail address
Internal physical address
Social media address

Note that the type of the address is distinct from the usage of the address - and, indeed, from the delivery service.

There may possibly be a many-to-many relationship between instances of an address type and a location.

Each physical address has a (Geospatial) Position though its location - which may vary with time (that is, it is non-static).  A non-physical location may be related to a physical location.


While being a big fan of Domain Driven Design, there still remains the problem of "my domain is bigger than your domain".

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Domains
« Reply #8 on: September 14, 2016, 12:56:05 pm »
Although Glassboy and Paolo have provided a lot of information from different domains, I haven't seen any from the "answer" domain ;D

So here it is: YES, you can define your own datatypes and primitives using enterprise Architect and use those as the type of attributes, parameters etc..
Check the toolbox for the class diagram.

Geert

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Domains
« Reply #9 on: September 14, 2016, 04:53:41 pm »
In our ontology  - which has survived all challenges for over a decade, an address is ONLY a method of contact:
I'll challenge it. The definition you have provided is internally inconsistent.

A mechanism for transmitting something (either tangible - such as goods or commodities - or intangible such as information) to some defined location (which need not be physical nor static).
I'll take this as the formal definition, where the above was your summary. This isn't the primary source of my challenge, but they are not equivalent. Your summary relies on "method of contact" being the same as "mechanism for transmitting something". More importantly, I don't believe either is actually relevant to defining an address (although they do rely on an address)

Each address must reference at least one location (which need not be physical).
An address may (depending on its type) reference more than one location, and a location may be referenced by more than one address (even of the same type).
Addresses are of varying types:

Telephonic address
Geopolitical address - Used to navigate to a geographical location - for delivery or travel purposes   ·
Email address
URL address
Internal mail address
Internal physical address
Social media address
An address describes one or more locations

Note that the type of the address is distinct from the usage of the address - and, indeed, from the delivery service.
How the address is used is irrelevant to the address. Surely that would include that it is used for delivery.

There may possibly be a many-to-many relationship between instances of an address type and a location.

Each physical address has a (Geospatial) Position though its location - which may vary with time (that is, it is non-static).  A non-physical location may be related to a physical location.
[/i]

If I take the extended description, an address is ONLY defining a location. (I'm using a singular form intentionally, the only way I can think of that an address can be for multiples in that it is imprecise enough to adequately restrict to a single location. Does that mean that locations can be nested or that the address is incomplete)

Bryan Donohue

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: Domains
« Reply #10 on: September 15, 2016, 12:12:34 am »
My apologies for not being more specific in what I am asking about domains...
I am looking at this from a data modeling perspective, so I am looking at it from within a database model within EA...

Our department has some db standards it wants us to follow for consistency sake...
A simple one would be:
For example, (using Oracle as the db in this example...) If your table has a 'Name' field,  it should be in the form:
 <TABLE_NAME>_NAME suffixed by '_NAME'
 - should be VARCHAR2(50)
 - cannot be NULL...

So, I would like to create a domain called 'name' where if I add a column to a table, it will automatically name it and give it the proper attributes...

So, I am looking more at the attribute level, not the class level...
I couldn't see anything in EA for that...
Is there?




Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Domains
« Reply #11 on: September 15, 2016, 06:50:59 am »
My apologies for not being more specific in what I am asking about domains...

......

So, I would like to create a domain called 'name' where if I add a column to a table, it will automatically name it and give it the proper attributes...


What you're asking for isn't a data domain.  You're talking about a rule that is part of your Master Data Management.  Competing tools to EA with a data modelling heritage will allow you to do this by adding some code to their data modelling metamodel.  For Sparx I think you'd need to create an add-in.  Geert can answer that better than I can.

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Domains
« Reply #12 on: September 15, 2016, 07:04:06 am »
Although Glassboy and Paolo have provided a lot of information from different domains, I haven't seen any from the "answer" domain ;D

So here it is: YES, you can define your own datatypes and primitives using enterprise Architect and use those as the type of attributes, parameters etc..
Check the toolbox for the class diagram.

To nitpick, I said the same thing, but in the negative as a question. :-)

skiwi

  • EA Expert
  • ****
  • Posts: 2081
  • Karma: +46/-82
    • View Profile
Re: Domains
« Reply #13 on: November 22, 2016, 01:56:29 pm »
DBMode http://www.dbmode.com/ provides support for domains.
The caveat is that when tried a year ago it was quite buggy.
We reported some bugs and usability issues, and they made some fixes for us.
But more work was need and we had to move to a data enterprise modelling tool.


Having said that is shows promise, and is worth trying.
Orthogonality rules
Position and Team disestablished, thanks austerity.
Now itinerant.