Communication between appliances is over peer-to-peer IP connections. The endpoints of these connections are referred to as terminals. This is somewhat different from the usual setup of a multi-device network application, where most devices may be connected to a common bus, such as, an Ethernet switch, and each appliance may connect to any other appliance on the same bus.
CA AppLogic® uses a separate virtual wire for each connection, which is equivalent to a port-to-port Ethernet cable between two network devices, and verifies that traffic goes only along those wires. The virtual appliances are not limited by a fixed number of physical connection ports and can dedicate a separate virtual terminal for each connection.
There are two logical types of terminals:
A terminal on which the appliance provides a specific service and acts as a server
A terminal that an appliance uses to request a service from another appliance and acts as a client
An input terminal can have any number of output terminals connected to it. An output terminal can be connected to a single input terminal. Either kind of terminal may remain unconnected. An application designer can also specify that an output terminal is mandatory. The appliance will require the service provided on the output terminal and will not work without it being connected.
The APK automatically configures the network settings for the virtual network interfaces used as terminals. This makes the terminals visible to the appliance code by name (providing the name resolution and the necessary IP routes), as follows:
For example, if the appliance has an output terminal named web that is connectible to an HTTP server, you could execute the equivalent of a command as:
wget http://web/some-page.html
For example, if the appliance has an input terminal named in that responds to HTTP requests, you could add this directive to the Apache configuration file:
Listen in:80
An output terminal that is not connected will have its name resolve to an invalid IP address: 0.255.255.255. An appliance that is designed to have optional outputs which may be left unconnected should recognize this, or be prepared to gracefully handle the invalid address error on an attempt to connect.
|
Copyright © 2012 CA.
All rights reserved.
|
|