Advanced / Component Links

During deployment, a component may require information of another component. These information requirements are referred to as Component Links in ARA and are managed in the Advanced / Component Links section of a component.

A component link is just a named reference of one component to another component within the application. During the configuration of workflow executions you have to refine the abstract relationship and bind a concrete instance of a component to a concrete instance of the linked component. It is common that you bind multiple instances of one component to a single instance of another component (e.g. multiple frontend servers reference one database).

The links can be used in dynamic properties: A dynamic property of a component can reference a property of a linked component via a {@[linkname]/[property of linked component]} expression (see the Expressions section of dynamic properties). During deployment the expression gets evaluated for a single component on a single deployment target; therefore the value of the expression varies depending on the binding of the component instance to the linked component instance.

application-component-links-overview

Example: a Web Frontend component that installs a WAR file on a Tomcat application server requires the IP of a Backend component with which it should communicate. In the General / Component Links section of the Web Frontend component, you create a backend component link which references the backend component. In the General / Dynamic Properties section, you define a /backend-ip property which references the /ip property of the Backend component via the backend component link.
During deployment preparation you define in the General / Targets section of the deployment profile that the Web Frontend component should be installed on the targets SRV001 and SRV002 and the backend component to SRV003 and SRV004. After that, you bind the backend link of the Web Frontend component from SRV001 to SRV003 and from SRV002 to SRV004.
With this configuration, the /ip property of the Web Frontend component on SRV001 is evaluated to "SRV003" and on SRV002 it is evaluated to "SRV004".