SlideShare a Scribd company logo
Develop enterprise-ready
applications for Microsoft
Teams
with Azure resources on modern web
technologies
Agenda
About
• Me
• Avanade
Microsoft
Teams Dev
• Overview
• Demo App
• Authentication
and
configuration
Azure ...
• App Config
• Key Vault
• Demo
• DevOps
Summary
• Wrap up
• Resources
• Q&A
About me
• Markus Moeller
• Microsoft 365 Developer Expert
• Avanade Germany
• @moeller2_0
• https://mmsharepoint.wordpress.com
• Proud dad of 1 (1Y)
©2020 Avanade Inc. All Rights Reserved. 4
We believe:
• We change things for the better.
• We innovate with passion and purpose.
• We deliver with excellence.
• We believe everyone counts.
• We act with integrity and respect.
About Avanade
Our Microsoft expertise:
• 15-time winner of Microsoft Partner
of the Year
• 32,000+ certifications in Microsoft
technology
• 100+ Microsoft partner awards
• 18 Gold Competencies
• 1,000+ in ASG (Austria, Switzerland,
Germany)
Bots
Help users get tasks done in calls,
conversations and online meetings
Connectors
Post rich updates to channels
Personal apps
All content across all teams
and channels in one place
Tabs
Surface rich content within
Teams
Activity feed
Engage users via feed
notifications
Messaging extensions
Allow users to query and share
rich cards in conversations
Scope
of
Teams Development
Voice + Video
Enhance Calls and online Meeting
with Calling and Media bots
MS Graph
Gateway to your data in
Microsoft cloud
Microsoft Teams development
• Frontend vs Backend (Tabs vs Connectors, Bots, Messaging
Extensions …)
• NodeJS/Javascript/Typescript vs C#.Net …
• Visual Studio vs yeoman generator (+ @VSCode)
• Authentication …
• App Studio / App manifest
6
Yeoman setup Teams application
A Teams
Messaging
Extension posting
a selected file to
the Message
Channel
Not only
Exercise for our
developers
delivering that
way ...
11
What about
less sensitive
config data? • What about re-using it in different apps?
• What about „self service“ ... let users write
configuration entries?
Azure App
Config,
Azure Key Vault
& more
Microsoft 365
High level architecture
Teams Application
Web Application
Azure App Service
Azure App Configuration
Azure Key Vault
Hosted
Configuration
Authenticate
Get data
Get Credentials
Microsoft
Graph
Config page & Config storage
Retrieve Config
GetClient
Save Config
ManagedIdentity (Credential)?
Credentials
Credentials
Managed Identity
A simple NodeJS
app retrieving
some
documents via
Microsoft Graph
Microsoft 365
High level architecture
Teams Application
Web Application
Azure App Service
Azure App Configuration
Azure Key Vault
Hosted
Configuration
Authenticate
Get data
Get Credentials
Microsoft
Graph
Microsoft 365
Simple high level architecture
Web Application
Azure App Service
Azure App Configuration
Azure Key Vault
Hosted
Configuration
Authenticate
Get data
Get Credentials
Microsoft
Graph
Summary
Open
source is a
cancer
Steve Ballmer -
2005
Microsoft
Today
• Lots of things I showed are free
• O365 Dev tenant, VSCode, github,
1st app config
• Standard technologies
• NodeJS, JavaScript, TypeScript,
Webpack, yeoman
• Non-proprietary solutions
• Shared and celebrated in a
great open community
They want YOU ...
...and so do we!
Nevertheless
We develop for enterprises and need
• Professional solutions
• Supported patterns (Think about migrations,
evergreen)
• Security
• Stability
• Automation
• Maintenance
Resources
• Speaker's blog
• On this specific topic
• Deploy a Yo Teams project to Azure through Azure DevOps
• Microsoft Teams SSO - The frontend part
• Microsoft Teams SSO and Microsoft Graph - the backend part · Wictor Wilen
• Azure App Configuration
• In NodeJS
• Azure Key Vault
• Avanade
Q&A
• Use Twitter @moeller2_0
• Visit our Avanade virtual booth
• Tomorrow: 16:00
• Thursday: 13:00
• T
• T
• T

More Related Content

What's hot

Intro to docker and kubernetes
Intro to docker and kubernetesIntro to docker and kubernetes
Intro to docker and kubernetes
Mohit Chhabra
 
Zero credential development with managed identities
Zero credential development with managed identitiesZero credential development with managed identities
Zero credential development with managed identities
Joonas Westlin
 
Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update Management
Udaiappa Ramachandran
 
Azure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solutionAzure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solution
Gelis Wu
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active DirectoryPavel Revenkov
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
Callon Campbell
 
What is Azure development?-MS Azure development
What is Azure development?-MS Azure development What is Azure development?-MS Azure development
What is Azure development?-MS Azure development
Zabeel Institute
 
Azure staticwebapps
Azure staticwebappsAzure staticwebapps
Azure staticwebapps
Udaiappa Ramachandran
 
Scu2016 OMS and PowerBI
Scu2016 OMS and PowerBIScu2016 OMS and PowerBI
Scu2016 OMS and PowerBI
Alexandre Verkinderen
 
Azure: PaaS or IaaS
Azure: PaaS or IaaSAzure: PaaS or IaaS
Azure: PaaS or IaaS
Shahed Chowdhuri
 
Azure SQL Database
Azure SQL Database Azure SQL Database
Azure SQL Database
nj-azure
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
Venkatesh Narayanan
 
Azure web apps
Azure web appsAzure web apps
Azure web apps
Vaibhav Gujral
 
Azure functions serverless
Azure functions serverlessAzure functions serverless
Azure functions serverless
Udaiappa Ramachandran
 
Azure sql introduction
Azure sql  introductionAzure sql  introduction
Azure sql introduction
ManishK55
 
Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)
Chris Dufour
 
Azure signalr service
Azure signalr serviceAzure signalr service
Azure signalr service
Udaiappa Ramachandran
 
Building Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft AzureBuilding Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft Azure
WinWire Technologies Inc
 
2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft
Sriram Hariharan
 
Continuous Delivery to Azure with VSTS
Continuous Delivery to Azure with VSTSContinuous Delivery to Azure with VSTS
Continuous Delivery to Azure with VSTS
Solidify
 

What's hot (20)

Intro to docker and kubernetes
Intro to docker and kubernetesIntro to docker and kubernetes
Intro to docker and kubernetes
 
Zero credential development with managed identities
Zero credential development with managed identitiesZero credential development with managed identities
Zero credential development with managed identities
 
Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update Management
 
Azure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solutionAzure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solution
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
What is Azure development?-MS Azure development
What is Azure development?-MS Azure development What is Azure development?-MS Azure development
What is Azure development?-MS Azure development
 
Azure staticwebapps
Azure staticwebappsAzure staticwebapps
Azure staticwebapps
 
Scu2016 OMS and PowerBI
Scu2016 OMS and PowerBIScu2016 OMS and PowerBI
Scu2016 OMS and PowerBI
 
Azure: PaaS or IaaS
Azure: PaaS or IaaSAzure: PaaS or IaaS
Azure: PaaS or IaaS
 
Azure SQL Database
Azure SQL Database Azure SQL Database
Azure SQL Database
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
 
Azure web apps
Azure web appsAzure web apps
Azure web apps
 
Azure functions serverless
Azure functions serverlessAzure functions serverless
Azure functions serverless
 
Azure sql introduction
Azure sql  introductionAzure sql  introduction
Azure sql introduction
 
Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)
 
Azure signalr service
Azure signalr serviceAzure signalr service
Azure signalr service
 
Building Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft AzureBuilding Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft Azure
 
2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft
 
Continuous Delivery to Azure with VSTS
Continuous Delivery to Azure with VSTSContinuous Delivery to Azure with VSTS
Continuous Delivery to Azure with VSTS
 

Similar to Develop enterprise-ready applications for Microsoft Teams

Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
SharePoint Saturday New Jersey
 
Tour de France Azure PaaA 1/7 Commencer avec Azure
Tour de France Azure PaaA 1/7 Commencer avec AzureTour de France Azure PaaA 1/7 Commencer avec Azure
Tour de France Azure PaaA 1/7 Commencer avec Azure
Alex Danvy
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
nj-azure
 
BizSpark & Azure for Startups
BizSpark & Azure for StartupsBizSpark & Azure for Startups
BizSpark & Azure for Startups
Shahed Chowdhuri
 
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
Vincent Biret
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
Marco Parenzan
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
Cambay Digital
 
Katpro Technologies- Azure Portfolio
Katpro Technologies- Azure PortfolioKatpro Technologies- Azure Portfolio
Katpro Technologies- Azure Portfolio
Katpro Technologies Pvt Ltd
 
Azure is for Everyone
Azure is for EveryoneAzure is for Everyone
Azure is for Everyone
responsiveX
 
SPSNL17 - Azure AD B2B - Safe collaboration has never been that easy!
SPSNL17 -  Azure AD B2B - Safe collaboration has never been that easy!SPSNL17 -  Azure AD B2B - Safe collaboration has never been that easy!
SPSNL17 - Azure AD B2B - Safe collaboration has never been that easy!
Anco Stuij
 
Accelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzureAccelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft Azure
Perficient, Inc.
 
Azure from Rookie to DevStart
Azure from Rookie to DevStartAzure from Rookie to DevStart
Azure from Rookie to DevStart
Sajeetharan
 
Katpro Technologies- .NET Portfolio
Katpro Technologies- .NET PortfolioKatpro Technologies- .NET Portfolio
Katpro Technologies- .NET Portfolio
Katpro Technologies Pvt Ltd
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
Vincent Biret
 
SPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud SolutionsSPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud Solutions
NCCOMMS
 
2017-10-03 Session aOS - Back from Ignite - MS Experiences
2017-10-03 Session aOS - Back from Ignite - MS Experiences2017-10-03 Session aOS - Back from Ignite - MS Experiences
2017-10-03 Session aOS - Back from Ignite - MS Experiences
Patrick Guimonet
 
2017-10-04 aOS back from MSIgnite aux MS Experiences 17
2017-10-04 aOS back from MSIgnite aux MS Experiences 172017-10-04 aOS back from MSIgnite aux MS Experiences 17
2017-10-04 aOS back from MSIgnite aux MS Experiences 17
aOS Community
 
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
Naoki (Neo) SATO
 

Similar to Develop enterprise-ready applications for Microsoft Teams (20)

Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
 
Executive Summit for ISV & Application builders - January 2015
Executive Summit for ISV & Application builders - January 2015Executive Summit for ISV & Application builders - January 2015
Executive Summit for ISV & Application builders - January 2015
 
Tour de France Azure PaaA 1/7 Commencer avec Azure
Tour de France Azure PaaA 1/7 Commencer avec AzureTour de France Azure PaaA 1/7 Commencer avec Azure
Tour de France Azure PaaA 1/7 Commencer avec Azure
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
 
BizSpark & Azure for Startups
BizSpark & Azure for StartupsBizSpark & Azure for Startups
BizSpark & Azure for Startups
 
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
 
Katpro Technologies- Azure Portfolio
Katpro Technologies- Azure PortfolioKatpro Technologies- Azure Portfolio
Katpro Technologies- Azure Portfolio
 
Azure is for Everyone
Azure is for EveryoneAzure is for Everyone
Azure is for Everyone
 
SPSNL17 - Azure AD B2B - Safe collaboration has never been that easy!
SPSNL17 -  Azure AD B2B - Safe collaboration has never been that easy!SPSNL17 -  Azure AD B2B - Safe collaboration has never been that easy!
SPSNL17 - Azure AD B2B - Safe collaboration has never been that easy!
 
Accelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzureAccelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft Azure
 
Azure from Rookie to DevStart
Azure from Rookie to DevStartAzure from Rookie to DevStart
Azure from Rookie to DevStart
 
Katpro Technologies- .NET Portfolio
Katpro Technologies- .NET PortfolioKatpro Technologies- .NET Portfolio
Katpro Technologies- .NET Portfolio
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
 
SPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud SolutionsSPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud Solutions
 
2017-10-03 Session aOS - Back from Ignite - MS Experiences
2017-10-03 Session aOS - Back from Ignite - MS Experiences2017-10-03 Session aOS - Back from Ignite - MS Experiences
2017-10-03 Session aOS - Back from Ignite - MS Experiences
 
2017-10-04 aOS back from MSIgnite aux MS Experiences 17
2017-10-04 aOS back from MSIgnite aux MS Experiences 172017-10-04 aOS back from MSIgnite aux MS Experiences 17
2017-10-04 aOS back from MSIgnite aux MS Experiences 17
 
SPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business AppSPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business App
 
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
 

More from Markus Moeller

Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
Markus Moeller
 
Microsoft 365 De Security pdf
Microsoft 365 De Security pdfMicrosoft 365 De Security pdf
Microsoft 365 De Security pdf
Markus Moeller
 
Extend your Teams Meetings with Custom Meeting Apps
Extend your Teams Meetings with Custom Meeting AppsExtend your Teams Meetings with Custom Meeting Apps
Extend your Teams Meetings with Custom Meeting Apps
Markus Moeller
 
SharePoint goes Microsoft Graph
SharePoint goes Microsoft GraphSharePoint goes Microsoft Graph
SharePoint goes Microsoft Graph
Markus Moeller
 
Teams Meeting Apps
Teams Meeting AppsTeams Meeting Apps
Teams Meeting Apps
Markus Moeller
 
Azure Automation, PnP Provisioning and PnP PowerShell
Azure Automation, PnP Provisioning and PnP PowerShellAzure Automation, PnP Provisioning and PnP PowerShell
Azure Automation, PnP Provisioning and PnP PowerShell
Markus Moeller
 

More from Markus Moeller (6)

Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Microsoft 365 De Security pdf
Microsoft 365 De Security pdfMicrosoft 365 De Security pdf
Microsoft 365 De Security pdf
 
Extend your Teams Meetings with Custom Meeting Apps
Extend your Teams Meetings with Custom Meeting AppsExtend your Teams Meetings with Custom Meeting Apps
Extend your Teams Meetings with Custom Meeting Apps
 
SharePoint goes Microsoft Graph
SharePoint goes Microsoft GraphSharePoint goes Microsoft Graph
SharePoint goes Microsoft Graph
 
Teams Meeting Apps
Teams Meeting AppsTeams Meeting Apps
Teams Meeting Apps
 
Azure Automation, PnP Provisioning and PnP PowerShell
Azure Automation, PnP Provisioning and PnP PowerShellAzure Automation, PnP Provisioning and PnP PowerShell
Azure Automation, PnP Provisioning and PnP PowerShell
 

Recently uploaded

Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Dutch Power
 
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AwangAniqkmals
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
kkirkland2
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
gharris9
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
Faculty of Medicine And Health Sciences
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
gharris9
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
eCommerce Institute
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
SkillCertProExams
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
Frederic Leger
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Dutch Power
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
amekonnen
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Rosie Wells
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
Howard Spence
 

Recently uploaded (19)

Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
 
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
 

Develop enterprise-ready applications for Microsoft Teams

  • 1. Develop enterprise-ready applications for Microsoft Teams with Azure resources on modern web technologies
  • 2. Agenda About • Me • Avanade Microsoft Teams Dev • Overview • Demo App • Authentication and configuration Azure ... • App Config • Key Vault • Demo • DevOps Summary • Wrap up • Resources • Q&A
  • 3. About me • Markus Moeller • Microsoft 365 Developer Expert • Avanade Germany • @moeller2_0 • https://mmsharepoint.wordpress.com • Proud dad of 1 (1Y)
  • 4. ©2020 Avanade Inc. All Rights Reserved. 4 We believe: • We change things for the better. • We innovate with passion and purpose. • We deliver with excellence. • We believe everyone counts. • We act with integrity and respect. About Avanade Our Microsoft expertise: • 15-time winner of Microsoft Partner of the Year • 32,000+ certifications in Microsoft technology • 100+ Microsoft partner awards • 18 Gold Competencies • 1,000+ in ASG (Austria, Switzerland, Germany)
  • 5. Bots Help users get tasks done in calls, conversations and online meetings Connectors Post rich updates to channels Personal apps All content across all teams and channels in one place Tabs Surface rich content within Teams Activity feed Engage users via feed notifications Messaging extensions Allow users to query and share rich cards in conversations Scope of Teams Development Voice + Video Enhance Calls and online Meeting with Calling and Media bots MS Graph Gateway to your data in Microsoft cloud
  • 6. Microsoft Teams development • Frontend vs Backend (Tabs vs Connectors, Bots, Messaging Extensions …) • NodeJS/Javascript/Typescript vs C#.Net … • Visual Studio vs yeoman generator (+ @VSCode) • Authentication … • App Studio / App manifest 6
  • 7. Yeoman setup Teams application
  • 8. A Teams Messaging Extension posting a selected file to the Message Channel
  • 10.
  • 12. What about less sensitive config data? • What about re-using it in different apps? • What about „self service“ ... let users write configuration entries?
  • 14. Microsoft 365 High level architecture Teams Application Web Application Azure App Service Azure App Configuration Azure Key Vault Hosted Configuration Authenticate Get data Get Credentials Microsoft Graph
  • 15. Config page & Config storage
  • 20. A simple NodeJS app retrieving some documents via Microsoft Graph
  • 21. Microsoft 365 High level architecture Teams Application Web Application Azure App Service Azure App Configuration Azure Key Vault Hosted Configuration Authenticate Get data Get Credentials Microsoft Graph
  • 22. Microsoft 365 Simple high level architecture Web Application Azure App Service Azure App Configuration Azure Key Vault Hosted Configuration Authenticate Get data Get Credentials Microsoft Graph
  • 25. Microsoft Today • Lots of things I showed are free • O365 Dev tenant, VSCode, github, 1st app config • Standard technologies • NodeJS, JavaScript, TypeScript, Webpack, yeoman • Non-proprietary solutions • Shared and celebrated in a great open community They want YOU ... ...and so do we!
  • 26. Nevertheless We develop for enterprises and need • Professional solutions • Supported patterns (Think about migrations, evergreen) • Security • Stability • Automation • Maintenance
  • 27. Resources • Speaker's blog • On this specific topic • Deploy a Yo Teams project to Azure through Azure DevOps • Microsoft Teams SSO - The frontend part • Microsoft Teams SSO and Microsoft Graph - the backend part · Wictor Wilen • Azure App Configuration • In NodeJS • Azure Key Vault • Avanade
  • 28. Q&A • Use Twitter @moeller2_0 • Visit our Avanade virtual booth • Tomorrow: 16:00 • Thursday: 13:00 • T • T • T