network: The root of the XML file. It has channel children elementschannel: defines socket communication channels. It has service children elements[1]
service child. There is a mechanism in the External Communication binary format to identify which service is exchangedinput channel can only have services for which the External Communication module is a provideroutput channel can only have services for which the External Communication module is a subscriberchannel has the following attributes:name (mandatory): name of the Channeltype (mandatory): "input" or "output". Represents the direction of the communication from / to the External Communication module relative to the networkprotocol (optional): "udp" or "tcp". The protocol used for the channelport (mandatory): the port numberhost (optional): the host, only useful for an "output" typesize (optional): the size of the communication buffer. by default the size is equal to the channelSize property defined for the ExternalComm application[2]
channel which receives content from the network can have an outputServiceQueue child which specifies that the Channel content posted to the framework will use a queue to ensure that no content is forgotten.outputServiceQueue element:queueType explains if there will be a queue or not. The following values are supported:queueServiceOutputs property) will be used (the default behavior for Channels)<channel name="event" type="input" port="8080"> <outputServiceQueue queueType="queue" queueSize="10" /> <service name="published" /> </channel>
channel which send content to the network can have an inputServiceQueue or outputServiceQueue child which specifies that the Channel content posted to the network will use a queue to ensure that no content is forgotten.inputServiceQueue or outputServiceQueue element:queueType explains if there will be a queue or not. The following values are supported:queueServiceOutputs property) will be used (the default behavior for Channels)<channel name="event" type="output" port="8080"> <inputServiceQueue queueType="queue" queueSize="10" /> <service name="published" /> </channel>
host and the port properties can use global variables declarations. For example for the following Framework configuration:<files> <file url="applications.xml" /> <file url="services.xml" /> <file url="types.xml" /> <confProperty key="port" value="65500" /> </files>and the XML Network configuration file:
<network> <channel name="event" type="input" port="${port}" > <service name="published" /> </channel> </network>
service has only a name attribute.
eventAppli application of the first tutorial:
<applications> <application name="eventAppli"> <deployment> <lib url="samplesEvents.jar" /> </deployment> <modules> <module name="EventModule"> <implementation path="org.da.samples.protoframework.event.EventModule" > <initEntryPoint method="init" /> <defaultReceiveEntryPoint method="subscribe" /> </implementation> <interfaces> <eventSend service="event"/> <subscribe service="published" /> </interfaces> </module> </modules> </application> <application name="externalCommEvent"> <deployment> <lib url="externalComm.jar" /> </deployment> <modules> <module name="externalComm"> <interfaces> <eventReceived service="event"/> <push service="published"/> </interfaces> </module> </modules> </application> </applications>The following XML network file specifies the communication ports to reroute the services through the Network:
<network> <channel name="event" type="input" port="8080" > <service name="published" /> </channel> <channel name="publish" type="output" port="8081"> <service name="event" /> </channel> </network>
service child. There is a mechanism in the External Communication binary format to identify which service is exchangedCopyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence