SlideShare a Scribd company logo
Microsoft Graph
Developer community call
TLS Deprecation, GetResourceSubscriptionPath,
Versioning and Partner Demo
Jeremy Thake, Vincent Biret, Arpitha Dhanapathi,
Ásgrímur Skarphéðinsson
March 3, 2020
Call agenda
Jeremy Thake
@jthake
Vincent Biret
@baywet
Arpitha Dhanapathi
@twitter
Ásgrímur
Skarphéðinsson
@arpi846
TLS 1.0 & 1.1 deprecation for
change notifications
subscriptions (webhooks)
Microsoft Graph developer community call-March 2020
Microsoft Graph developer community call-March 2020
Microsoft Graph developer community call-March 2020
Feb 17th March 16th April 15th May 15th
POST must (either):
- Upgrade to TLS 1.2
- Include the additional
property
POST must:
- Upgrade to TLS 1.2
PATCH must:
- Upgrade to TLS 1.2
Notifications are not
delivered anymore over
TLS 1.0 or 1.1
PATCH must (either):
- Upgrade to TLS 1.2
- Include the additional
property
Microsoft Graph developer community call-March 2020
More
information
Aka.ms/MSGraphWebho
oksTLS
GetResourceSubscriptionPath
Microsoft Graph developer community call-March 2020
GetResourceSubscriptionPath
Microsoft Graph –
API Evolution &
Versioning Strategy
Balance
App Dev
Experience
API Agility
Goal
Options Considered
Version Pros Cons Who’s doing it
Unified Major • Industry standard (for
enterprise)
• Most familiar to app
developers
• Hard to coordinate
among API developers
• Impacts *all* app
developers
• Google
• Amazon
• Almost
everyone
Per-service • Independence for API
developers
• Hard to understand &
track
• Shows service “silos”
• Azure
Version
Independent
API Evolution
• Least impact to App dev
• Most flexible for API
dev
• Harder to understand &
track
• Not “the enterprise
way” in vogue
• Slack
• Facebook
Cadence 3-5 years Quarterly On-demand Hybrid
Version
Cadence
• Publish new "deprecated" API elements quarterly
 Product:
 Marked in Schema as "deprecated" (i.e., going to be removed)
 Still fully supported in queries/responses
 Communications:
 Announced on public forums
 Notifications to app developers
• Remove no sooner than 2 years after announcing
deprecation
 Gradual retirement with monitoring
• Only those applications affected need to react
Proposed Strategy for MS Graph APIs
Version Independent API Evolution
• Enables API agility – based on product feedback and quickly bringing
forth right user experiences
• Impacts only subset of app-developers vs everyone
• Less confusion on developers
Proposed Strategy for MS Graph APIs
Why?
• Yes – Many accumulated deprecated properties and/or major protocol changes (e.g.,
requiring $select, or defaulting to OData 4.01 response payloads) could lead to releasing
a new version.
• This will be much less frequent
Will a new version be released ever?
App Developer
Experience
API Lifecycle
1. Functional
2.
Deprecated
3. Retired 4. Removed
Reduced support/DevEx/
functionality. 2-2.25 years
after marked for
deprecation
Developer experiences discourage
usage of the API element and
attempt to provide an alternative
Developer experiences encourage
use of the API
API no longer callable
App dev experience – Changelog
Developers can
register for
notifications on
deprecation changes
Key Developer Experiences:
 HTTP header Responses for deprecated elements
 SDK updates and IntelliSense updates to reflect
deprecation (via compilation warnings etc.)
 Graph explorer experience to reflect deprecation
 Updated to Graph Changelog and API reference docs
 Feature to allow developers to register for email
notifications on changes
 Quarterly blog posts
 Community calls
Other ideas (From Community)
 Include URL segments in the deprecation notice, that will allow for searching within logs/calls
 Filtering on changelog and email registration on notifications (to reflect just the APIs that
developers are interested in)
 Make use of M365 admin message center / dev.office.com notification center (allows for RSS
feeds)
 Azure Portal (where apps registered and managed) - users can register for notifications and do
the query on demand to see what has changed/broken
 Azure Marketplace team app certification
 Automated way/bot to automatically detect changes in APIs and show it in a dashboard
 Use telemetry and provide a report that lists which deprecated APIs are being used in a given
tenant and the AAD AppID.
 GitHub app to monitor and notify
App dev experience – Functional (API
Resource)
App dev experience - Deprecated
• Headers in API responses will indicate deprecation
• Minimum period in deprecation state: 2-2.25 years
• Developer experiences are regenerated to reflect
deprecation
• Changelog aggregates breaking change at top
• API reference docs are visually tagged
• SDK throws compilation warnings
• Graph Explorer updated to reflect the change
• Communications: API-specific deprecation blog
post, email notifications, developer community
calls
App dev experience - Retired
• Final, broad communication push
• Developer experiences are updated again to indicate the API
is retired
• Changelog aggregates breaking change at top
• API reference docs are visually tagged
• SDK - Deprecated element is hidden from Intellisense
• API no longer works in Graph Explorer
• Apps continue to work, but progressive degradation
begins, and telemetry monitored to target
communications and whitelisting on a need basis
App dev experience - Removed
• Officially removed from metadata
• Disappears from developer experiences and is no
longer callable
• Calling the API always fails unless the app is on explicit
allow list
Applicable Change Patterns in APIs
Remove
Rename
Restructure (in-
place type
change)
• Introduce a common suffix (_v2) to existing elements
• 2 cycles and 2 renames
• Example: Convert redirectUris from an array of strings
to an array of complex types
1. Cycle 1: Add redirectUris_v2 as the array of
complex types
2. Let cycle 1 complete (redirectUris is removed)
3. Cycle 2: Add redirectUris back with the array of
• Example: use “firstName” instead of “givenName”
• Example: remove “propertyX”
Feedback
Focus Questions:
• Best ways to contact app developers to alert regarding breaking changes
• $Select – should new types introduce $select REQUIRED? (enables better
telemetry on usage of individual properties  targeted communications)
• Should removed APIs be maintained in docs vs removing all traces
completely?
Open Discussion:
Overall Feedback – Pros and Cons
Partner Demo
• Case Management
• Project Management
• Timesheet Reporting
KLYNKE.COMF&S
THEGOAL
“Create more business
value for Office365 users by
using Microsoft Graph ”
Microsoft Graph developer community call-March 2020
Demo – Case Management
Turning group conversations into
Cases using Microsoft Graph
webhooks and SignalR
InitWebHook
„Listen“ Endpoint
Microsoft Graph
MoveConversation
Notify Team
SignalR
InitSignalHub
RequestToNotify
RegisterTeam
Register Case
SDKWebHooks.InitWebook(….
graphClient.Subscriptions.Request().AddAsync(sub);
_cache.SetAsync(SubForCache.Sub.Id, encodedSub);
GetSubFromCache(item.SubscriptionId);
SDKGroupConversation.RealtimeMove
graphClient.Groups[GroupID].Conversations[ConvID]
graphClient.Groups[GroupID].Conversations[id].Threads
SDKGroupSite.AddToMarkCaseListAsync
graphClient.Sites[SiteID].Lists[ListID].Items
C# OnConnectedAsync()
Clients.Caller.SendAsync("InitTeam");
JS connection.on("InitTeam", ()…
connection.invoke("JoinGroup"
C# SendAsync("NewFeedForGroup",groupName….
JS WriteOnScreen(data)
Case Management
Microsoft Graph developer community call-March 2020
Demo - Time Sheet
created directly from Outlook Calendar
and Planner Tasks using Microsoft
Graph
Outlook Calendar
Microsoft Graph
Planner
Project
SDKCalendar.GetCalendarAsync(AToken, Start, End);
graphClient.Me.CalendarView.Request(queryOptions)
SDKGroupPlan.GetPlanTask(TaskID, AToken);
graphClient.Planner.Tasks[TaskID]
SDKUser.GetCurrentUserPlannerTasksAsync
graphClient.Me.Planner.Tasks.Request()
SDKGroupSite.GetTeamProjects
graphClient.Sites[SiteID].Lists[ListID].Items
SDKGroupSite.GetTeamCases
graphClient.Sites[SiteID].Lists[ListID].Items
SDKCalendar.UpdateEvent(EventID, Description, AToken)
graphClient.Me.Events[EventID].Request().UpdateAsync(Updat
eEvent);
SDKGroupSite.AddToWorkerListAsync
graphClient.Sites[SiteID].Lists[ListID].Items.Request().Ad
dAsync(NewItem);
Case
TIMESHEET
Read From
Write To Outlook Calendar
SharePoint List
Microsoft Graph developer community call-March 2020
Thank you
Ásgrímur Skarphéðinsson
asgrimur@klynke.com
www.klynke.com
KLYNKE.COMF&S
http://www.m365devpodcast.com/
Microsoft 365
https://aka.ms/adaptivecardscommunitycall
https://aka.ms/microsoftgraphcall
https://aka.ms/IDDevCommunityCalendar
https://aka.ms/microsoftteamscommunitycall
https://aka.ms/officeaddinscommunitycall
https://aka.ms/PowerAppsMonthlyCall
https://aka.ms/spdev-call
https://aka.ms/spdev-sig-call
https://aka.ms/spdev-spfx-call
https://aka.ms/M365DevCalls
https://aka.ms/M365DevYouTube
(subscribe today)
@Microsoft365Dev
https://aka.ms/MicrosoftGraphCall
Q&A
Microsoft Graph developer community call-March 2020
Microsoft Graph developer community call-March 2020
Ad

More Related Content

What's hot (20)

App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 
Power Apps community call-June 2020
Power Apps community call-June 2020Power Apps community call-June 2020
Power Apps community call-June 2020
Microsoft 365 Developer
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
Kris Wagner
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Vincent Biret
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
Jenkins NS
 
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Mahmoud Hamed Mahmoud
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
Firebase. Предмет и область применения — Тимур Ахметгареев
Firebase. Предмет и область применения — Тимур АхметгареевFirebase. Предмет и область применения — Тимур Ахметгареев
Firebase. Предмет и область применения — Тимур Ахметгареев
Peri Innovations
 
Sharepoint Online
Sharepoint OnlineSharepoint Online
Sharepoint Online
Shakir Majeed Khan
 
AnDevCon - A Primer to Sync Adapters
AnDevCon - A Primer to Sync AdaptersAnDevCon - A Primer to Sync Adapters
AnDevCon - A Primer to Sync Adapters
Kiana Tennyson
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises Development
Edin Kapic
 
Microsoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafeMicrosoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafe
JeannieHeldt
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Sync on Android
Sync on AndroidSync on Android
Sync on Android
chalup
 
Office 365 api vs share point app model
Office 365 api vs share point app modelOffice 365 api vs share point app model
Office 365 api vs share point app model
BIWUG
 
Microsoft AZ-204 Exam Dumps
Microsoft AZ-204 Exam DumpsMicrosoft AZ-204 Exam Dumps
Microsoft AZ-204 Exam Dumps
Study Material
 
Designing for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted AppsDesigning for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted Apps
Roy Kim
 
Introduction to lightning components
Introduction to lightning componentsIntroduction to lightning components
Introduction to lightning components
Mohith Shrivastava
 
The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)
Dave Bost
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
Ron Favali
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
Kris Wagner
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Vincent Biret
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
Jenkins NS
 
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Mahmoud Hamed Mahmoud
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
Firebase. Предмет и область применения — Тимур Ахметгареев
Firebase. Предмет и область применения — Тимур АхметгареевFirebase. Предмет и область применения — Тимур Ахметгареев
Firebase. Предмет и область применения — Тимур Ахметгареев
Peri Innovations
 
AnDevCon - A Primer to Sync Adapters
AnDevCon - A Primer to Sync AdaptersAnDevCon - A Primer to Sync Adapters
AnDevCon - A Primer to Sync Adapters
Kiana Tennyson
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises Development
Edin Kapic
 
Microsoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafeMicrosoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafe
JeannieHeldt
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Sync on Android
Sync on AndroidSync on Android
Sync on Android
chalup
 
Office 365 api vs share point app model
Office 365 api vs share point app modelOffice 365 api vs share point app model
Office 365 api vs share point app model
BIWUG
 
Microsoft AZ-204 Exam Dumps
Microsoft AZ-204 Exam DumpsMicrosoft AZ-204 Exam Dumps
Microsoft AZ-204 Exam Dumps
Study Material
 
Designing for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted AppsDesigning for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted Apps
Roy Kim
 
Introduction to lightning components
Introduction to lightning componentsIntroduction to lightning components
Introduction to lightning components
Mohith Shrivastava
 
The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)
Dave Bost
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
Ron Favali
 

Similar to Microsoft Graph developer community call-March 2020 (20)

API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
Sumanth Donthi
 
Developing an Extranet as TYPO3 Page App
Developing an Extranet as TYPO3 Page AppDeveloping an Extranet as TYPO3 Page App
Developing an Extranet as TYPO3 Page App
Christian Keuerleber
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
BIOVIA
 
M365 Teams Automation
M365 Teams AutomationM365 Teams Automation
M365 Teams Automation
Christopher R. Barber
 
What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?
IBM Danmark
 
Apidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, Worldline
Apidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, WorldlineApidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, Worldline
Apidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, Worldline
apidays
 
2007 SAPTech Ed
2007 SAPTech Ed2007 SAPTech Ed
2007 SAPTech Ed
Michelle Crapo
 
victoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform developmentvictoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform development
Dariia Seimova
 
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtBuckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Lynda Kane
 
Rajendra Thota CV
Rajendra Thota CVRajendra Thota CV
Rajendra Thota CV
Rajendra Thota
 
Rajendra Thota CV
Rajendra Thota CVRajendra Thota CV
Rajendra Thota CV
Rajendra Thota
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to Microservices
Ad van der Veer
 
GraphQL Advanced
GraphQL AdvancedGraphQL Advanced
GraphQL Advanced
LeanIX GmbH
 
vishakha
vishakha vishakha
vishakha
Vishakha Narayana
 
Multi-tenancy with Rails
Multi-tenancy with RailsMulti-tenancy with Rails
Multi-tenancy with Rails
Paul Gallagher
 
Building a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyBuilding a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue company
ProjectAcom
 
Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Designing API Platforms that Developers Love - New York Life Build Blue May 2017Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Deepak Nadig
 
AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"
AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"
AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"
Daniel Bryant
 
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays
 
10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection
Jason Haygood
 
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
Sumanth Donthi
 
Developing an Extranet as TYPO3 Page App
Developing an Extranet as TYPO3 Page AppDeveloping an Extranet as TYPO3 Page App
Developing an Extranet as TYPO3 Page App
Christian Keuerleber
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
BIOVIA
 
What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?
IBM Danmark
 
Apidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, Worldline
Apidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, WorldlineApidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, Worldline
Apidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, Worldline
apidays
 
victoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform developmentvictoriia basarab - special aspects of dev ops platform development
victoriia basarab - special aspects of dev ops platform development
Dariia Seimova
 
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtBuckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Lynda Kane
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to Microservices
Ad van der Veer
 
GraphQL Advanced
GraphQL AdvancedGraphQL Advanced
GraphQL Advanced
LeanIX GmbH
 
Multi-tenancy with Rails
Multi-tenancy with RailsMulti-tenancy with Rails
Multi-tenancy with Rails
Paul Gallagher
 
Building a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyBuilding a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue company
ProjectAcom
 
Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Designing API Platforms that Developers Love - New York Life Build Blue May 2017Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Designing API Platforms that Developers Love - New York Life Build Blue May 2017
Deepak Nadig
 
AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"
AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"
AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"
Daniel Bryant
 
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays
 
10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection
Jason Haygood
 
Ad

More from Microsoft 365 Developer (20)

Change Notifications in Azure Event Hubs-April 2021
Change Notifications in Azure Event Hubs-April 2021Change Notifications in Azure Event Hubs-April 2021
Change Notifications in Azure Event Hubs-April 2021
Microsoft 365 Developer
 
Power Apps community call - August 2020
Power Apps community call - August 2020Power Apps community call - August 2020
Power Apps community call - August 2020
Microsoft 365 Developer
 
Microsoft Teams community call-August 2020
Microsoft Teams community call-August 2020Microsoft Teams community call-August 2020
Microsoft Teams community call-August 2020
Microsoft 365 Developer
 
Decentralized Identities-July 2020 community call
Decentralized Identities-July 2020 community callDecentralized Identities-July 2020 community call
Decentralized Identities-July 2020 community call
Microsoft 365 Developer
 
Office Add-ins community call-June 2020
Office Add-ins community call-June 2020Office Add-ins community call-June 2020
Office Add-ins community call-June 2020
Microsoft 365 Developer
 
Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020
Microsoft 365 Developer
 
Power Apps community call - May 2020
Power Apps community call - May 2020Power Apps community call - May 2020
Power Apps community call - May 2020
Microsoft 365 Developer
 
Health team collaboration pitch deck partner
Health team collaboration pitch deck partnerHealth team collaboration pitch deck partner
Health team collaboration pitch deck partner
Microsoft 365 Developer
 
Teams healthcare partner webinar ansuman partner
Teams healthcare partner webinar   ansuman partnerTeams healthcare partner webinar   ansuman partner
Teams healthcare partner webinar ansuman partner
Microsoft 365 Developer
 
Teams healthcare partner webinar virtual visits partner
Teams healthcare partner webinar   virtual visits partnerTeams healthcare partner webinar   virtual visits partner
Teams healthcare partner webinar virtual visits partner
Microsoft 365 Developer
 
Teams healthcare partner webinar srini partner
Teams healthcare partner webinar   srini partnerTeams healthcare partner webinar   srini partner
Teams healthcare partner webinar srini partner
Microsoft 365 Developer
 
Teams healthcare partner webinar paul partner
Teams healthcare partner webinar   paul  partnerTeams healthcare partner webinar   paul  partner
Teams healthcare partner webinar paul partner
Microsoft 365 Developer
 
Teams healthcare partner webinar keren partner
Teams healthcare partner webinar   keren partnerTeams healthcare partner webinar   keren partner
Teams healthcare partner webinar keren partner
Microsoft 365 Developer
 
Teams healthcare partner webinar daniel partner
Teams healthcare partner webinar   daniel partnerTeams healthcare partner webinar   daniel partner
Teams healthcare partner webinar daniel partner
Microsoft 365 Developer
 
Teams healthcare partner webinar andrew partner
Teams healthcare partner webinar   andrew partnerTeams healthcare partner webinar   andrew partner
Teams healthcare partner webinar andrew partner
Microsoft 365 Developer
 
Security and compliance for healthcare pitch deck partner
Security and compliance for healthcare pitch deck partnerSecurity and compliance for healthcare pitch deck partner
Security and compliance for healthcare pitch deck partner
Microsoft 365 Developer
 
Power Apps community call_April 2020
Power Apps community call_April 2020Power Apps community call_April 2020
Power Apps community call_April 2020
Microsoft 365 Developer
 
Power Apps community call - February 2020
Power Apps community call - February 2020Power Apps community call - February 2020
Power Apps community call - February 2020
Microsoft 365 Developer
 
Microsoft Teams community call - February 2020
Microsoft Teams community call - February 2020Microsoft Teams community call - February 2020
Microsoft Teams community call - February 2020
Microsoft 365 Developer
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020
Microsoft 365 Developer
 
Change Notifications in Azure Event Hubs-April 2021
Change Notifications in Azure Event Hubs-April 2021Change Notifications in Azure Event Hubs-April 2021
Change Notifications in Azure Event Hubs-April 2021
Microsoft 365 Developer
 
Microsoft Teams community call-August 2020
Microsoft Teams community call-August 2020Microsoft Teams community call-August 2020
Microsoft Teams community call-August 2020
Microsoft 365 Developer
 
Decentralized Identities-July 2020 community call
Decentralized Identities-July 2020 community callDecentralized Identities-July 2020 community call
Decentralized Identities-July 2020 community call
Microsoft 365 Developer
 
Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020
Microsoft 365 Developer
 
Health team collaboration pitch deck partner
Health team collaboration pitch deck partnerHealth team collaboration pitch deck partner
Health team collaboration pitch deck partner
Microsoft 365 Developer
 
Teams healthcare partner webinar ansuman partner
Teams healthcare partner webinar   ansuman partnerTeams healthcare partner webinar   ansuman partner
Teams healthcare partner webinar ansuman partner
Microsoft 365 Developer
 
Teams healthcare partner webinar virtual visits partner
Teams healthcare partner webinar   virtual visits partnerTeams healthcare partner webinar   virtual visits partner
Teams healthcare partner webinar virtual visits partner
Microsoft 365 Developer
 
Teams healthcare partner webinar srini partner
Teams healthcare partner webinar   srini partnerTeams healthcare partner webinar   srini partner
Teams healthcare partner webinar srini partner
Microsoft 365 Developer
 
Teams healthcare partner webinar paul partner
Teams healthcare partner webinar   paul  partnerTeams healthcare partner webinar   paul  partner
Teams healthcare partner webinar paul partner
Microsoft 365 Developer
 
Teams healthcare partner webinar keren partner
Teams healthcare partner webinar   keren partnerTeams healthcare partner webinar   keren partner
Teams healthcare partner webinar keren partner
Microsoft 365 Developer
 
Teams healthcare partner webinar daniel partner
Teams healthcare partner webinar   daniel partnerTeams healthcare partner webinar   daniel partner
Teams healthcare partner webinar daniel partner
Microsoft 365 Developer
 
Teams healthcare partner webinar andrew partner
Teams healthcare partner webinar   andrew partnerTeams healthcare partner webinar   andrew partner
Teams healthcare partner webinar andrew partner
Microsoft 365 Developer
 
Security and compliance for healthcare pitch deck partner
Security and compliance for healthcare pitch deck partnerSecurity and compliance for healthcare pitch deck partner
Security and compliance for healthcare pitch deck partner
Microsoft 365 Developer
 
Power Apps community call - February 2020
Power Apps community call - February 2020Power Apps community call - February 2020
Power Apps community call - February 2020
Microsoft 365 Developer
 
Microsoft Teams community call - February 2020
Microsoft Teams community call - February 2020Microsoft Teams community call - February 2020
Microsoft Teams community call - February 2020
Microsoft 365 Developer
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020
Microsoft 365 Developer
 
Ad

Recently uploaded (20)

DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 

Microsoft Graph developer community call-March 2020

  • 1. Microsoft Graph Developer community call TLS Deprecation, GetResourceSubscriptionPath, Versioning and Partner Demo Jeremy Thake, Vincent Biret, Arpitha Dhanapathi, Ásgrímur Skarphéðinsson March 3, 2020
  • 3. Jeremy Thake @jthake Vincent Biret @baywet Arpitha Dhanapathi @twitter Ásgrímur Skarphéðinsson @arpi846
  • 4. TLS 1.0 & 1.1 deprecation for change notifications subscriptions (webhooks)
  • 8. Feb 17th March 16th April 15th May 15th POST must (either): - Upgrade to TLS 1.2 - Include the additional property POST must: - Upgrade to TLS 1.2 PATCH must: - Upgrade to TLS 1.2 Notifications are not delivered anymore over TLS 1.0 or 1.1 PATCH must (either): - Upgrade to TLS 1.2 - Include the additional property
  • 14. Microsoft Graph – API Evolution & Versioning Strategy
  • 16. Options Considered Version Pros Cons Who’s doing it Unified Major • Industry standard (for enterprise) • Most familiar to app developers • Hard to coordinate among API developers • Impacts *all* app developers • Google • Amazon • Almost everyone Per-service • Independence for API developers • Hard to understand & track • Shows service “silos” • Azure Version Independent API Evolution • Least impact to App dev • Most flexible for API dev • Harder to understand & track • Not “the enterprise way” in vogue • Slack • Facebook Cadence 3-5 years Quarterly On-demand Hybrid Version Cadence
  • 17. • Publish new "deprecated" API elements quarterly  Product:  Marked in Schema as "deprecated" (i.e., going to be removed)  Still fully supported in queries/responses  Communications:  Announced on public forums  Notifications to app developers • Remove no sooner than 2 years after announcing deprecation  Gradual retirement with monitoring • Only those applications affected need to react Proposed Strategy for MS Graph APIs Version Independent API Evolution
  • 18. • Enables API agility – based on product feedback and quickly bringing forth right user experiences • Impacts only subset of app-developers vs everyone • Less confusion on developers Proposed Strategy for MS Graph APIs Why? • Yes – Many accumulated deprecated properties and/or major protocol changes (e.g., requiring $select, or defaulting to OData 4.01 response payloads) could lead to releasing a new version. • This will be much less frequent Will a new version be released ever?
  • 20. API Lifecycle 1. Functional 2. Deprecated 3. Retired 4. Removed Reduced support/DevEx/ functionality. 2-2.25 years after marked for deprecation Developer experiences discourage usage of the API element and attempt to provide an alternative Developer experiences encourage use of the API API no longer callable
  • 21. App dev experience – Changelog Developers can register for notifications on deprecation changes Key Developer Experiences:  HTTP header Responses for deprecated elements  SDK updates and IntelliSense updates to reflect deprecation (via compilation warnings etc.)  Graph explorer experience to reflect deprecation  Updated to Graph Changelog and API reference docs  Feature to allow developers to register for email notifications on changes  Quarterly blog posts  Community calls
  • 22. Other ideas (From Community)  Include URL segments in the deprecation notice, that will allow for searching within logs/calls  Filtering on changelog and email registration on notifications (to reflect just the APIs that developers are interested in)  Make use of M365 admin message center / dev.office.com notification center (allows for RSS feeds)  Azure Portal (where apps registered and managed) - users can register for notifications and do the query on demand to see what has changed/broken  Azure Marketplace team app certification  Automated way/bot to automatically detect changes in APIs and show it in a dashboard  Use telemetry and provide a report that lists which deprecated APIs are being used in a given tenant and the AAD AppID.  GitHub app to monitor and notify
  • 23. App dev experience – Functional (API Resource)
  • 24. App dev experience - Deprecated • Headers in API responses will indicate deprecation • Minimum period in deprecation state: 2-2.25 years • Developer experiences are regenerated to reflect deprecation • Changelog aggregates breaking change at top • API reference docs are visually tagged • SDK throws compilation warnings • Graph Explorer updated to reflect the change • Communications: API-specific deprecation blog post, email notifications, developer community calls
  • 25. App dev experience - Retired • Final, broad communication push • Developer experiences are updated again to indicate the API is retired • Changelog aggregates breaking change at top • API reference docs are visually tagged • SDK - Deprecated element is hidden from Intellisense • API no longer works in Graph Explorer • Apps continue to work, but progressive degradation begins, and telemetry monitored to target communications and whitelisting on a need basis
  • 26. App dev experience - Removed • Officially removed from metadata • Disappears from developer experiences and is no longer callable • Calling the API always fails unless the app is on explicit allow list
  • 27. Applicable Change Patterns in APIs Remove Rename Restructure (in- place type change) • Introduce a common suffix (_v2) to existing elements • 2 cycles and 2 renames • Example: Convert redirectUris from an array of strings to an array of complex types 1. Cycle 1: Add redirectUris_v2 as the array of complex types 2. Let cycle 1 complete (redirectUris is removed) 3. Cycle 2: Add redirectUris back with the array of • Example: use “firstName” instead of “givenName” • Example: remove “propertyX”
  • 28. Feedback Focus Questions: • Best ways to contact app developers to alert regarding breaking changes • $Select – should new types introduce $select REQUIRED? (enables better telemetry on usage of individual properties  targeted communications) • Should removed APIs be maintained in docs vs removing all traces completely? Open Discussion: Overall Feedback – Pros and Cons
  • 29. Partner Demo • Case Management • Project Management • Timesheet Reporting KLYNKE.COMF&S THEGOAL “Create more business value for Office365 users by using Microsoft Graph ”
  • 31. Demo – Case Management Turning group conversations into Cases using Microsoft Graph webhooks and SignalR
  • 32. InitWebHook „Listen“ Endpoint Microsoft Graph MoveConversation Notify Team SignalR InitSignalHub RequestToNotify RegisterTeam Register Case SDKWebHooks.InitWebook(…. graphClient.Subscriptions.Request().AddAsync(sub); _cache.SetAsync(SubForCache.Sub.Id, encodedSub); GetSubFromCache(item.SubscriptionId); SDKGroupConversation.RealtimeMove graphClient.Groups[GroupID].Conversations[ConvID] graphClient.Groups[GroupID].Conversations[id].Threads SDKGroupSite.AddToMarkCaseListAsync graphClient.Sites[SiteID].Lists[ListID].Items C# OnConnectedAsync() Clients.Caller.SendAsync("InitTeam"); JS connection.on("InitTeam", ()… connection.invoke("JoinGroup" C# SendAsync("NewFeedForGroup",groupName…. JS WriteOnScreen(data) Case Management
  • 34. Demo - Time Sheet created directly from Outlook Calendar and Planner Tasks using Microsoft Graph
  • 35. Outlook Calendar Microsoft Graph Planner Project SDKCalendar.GetCalendarAsync(AToken, Start, End); graphClient.Me.CalendarView.Request(queryOptions) SDKGroupPlan.GetPlanTask(TaskID, AToken); graphClient.Planner.Tasks[TaskID] SDKUser.GetCurrentUserPlannerTasksAsync graphClient.Me.Planner.Tasks.Request() SDKGroupSite.GetTeamProjects graphClient.Sites[SiteID].Lists[ListID].Items SDKGroupSite.GetTeamCases graphClient.Sites[SiteID].Lists[ListID].Items SDKCalendar.UpdateEvent(EventID, Description, AToken) graphClient.Me.Events[EventID].Request().UpdateAsync(Updat eEvent); SDKGroupSite.AddToWorkerListAsync graphClient.Sites[SiteID].Lists[ListID].Items.Request().Ad dAsync(NewItem); Case TIMESHEET Read From Write To Outlook Calendar SharePoint List
  • 41. Q&A

Editor's Notes

  • #10: Source https://docs.microsoft.com/en-us/graph/api/subscription-post-subscriptions?view=graph-rest-1.0&tabs=http
  • #28: The use of the breaking suffix allows us to introduce improved functionality to existing elements without having to wait for a V2 of Graph. We can deliver those immediately.  Teams are unblocked to innovate immediately and the customers can adopt at their own pace.