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 ReadWriteWeb blog.
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
![Collaboration with Akibot](/confluence/download/attachments/5965899/Collaboration%20with%20Akibot.png?version=5&modificationDate=1374371170000&api=v2)
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).
Integration possibilitites: Overview
There are three basic scenarios
- via an ESME action that posts messages to the Akibot API.
- A bot that follows the 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.
- Another idea would be to directly embed akibot functionality in ESME as some sort of a plug-in.
Integration analysis: ESME Action
Use ESME's existing action architecture to post to akibot via its HTTP POST interface.
We can post to twitter via this mechanism so should also be able to post to you guys as well.
For example,
http://user:password@identi.ca/api/statuses/update.xml
status=%s
The Akibot REST API to send messages has the following parameters:
Name |
Description |
Type |
Optional |
Example |
---|---|---|---|---|
Message |
Message to be sent |
String |
|
We're going to launch the Akibot campaign on 11/26/09 |
Key |
Application Key |
String |
|
|
Message ID |
Id of the message to send |
|
|
1214 |
Urgent |
Whether message is urgent or not |
Number |
|
0 |
Private |
Whether message is private or not |
Number |
|
0 |
Group ID |
ID of group involved |
Number |
|
1413 |
User ID |
ID of user sending the message |
Number |
|
1765 |
User Nick |
Nickname of user sending the message |
String |
|
BobSmith |
Message timestamp |
Timestamp of message to be sent |
Timestamp |
|
2009-11-03 10:07:08 |
Integration analysis: ESME bot
Coming soon.
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.
Microblogging Backend System
- More needed here
Open questions
- Authentication of users. You don't want two user stores.