Startseite Seitentitel Work and Co Schnellere skalierbare Anwendungsentwicklung 
So entwickelte Work & Co innerhalb von Wochen statt Monaten eine wichtige interne App
Frau und männlicher Kollege schreiben Ideen auf Haftnotizen

Wie viele andere moderne Unternehmen ist auch die Belegschaft von Work & Co über den ganzen Globus verteilt und mit ständig wechselnden Projekten beschäftigt. Die effektive Verwaltung der Personal- und Projektressourcen ist daher entscheidend für die Produktivität des Unternehmens. 

Work & Co ist eine Partnerschaft mit StepZen (Link befindet sich außerhalb von ibm.com), einem IBM® Unternehmen, eingegangen, um eine GraphQL-Datenschicht auf seinem Mavenlink-Backend zu entwerfen, zu entwickeln und einzuführen und anschließend eine interne „Mitarbeiterverzeichnis-App“ nachzurüsten, die Mitarbeiter und ihre Manager täglich nutzen, um zu kommunizieren, zusammenzuarbeiten und Einblick in Projektaufgaben und -zuständigkeiten zu erhalten.

Die Mitarbeiterverzeichnis-App von Work & Co basiert auf Daten aus mehreren HR-Systemen und wird täglich von vielen Mitarbeitern zur Kommunikation und Zusammenarbeit in global verteilten und sich ständig weiterentwickelnden Projekten genutzt. Als das Unternehmen beschloss, die Daten aus mehreren seiner Services von Drittanbietern für das Personalwesen und die Personalverwaltung an einen neuen Anbieter, Mavenlink, zu übergeben, musste das Team eine Entscheidung bezüglich der internen App treffen.

Sie hatten mehrere Optionen: Sie konnten die App stilllegen, sie neu entwickeln oder sie auf die neue Datenquelle umrüsten. Eine Stilllegung kam nicht in Frage: Die Mitarbeiter brauchten sie jeden Tag, um ihre Arbeit zu erledigen. Ein Neuentwicklung war sicherlich möglich, denn das Unternehmen verfügt über die entsprechenden Fähigkeiten. Allerdings werden diese Fähigkeiten in erster Linie für abrechenbare Projekte mit Kunden eingesetzt, und die Verwendung dieser wertvollen Ressourcen für interne Aktivitäten war schwer zu rechtfertigen.

Eine Nachrüstung war die beste Lösung. Aber es stellte sich eine wichtige Frage: Wie könnte Work & Co seine wichtige Anwendung so überarbeiten, dass das Unternehmen auch in Zukunft weitere Funktionen und Datenquellen hinzufügen oder sogar seine Systeme wechseln kann, ohne dass der Arbeitsaufwand für das Unternehmen zu groß wird?

Es war wichtig, dass diese App aktualisiert und skaliert werden konnte, sobald neue Datenquellen zur Verfügung standen, die das Nutzererlebnis verbessern und mehr Funktionen bieten konnten. Das Unternehmen benötigte eine Lösung, mit der es jetzt eine umfassende, aber flexible Anwendung aufbauen konnte – und eine, die für die spätere Skalierung und neue Anwendungsfälle in der Zukunft ausgelegt war.

Mit der GraphQL-API auf Mavenlink können wir innerhalb weniger Wochen eine interne App entwickeln, mit der eine schnelle, genaue und einfache Visualisierung und Planung unserer Ressourcenverwaltung möglich ist. Die Leistung dieser App ist entscheidend, da sie viele Informationen zusammenführt. Nemanja Niciforovic MD und Engineering Lead Work & Co
Neuentwicklung einer wichtigen Anwendung

Die Umwandlung der bestehenden REST-API-Aufrufe der App in GraphQL-API-Aufrufe war der erste Schritt. Durch die Umstellung auf GraphQL muss die Client-Anwendung nur noch wissen, wie man einen GraphQL-Aufruf durchführt und lediglich die Daten anfordert, die sie auch wirklich braucht; sie muss nicht wissen, woher die Daten kommen. Die Standardisierung auf GraphQL für diese Anwendung würde es dem Unternehmen ermöglichen, neue Datenquellen hinzuzufügen und die Datenquellen zu wechseln, ohne dass sich dies auf die Anwendung auswirkt. Die GraphQL-Abfragen würden dieselben bleiben.

In der Regel würde dies jedoch bedeuten, dass man einen GraphQL-Server braucht und eine Menge Resolver-Code schreiben muss, um die APIs den Daten zuzuordnen. Je weniger Code man schreiben und pflegen muss, desto besser. Als deklarativer, konfigurationsgesteuerter gehosteter GraphQL-Server macht StepZen die Konfiguration von Resolvern einfach, wodurch ein Großteil des Codes überflüssig wird.

Nemanja Niciforovic, MD und Engineering Lead bei Work & Co, erklärt: „Mit der GraphQL-API auf Mavenlink können wir innerhalb weniger Wochen eine interne App entwickeln, mit der eine schnelle, genaue und einfache Visualisierung und Planung unserer Ressourcenverwaltung möglich ist. Die Leistung dieser App ist entscheidend, da sie viele Informationen zusammenführt. Die automatische Parallelität von StepZen hat uns dabei sehr geholfen. Außerdem hilft es uns bei der zukünftigen Anpassung und Skalierung, wenn wir Backend-Services hinzufügen und neue Anwendungen auf der einzigen GraphQL-API erstellen.“

Mavenlink verfügt über eine umfassende REST-API zur Verwaltung des Zugriffs auf eine Vielzahl von HR- und Ressourcenmanagementdaten. Mithilfe der GraphQL-Anweisung – @rest – von StepZen konnte Work & Co die Daten, die für die Mitarbeiterverzeichnis-App zur Verfügung stehen, genau festlegen. Ein einfaches Beispiel: Das Team benannte Felder in der Mavenlink-API so um, dass sie mit den in der Anwendung verwendeten Namen übereinstimmten, wodurch der Frontend-Entwickler weniger Arbeit hatte und weniger Codeänderungen in der Anwendung erforderlich waren.

Außerdem konnte das Team die Mavenlink-API durch die Verwendung der @materializer-Anweisung von StepZen vereinfachen. Dadurch konnten sie Typen definieren, die Daten aus mehreren API-Aufrufen enthalten. So fügten sie beispielsweise dem Typ „Benutzer“ einen Typ „Projekte“ hinzu, der es dem Anwendungsentwickler ermöglichte, die aktiven Projekte eines Benutzers gleichzeitig mit den Benutzerdetails wie Profilfoto und E-Mail-Adresse abzurufen.

Paginierung: Die Mavenlink-API begrenzt die Anzahl der Datensätze, die bei einem einzelnen Aufruf zurückgegeben werden, und erzwingt so eine Paginierung. Die App von Work & Co wurde nicht für diese Art der Datenverarbeitung entwickelt, und eine Überarbeitung zur Nutzung der Paginierung war kein Aufwand, den man auf sich nehmen wollte. Mit der @sequence-Anweisung von StepZen war das Team in der Lage, viele REST-API-Aufrufe an die Mavenlink-API zu parallelisieren und alle Seiten einer Ergebnismenge mit einer einzigen GraphQL-Abfrage abzurufen.

Leistungsoptimierung: Ein unerwarteter Vorteil dieser Methode ist die Leistungsoptimierung. Der Abruf kleinerer Seitengrößen mit der REST-API führt zu schnelleren Antwortzeiten. So brauchen 10 parallele Abfragen für jeweils 200 Datensätze länger als 20 parallele Abfragen für jeweils 100 Datensätze. Durch eine entsprechende Definition der StepZen-Abfragen konnte der Anwendungsentwickler von Work & Co die Leistung seiner GraphQL-Abfragen genau anpassen.

Sicherheit und Caching: Zusätzlich zu all diesen spezifischen Implementierungsdetails profitierte Work & Co von StepZens Gesamtkonzept für Sicherheit und Caching. Flexible Sicherheitskonfigurationen ermöglichten es ihnen, Abfragen zu definieren, die einen anwendungsweiten Sicherheitskontext verwenden, sowie Abfragen, die einen benutzerspezifischen Sicherheitskontext nutzen. Eine solch detaillierte Kontrolle lässt sich bei der direkten Verwendung einer REST-API nur sehr schwer realisieren; in der Regel ist es entweder das eine oder das andere. Das automatische Caching von StepZen bedeutet, dass die Benutzer ihrer Anwendung eine verbesserte Leistung ohne Entwicklungsaufwand erhalten.

Die automatische Parallelität von StepZen hat uns dabei sehr geholfen. Außerdem hilft es uns bei der zukünftigen Anpassung und Skalierung, wenn wir Backend-Services hinzufügen und neue Anwendungen auf der einzigen GraphQL-API erstellen. Nemanja Niciforovic MD und Engineering Lead Work & Co
Ein Blick in die Zukunft

Nachdem das Team von Work & Co seine interne Anwendung auf die Verwendung von GraphQL auf StepZen umgestellt hat, anstatt spezifische REST-API-Aufrufe zu nutzen, ist es in einer hervorragenden Position, um die neuen Funktionalitäten von Mavenlink zu nutzen, wenn weitere Bereiche der Plattform übernommen werden. Sie können auch neue Services einfach in ihre GraphQL-API einbinden, mit minimalen Auswirkungen auf die Anwendungen, die mit den über StepZen bereitgestellten Daten gespeist werden.

Informationen zu Work & Co

Work & Co (Link befindet sich außerhalb von ibm.com) ist eine preisgekrönte Agentur, die digitale Produkte entwickelt und bereitstellt, um Unternehmen zu transformieren. Das Unternehmen hilft seinen Kunden, digitale Strategien zu definieren und digitale Produkte in großem Maßstab auf den Markt zu bringen und zu operationalisieren. Die Websites, Apps und digitalen Erlebnisse von Work & Co werden täglich von Millionen von Menschen genutzt.

StepZen

Der einzige deklarative Ansatz für den kombinierten Zugriff auf Daten.

Mehr erfahren IBM Newsletter abonnieren    
Rechtshinweise

© Copyright IBM Corporation 2023. IBM Corporation, New Orchard Road, Armonk, NY 10504

Hergestellt in den Vereinigten Staaten von Amerika, Juni 2023.

IBM und das IBM Logo sind Marken oder eingetragene Marken der International Business Machines Corporation in den USA und/oder anderen Ländern. Weitere Produkt‐ und Servicenamen können Marken von IBM oder anderen Unternehmen sein. Eine aktuelle Liste der IBM Marken finden Sie unter ibm.com/trademark.

Das vorliegende Dokument ist ab dem Datum der Erstveröffentlichung aktuell und kann jederzeit von IBM geändert werden. Nicht alle Angebote sind in allen Ländern verfügbar, in denen IBM tätig ist.

Alle angeführten oder beschriebenen Beispiele illustrieren lediglich, wie einige Kunden IBM Produkte verwendet haben und welche Ergebnisse sie dabei erzielt haben. Die tatsächlichen Umgebungskosten und Leistungsmerkmale variieren in Abhängigkeit von den Konfigurationen und Bedingungen des jeweiligen Kunden. Es können keine generell zu erwartenden Ergebnisse bereitgestellt werden, da die Ergebnisse jedes Kunden allein von seinen Systemen und bestellten Services abhängt. Es sind Marken oder eingetragene Marken der International Business Machines Corporation in den USA und/oder anderen Ländern. DIE INFORMATIONEN IN DIESEM DOKUMENT WERDEN OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GARANTIE ZUR VERFÜGUNG GESTELLT, EINSCHLIESSLICH DER GARANTIE DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER GARANTIE ODER BEDINGUNG DER NICHTVERLETZUNG VON RECHTEN. Die Garantie für Produkte von IBM richtet sich nach den Geschäftsbedingungen der Vereinbarungen, unter denen sie bereitgestellt werden.