Topic
  • 3 replies
  • Latest Post - ‏2013-02-27T11:55:47Z by SystemAdmin
SystemAdmin
SystemAdmin
7615 Posts

Pinned topic KPIs and SLAs functionality is not working for me!!!

‏2013-02-25T14:25:26Z |
Hi,
I was trying to build a simple KPI and SLA process in IBM BPM 7.5.1.1. But, could not make it functional. Request you to review and suggest if you have any.

Implementation Details:- Took a Human Service(HS), which invokes a BPD process called MyBPD1 which is having an activity called "Activity1". Did set the KPI "Total Time(clock)" Threshold Maximum to 1 minute for the Activity1.
Now, implemented a SLA decisions called MySLA1(which is attached here), where Details, Trigger, Condition Consequence and Exposing are mentioned as follows. As defined in KPI and MySLA1, I am expecting if the Activity1 of MyBPD1 is not completed with in 1 minute, MySLA1 will be called and as a consequence a new process called MyBPD2 will be initiated which is mentioned in the MySLA consequence section. But, it is NOT working at all.

Details:
Target Type: Acivity
Trigger:
Whenever the condition is violated
Conditions:
Scope: Single value
KPI: Total Time(Clock)
Acitivities: Activity1(MyBPD1)
Condition: Greater than
Compared with: Threshold
Kind of threshold: Maximum threshold value
Consequence:
Initiate the process "MyBPD2"

Your suggestion is welcome. Thanks in advance!
Updated on 2013-02-27T11:55:47Z at 2013-02-27T11:55:47Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    7615 Posts

    Re: KPIs and SLAs functionality is not working for me!!!

    ‏2013-02-25T15:03:43Z  
    SLAs and KPIs don't work the way that you might think. So I expect that there are at least two things tripping you up.

    First, SLAs are reactive, not proactive. They also work on process-wide averages, not on individual instances. Essentially SLAs periodically scan for process-wide violations of averages.

    So, let's think about your test case. The SLA is looking for average wait times over 1 minute. Let's imagine that no one works on that task for an hour, and then completes the task in five minutes.. After 30 minutes, the SLA will scan for violations. And, surprisingly it will find none! Why? Because no tasks have been completed. So no KPIs have been measured. It actually has no data to consider. Now imagine it again, after 75 minutes. the first task has have completed, and will have recorded a wait time of 60 minutes (and an execution time of 5 minutes.) Now the SLA will fire! Even though at this point there is nothing that can be done, the task queue is already cleared.

    This is what I mean by SLAs being reactive, not proactive. If you want something to trigger after one minute of wait time to escalate the task, you should use an event timer. And SLA is more suited for watching the overall trends and health of the queue.

    Second, as I mention above, SLAs rely on periodically scanning the recorded KPIs. They do this via a schedule based SLA. The catch is that schedule based SLAs don't work on Process Centers. For reasons that I don't entirely agree with, the design decision was made that schedule based UCAs should only fire on real Process Servers and not on the Process Center. And one of the consequences of this is that SLAs will never work on Process Centers by design, at least without some outside intervention. You can "fix" this by manually running the SLA service. I don't remember the name off the top of my head, but if you search of it in the system toolkit, it isn't too hard to find. You'll find a service that is periodically run by a UCA every 15 minutes. If you run that the system will scan for all SLA violations and you can test your SLA.

    There is several articles about SLAs that go into this in more depth on the wiki, including this one : http://bpmwiki.blueworkslive.com/display/commwiki/The+Truth+About+Teamworks+SLAs

    I think the key point of that article is not to get hung up on terminology. 99% of the time when a customer have me a requirement for an "SLA", what he really wanted was an event timer, and not the feature named SLA in IBM BPM.

    David
  • SystemAdmin
    SystemAdmin
    7615 Posts

    Re: KPIs and SLAs functionality is not working for me!!!

    ‏2013-02-25T15:05:39Z  
    SLAs and KPIs don't work the way that you might think. So I expect that there are at least two things tripping you up.

    First, SLAs are reactive, not proactive. They also work on process-wide averages, not on individual instances. Essentially SLAs periodically scan for process-wide violations of averages.

    So, let's think about your test case. The SLA is looking for average wait times over 1 minute. Let's imagine that no one works on that task for an hour, and then completes the task in five minutes.. After 30 minutes, the SLA will scan for violations. And, surprisingly it will find none! Why? Because no tasks have been completed. So no KPIs have been measured. It actually has no data to consider. Now imagine it again, after 75 minutes. the first task has have completed, and will have recorded a wait time of 60 minutes (and an execution time of 5 minutes.) Now the SLA will fire! Even though at this point there is nothing that can be done, the task queue is already cleared.

    This is what I mean by SLAs being reactive, not proactive. If you want something to trigger after one minute of wait time to escalate the task, you should use an event timer. And SLA is more suited for watching the overall trends and health of the queue.

    Second, as I mention above, SLAs rely on periodically scanning the recorded KPIs. They do this via a schedule based SLA. The catch is that schedule based SLAs don't work on Process Centers. For reasons that I don't entirely agree with, the design decision was made that schedule based UCAs should only fire on real Process Servers and not on the Process Center. And one of the consequences of this is that SLAs will never work on Process Centers by design, at least without some outside intervention. You can "fix" this by manually running the SLA service. I don't remember the name off the top of my head, but if you search of it in the system toolkit, it isn't too hard to find. You'll find a service that is periodically run by a UCA every 15 minutes. If you run that the system will scan for all SLA violations and you can test your SLA.

    There is several articles about SLAs that go into this in more depth on the wiki, including this one : http://bpmwiki.blueworkslive.com/display/commwiki/The+Truth+About+Teamworks+SLAs

    I think the key point of that article is not to get hung up on terminology. 99% of the time when a customer have me a requirement for an "SLA", what he really wanted was an event timer, and not the feature named SLA in IBM BPM.

    David
    I wish DevWorks let you edit posts.

    Apologies, I referred to "schedule based SLAs" in the fourth paragraph above, and I really meant schedule based UCAs. Scheduled based UCAs do not work in Process Centers.
  • SystemAdmin
    SystemAdmin
    7615 Posts

    Re: KPIs and SLAs functionality is not working for me!!!

    ‏2013-02-27T11:55:47Z  
    I wish DevWorks let you edit posts.

    Apologies, I referred to "schedule based SLAs" in the fourth paragraph above, and I really meant schedule based UCAs. Scheduled based UCAs do not work in Process Centers.
    Hi David,
    Thank you for your valuable feedback.