anchor.diff:  
   |String evaluate(String xpath, Object node) |This method applies an XPath expression to the XML document/fragment supplied in the following formats:  _String_, _javax.xml.transform.dom.DOMSource_ and _org.w3c.dom.Node_.
   
  +|Node selectNode(String xpath, Object node) |This method applies an XPath expression to the XML document/fragment supplied in the following formats:  _String_, _javax.xml.transform.dom.DOMSource_ and _org.w3c.dom.Node_, to select a Node.
  +
   |String serialize(Object node) |This method attempts to serialize the supplied node as a textual representation of an XML document. The supported input formats are: _String_, _javax.xml.transform.dom.DOMSource_ and _org.w3c.dom.Node_.
   
  -|===
  -
  +|Node deserialize(Object node) |This method attempts to deserialize the supplied representation of an XML document. The supported input formats are: _String_, _javax.xml.transform.dom.DOMSource_ and _org.w3c.dom.Node_.
  +
  +|===
  +
  +
  +== Properties
  +
  +The system wide properties are now defined within a single *_btm.json_* file that is included within the _standalone/data/btmconfig_ folder of the BTM server.
  +
  +The current properties that can be configured here are:
  +
  +.BTM Properties
  +|===
  +|Property Name | Default | Description
  +
  +|hawkular-btm.collector.onlynamed | false | Determine whether only business transaction fragments associated with a business transaction name should be reported.
  +
  +|===
   
   
   
  
positive.code: * Apache Tomcat
  * Apache Karaf OSGI container
  
  === The BTM Server
  
  The Business Transaction Management (BTM) Server can be clustered to enable reporting and analysis of the business transaction data to be load balanced across multiple servers.
  
  CAUTION: The standalone server does not currently supporting a clustered configuration.
  
  
  == Business Transaction Configuration
  
negative.code:       "description": "Order Management example from RTGov",
        "filter": {
          "inclusions": [  // <2>
            "^/demo-orders/OrderService$"
          ]
        },
        "processors": [{  // <3>
          "nodeType": "Consumer",  // <4>
          "direction": "In",  // <5>
          "uriFilter": "^/demo-orders/OrderService$",  // <6>
          "actions": [{  // <7>
            "name": "all",
            "type": "{urn:switchyard-quickstart-demo:orders:1.0}submitOrder",
            "actionType": "AddContent",
            "expression": "XMLHelper.serialize(XMLHelper.selectNode(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrder']\", values[0]))"
          },{
            "actionType": "AddCorrelationId",
            "scope": "Global",
            "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrder']/order/orderId/text()\", values[0])"
          },{
            "name": "customer",
            "actionType": "SetProperty",
            "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrder']/order/customer/text()\", values[0])"
          },{
            "name": "item",
            "actionType": "SetProperty",
            "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrder']/order/itemId/text()\", values[0])"
          }]
        },{
          "nodeType": "Consumer",
          "direction": "Out",
          "uriFilter": "^/demo-orders/OrderService$",
          "actions": [{
            "name": "all",
            "type": "{urn:switchyard-quickstart-demo:orders:1.0}submitOrderResponse",
            "actionType": "AddContent",
            "expression": "XMLHelper.serialize(XMLHelper.selectNode(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'submitOrderResponse']\", values[0]))"
          }]
        },{
          "nodeType": "Consumer",
          "direction": "Out",
          "uriFilter": "^/demo-orders/OrderService$",
          "predicate": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'Fault']\", values[0]) != null",  // <8>
          "actions": [{
            "actionType": "SetFault",
            "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'Fault']/faultcode/text()\", values[0])"
          },{
            "actionType": "SetFaultDescription",
            "expression": "XMLHelper.evaluate(\"*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[local-name() = 'Fault']/faultstring/text()\", values[0])"
          }]
        }]
      }
    }
  }
  ----
  <1> Each business transaction configuration must be given an unique name
  <2> Inclusion filters define a regex expression used to match a URI in the captured information. If an inclusion filter matches, then the associated business transaction name will be added to the data reported to the server
  <3> A list of information processors. Each entry in the list will define the criteria for matching against nodes in the business transaction fragment
  <4> The 'nodeType' can identify one of the support node types, e.g. Consumer, Producer or Component
  <5> The 'direction' field determines whether the *In* (i.e. request) or *Out* (i.e. response) direction should be processed
  <6> The regex expression used to match against an URI of interest
  <7> A list of actions to be performed by the processor, if the matching criteria are satisfied. Each action can have an optional predicate expression to determine if it should be applied. The list of supported action types, and their relevant fields, are described below.
  <8> An optional predicate expression can be defined at the processor level, to guard against applying the actions it contains.
  
  .Actions
  |===
  