This documentation is for WSO2 CEP 2.1.0. View the home page of the latest release.

Setting up Mediation Data Agent

Mediation Data Agent is used to collect statistics related to mediation data from WSO2 products such as the ESB, and send to WSO2 CEP. CEP server receives data events via its Thrift API. This protocol uses a binary protocol and enables fast data transmission between ESB and CEP. You can configure the Mediation Data Agent early in order to predefine the mediation statistics of CEP. In the configuration panel, you can specify the CEP server (Thrift server) related information and the properties to be extracted from the Configuration Context of the ESB. Define the Event Stream-related parameters that are uniquely identified by a name and a version.

This page covers the following topics:

Installing the Mediation Data Agent feature

The following installation instructions apply to WSO2 ESB version 4.5.x.

  1. Download WSO2 ESB from url: http://wso2.com/products/enterprise-service-bus.
  2. When running both ESB and CEP servers concurrently, you should change the default port number of one server in order to prevent port conflicts. Apply a port offset in file <esb_home>/repository/conf/carbon.xml, by changing the value in xpath Server/Ports/Offset from 0 to some other integer. For example,

    <!-- Ports offset. This entry will set the value of the ports defined below to the define value + Offset. e.g. Offset=2 and HTTPS port=9443 will set the effective HTTPS port to 9445 -->
     
    <Offset>2</Offset>
  3. Start the ESB server by executing the following files in <esb_home>/bin.
    • on Linux wso2server.sh
    • on MS Windows wso2server.bat
     
  4. After starting the server, go to ESB management console. Instructions are similar to those in section Installing the Product.
    In the management console, select the Features sub menu under the Configure menu. Then, click the Repository Management tab, and select a P2 repository either from a URL or a file. For instructions, refer to section Managing the Feature Repository. For example,

  5. Go to Available Features tab and select the repository you added in the previous step. Then, click the Find Features button. From the list of features that appears, select BAM Mediation Data Agent Aggregate feature and click Install.


     
  6. Click Next once done and accept the license agreement.  
  7. Restart the ESB.

Using the Mediation Data Agent

Let's see, through a sample scenario, how to use the Mediation Data Agent to log mediation statistics data into a Cassandra Database. There are four basic steps:

Configuring the Mediation Data Agent

  1. Enable statistics in <ESB_Home>/repository/conf/carbon.xml as follows:

     <StatisticsReporterDisabled>false</StatisticsReporterDisabled>
  2. Log in to the ESB Management Console and select Mediation Data Publishing in Configure menu.
  3. Fill in the information in the Mediation Data Publisher Configuration window that opens. We have described the fields below with examples.

Enable Mediation Stats: Select this option to enable the agent.

Enable Activity Service: This enables message tracing with CEP. Typically, a request is sent to an endpoint after being passed through some intermediate stages. Messaging tracing enables to track each messages and visualize the message body in each of these intermediate stages.

Note

Enable Activity Service feature will be implemented from the next release

Stream Definition Configuration:

    • Stream Name : Stream Name can be any string with alpha-numeric characters
    • Version : Stream Version distinguishes different streams with the same Stream Name. Default version should be 1.0.0 .
    • Nick Name : This is a user preferred nick name to the Stream Name in alpha-numeric characters
    • Description : A description describing about the particular stream defined by Stream Name, Stream Version pair. Description should also consists of alpha-numeric characters.

BAM Credentials:

    • BAM URL : Enter the IP address of the CEP server. And the port should be the thrift port ( ex: tcp://127.0.0.1:7611 ). You can add a comma-separated list of server URLs to ensure that load is distributed among many servers and to minimize effects of a failure of one server node. This load balancing feature is a new enhancement.
    • Username: Put the CEP Thrift log-in user name. Default value is admin.
    • Password: Put the CEP Thrift log-in password. Default value is admin.

Properties: A CEP deployment can receive events from different data agents. In order to uniquely identify events triggering from one agent, a property can be associated it. This feature is particularly useful in clustered environment.

Setting the backend server for ESB endpoint

In order to test the functionality of the Mediation Data Agent, you can define a sample WSDL Proxy Service. Before creating that service, create an Endpoint service as the WSDL Proxy Service using the following steps:

  1. Navigate to <esb_home>/samples/axis2Server/src/SimpleStockQuoteService and build the backend service with Apache Ant. (Apache Ant should be installed. For instruction, refer to Installation Prerequisites).
  2. Go to <esb_home/samples/axis2Server and run the Axis2 server.
    • In Linux, axis2server.sh
    • In Windows, axis2server.bat
  3. Test whether the proxy service WSDL exists in http://localhost:9000/services/SimpleStockQuoteService?wsdl

Adding a proxy service to WSO2 ESB

Given below are the steps to create a sample WSDL Proxy Service to test the  Mediation Data Agent.

  1. Log in to ESB management console and select Add sub menu under the Proxy Service menu in the Main menu.

  2. The Create Proxy Service from Template window opens. Click on WSDL Based Proxy link to create a new WSDL-based proxy.

  3. The WSDL Based Proxy window opens, where you can fill information. For example,


    Fields marked with * are mandatory.


  4. Click Create button. The Deployed Services window opens. Select the newly-created proxy (Simple_Stock_Quote_Service_Proxy in this example) to access its service dashboard.

  5. Click the Enable Statistics link in category, Specific Configuration.

Sending messages to the ESB

Complete all the steps above before testing the Mediation Data Agent. In this last step, you can send custom messages through the WSDL Proxy services created before, and test whether they are correctly stored in the Cassandra database. This is only an example, but the steps to use the Mediation Data Agent in a production environment are similar.

  1. Downloaded and start WSO2 CEP. Before starting the server, change its port offset to a different value in <CEP_home>/repository/conf/Carbon.xml file. This will prevent any port conflicts that can happen when starting more than one WSO2 products in a single server. For example,

    <!-- Ports offset. This entry will set the value of the ports defined below to the define value + Offset. e.g. Offset=2 and HTTPS port=9443 will set the effective HTTPS port to 9445-->
    
    <Offset>2</Offset>
  2. Navigate to <ESB_home>/samples/axis2Client and build the backend service with Apache Ant (you need Apache Ant installed) with the following code.
ant stockquote -Daddurl=https://localhost:8244/services/Simple_Stock_Quote_Service_Proxy -Dmode=fullquote -Dsymbol=testString

addurl value should be given from the https endpoint located in Simple_Stock_Quote_Service_Proxy's service dashboard. To access its dashboard, log in to ESB's management console and select the List sub menu under Services in the Main menu. Then, click the Simple_Stock_Quote_Service_Proxy service listed on the Deployed Services page. Any preferred string can be used instead of the testString for symbol )

Copyright © WSO2 Inc. 2005-2014