This is the multi-page printable view of this section.
Click here to print.
Return to the regular view of this page.
Development architecture and operation
Aura Virtual Assistant development architecture and operation
Documents from this point forward contain low-level technical information regarding Aura Virtual Assistant, aimed at technical profiles.
We highly recommend reading these basic Aura Virtual Assistant documents first to have a clear overview of its foundation, benefits and functional behavior:
Introduction
Aura Virtual Assistant architecture is conceived as a multi-bot system based on Microsoft skills architecture.
In this framework, Aura is divided into isolated modules (skill-based bots) that, currently, are independent domain bots able to provide a specific function or capability in a coordinated and efficient manner.
These self-supported skills work with an orchestrator at the top, responsible for connecting channels with bots and managing the conversational flow with the customer.
Mapping functional architecture with development architecture
As explained before, Aura Virtual Assistant documentation contains both:
-
Low-level technical documents, aimed at not-technical profiles, that describe the functional behavior of our assistant
-
High-level technical documents, for highly-skilled technical profiles, that include detailed technical information, system architecture and technical processes
In order to ease comprehension for readers, take as a basis the Aura Virtual Assistant functional flowchart and check the mapping between functional and technical components.
1 - Development architecture
Aura development architecture
Description of the Aura Virtual Assistant development architecture, its operation and main components
Introduction
A bot is an application, particularly an HTTP server, that allows interaction with users in a conversational way. Different means of interaction are available, such as text, cards with images, video or audio and speech.
Users interact with the bot through a given channel, that is the final application used directly by the users. For instance, the bot can be accessible from Facebook, WhatsApp or from any private application, such as My O2 or Mi Movistar. Every message exchanged between the user and the bot is called an activity.
In Aura distributed architecture, the user interacts directly with the root bot, here named aura-groot, and the root bot delegates some of its conversational logic to the skill aura-bot.
Skills and root bot communicate over HTTP using the Bot Framework protocol.
Both aura-bot and aura-groot are separate bots and are published independently.
Main technical components
The key Aura technical components that executes all the functionalities of Aura Virtual Assistant are defined below.
Take into account the mapping between the functional architecture with development architecture:
-
aura-groot
aura-groot is the main component in charge of handling the assistant. It is responsible for the communication between each channel and its corresponding skill, keeping track of all the communication process, but introducing a minimal interference on it.
Access detailed technical documentation regarding aura-groot component
-
aura-bot
aura-bot is a skill based on Microsoft Bot Framework that constitutes Aura’s neuronal network. It handles the requests received from aura-groot and interacts with every Aura system or component in order to provide Aura users with the intended answer or requested service.
Access detailed technical documentation regarding aura-bot component
Operational flow
The main stages in tasks in Aura Virtual Assistant conversational process are described below and shown in the following flowchart.
-
aura-groot adapter receives activities from the user and forwards them to the aura-groot activity handler. (Activities from the user are received at the aura-groot messaging endpoint.)
-
The aura-groot uses a skill HTTP client to send an activity to the skill. The client gets the consumer-skill conversation information from a skill definition and a skill conversation ID factory. This includes the service URL that the skill will use to reply to the activity.
-
The aura-bot adapter receives activities from aura-groot and forwards them to the skill’s activity handler. (Activities from the consumer are received at the skill bot’s messaging endpoint).
-
When aura-bot responds, the aura-groots skill handler receives the activity. It gets the root-user conversation information from the skill conversation ID factory. It then forwards the activity to the aura-groot’s adapter. (Activities from the skill are received at the aura-groot’s skill host endpoint).
-
The aura-groot adapter sends messages from the skill to the user.
