Microsoft Technology Stack
Microsoft is an American multinational technology company. It has implemented own range of application for developing a complete solution. Microsoft's technology stack helps numerous companies in succeeding their needs.
Before knowing about the Microsoft technology stack, we must know what is technology stack. Simply a technology stack is a collection of software products, tools, libraries, frameworks, servers, UI/UX solutions, software and programming languages used by programmers or developers to build a web or mobile-based application. Among many technology stacks, Microsoft Technology stack is one of them. (Read More). Microsoft technology stack includes all development based on the .net framework, where primarily uses C# and F# programming language.
If we search on the Internet we will find only a few large applications and websites which are popular in the world that are built using Microsoft Technology Stack. Then we may think about how Microsoft Technology is popular among us? Microsoft Technology Stack is popular among banks and trading for making websites and applications. Diverse branches of government and army who needs software solutions also use Microsoft technology as those government and army preferred closed source. Any corporation nowadays needs a software solution. These corporations are willing to spend money on more expensive technology and feel more “at ease” with a big company like Microsoft backing it.
Microsoft is already king of Desktop OS development with a market share of 35.12%(Read More). But it's not enough to be king in only one field and is required to change themselves to exists in this competitive environment. Now that the computer-enabled devices like smartphones, tablets and many other IoT devices appear to have spread unstoppably. Times and markets are changing rapidly and all companies realize the importance of cloud and AI. Microsoft has also introduced cloud computing platforms like Azure and AI platforms like ML.Net.So,at present Microsoft is reshaping its technology stack almost completely by giving high priority to the latest technology and less to older and mostly unused technology like vb6 and SilverLight(will end after October 2021).
Developers are still less well conscious of Microsoft's technology stack powerhouse. Don't worry I am here to explain all of these and you will be somehow comfortable with those stacks.
Explaining each of them in-depth.
.NET is a Microsoft-built programming framework used by the programmer for making the desktop application, web application, mobile application, console application, web services, assemblies, websites and many more. Once a .Net Framework is installed in the machine, we can continue the application development instead of developing it from scratch..Net framework provides the environment for developing and executing .Net Applications.
Like any other framework like Java Framework, Php Framework, .net frameworks also contains the following main components : RunTime, Built-in Libraries, Programming languages or compilers.
Runtime: Runtime used in .Net Framework is CLR().Regardless of any .NET programming language, CLR is responsible for handling the execution of. NET programs.CLR's main work is to takes Intermediate Language (DL) like .dll and .exe file (machine-independent code) and pass it to JIT compiler and finally produce native code which is machine-dependent code. So, CLR is the core of the execution of of.net programming. It is not necessary for programmers to worry about handling the memory if the programs run under the CLR as it offers memory management and thread management.
Libraries:Libraries: Inbuilt libraries used in .net framework are called Framework Class Library(FCL).Some of the popular Namespace used in FCL are System, System.Collection,System.Threading,System.Net, Microsoft.CSharp and many more.
Programming Languages:Some of the popular languages that .Net Framework supports are: C#, F#, Cobra, Fantom,JScript, etc.
2) ASP.Net MVC
ASP.NET MVC is an open-source framework for web development.ASP.net MVC provides an option for creating web applications to ASP.net web forms. It provides better performance than Web Form. It follows the MVC (Model View Controller) design pattern. The main purpose of Model View Controller (MVC) is to decouple user-interface (view), data (model), and application logic (controller). The first released ASP.NET MVC framework was released on March 13, 2009, and currently existing .Net MVC framework is .NET MVC 5.2 which was released in 2014.
Some of the advantages/features of Asp.Net MVC framework are :
c)Include Existing features of ASP.Net
d)Support Parallel Application Development
e)Include Separation of Concern by the use of MVC pattern.
f) Reusable framework
g)Support Test-Driven Development
In simple term, MVC is defined as:
M(Model): Model handles data and business logic of any MVC application.
V(View): View is what the user sees. View present data coming from the model to the user.
C(Controller): Controller is the heart of the MVC. It connects the model with view.
This below image describes how MVC pattern works.
SQL Server is a Microsoft owned Relational Database Management System (RDBMS). It was originally developed in the 1980s at Sybase for UNIX systems. It is written in C, C++. Generally, we call SQL SERVER as MSSQL. The main function of the SQL Server is to store and retrieve data required for an application.
MySQL is the most frequently used database, as it was last year. This year, PostgreSQL took second place, ahead of Microsoft SQL Server. So Microsoft SQL Server is the third most frequently used database, according to the survey of Stackoverflow 2019.
It is the most widely used commercial database server. It is an ideal database server if you use Microsoft Stack for application development.
Some of its important features are:
3)Maintain standby Server.
4)Separate security privileges.
5)Good for large organizations.
6)Supports both ANSI SQL(standard SQL Language) and Microsoft owned T-SQL language.
SQL Server is available in various editions some of them are: Enterprise Edition, Standard Edition, Express Edition(free version with limited features), Developer Edition(also free edition ), Datacenter Edition, Compact Edition and many more.
These below are a part of a suite of Microsoft SQL Server Services:
SQL Server Analysis Services(SSAS):
It is BI analytics tools used to analyze and get insights of data located in the various database systems, files or tables.It has OLAP as well as data mining capabilities and comes with two distinct structures: Multidimensional and Tabular.
SQL Server Integration Services(SSIS):
SSIS is a simple and scalable data warehousing tool used to capture, load and transform data such as clean up, aggregate, merge, etc.It is used to migrate data from one database to another database in an easier manner. It helps to merge data from various data stores.
SQL Server Reporting Services:(SSRS):
It is a Microsoft based server-based report generating software system. It is used to produce a visual format of data in graphs, images, and charts. This service comes free with SQL Server.
Microsoft Visual Studio is Microsoft's integrated development environment. It is used for the development of websites, console applications, desktop applications, web applications, web services, and mobile apps. Visual Studio contains a code editor that supports IntelliSense and the code refactoring. Built-in a language supported by Visual Studio are C, C++, C++/CLI, VB.Net, C#, F#, Typescript. It also supports other languages like Python, Ruby,Node.js and M, etc if you installed them separately.
It is 2nd most popular development environment after visual studio code(also Microsoft product) according to Stackoverflow survey 2019.
A free version of Visual Studio is Community Edition.
5) Visual Studio Code
Visual Studio Code is a lightweight free open source code editor for various leading operating systems like Windows, Linux and macOS developed by Microsoft and released on November 18, 2015, under the MIT license. According to StackOverflow survey 2019, Visual Studio Code is one the most popular code editor among web developers.
It comes with great features built-in and you can customize more to add other external plugins as well. It includes support for code debugging, inbuilt version control support (Git and Github), Syntax highlighting for various language,code refactoring,bracket-matching,auto-indentation,snippets,box-selection etc.
Windows Azure is a private and public Microsoft owned cloud platform.IT professionals use it to create, deploy and handle apps.It has already provided SAAS, PAAS, and IAAS services to numerous clients.
Azure was launched in 2010 and used by most Fortune 500 companies in the world. Best of the best companies in the world choose to work only with Azure. Even it beat Amazon in this case. It provides services to the more regions of the world than any other cloud services in the market. According to Market Share A2 2018, Azure covers 30% of the total cloud computing market share. It provides 25 always free services to the client. Some of them are App Service, Functions, Container Service, Active Directory and 8 other services are offered for 1 year as free some of them are Linux/Windows Virtual machines, Blob Storage, SQL Database.
It is a popular single package software that contains set of apps related to the office. It includes MS Word(a word processor), MS Powerpoint, Ms. Excel, MS Publisher, MS note and many more. It provides both offline and online-based version of these applications. For many applications, Microsoft Office is taken as the de-facto standard.
Some of the application presentation in MS Office package with its use:
Ms. Word: Used for creating documents.
Ms. PowerPoint: Used for creating presentations.
Ms. Excel: Used for numerical data recording and analysis by creating spreadsheets.
MS Outlook: It includes email, calendars, address book, task manager, etc. It enables organize our email, handles and share our calendar, shares cloud files, etc.
MS Access: It is a database management system used to store and retrieves data in an easy manner.
MS Publisher: It is used for the page layout and page design. The other is similar to Ms. Word.
Other applications are: Microsoft OneNote, Microsoft Teams, Microsoft Visio and many more
SharePoint is the leading collaborative server environment of Microsoft which provides tools for document and data sharing across different organizations in the network of a company. This is a place where team members can interact, exchange information and collaborate. It is a b-based collaborative system.
Some of the important advantages of Sharepoint are :
a) File Versioning: Sharepoint can manage versioning of your document so you can go back to the old version of the document.
b) Check-in/Check-out: These features where developed to prevent conflicts when multiple people are trying to edit the same content at the same time.
By checking out a file, the can prevent other users from editing that file. y checking in a file, the user can allow others to edit the content.
c) Indexing and Searching Features: When a user searches for certain keyword in Sharepoint then the result will show as soon as you start typing, and this is based on their previous and trending content in office 365.
d) Integration with Windows Apps: Have easy integrating facilities with Microsoft office, excel and many more.
e) It has also other miscellaneous features like calendar, task list, alert message facilities, recycle bin, etc.
Silverlight is a powerful tool for the development of interactive web- and mobile user experiences. It is a platform applied to rich media on the web, developed by Microsoft. It is built on XAML and .NET.It was designed as an Adobe Flash competitor. It is now deprecated application in 2012 and security patches and bug fixing is provided up to 2021. Like adobe flash, SilverLight also integrates animation, video, and interactivity into
the web pages. Most of the multimedia content available on the internet use adobe flash player.
Windows OS is a series of Microsoft-developed operating systems. It has both graphical and non-graphical version.OS controls the memory and processes of the computer, along with all its software and hardware.
Some of the important features of Windows OS are :
It is easy to use, better performance, plug and play support, better file management, and memory management, better looks, design and interfaces, has a large amount of software as compared to Linux os, continually improving its security features, etc.
Common Windows OS available till date are: MS-DOS, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10
For more visit: the history of windows os
Xbox is a Microsoft-owned video gaming console brand. It is one of the strongest competitors in the gaming console world. This gaming console device can be connected to a TV or other display devices. It offers realistic graphics for games.It also gives players the chance to use Xbox Live for online games.
There is currently 3 generation console of Xbox in the market:
1)First Generation - Xbox
2)Second generation - Xbox 360
3)Third generation - Xbox One, Xbox One S, Xbox One X
12) Dot Net Core
13) Azure Cosmos DB
14)Windows Communication Foundation (WCF)
The WCF is a secure service used for building service-oriented, distributed and reliable applications where mostly message exchanging is perform in the form of synchronous and asynchronous manner from one service endpoint to another service endpoint. It makes inter-process communication easier.
- It is a part of .NET 3.0.
- Previously, it is known as Indigo.
- It is not open-source software.
- It does not have Model View Controller Features as .Net MVC has.
- It supports HTTP, UDP, and custom transport protocol.
When to use WCF?
- If you plan to use. NET Framework 3.5, WCF will be an excellent option.
- Multiple protocols WCF supports, including HTTP, TCP, pipe name.
- If you want to create a service with standards like Messaging and Reliable Message Protection, WCF Service is useful.
- You can use various message exchanging patterns with WCF. Some of them are Request-Reply, One way, and Two way (Duplex) patterns.
15)Microsoft Dynamics CRM
It is one of the leading CRM in the market today. It is a customer relationship management software package. The main focus of the product is sales, marketing, and service(help desk).
- It is a server-client application
17)Git Virtual File System (GVFS)
Virtual Filesystem (originally Git Virtual File System (GVFS)) is an open-source system allowing Git to run at an enterprise level. It helps in managing huge Git repositories like Windows Repository.
Windows repository is around 270 GB and has millions and millions of files. Actually, when pulling and using this repo in general Github, bitbucket then doing all the things like clone, checkout, status, add, etc takes lots of time.
According to Microsoft, even in the incredibly fast network, it takes 12 hrs to clone windows repository locally, 3 hrs to checkout branch, 8 mins to do check status, 30 minutes to add a commit. So we can say git couldn't handle large repository like git.
So, Visual Studio Team Services and Windows Team have to build GVFS to help Git Scale and this reduces all limitations that git has.
18) Xamarin - For Mobile App Development
- C# language
- Visual Studio with installed Xamarin
VB.net is a modern, general-purpose, object and component-oriented programming language developed by Microsoft in 2002. It is the successor of Visual Basic Language.
If you have knowledge of BASIC and Visual Basic Programming language then you can easily do VB.Net programming.In 2017, VB was introduced alongside Visual Studio 2017. It runs on the .Net framework and has a drag and drop features for creating the user interface.
20)ASP.NET Web Forms
ASP. NET Web Forms is a web application framework that allows you to create dynamic websites with an event-driven drag & drop model. You can use C#, the visual basic programming language for creating a web forms application. Webform application runs on the server and generates output in the browser.
It is a graphical API which provides a platform for building rich desktop, laptop, and tablet application.
Business Tools of Microsoft
1) Microsoft Team
1)Azure Machine Learning
2) Azure Search
In Summary: Microsoft Technology Stack
Products which make up Microsoft’s tech stack include:
Client APPS Layer:
- Web Form
- Win Form
- ASP.Net SPA
- Apps for Office
- Dynamic Online
- Apache Cordova
- ASP.Net MVC
- ASP.Net Core
- Sharepoint Server
- LYNC Server
- LYNC Online
- Exchange Server
- Sharepoint Online
- Office 365
- BIZTALK Server
- BIZTALK Services
- Signal R
- Cloud Services
- Workflow Manager