Application communication diagrams
The purpose of the application communication diagram is to depict all models and mappings related to communication between applications in the metamodel entity. It shows application components and interfaces between components. Interfaces may be associated with data entities where appropriate. Applications may be associated with business services where appropriate. Communication should be logical and should only show intermediary technology where it is architecturally relevant.
Application communication diagrams present either an application cartography of what already exists, or a logical architecture of the future situation. SOA-type architecture is encouraged. This type of architecture is based on service-oriented application components. Where the architecture is hybrid, a mix of (non-SOA) applications, repositories and new SOA-architectured parts can be shown.
In an SOA-oriented architecture, it is recommended that service application components be structured according to their nature and their level: components dedicated to interactions (GUI, WEB), components dedicated to process executions, and entity components which are the most stable.
Components are interconnected via their required and provided services, which are linked by connectors. These required and provided services are typed by IS services which are modeled elsewhere. The service operations provided by these services transport data (parameters) whose types are also modeled in the form of "messages".
Interaction application component: Represents the top level components that manage the interaction with elements outside the IS. In most cases, this is a GUI component, such as here a web interface.
Entity application component: An entity component is frequently derived from business entities, and is responsible for managing the access to the entity, and its integrity.
Process application component: A process application component is responsible for a business process execution. It orchestrates the tasks of the process.
System federation: A system federation is the coarser-grained application component. It assembles systems to federate them, such as in the example of cooperation between different information systems between different companies.
Utility component: Represents an application component that is frequently reused, and most of the cases bought off the shelf.
Database application component: Represents a repository. In pure SOA architecture, these elements should not appear. However, for legacy analysis or technology architecture, modeling repositories or repository deployment can be useful.
Application: This Application component corresponds to legacy applications, off the shelf products, or can be an assembly of application components.
Provided services: Access points to application components through provided services.
Required services: Required services of application components need to be connected to provided services by other components.
Connector: Used between provided or required services, and or instances of application components.
Information flow: Defines the flow of any kind of information (business entity, event, product, informal, etc.) between active entities of the enterprise.
Flow link: Flow link between data (e.g. business entity, event, product) and active elements (e.g. business process, service).
External actor: An actor that is external to the enterprise
Consumes link: Expresses that a participant (e.g. actor) consumes an element of the IS (service, operation, application component).
The architecture is layered: the interaction component (site) is on top, process components in the middle, and entity components on the bottom