consistently. Typically, these consist of .NET assemblies or Java archives and are employed by multiple systems or modules. We depict a shared library using: A single module with a shared library stereotype A single Multi-Interface indicating that the shared library container is exposing the individual interfaces of the contained modules via native APIs (Java Archives, .Net assemblies, etc.) A set of contained Modules indicating the implementations of the exposed Interfaces. Controller Pattern A common processing pattern (especially when handling content) exists where one module acts to control the actions of other modules generally maintaining state, as a set of functions are performed. For example, in processing an incoming message, a common controller may decide based on the contents of the message, which sub-processes need to be performed in order to re-format / normalize the message. In the example to the right, Module A has a controller process that handles the input to module A, maintains state and decides (based on its internal business logic) which of Functions 1, 2 and 3 to perform and in which order. At some point, the controller decides when to data, which is indicated by its connection to Module A’s south-end port. Callback Pattern This is a common communication pattern used for long example A is the original initiator of an Active FTP running activities. Where the original initiator of the connection (inferred from top most interface of the communications does not wait for all the information pairing). they require in the call response, but instead provides information to allow the asset they called to call them back (possibly multiple times) with the information. This pattern is important to remove risks of timeouts and also to enable more complex results like streams to be effectively provided between modules. In the
consistently. Typically, these consist of .NET assemblies or Java archives and are employed by multiple systems or modules. We depict a shared library using: A single module with a shared library stereotype A single Multi-Interface indicating that the shared library container is exposing the individual interfaces of the contained modules via native APIs (Java Archives, .Net assemblies, etc.) A set of contained Modules indicating the implementations of the exposed Interfaces. Controller Pattern A common processing pattern (especially when handling content) exists where one module acts to control the actions of other modules generally maintaining state, as a set of functions are performed. For example, in processing an incoming message, a common controller may decide based on the contents of the message, which sub-processes need to be performed in order to re-format / normalize the message. In the example to the right, Module A has a controller process that handles the input to module A, maintains state and decides (based on its internal business logic) which of Functions 1, 2 and 3 to perform and in which order. At some point, the controller decides when to data, which is indicated by its connection to Module A’s south-end port. Callback Pattern This is a common communication pattern used for long running activities. Where the original initiator of the communications does not wait for all the information they require in the call response, but instead provides information to allow the asset they called to call them back (possibly multiple times) with the information. This pattern is important to remove risks of timeouts and also to enable more complex results like streams to be effectively provided between modules. In the example A is the original initiator of an Active FTP connection (inferred from top most interface of the pairing).