Topic
3 replies Latest Post - ‏2013-02-22T02:19:06Z by SystemAdmin
SystemAdmin
SystemAdmin
6195 Posts
ACCEPTED ANSWER

Pinned topic EGL and Complex Event Processing

‏2013-02-20T13:16:55Z |
Hi all,

I’m doing a reconnaissance exercise using EGL as part of a Complex Event Processing (CEP) framework. So far as a unit, we’ve proven:

• EGL/RUI can call CICS Web Services
• CICS 4.2 can emit Common Base Event (CBE) XML files and HTTP transport it to Tomcat
• Our Web Services in Tomcat filters, do pattern matching and transforms event data, to produce reports and send notification
• We can store events to files for non-repudiation purpose
• EGL/RUI handler can use a callback function to listen to backend processes

The moving parts appears to be CEP ready. Do you see any obvious reason not to proceed using EGL with this application infrastructure? (see attached)

Regards,
jm
Updated on 2013-02-22T02:19:06Z at 2013-02-22T02:19:06Z by SystemAdmin
  • markevans
    markevans
    2725 Posts
    ACCEPTED ANSWER

    Re: EGL and Complex Event Processing

    ‏2013-02-20T19:20:20Z  in response to SystemAdmin
    This is really interesting. Thanks for sharing it.
  • SystemAdmin
    SystemAdmin
    6195 Posts
    ACCEPTED ANSWER

    Re: EGL and Complex Event Processing

    ‏2013-02-21T09:54:26Z  in response to SystemAdmin
    About your last point "EGL/RUI handler can use a callback function to listen to backend processes".
    If you mean: EGL/RUI handlers/widgets can use a callback function to receive the answer from a webservice, this is true.
    I don't know any option to listen to backend processes (although it would be nice if it would be possible to ask the backend how far the process is when running a backend process).

    Regards,
    Jeroen
  • SystemAdmin
    SystemAdmin
    6195 Posts
    ACCEPTED ANSWER

    Re: EGL and Complex Event Processing

    ‏2013-02-22T02:19:06Z  in response to SystemAdmin
    Yes, I meant EGL/RUI handlers/widgets can use a callback function to receive the answer from a webservice.

    We're still in the initial stages on trying the Event-Driven approach. What's promising though is, CICS Event Processing framework appears to have XML event headers (i.e., cics:context-info tag) to keep track of activity sequence, network and module origins.

    
    <?xml version=
    "1.0"?> <cics:event xmlns:cics=
    "http://www.ibm.com/xmlns/prod/cics/events/CBE"> <cics:context-info> <cics:eventname>Query</cics:eventname> <cics:usertag>V001</cics:usertag> <cics:networkapplid>MYORG.CICSPROD  @@@@</cics:networkapplid> <cics:timestamp>2013-02-05T20:51:51.976+00:00</cics:timestamp> <cics:bindingname>SampleHTTP</cics:bindingname> <cics:capturespecname>PROGRAMSTART</cics:capturespecname> <cics:UOWid>160DD5C3D6D44BE2D4E9C1F0F0F0F2E10A9CC48E98000100000000</cics:UOWid> </cics:context-info> <cics:payload-data> <data:payload xmlns:data=
    "http://www.ibm.com/prod/cics/V001/Query"> <data:CUSTNO>000005</data:CUSTNO> <data:STOCKID>000005</data:STOCKID> </data:payload> </cics:payload-data> </cics:event>
    


    So in a way if we can define exactly what milestone events should occur, there's a good possibility to infer how far each unit-of-work has gone thru the wire. There are available software products that are able to consume CBE-formatted XML, but it's still too early to consider. For now, we reckon EGL can do the required job.