Key takeaways
- Chatbots are increasingly deployed by tech companies to enhance user experience and address consumer concerns.
- The .NET Framework, developed by Microsoft, supports a wide range of applications across various platforms.
- AWS serves as a powerful infrastructure for hosting and powering .NET chatbot applications.
With an array of chatbots springing up in the last few years, major tech companies are deploying chatbots to acknowledge consumer/user concerns ranging from helping them choose the right product or service, to resolve issues faced by users. Most of the service-oriented companies have followed suit and resorted to address the growing user concerns. It may not be surprising that, in the coming days bots can completely replace humans to deliver a better user experience. In this article, we take a look at a .NET Chatbot application used and powered by AWS.
.NET and AWS
The .NET (pronounced DotNet) Framework is a software framework originally developed by Microsoft, that mainly contributed to its Windows operating system(OS) environment. The .NET Framework caters to a vast number of .NET platforms across, right from smartphones to cross-platform OS. The application areas include content management systems in large tech companies and similar web applications. If you use any .NET application, you might encounter terms such as Framework Class Library (FCL) and Common Language Runtime (CLR). The former is a vast class library which helps interpret and interchange code written in other languages such as C++, Visual Basic, C# among others and the latter is a software environment that provides features such as memory management and exception handling. If .NET is strictly used for web services, then another software called Visual Studio goes hand-in-hand with .NET. Visual Studio, as the name suggests, gives a visual representation of the web service required for building an user interface for applications-- for example, websites and even chatbots, among many other features. Started in 2006, Amazon Web Service(AWS) is Amazon’s cloud computing arm. It provides services such as storage servers, bandwidth and custom support for Application Programming Interfaces (APIs). AWS is branched into many services with Amazon Elastic Compute Cloud (EC2), Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon CloudFront and Amazon Cognito being the popular picks in commercial usage for cloud.Prior Requirements To Start With The Bot Project
- Computer with 1GB RAM or higher with decent processors (Intel i3/AMD A8 or higher)
- Amazon Web Services (AWS) account
- Latest version of Microsoft Visual Studio installed.
- AWS SDK for .NET Toolkit installed
- Latest version of Windows/Linux OS
The AWS Product Portfolio for .NET
Before AWS is incorporated in a chatbot based on .NET, the domain relevant AWS services are to be known beforehand with the implementation. It has to be followed in the order mentioned as below:- Amazon Lex: It is a primary service offered by Amazon to build a chatbot conversation interface. Lex is a conversation engine that relies on voice and text using natural language understanding (NLU) and automatic speech recognition(ASR) -- the facets of deep learning. Amazon’s recent and popular personal assistant software Alexa is powered by Lex.
- Amazon Lambda: It is a back-end server support provided by Amazon to manage codes without any hassles associated with managing servers. In this case, codes written for the chatbot application in .NET. It supports many coding languages such as C#, Node.js, Java and Python. It has a built-in AWS Software Development Kit (SDK) to assist with the programming. With Lambda, all other services by AWS can be initiated in one go by the user.
- Amazon Cognito: Another AWS service which offers user authentication and data synchronisation between mobile and web applications. It also deals in providing a secure user interface for logins and guest access.
- AWS Development Tools and SDK for .NET: The software development tools offered in AWS are plenty to choose from, as per the users’ AWS needs. The APIs are language-specific and almost cover all the domains in software technology including Internet of Things (IoT). The tools are : AWS CodeStar, AWS CodePipeline, AWS CodeCommit, AWS CodeBuild and AWS CodeDeploy.
AWS in a .NET Chatbot
The AWS services mentioned earlier, will be integrated with a .NET chatbot which is developed prior to using AWS. The code is written for Linux and Windows using ASP.NET Model-View-Controller(MVC) Framework. (The .NET Chatbot application used here is for Windows OS only). Step 1 - Building an Amazon Lex Bot The AWS web application first is started by specifying the region supported by AWS. Once this is done, a Lex Bot is created by clicking on ‘Create’ button in the Amazon Lex under Machine Learning on the AWS console. You can create a custom bot or select from the sample present in the screen shown below. Remember, Lex is working now on the .NET chatbot. After this, the bot is tested using the Test Chatbot button and is created by clicking on the Publish button.




