Microsoft Graph versus GraphAPI

2016-03-22 | Toni Pohl

Microsoft hat aus den verschiedensten Cloud-API’s ein zentrales Service geschmiedet: Den Microsoft Graph, der AAD und Office365 in einem Service vereint. Und natürlich gibt es auch noch die älteren APIs, etwa die Graph API… Was sind die Unterschiede?

Nun, historisch gesehen wurde aus der Azure Active Directory Graph API und der (Unified) Office 365 API der Microsoft Graph, der den Zugriff auf Azure Active Directory Objekte wie Users und Groups und Zugriff auf die Office 365 Services wie Mails, Files, Calendars, Contacts etc. ermöglicht.

Microsoft Graph

Die kurze Botschaft lautet: “One endpoint to rule them all”: https://graph.microsoft.io/

image

Microsoft Graph stellt OData Services bereit. Die wichtigsten Features auf einen Blick zusammengefasst:

Die Webseite Overview of Microsoft Graph informiert grundsätzlich über die Funktionalität und zeigt die Architektur des Microsoft Graph.

image

Die folgende Liste zeigt häufig benötigte Queries gegen MS Graph.

image

AAD Graph

Die “alte” GraphAPI (aktuell ist Version 1.6, siehe auch hier) ermöglicht indessen nur Zugriff auf die AAD-Objekte - ohne Office 365 Zugriff. Der Endpoint dafür sieht so aus: https://graph.windows.net/contoso.com/users.

Eine Beispiel-Abfrage: https://graph.windows.net/contoso.com/users?api-version=2013-11-08&$filter=accountEnabled eq true and (userPrincipalName eq 'jonlawr@contoso.com' or mail eq 'johndoe@contoso.com')

Eine Liste der GraphAPI Funktionen kann hier abgerufen werden: Azure AD Graph API reference.

Unterschiede

Wenn es nun um User und Gruppenmanagement geht, können sowohl MS Graph als auch die Graph API (AAD Graph) verwendet werden. Natürlich stellt sich somit auch die Frage, welches Service für eigene Apps verwendet werden soll.

Wir haben nachgeforscht: Die Aussage aus dem AAD Team bezüglich der Verwendung von MSFT Graph und Graph API ist sinngemäß:

Microsoft investiert in den Ausbau von Microsoft Graph. Wenn alle Funktionen, die benötigt werden, mit dem Microsoft Graph abgedeckt werden, sollte dieses Service verwendet werden. Umgekehrt wird Microsoft die GraphAPI noch länger weiter pflegen, jedoch ist kein großes Investment in dieses Service mehr geplant.

Hierzu noch der Hinweis, dass viele Services wie etwa Azure ARM Templates / PowerShell im Hintergrund für viele Operationen die GraphAPI verwenden. Dies wird eine wesentlicher Grund sein, warum die GraphAPI noch länger weiter existieren…muss.

Der Artikel über die Azure Active Directory Graph API liefert auch gleich am Anfang die Info, dass MS Graph die GraphAPI abgelöst hat. Es gibt allerdings auch einige Unterschiede, hier einige kleine Beispiele:

Es gibt also Unterschiede in Funktion und Details. In Zukunft werden nach und nach weitere Funktionen in MS Graph folgen.

Weitere Informationen

Hier noch einige Links zu weiteren Informationsquellen zu diesem Thema:

Es gibt noch sehr viel über Identities zu erzählen. Aus meiner Sicht wird im Unternehmensumfeld das Thema AAD/Office 365 und Identitätsverwaltung - und Alles, was damit verbunden ist - immer wichtiger.

Mit dem Microsoft Graph ist der Zugriff aus eigenen Apps auf diese Services in der Cloud leicht möglich. Ich bin auch schon gespannt, ob die BUILD Conference in zwei Wochen Neuerung in diesem Bereich bringen wird.

Categories: App, Azure, Cloud, Developer, Microsoft, Office365

Source: https://blog.atwork.at/post/2016/03/22/Microsoft-Graph-versus-GraphAPI