Tuesday, March 06, 2018

Creating a Basic bot using Bot Service

In the earlier post we looked at how to create a bot using Visual Studio 2017, today we will see how to create a bot using Bot Service. Bot Service provides core components for building bots. This includes the Bot Builder SDK for developing the bots and Bot Framework for connecting the bots to the channels.

Bot Service provides 5 templates as shown below. In this post we can see how to create a Bot using the Basic Template and C# on Azure Portal.

BotService3

Basic Template

Select the Web App Bot

BotService1

Provide the following details for the Web Bot and Select the Basic Template and click “Create”

BotService4

Once created you see see the endpoint for the BasicBotExample as shown below

BotService5

You can also download the sample solution and start customising it.

BotService8

BotService9

Now the Basic Bot has been created successfully and let us check that by Testing it in Web Chat.

BotService7

Introduction to Bots and Microsoft Bot Framework

bot_thumbWhat are Bots?

Bots are designed to solve common business problems using a natural, conversation-style approach combined with Machine Learning for Advanced Intelligence.

What are Chatbots?

A chatbot is a service, powered by rules and sometimes artificial intelligence, interacting with via a chat interface. (Skype, Microsoft Teams, Facebook messenger, Slack, Telegram)

Microsoft Bot Framework

The Microsoft Bot Framework enables organisations to build and deploy intelligent bots and provides tools to build and connect intelligent bots that interact naturally wherever the users are talking, from text/sms to Skype, Slack, Office 365 mail and other popular services.

 BotFrameworkBot

The Bot Framework provides tools to easily solve these problems and more for developers e.g., automatic translation to more than 30 languages, user and conversation state management, debugging tools, an embeddable web chat control and a way for users to discover, try, and add bots to the conversation experiences they love.

The Bot Framework has a number of components including the Bot Connector, Bot Builder SDK, and the Bot Directory.

Creating your first Bot using Visual Studio 2017

Make sure the following pre-requisites are downloaded and installed successfully.

a) Bot Framework Emulator (https://github.com/Microsoft/BotFramework-Emulator)

b) Download the Bot Application Template from http://aka.ms/bf-bc-vstemplate and download the BotApplication.zip file and copy it to the Visual Studio Templates folder for C# (The location of the Templates folder can be identified using the below screenshot)

BotFramework1

Creating your first Bot

  • Open Visual Studio 2017 as Administrator and click on “New Project” and select “Bot Application”

BotFramework2

  • The Bot Application Project creates a fully functional bot named “Echo Bot”
  • Press F5 to confirm that the “Echo Bot” application runs successfully and you see the following screenshot.

BotFramework3

  • Now let us invoke the EchoBotApplication endpoint using the Microsoft Botframework Emulator.

BotFramework4

  • Just click on the “Connect” button and start typing the message “Welcome to your first Bot Application” and the bot will respond with the no. of characters of the input text.

BotFramework5

  • Click on the message sent and you can see the corresponding JSON that was sent to the Bot and the same way you can see the JSON for the response also.

BotFramework6

BotFramework7

  • Now you have created your first bot.

Let us see how can we create more real world bots in subsequent blog posts.

Sunday, March 04, 2018

Azure Data and Analytics Platform

I am planning to write a series of blog posts to go through the services provided by Microsoft Azure Data and Analytics Platform in detail.Azure-Data-and-Analytics-Platform

ServiceDescription
Azure SQL Database Cloud Database as a Service. Azure SQL Database is a relational database-as-a service using the Microsoft SQL Server Engine. SQL Database is a high-performance, reliable, and secure database to build data-driven applications
SQL Server in Azure VM SQL Server on Azure virtual machines enables to use full versions of SQL Server in the Cloud without having to manage any on-premises hardware. SQL Server VMs also simplify licensing costs when you pay as you go.
Cosmos DB Azure Cosmos DB is Microsoft's globally distributed, multi-model database. Azure Cosmos DB enables to elastically and independently scale throughput and storage across any number of Azure's geographic regions. It offers throughput, latency, availability, and consistency guarantees with comprehensive Service Level Agreements (SLAs)
Blob Storage Azure Blob storage is a service that stores unstructured data in the cloud as objects/blobs. Blob storage can store any type of text or binary data, such as a document, media file, or application installer. Blob storage is also referred to as object storage
Table Storage Azure Table storage is a service that stores structured NoSQL data in the cloud, providing a key/attribute store with a schemaless design. Because Table storage is schemaless, it's easy to adapt the data as the needs of the application evolve.
Redis Cache Azure Redis Cache is a distributed, managed cache that helps to build highly scalable and responsive applications by providing super-fast access to the data.
Azure HDInsight Azure HDInsight is a cloud distribution of the Hadoop components from the Hortonworks Data Platform (HDP). Azure HDInsight makes it easy, fast, and cost-effective to process massive amounts of data.  With popular open-source frameworks such as Hadoop, Spark, Hive, LLAP, Kafka, Storm, R, and more, a broad range of scenarios such as extract, transform, and load (ETL), data warehousing, machine learning, and IoT can be enabled.
Azure SQL Data Warehouse SQL Data Warehouse is a cloud-based Enterprise Data Warehouse (EDW) that leverages Massively Parallel Processing (MPP) to quickly run complex queries across petabytes of data. Use SQL Data Warehouse as a key component of a big data solution. Import big data into SQL Data Warehouse with simple PolyBase T-SQL queries, and then use the power of MPP to run high-performance analytics
Azure Data Lake Store Azure Data Lake Store is an enterprise-wide hyper-scale repository for big data analytic workloads. Azure Data Lake enables to capture data of any size, type, and ingestion speed in one single place for operational and exploratory analytics.
Azure Data Lake Store can be accessed from Hadoop (available with HDInsight cluster) using the WebHDFS-compatible REST APIs. It is specifically designed to enable analytics on the stored data and is tuned for performance for data analytics scenarios. Out of the box, it includes all the enterprise-grade capabilities—security, manageability, scalability, reliability, and availability—essential for real-world enterprise use cases.
Azure Data Factory Azure Data Factory is a cloud-based data integration service that allows you to create data-driven workflows in the cloud for orchestrating and automating data movement and data transformation
Azure Data Catalog Azure Data Catalog is a fully managed cloud service whose users can discover the data sources they need and understand the data sources they find. At the same time, Data Catalog helps organizations get more value from their existing investments
Azure Search Azure Search is a search-as-a-service cloud solution that gives developers APIs and tools for adding a rich search experience over your content in web, mobile, and enterprise applications
Azure Event Hub Azure Event Hubs is a highly scalable data streaming platform and event ingestion service, capable of receiving and processing millions of events per second. Event Hubs can process and store events, data, or telemetry produced by distributed software and devices. Data sent to an event hub can be transformed and stored using any real-time analytics provider or batching/storage adapters. With the ability to provide publish-subscribe capabilities with low latency and at massive scale, Event Hubs serves as the "on ramp" for Big Data.
Azure Databricks Azure Databricks is an Apache Spark-based analytics platform optimized for the Microsoft Azure cloud services platform. Designed with the founders of Apache Spark, Databricks is integrated with Azure to provide one-click setup, streamlined workflows, and an interactive workspace that enables collaboration between data scientists, data engineers, and business analysts.
Azure Stream Analytics Azure Stream Analytics is a managed event-processing engine set up real-time analytic computations on streaming data. The data can come from devices, sensors, web sites, social media feeds, applications, infrastructure systems, and more.
Azure Data Lake Analytics Azure Data Lake Analytics is an on-demand analytics job service that simplifies big data. Instead of deploying, configuring, and tuning hardware, you write queries to transform the data and extract valuable insights. The analytics service can handle jobs of any scale instantly by setting the dial for how much power you need.
The analytics service supports includes U-SQL, a language that unifies the benefits of SQL with the power of imperative code.
Azure Machine Learning Azure Machine Learning is a cloud predictive analytics service that makes it possible to quickly create and deploy predictive models as analytics solutions. Azure Machine Learning not only provides tools to model predictive analytics, but also provides a fully managed service that can be used to deploy the predictive models as ready-to-consume web services.
Cognitive Services Microsoft Cognitive Services are a set of APIs, SDKs, and services available to developers to make their applications more intelligent by adding features such as facial recognition, speech recognition, and language understanding.
Bot Framework Azure Bot Service speeds up development by providing an integrated environment that's purpose-built for bot development with the Microsoft Bot Framework connectors and BotBuilder SDKs
Cortana Cortana is your truly personal digital assistant. Cortana is designed to help you get things done. Ready on day one to provide answers and complete basic tasks, Cortana learns over time to become more useful every day. Count on Cortana to stay on top of reminders and work across your devices.
Power BI Power BI is a business analytics cloud service provided by Microsoft. It provides interactive visualizations with self-service business intelligence capabilities, where end users can create reports and dashboards by themselves, without having to depend on information technology staff or database administrators.
Technorati Tags: