Was ist der Wert eines Service?

Ein Unternehmen möchte wissen, welche Vermögensgegenstände es besitzt. Aus steuerlichen Gründen müssen Kapitalgesellschaften sogar Ihr Vermögen auflisten und bewerten. Dienste im Sinne einer SOA sind zwar nicht direkt greifbar, dennoch stellen Dienste eine Art Vermögen dar. Bevor wir uns Diensten zuwenden betrachten wir zunächst wie bisher Anwendungen bewertet wurden. Bei gekaufter Software wird der Anschaffungspreis zuzüglich Nebenkosten angesetzt und anschließend über die Nutzungsdauer abgeschrieben. Bei selbsterstellter Software können oder müssen die internen Herstellungskosten angesetzt werden.

Wie verhält das Ganze sich jetzt bei Webservices? Zunächst existiert ein WebService meist nicht in Isolation. Ein Service ist eine Schnittstelle zu Funktionalität, die beispielsweise von einer Anwendung zur Verfügung gestellt wird. Eine Anwendung kann eine Vielzahl von Diensten bereitstellen. Dann gibt es noch Dienste, die aus anderen Diensten zusammengesetzt sind. Beispiele dafür sind BPEL Prozesse oder SCA Composites. Im Gegensatz zu Anwendungen sind Dienste feingranularer und oft nicht in Isolation einsetzbar. Betrachten wir zunächst die Bewertung eines Dienstes über die Herstellungskosten. Nehmen wir dazu an, dass der Dienst B Teil einer Anwendung X ist, wie in Abbildung 1 dargestellt.

Anwendung mit Diensten

Abbildung 1: Anwendung, die Dienste zur Verfügung stellt

Die Herstellungskosten der Anwendung betragen z.B. 20.000€. Wir können annehmen, dass die Dienste in Summe nicht mehr wert sind, als die Anwendung.

Wert X = Wert A + Wert B + Wert C + Wert D

Bei der Aufteilung der Herstellungskosten auf die Services wird es bereits schwieriger. Die Services einer Anwendung bilden in modernen Architekturen meist nur eine dünne Schicht, vergleichbar mit dem Zuckerguss eines Kuchens.

Service Layer

Abbildung 2: Service Layer

Genauso verhält es sich mit den Aufwänden. Nach der Erfahrung des Autors kostet eine WebService Schicht für eine JAVA-Anwendung ca. 1-5 Prozent der Entwicklungskosten. Würde man diese Kosten für die Service ansetzten, dann stünde der Aufwand zur Bewertung in keinem Verhältnis zum Wert der Dienste. Die Herstellungskosten des Kuchenteigs müssen daher den Diensten zugerechnet werden. Wird die Anwendung nur über die Dienste genutzt, so können die gesamten Kosten aufgeteilt werden. Verfügt die Anwendung zusätzlich über eine Benutzerschnittstelle, welche ebenfalls genutzt wird, so kann nur ein Teil der Herstellungskosten den Diensten zugerechnet werden. Die nächste Frage die sich stellt ist die Verteilung der Kosten zwischen den einzelnen Diensten. Sollen alle gleich hoch angesetzt werden oder soll eine andere Schlüsselung verwendet werden? Moderne Anwendungen sind aus einer Art internen Diensten oder Komponenten zusammengesetzt. Der Wert einer Komponente könnte also abhängig von der Zahl der verwendeten internen Komponenten abhängig gemacht werden. Betrachten wir dazu Abbildung 3

Dienste und Komponenten

Abbildung 3: Dienste nutzen Komponenten

Bei Service A ist der Fall eindeutig. Service A verwendet nur die Komponenten a und b. Service B hingegen verwendet Komponente c, die weitere Komponenten benötigt. Auch hier ist der Fall noch relativ einfach, da auch d, e und f nur von Service B verwendet wird. Bei Service C und D wird es komplizierter. Service C und D verwenden beide die Komponente h. Und es gibt eine Abhängigkeit zwischen j und k. Um das ganze noch zu komplizieren verwendet Komponente k, welche von Service C und D indirekt verwendet wird, einen externen Service E. Es ist folglich nicht ganz einfach die Aufwände korrekt zwischen den Diensten aufzuteilen. Selbstverständlich ist das mit etwas Graphentheorie möglich.

Ein anderer Ansatz wäre eine Bewertung eines Service über dessen Verwendung von anderen Services. Zunächst muss der Begriff Verwendung geklärt werden. Man kann darunter zwei Dinge verstehen:

  • Verwendung im Sinne von Abhängigkeit
  • Anzahl der Aufrufe pro Zeiteinheit

Bei der Abhängigkeit geht es darum, wie viele Dienste und Clientanwendungen einen Service aufrufen:

Service Abhängigkeiten

Abbildung 4: Abhängigkeiten zwischen Diensten

Bei der Anzahl der Aufrufe wird einfach mitgezählt. Der Nachteil einer Bewertung über die Verwendung liegt in der Abhängigkeit zum Service Design. Werden die Operationen des Service A in Abbildung 4 etwas feingranularer gestaltet, so führt das schnell zu einer um das 10fache gesteigerten Anzahl von Aufrufen. Die Nützlichkeit des Service hat sich nicht geändert aber der Wert hat sich dadurch extrem gesteigert. Es gibt auch Services, die recht einfach sind, aber oft aufgerufen werden z.B. Dienste für Nummernkreise oder Validatoren, die etwas überprüfen. Komplexe Dienste, die stark zur Wertschöpfung beitragen aber naturgemäß im Vergleich selten aufgerufen werden, werden durch eine Bewertung über die Verwendung stark unterbewertet. Services für die Logistik sind ein Beispiel für solche Dienste. Diese Problematik führt uns zur nächsten Bewertungsart. Zur Bewertung über den Beitrag zur Wertschöpfung.

Bewertung über die Wertschöpfung

Bei dieser Art der Bewertung wird ermittelt, wie hoch der Beitrag eines Dienstes an der Wertschöpfung ist. Um den Anteil eines Dienstes an der Wertschöpfung zu ermitteln müssen die folgenden Fragen beantwortet werden:

  • Welche Dienste sind an der Wertschöpfung beteiligt?
  • Wie hoch ist der Anteil an der Wertschöpfung?

Der kritische Punkt ist die Bestimmung des Anteils an der Wertschöpfung. Jeder Dienst trägt seinen Teil dazu bei. Beispielsweise sind Auftragsannahme, Produktion und Versand notwendig um Einnahmen zu erzielen. Welche Funktion wichtiger oder wertvoller ist lässt sich nicht richtig beantworten.

Fazit

Die Bewertung von Services kann für das IT Asset Management notwendig sein. Den Wert in Mark und Pfennig (oder Euro und Cent) von Diensten zu kennen ist auch hilfreich bei der Beurteilung von Abteilungen, der gegenseitigen Verrechnung und der Budgetierung. Für die Bewertung gibt es verschiedene Ansätze, die alle Ihre Vor- und Nachteile mit sich bringen.

Thomas Bayer, Stefan Maibücher