Chat Bot to Expose Services Across Boundaries
Dr. Wanyu Zang
CapTech uses web applications to access
services like Unanet (timesheet
management). Employees already use
instant messaging to communicate across
client boundaries. Combining CapTech’s
services into one ubiquitously available
service would increase the productivity of
employees at client sites. A instant
messenger (XMPP) chat bot can provide
The bot will be issued commands, much
like in a terminal. For example, the user
can send the bot a command such as
“unanet list” to list timesheet
information. The server “Kernel” daemon
will be running and listening for incoming messages obtained from an XMPP library. These messages
will be parsed into Command objects, and then dispatched to a Google Guava EventBus. The
EventBus will trigger an Event, which any number of Handlers may be listening for. Each Handler
may be responsible for communicating with REST services, cleaning up files, etc.
With the completion of the chat bot CapTech employees are able to maintain their Unanet
timesheets at client locations. Since timesheet information is often lengthy and cumbersome to
input, the bot allows the user to enter timesheet information in a conversational style. In the future,
CapTech needs to be able to expand our chat bot to interface with other services. To lend our
codebase to further extensions and changes, we designed a simple service called MeetBot. MeetBot
forced our code to held to a certain level of modularity and complexity that surpassed the
requirements for exposing Unanet alone.
The chat bot solves CapTech’s problem of not being able to access some services at client sites.
However, there is a learning curve for the users: they must learn the text based commands and how
to navigate a timesheet using a text based service. From the start we knew that the chat bot was
probably not going to be widely used, but acts as a stopgap solution to a nagging problem.
Acknowledgements: Industry Advisors: Chris Wash, Justin Bleach, Chris Lacroix and Robert Szabo