You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Background

Akibot works with 2 modules: the front end (the microblog) and the robot (the "brain"). Both modules are completely independent and separate, and they communicate via HTTP POST and XML.
When you write a message and post it in the microblog module, it does an HTTP POST call to the robot with the message. The robot gets the message and sends back an XML acknowledging the receipt. 
In the background the robot queues the message for processing. Processing means the message goes through the robot's Contextual Analyzer. The Contextual Analyzer determines the entity (inventory item, vendor, client. contact, marketing campaign, etc. etc.) and the situation (how that entity is being affected in the message/conversation), and, if applicable, makes an HTTP call to inquiry information from the corresponding software (e.g. ERP -SAP; Navision; etc-, Groupware -Exchange, Salesforce, etc. etc). 
Once the robot has all this information, it decides if an action is required (usually the action is a response back to the microblog module - but can also be updates, alerts, pushing data to other applications, etc) and proceeds to do so by pushing a message back to the microblog module via HTTP POST (the actions are defined by directives, Akibot comes equipped with some standard directives but you can teach him more that are more specific to your industry).   

SAP Bot

ubimic - SAP Bot
General Use Case

Basically this is how it is working now. The only change would be that ESME would be posting messages to Akibot (robot module, just like the microblog module is doing now) and Akibot would reply back to ESME if needed, and do all the interfacing with enterprise software (ERP, Groupware applications).

Technical details

  • The ESME Bot could be developed in any language but we have examples code for accessing the REST API for clients written in Java and ABAP.
  • The access to the SAP system could be performed via various means (web-services, RFC call, etc.) depending on what sort of system (version, etc.) you guys have on the university.
  • There are two ways to get data from ESME via a bot.
    • You can access the ESME core directly via API - polling for messages
    • You can set an actionthat responds to certain tags and then calls your ESME bot via an HTTP call. We've done something like this for forwarding messages to twitter.

Use Cases

Use Messages for Back-end Requests
  • The idea here would be to use ESME to ask the back-end for certain pieces of information.
  • Example: "@sapstockbot how many T60 laptops do we have in stock?". The answer could be "@boehr there are 3 items left where 2 are already booked. Till now, no orders for new items are in the system."
  • Example: "@sappurchaseorders I need 4 new T60 laptops for #projectx asap!" and the bot creates the Purchase Order in the system on behalf of the project manager's user name (if he has the rights for this).
  • Business users may have difficulty in using such systems, so text analysis of the messages is very useful. Research work in this direction is promising (for example, "TextAnalysis in Information Streams: Status Quo and Future Perspectives"
  • One idea might be to use the code for the  SAP ES Google Wave Botfrom Daniel Graversen that uses Enterprise Service (ES) data to post to a blip. The code is available. Note: just looked at the code. It would very easy to re-use it have a ESME bot that queries an ES that returns a material
  • Details
Microblogging SAP System
  • There is a ESME pool that is restricted to certain individuals (for example, accounting staff, which reports about latest paid orders). Origin of this group should probably be container-based (for example, LDAP).
  • The SAP back-end is also a member of this group (for example, the user "sappaidorders") and posts messages to the group like "Order XYZ has been paid by customer KN30292938".
  • Let's say order XYZ is very valuable but there were problems with the customer. The accounting person would then say "RT @sappaidorders Order XYZ has been paid by customer KN30292938 // well, finally. Good work guys!".
  • Based on ESME's pool concept, this message would only be visible to individuals in this pool.
  • The different permission schemes between the microblogging environment and the backend would also be a topic to be examined.
  • Example of research in this area: "Microblogging and ERP systems: use cases and prototype"
Taskmanagement
Device-related Use Case
  • RFID-enhanced devices send messages to microblogging system
  • Use case should also describe why inclusion of microblogging system brings advantages over direct data insertion into back-end system.
  • No labels