C. Business Object Viewpoint

C. Business Object Viewpoint

This diagram shows the elements of the metamodel that pertain to BusinessObjects. BusinessObjects play a fundamental role in the definition of ServiceDomains, as each ServiceDomain has one focusObject whose instances it uniquely owns.

Much of the internal structure of a BusinessObject is not visible on this diagram because that structure is defined by the ISO20022 Metamodel, of which the BIAN Metamodel is an extension. The internal structure is shown in the diagram named "C.ISO20022 Business Object Viewpoint" in the BIAN_ISO2000 package. (The BIAN_ISO20022 package focuses on how the BIAN Metamodel extends the ISO20022 Metamodel). That diagram reveals the following:

  • A BusinessObject is a specialization of an ISO20022 BusinessComponent.
  • BusinessComponents have BusinessAttributes and also can be associated with other BusinessComponents.
  • A BIANBusinessAttribute is a specialization of an ISO20022 BusinessAttribute. There is a similar relationship between BIANBusinessAssociationEnd and ISO20022 BusinessAssociationEnd.

The relationships between BusinessObjects and Messages are also not visible on this diagram, because those relationships are defined by the ISO20022 Metamodel where it defines the relationships between BusinessComponents and MessageComponents. Diagram D1.ISO20022 in the BIAN_ISO20022 package shows those relationships.

Class BIANBusinessAssociationEnd

package BIAN::Level1

BIANBusinessAssociationEnd is a specialization of ISO20022 BusinessAssociationEnd. An ISO20022 BusinessAssociationEnd is one end of an association between two BusinessComponents.

What makes BIANBusinessAssociationEnd different from ISO20022 BusinessAssociationEnd is that it is a subclass of BIANElement and a subclass of TaggableElement, and thus inherits additional properties defined from those superclasses.

"BIAN" was added to the name of this class in order to make its distinction from ISO20022 BusinessAssociationEnd obvious, but it was not strictly necessary for disambiguation since two UML classes can have the same unqualified name as long as they are in separate packages.

Direct Superclasses

BIANElememt, BusinessAssociationEnd, TaggableElement

Associations

Attributes

Constraints

Class BIANBusinessAtribute

package BIAN::Level1

BIANBusinessAttribute is a specialization of ISO20022 BusinessAttribute. An ISO20022 BusinessAttribute is an element of a BusinessComponent, such as StartDate.

What makes BIANBusinessAttribute different from ISO20022 BusinessAttribute is that it is a subclass of BIANElement and a subclass of TaggableElement, and thus inherits additional properties from those two superclasses.

Another distinction is that an ISO20022 BusinessAttribute can have a simple type or a complex type, whereas a BIANBusinessAttribute can only have a simple type.

"BIAN" was added to the name of this class in order to make its distinction from ISO20022 BusinessAttribute obvious, but it was not strictly necessary for disambiguation since two UML classes can have the same unqualified name as long as they are in separate packages.

Direct Superclasses

BIANElememt, BusinessAttribute, TaggableElement

Associations

Attributes

Constraints

A BIANBusinessAttribute can only have a simple type. It is not allowed to have a complex type. An ISO20022 BusinessAttribute is allowed to have either a complex type or a simple type, so a BIANBusinessAttribute is more tightly constrained.

Comment

The reason for this restriction is that allowing an attribute to have a complex type -- that is, allowing the type of an attribute to be a full-blown BusinessObject -- brings with it some assumptions that can lead to a loss of semantic clarity.

Imagine that we have two BusinessObects B1 and B2, and that B1 has an attribute whose type is B2. That is semantically equivalent to saying that there is an association between B1 and B2 that has the following characteristics:

  1. The association is a composition in which B1 plays the role of the composite and B2 plays the role of component.
  2. The cardinality on the B1 side of the composition association is exactly 1.

The problem with these two assumptions is that often at least one of them is not true of associations between two complex types. We thus prefer to force the modeler to make explicit decisions as to whether the association is a composition and as to the cardinality on both sides of the association.

[complexType->isEmpty()]

Class BusinessObject

package BIAN::Level1

A BusinessObject is an individually distinguishable element characterized by the fact that it has a well defined identity, structure and behavior.

BusinessObject is a specialization of ISO20022 BusinessComponent. What makes BusinessObject different from ISO20022 BusinessComponent is that it has additional properties, including its associations with ServiceDomain and the properties that it inherits from BIANElement and TaggableElement.

BIAN BusinessObjects are fundamental to the definition of ServiceDomains, as each ServiceDomain has exactly one focus object, and possibly multiple other objects that the ServiceDomain references.

Comments

o In UML the term object denotes an instance of a class. However, in daily IT language, and also within BIAN, the term object is used synonymously with the formal meaning of class. The ISO20022 term "BusinessComponent" sidesteps the object vs. class issue.

o The BIAN object models are at the conceptual level and are made from a business or application perspective.

o The object replaces the traditional notion of entity (as in entity relationship diagrams). The object notion is somewhat more precise than the entity notion, but both concepts have an equally broad scope. They can be used to model “anything of interest” in the system being studied.

Direct Superclasses

BIANElememt, BusinessComponent, TaggableElement

Associations

serviceDomainForFocusObject : ServiceDomain [0..1]

The ServiceDomain for which this is the focusObject.

serviceDomainForReferencedObject : ServiceDomain [0..*]

The ServiceDomains for which this is a referencedObject.

Attributes

Constraints

results matching ""

    No results matching ""