Interfaces between applications

Uit Via Nova Architectura Wiki
Ga naar: navigatie, zoeken
Figure 2 02 Most Important relationships between concepts.png ArchiMate Made Practical

Zie ook: ArchiMate in de praktijk

Question

It is desirable to visualize interfaces between applications. Which ArchiMate concepts can be used for this purpose?

Solution

An application is modeled as an application component with corresponding application functions. An interface between applications is modeled via an application service. The application service delivers data by means of an access relationship with a data object. In the example model application function A realizes an application service that is used by B. The application service delivers the data that are in the data object

Figure 3 03 Application interface using application functions.png

Figure 9: Application interface using application functions, application service and connected data object

Consequences

If existing interfaces between applications in a company are visualized according to this pattern, it might appear to suggest that a service oriented architecture is in place while in reality this does not have to be the case.

Alternatives

With compliance to rules of composition (refer to good practice ‘Simplification with sustainable consistence’), application functions can be left out of the model. The figure below shows the result.

Figure 3 04 Application interface using application services en gekoppeld data object.png

Figure 10: Application interface using application service and connected data object

The above interface can also be modeled without a data object:

Figure 3 05 Application interface using application services.png

Figure 11: Application interface using application service

Not every organization will have a service oriented architecture. In that case it is also possible to model application interfaces using a relationship between the applications. This can be done using for instance a used-by relationship (denoting that Application A is used by Application B) or by a using a flow relation (denoting that information flows from Application A to Application B, or from B to A). In the example below: Application A delivers customer data to application B.

Figure 3 06 Application interface using a flow relation.png

Figure 12: Application interface using a flow relationship

In some cases interfaces between applications are not realized directly, but via a database. One application writes into a table that is read by another application. Below figure shows this. Application A writes, Application B reads the same data object.

Figure 3 07 Application interface using a data object.png

Figure 13: Application interface using data object

Relationships with other good practices

This can be used by constructing an application landscape using the good practice ‘Application landscape’. It is also applicable in conjunction with with the good practice ‘Service broker’.