diff -r c7c26511138f -r 7c4a911dc066 buildframework/helium/doc/src/manual/messaging.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/buildframework/helium/doc/src/manual/messaging.rst Fri Aug 13 14:59:05 2010 +0300 @@ -0,0 +1,92 @@ +Messaging +========= + +Currently the communication to external services (diamonds, ats, internal logging framework) +are done within helium as REST / SOAP client, which is not scalable and had limitations +and lot of overheads in terms communication with those external services. + + + +Overview +-------- + +The messaging framework is aimed to address this issue by defining +the input using which the data is exchanged to the external system. Currently the +main focus is to define the input format for the messaging framework and to work with +existing framework. In the future directly interact with the messaging system to exchange +data to the external system. + +Currently there are three types of messages could be defined, which works with +existing system to send data to diamonds. + +Text Message +~~~~~~~~~~~~ + +Any text message to be sent to the diamonds could be possible with the message type +definition. Example to use it as below, + + +.. code-block:: xml + + + +File Message +~~~~~~~~~~~~ + +Any file which needs to be sent using messaging framework could be defined +using file message. Example to use it as below, + +.. code-block:: xml + + + +Here the the attribute value for file attribute pointing to the file to be sent is forwarded +to the destination. + + +FMPP Message +~~~~~~~~~~~~ + +Any message generated by processing the fmpp template data could be defined using +the fmpp message. Example is, + +.. code-block:: xml + + + + +The above definition format is similar to fmpp conversion task, except that it has +limitation to convert one file using the template. Before sending data, the input template +is converted and an internal file message is created with the converted file path and +sent to the diamonds. + +TargetMessage Trigger +~~~~~~~~~~~~~~~~~~~~~ + +TargetMessageTrigger type maps a message to a particular target and could be used to +send the input message for the target execution. Example is as below, + + +.. code-block:: xml + + + + + + ant: antProperties() + doc: xml(${ido.codescanner.output.dir}/problemIndex.xml) + + + + + +In the above example, the target ido-codescanner contains an fmpp message. When +the target executes the target ido-codescanner at the end of execution which converts +the input file using template and the output file is sent to diamonds. \ No newline at end of file