Title: Collaboration with Akibot
{section:border=true}
{column:width=70%}
#### Background
Akibot is the first semantic actionable micro-blogging platform for the
enterprise. Akibot not only allows real-time group collaboration and
awareness through short, instant messages (like a Twitter for the company),
but it also understands those messages and, if applicable, takes action.
A good description is provided by this ReadWriteWeb [blog](http://www.readwriteweb.com/archives/akibot_an_enterprise_twitter_clone_infused_with_ai.php)
.
#### Technical Description of the architecture
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).
## Suggested architecture
{gliffy:name=Collaboration with Akibot\|space=ESME\|page=Collaboration with
Akibot\|pageid=5965899\|align=left\|size=M}
#### General Use Case
Basically this is how it is working now. The only change would be that
Apache ESME would be posting messages to Akibot (robot module, just like
the microblog module is doing now) and Akibot would reply back to Apache
ESME if needed, and would interface with enterprise software (ERP,
Groupware applications).
#### Integration possibilitites: Overview
There are three basic scenarios
1. via an Apache ESME action that posts messages to the Akibot API.
1. A bot that follows the Apache ESME message stream and either 1) makes a
remote call to the RESTAPIlocated on another server or, if the bot was
located on the GAE then accesses your API without making a remote call.
1. Another idea would be to directly embed akibot functionality in Apache
ESME as some sort of a plug-in.
{column}
#####
{column:width=30%}
### Use Cases
##### Use Messages for Back-end Requests
* The idea here would be to use Apache ESME to ask the back-end for certain
pieces of information.
* [Detailed description of use case](esme:akibot-use-case-description.html)
#####
###
{column}
{section}