Dieser Abschnitt geht genauer auf die Struktur der benötigten Policies ein. Dabei wird auch das Zusammenspiel von Policy und Abrechnung beleuchtet.
Das allgemeine Vorgehen bei der Nutzung von Policies wurde bereits auf Seite im Zusammenhang mit dem Policy-Modell [ESWW99] dargestellt.
Das dort beschriebene Modell ist für den Einsatz in dem hier erstellten Managementsystem sehr gut geeignet. Da dieses Modell aber in seiner Gesamtheit viel umfangreicher ist, als wir es hier benötigen, wird es wie folgt gekürzt (Abb. 4.12):
Hierbei wird die Klasse policyTimePeriodCondition verallgemeinernd als Time bezeichnet und als direkte Unterklasse der Klasse Verwaltung betrachtet. Dies hat den Vorteil, daß sehr viele andere Klassen, die ebenfalls eine Zeitregelung benötigen auf diese Klasse zurückgreifen können. Das Gleiche gilt für die Klasse policyGroup . Sie wird in group umbenannt und ebenfalls direkt der Klasse Verwaltung unterstellt.
Der Zusammenhang zwischen Policy, Nutzung und Rechnung wird in Abb 4.13 verdeutlicht. Die Nutzung eines Dienstes kann von der Nutzungsvereinbarung (Policy) verschieden beeinflußt werden:
Aus der Nutzung resultiert eine genutzte Menge, welche beim Accounting(Service) gesammelt wird und aus der dann eine Rechnung generiert wird. Dabei nimmt die Policy bei der Rechnungsgenerierung wieder Einfluß auf die jeweiligen Posten. Dies kann den Preis betreffen: Bevorzugte Service-Erbringung ist teurer als niedriger privilegierte Service-Leistungen. Dies kann auch die Zahlungsmodalitäten treffen (Ratenzahlung, Abbuchung, Rechnung...) oder spezielle Preise für einen Kunden.
Solche Besonderheiten können vom Kunden speziell im Voraus verhandelt werden und müssen am Ende bei der automatischen Abrechnung berücksichtigt werden.
Als konkretes Policy-Modell bietet sich hier das weiter oben beschriebene Modell von Elleson, Ed, Strassner, Weiss und Westerinen an (2.4.4 auf Seite ).
Dieses Modell wird für unsere Zwecke hier etwas vereinfacht. Einige Klassen des Policy-Modells wurden bereits für andere Klassen dieses Managementsystemes verwendet. Dies betrifft insbesondere die Attribute der Klassen: Group (Seite ), deren Attribute der Klasse PolicyGroup (Seite ) entlehnt sind sowie die Klasse Time (Seite ), für deren Attribute die Klasse policyTimePeriodCondition (Seite ) Vorbild war.
Abbildung 4.14 zeigt einen ausführlichen Überblick über die neuen Policy-Klassen.
Die Oberklasse ist die Klasse Policy . Mehrere Instanzen der Klasse Policy können in der Container-Klasse Group zu einer Gruppe zusammengefaßt werden.
Direkte Unterklasse der Klasse Policy ist die Klasse PolicyRule . Eine Policy kann mehrere Instanzen der Klasse PolicyRule haben. Die Klasse PolicyRule kann eine oder mehrere Assoziationen der Klasse Time haben.
Direkte Unterklassen zur Klasse PolicyRule sind die Klassen PolicyCondition und PolicyAction . Im Vergleich zum existierenden Schema von Strassner (2.4.4, S. ) ist hier vorgesehen, daß man eine PolicyAction mit einer konkreten PolicyCondition assoziiert und nicht mit einem PolicyRule (die Vererbung bleibt wie im Vorbildmodell).
Attribute der Klasse PolicyRule :
Mit dieser Policy-Klasse sind alle nötigen Policies, die innerhalb eines Managementsystems benötigt werden, beschreibbar: