Вы должны знать историю и архитектуру Bot Framework, чтобы понять, что было / есть / будет доступно.
В двух словах:
Архитектура
Это старая добрая картина, но интересная, когда вы ее понимаете:
Основа состоит из нескольких частей:
- Ваш код (см. Язык разработки ниже), размещенный в веб-приложении, потому что за ним стоит только API.Эта часть использует SDK (с открытым исходным кодом) для связи с Connector, например
- Разъем для бота (не с открытым исходным кодом и размещен на стороне Microsoft), отвечающий за обработку связи с «каналами»то есть, где ваш бот будет выставлен
- Каналы
- Другие вещи с учетом ваших потребностей: пользовательский API, когнитивные сервисы (например, для понимания языка с LUIS и т. д.)
Это то, что мы могли бы назвать компонентами .Эти компоненты должны где-то работать, и вы также должны предоставить подробную информацию о каналах, которые вы хотите использовать, поэтому у нас есть следующее:
Azure Bot Service
и Azure Functions bot
- это 2 ресурса, которые позволяютвам нужно создать все необходимое для хоста вашего кода.Вы используете один или другой, но не оба для одного бота.Первый предназначен для «классической» разработки, второй - если вы выполняете функции Azure. Bot Channel Registration
- обязательный ресурс, используемый для настройки вашего бота: в этом ресурсе вы укажете, какой у вас кодконечная точка (поэтому вы будете указывать на конечную точку бота службы Azure или бот-функции Azure) и настроите все необходимые каналы.Также имеется быстрый тестер.
Дополнительный комментарий : Azure Bot Service
и Azure Functions bot
являются своего рода «помощником»: в начале фреймворка v3 онине существовало, и вы могли бы создать бота, создав непосредственно план обслуживания приложения + приложения для размещения вашего кода и регистрацию канала бота для определения ваших каналов.
Язык разработки
Наверхдо версии 3 (которая была стабильной версией до сентября 2018 года), Bot Framework SDK был доступен на 2 языках: C#
и Node.js
Версия 4 SDK поступила в открытый доступ в начале 2018 года ипереключается на стабильную версию в те дни (по крайней мере, для C#
и js
).Он поддерживает 4 языка разработки:
Так что для Java, посмотрите на специальный репозиторий, который все еще находится в Preview, но может скоро измениться.