Creando un Bot con Bot Framework Parte 2: Publicando el Bot y conectándolo a un servicio para su uso


En el post inicial hicimos un breve recorrido donde se habló de la relevancia y auge que esta tomando la creación y adopción de plataformas tecnológicas para crear Bots, adicionalmente se dio una introducción al Microsoft Bot Framework y trabajamos en nuestro primero proyecto de ejemplo.

En esta segunda entrega aprenderemos cómo poder publicar el REST endpoint que creamos en Azure y hacer el registro correspondiente de nuestro bot en el Bot Connector.


Microsoft Azure

Microsoft Azure es la plataforma de nube que Microsoft ofrece, esta plataforma tiene una diversidad de servicios disponibles bajo las modalidades de Infraestructura como Servicio (IaaS por sus siglas en inglés), Software como Servicio (SaaS) y Plataforma como Servicio (PaaS).  Microsoft Azure es una plataforma robusta, de escala empresarial y que cuenta con los más altos estándares de cumplimiento respecto a la seguridad y privacidad de la información y servicios que son alojados en la misma.

Utilizaremos para este ejemplo un servicio muy importante dentro de Microsoft Azure, el denominado Azure App Service. Este servicio es una oferta de Plataforma como Servicio (PaaS) de Microsoft Azure que te permitirá crear aplicaciones Web y aplicaciones Móviles. Al ser un servicio tipo PaaS mucho del proceso de administración, gestión y actualización de la infraestructura es administrado por Azure, eso significa que ya no debes preocuparte por como provisionar, configurar y actualizar esta infraestructura, más bien ya solo te preocupas por publicar y actualizar tu aplicación, GENIAL NO?.  


App service consta de 4 servicios:



Puedes ir a los enlaces asociados para profundizar y conocer mejor cada uno de ellos.


Para este ejemplo haremos uso de un Web App.


Publicando nuestro REST Endpoint en Microsoft Azure


Procederemos a publicar el servicio en Microsoft Azure, para esto es requerido que cuentes con una suscripción de Azure, para esto tienes varias opciones:


  • Si cuentas con Visual Studio 2015 Professional o Enterprise, a través de tu suscripción MSDN puedes aprovechar el crédito disponible en Azure para realizar esta prueba.
  • Puedes inscribirte al trial que te da un crédito de $200 dólares (Es requerido contar con una tarjeta de crédito)
  • Si eres estudiante y tu institución cuenta con el programa de Microsoft DreamSpark puedes crear sitios web a través de este beneficio
  • Si solo quieres hacer una prueba de concepto y sabes que la puedes concluir en menos de 1 hora, puedes hacer uso del sitio https://tryappservice.azure.com/en-us el cual te permitirá crear de forma gratuita una Web App que estará disponible por un tiempo limitado de 1 Hora.
  • También si eres un desarrollador independiente (no empresa u organización privada) puedes utilizar el beneficio de la suscripción Visual Studio Dev Essentials que esta disponible con el uso de Visual Studio Community 2015.


Para efectos de este ejemplo voy asumir que ya cuentas con una suscripción registrada en Azure y haremos uso de la misma para publicar nuestro sitio Web.


Publicar nuestra aplicación en Azure con Visual Studio es muy sencillo. La forma más fácil y rapida es hacer click derecho sobre el proyecto que creamos y elegir la opción de “Publish”

image


Nos presentará una ventana de Dialogo donde seguiremos una serie de pasos para asociar la suscripción de Azure que utilizaremos para publicar el Sitio, en la ventana elegimos Microsoft Azure App Service

image


La siguiente ventana les mostrará la suscripcion que tienen configurada y pueden hacer click sobre el boton New

image


Luego podras crear un nuevo Resource Group y App Service Plan


image


Un Resource Group en Azure es una especie de contenedor lógico que nos permite crear servicios dentro del mismo, en este caso nuestra Web App, el resource group nos permite agrupar servicios para poder llevar un mejor control del uso y consumo de una solución por completo.

El Service Plan servirá para configura el tipo de Web App que deseamos crear y para definir en cual de las regiones disponibles se provisionará el servicio


Has click en el boton nuevo del App Service Plan para configurarlo, en mi caso por ser un ejemplo lo provisionaré en South Central US y de tamaño lo pondre en la capa gratuita

image


Una vez completada la configuración solo debemos dar click al boton Create y Visual Studio se encargará de configurar y provisionar nuestro nuevo sitio en Azure de forma automática. 

image

Este proceso lo hacemos una sola vez, si realizamos cambios más adelante ya solo bastará elegir Publish y con esta configuración Visual Studio se encargara de empujar los cambios hacia Azure.


El último paso es Publicar el Sitio:

image


Una vez creado y publicado el sitio se abrira una ventana de nuestro navegador default y nos mostrará la página de inicio del REST endpoint que acabamos de publicar

image



Registrando el nuestro Bot en el Bot Framework Connector


Ahora que ya hemos publicado el REST Endpoint estamos listos para poder registrar nuestro Bot en el Bot Framework Connector a continuación describiré los pasos a seguir para completar esta tarea.


Paso 1:  Deberán ingresar al portal del Bot Framework https://dev.botframework.com/ haciendo uso de una cuenta de Microsoft (live, outlook.com, hotmail).  Al haber ingresado elegir la opción Register a bot

image


Paso 2: Deberán completar la pagina de registro de su Bot:


image


Name:  Es el nombre de su Bot

Bot Handle: es el identificador único de su bot

Description: Descripción del Bot

Messaging endpoint: URL del sitio que publicaron en el paso anterior en Azure, deben agregar al url  “/api/messages”


Luego eligen crear y su bot quedará listo.


Configurando y Actualizando el REST Endpoint para ser utilizado en el Bot Connector

Una vez hayamos terminado el registro de nuestro bot, hay dos datos fueron generados que son muy importantes:

  • Bot Handle (Anteriormente AppID): es el identificador único de su bot
  • Primary App Secret: clave utilizada para conectarse al bot desde alguno de los servicios


image


vamos a copiar estos dos datos y regresamos a Visual Studio, ubicamos el archivo Web.Config y pegamos los datos en la sección correspondiente:

image


Guardamos los cambios, hacemos click derecho sobre el proyecto y volvemos a publicar nuestro sitio a Azure.  Con este paso estamos actualizando el REST endpoint the hemos creado en azure para que utilice el Bot Handle y Primary app Secret correspondiente, de lo contrario no podemos autenticarnos con nuestro bot al intentar utilizarlo desde un servicio.


Una vez haya concluido la publicación podemos regresar al portal y veremos que podemos utilizar la opción de Test Connection desde la pagina.  Ingresamos un mensaje Ej: Hola y veremos como el bot nos responde, tal y como lo habíamos probado con el emulador:

image


Con esto hemos concluido esta segunda parte. En la tercera parte veremos como podemos conectar nuestro bot a un servicio como Skype o Facebook para interactuar con el mismo desde estas plataformas.


Espero les sea de mucha utilidad Smile!


Carlos A. Lone

@carloslonegt

No Comments

Add a Comment

As it will appear on the website

Not displayed

Your website