A Parser is a program that takes the incoming message, interprets its bit stream and creates an internal representation of it in a tree like structure, which can be then understand by message broker assembly.
What is the difference between Environment and Local Environment tree?
The environment tree differs from the local environment tree in that a single instance of it is maintained throughout the message flow. If you include a Compute node, a Mapping node, or a JavaCompute node in your message flow, you do not have to specify whether you want the environment tree to be included in the output message. The environment tree is included automatically, and the entire contents of the input environment tree are retained in the output environment tree. Any changes that you make are available to subsequent nodes in the message flow, and to previous nodes.