ducky801
asked on
Realtime Dashboard - Suggestions on approach
I've been tasked with leveraging a realtime API to develop an operational dashboard (who's online, AHT, etc..). The API returns a JSON response to parameters identified in a URL via a GET request. I'll figure out the rest as I go along. To clarify: I'm not a developer but program a lot of VBA and have managed to come up with some pretty cool solutions over the years by researching/programming as I go along. I know they're cool because real programmers tell me so.
Anyway - I'm curious if anybody has any opinion on the best approach? I can think of 2 but there may be something better.
1) Use Pentaho spoon to write (replace) the JSON results to a table(s) in my MySQL database every few seconds. Then, point Microstrategy to the MySQL DB.
2) Develop something with vb.net which would probably be a bit more involved.
Any other suggestions?
Anyway - I'm curious if anybody has any opinion on the best approach? I can think of 2 but there may be something better.
1) Use Pentaho spoon to write (replace) the JSON results to a table(s) in my MySQL database every few seconds. Then, point Microstrategy to the MySQL DB.
2) Develop something with vb.net which would probably be a bit more involved.
Any other suggestions?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks Satsumo -
"Pretty realtime". So, I think a snapshot of contact center status from the last 1-5 minutes or so would be reasonable. We'll have 100's of agents online at a time, so not a huge number to deal with.
What I'm describing (and asking for feedback on here) is querying a server every few seconds, say every 15 or 30 seconds via API with URLs with the appropriate parameters to ask things like:
How many agents are online right now?
What is the average handle time per contact?
What is the average handle time per agent?
How many chats is each agent taking concurrently?
The answers to those questions are returned in JSON format. I'm thinking that I then parse those JSON results and write them out to a DB. We'll have some BI layer sitting on top of that DB that refreshes at some interval, say 15 or 30 seconds there too. I'm thinking Microstrategy for this but am unsure if a Microstrategy page can 'self refresh'. I'll have to look into that
Does this seem like a reasonable approach?
"Pretty realtime". So, I think a snapshot of contact center status from the last 1-5 minutes or so would be reasonable. We'll have 100's of agents online at a time, so not a huge number to deal with.
What I'm describing (and asking for feedback on here) is querying a server every few seconds, say every 15 or 30 seconds via API with URLs with the appropriate parameters to ask things like:
How many agents are online right now?
What is the average handle time per contact?
What is the average handle time per agent?
How many chats is each agent taking concurrently?
The answers to those questions are returned in JSON format. I'm thinking that I then parse those JSON results and write them out to a DB. We'll have some BI layer sitting on top of that DB that refreshes at some interval, say 15 or 30 seconds there too. I'm thinking Microstrategy for this but am unsure if a Microstrategy page can 'self refresh'. I'll have to look into that
Does this seem like a reasonable approach?
Thanks for the points ducky801, I'm not sure you got an answer directly. I didn't reply to your last comment because I couldn't add anything useful. Your plan seems reasonable enough. I thought perhaps an another expert might contribute.
ASKER
In your experience, do Spoon, MySQL, and Microstrategy support the use case for building a realtime dashboard?
I'm not looking for the *easiest* path, but the *best* one