Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This will convert the WSO2Event Event Builder converts events/streams from an Input Adaptor input adapter that supports WSO2-Events into an event stream that is compatible with the Event Processor event processor. WSO2-Event has three data types (Metameta, Correlation correlation and Payloadpayload), which can be mapped to the CEP back-end backend runtime event attributes by specifying the mapping in the event builder. 

 

Configuring through the Management Console UI

1. Log in to the CEP management console and select the Main menu in the left hand side of the screen. Then select the Add menu item under Event Builder menu.

Image Removed

2. The Create a New Event Builder window opens, using which you can configure new event builders. Enter the following details in the form to create an WSO2-Event based event builder as shown in the screenshot below.

Image Removed

In this UI, there are several properties that need to be filled when creating an event builder. The user interface is divided in to 3 main components (From, Mapping and To) and all properties come under a specific section (except the event builder name) to make it more understandable.

...

You can configure through the management console as explained below or by manually adding an XML file as explained in step 5.

  1. Start the CEP, log in to its management console, select Event Builders and click Add Event Builder.
  2. Enter details in the form that appears and click the Add Event Builder button at the end of the form. For example,
    Image Added
    The fields in the above configuration are as follows:

    • Event Builder Name : Property to uniquely identify an event formatter configuration
    • Input Event Adapter (marked as 1 in the screenshot) : The input event adapter used to publish events to the CEP. This drop-down list only displays the adapters that are already created. In this example, we select an Input WSO2Event Event Adapter already created.
    • Input Event Adapter properties (marked as 2 in the screenshot) : Properties required by the input event adapter depending on the input event adapter type selected before. For example, if you select WSO2Event, then the required properties are:
      • Stream Definition - Stream name of the incoming WSO2Event stream
      • Stream Version -

...

      • Version of the incoming stream
    • Input Mapping Type

...

    • (marked as 3 in the screenshot): Select WSO2Event mapping type. This property changes based on the

...

    • event adapter selected.

...

    • It lists only the mapping types supported by a particular

...

    • event adapter.
    • Mapping properties (marked as 4 in the screenshot) : Map the incoming stream to the outgoing stream

...

    • received by the

...

    • event processor. In this case, mappings are further divided as meta data, correlation data and payload data. Provide the necessary details in the

...

    • input fields

...

    • :
      • Enter the attribute name of the incoming stream in Input Attribute Name
      • Enter the attribute name for the outgoing stream in Mapped To
      • Select the data type of the attribute from the To Stream Data Type drop-down
      • Click Add to add the individual attribute mapping to the event builder

        Info

        For the correct properties to show, you must selected an input event adapter that supports WSO2Event mapping type.

    • To Stream Name

...

    • /Version : Stream name/version of the outgoing stream
    Info

    When custom mapping is disabled,

    • The To Stream

...

3. After adding the relevant details click the Add Event Builder button. The Available Event Builders page will open. To view event builder configurations, click on the event builder name. To delete an event builder, click the Delete button.

Image Removed

...

    • name and version should match the From Stream name and version
    • The stream definitions are visible to execution plans or event formatters unless the stream definition is already available in the registry
  1. After a builder is successfully created, you can change its configuration and redeploy it. To do this, click the Edit link associated with it. You can also click the other links associated with it to delete or enable statistics and tracing.

  2. An XML based editor opens allowing you to edit the event builder configuration from the UI itself, without

...

  1. having to edit the

...

  1. file in the file system. Do your modifications and click Update.

Image Removed

Click Update after editing the configuration to save the changes and redeploy.

Configuring through an XML File

...

  1. Alternatively,

    Anchor
    step5
    step5
    you can specify an event builder configuration using an XML file and save it in <PRODUCT_HOME>/repository/deployment/server/eventbuilders

...

  1. directory,

...

  1. which is the event builder

...

  1. deployment directory. Since hot deployment is enabled, you can simply add/remove files to deploy/undeploy from the server.

    Create the XML file with the following WSO2Event based event builder configurations

...

  1. . Event builder implementation

...

  1. must start with

...

  1. <eventbuilder> root element and

...

  1. the namespace

...

  1. set to  http://wso2.org/carbon/eventbuilder  as in the example below.

    Code Block
    languagehtml/xml

...

  1. <eventBuilder name="SearchStatBuilder" xmlns="http://wso2.org/carbon/eventbuilder">
        <from 

...

  1. eventAdaptorName="localEventReceiver" 

...

  1. eventAdaptorType="wso2event">
            <property name="stream">access_Analytics</property>
            <property name="version">1.0.0</property>
        </from>
        <mapping type="wso2event">
            <property>
                <from dataType="meta" name="ipAdd"/>
                <to name="ipAddress" type="string"/>
            </property>
            <property>
                <from dataType="payload" name="username"/>
                <to name="username" type="string"/>
            </property>
            <property>
                <from dataType="payload" name="keywords"/>
                <to name="searchTerms" type="string"/>
            </property>
        </mapping>
        <to streamName="searchStatistics" version="1.0.0"/>
    </eventBuilder>

 

  1. Warning

    When custom mapping is disabled, the event builder is considered as a pass-through event builder, which sends all events without pre-configured mappings. But, this feature is only implemented for wso2Event builder. Also, you cannot configure an execution plan for a pass-through event builder using the UI. You must create it in the back-end. This is because the CEP doesn't know about the stream definition until the first event comes to it. After the first event, you can configure the execution plan and event formatter in the back-end and deploy it.