Single-Sign-On Web Service
Beschreibung
Ein SSO-Service stellt Funktionalität zur Verfügung um Nutzerkonten zur Verwalten. Der Webservice kümmert sich darum die Passworte zu verifizieren und stellt Schnittstellen zur Bearbeitung der Nutzerdaten zur Verfügung.
Schnittstelle
Die Operationen dieser Komponente sind:
- a: Registrierung eines neuen Nutzers, nachfolgend ist dieser bereits eingeloggt,
- b: Login mit Nutzername und Passwort eines bereits registrierten Nutzers,
- c: Ändern des Passworts bzw. weiterer Nutzerdaten,
- d: Ausloggen eines eingeloggten Nutzers.
Alle Methoden werden synchron aufgerufen, d.h. es wird gewartet bis die SSO-Komponente das Ergebnis liefert.
Vorgesehene Benutzung
Eine SSO-Service sollte immer so benutzt werden, dass zuerst a aufgerufen wird, um den Nutzer einzuloggen. Als Alternative kann der Nutzer auch neu registriert werden (b). Nachfolgend kann ein Nutzer seine Daten beliebig oft ändern, dazu wird Methode c verwendet. Die Benutzung der Komponente sollte damit enden, dass der Nutzer abgemeldet wird (d).
Absicherung der korrekten Benutzung
Der SSO-Service sollte in einer Service-orientierten Architektur (SOA) immer in der oben beschriebenen Weise verwendet werden. Die vorgesehene Verwendung beschreibt den Zweck der Komponente. Leider ist es einem Komponenten-Entwickler nicht möglich diese Benutzung in einer WSDL o.ä. zu beschreiben (nur funktionale Eigenschaften können beschrieben werden).
Aus diesem Grund wurde in der Dissertation von Dipl.-Inform. Andreas Both ein Verfahren entwickelt, welches die Formulierung dieser nicht-funktionalen Eigenschaften ermöglicht. Dazu wird ein Service Protokoll formuliert. Dieses beschreibt die erlaubte Benutzung der Komponenten. Ein Service Protokoll ist eine formalisierte Beschreibung der Benutzung. Es handelt sich dabei um einen sogenannten endlichen Automaten (Finite State Machine), vereinfacht betrachtbar ein Graph.
Protokoll einer SSO-Komponente
Dieses Protokoll beschreibt präzise den Zweck den der Entwickler vorgesehen hatte. Die Formalisierung des Protokolls kann genutzt werden um beweisbar zu überprüfen, ob alle Clienten (benutzende Komponenten) sich an das vorgesehene Protokoll halten.
Quellen
- [BZ08a] Andreas Both and Wolf Zimmermann. Automatic protocol conformance checking of recursive and parallel component-based systems. In Michel R. V. Chaudron, Clemens A. Szyperski, and Ralf Reussner, editors, Component-Based Software Engineering, 11th International Symposium (CBSE 2008 ), volume 5282 of Lecture Notes in Computer Science, pages 163–179. Springer , October 2008. BibTEX
- [BZ08b] Andreas Both and Wolf Zimmermann. Automatic protocol conformance checking of recursive and parallel component-based systems. Technical Report 2008/01, University Halle-Wittenberg, Institute of Computer Science, June 2008. BibTEX
- [BZ08c] Andreas Both and Wolf Zimmermann. Automatic protocol conformance checking of recursive and parallel BPEL systems. IEEE Sixth European Conference on Web Services (ECOWS ’08 ), 0:81–91, IEEE , 2008. BibTEX
- [BZ09a] Andreas Both and Wolf Zimmermann. Model checking of component protocol conformance – optimizations by reducing false negatives. In International Workshop on Formal Aspects of Component Software (FACS’09 ), Eindhoven, November 2009 (to be published as extended version in ENTCS ). BibTEX
- [BZ09b] Andreas Both and Wolf Zimmermann. On more predictable implementations of reliable workflows in service-oriented architectures. IEEE Seventh European Conference on Web Services (ECOWS ’09 ), 0: 87-96, IEEE , November 2009. BibTEX
- [BZ09c] Andreas Both and Wolf Zimmermann. Sicherstellung der Funktionalität in Komponentensystemen und Service-orientierten Architekturen. In Erik Maehle Stefan Fischer and Rüdiger Reischuk, editors, GI-Jahrestagung , volume 154 of Lecture Notes in Informatics , pages 425;3336–3349. GI, 2009. BibTEX
- [BZ09d] Andreas Both and Wolf Zimmermann. A step towards a more practical protocol conformance checking algorithm. In 35th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2009 ), pages 458–465. IEEE Computer Society , August 2009. BibTEX
- [BZ09e] Andreas Both and Wolf Zimmermann. Supporting the development process of reliable software during the composition process using interaction protocols. Technical Report 2009/04, University Halle-Wittenberg, Institute of Computer Science, September 2009. BibTEX
- [FB09] Rene Franke and Andreas Both. Tool demo: Component-based infrastructure for protocol conformance checking of component-based software. In International Workshop on Formal Aspects of Component Software (FACS’09 ), Eindhoven, November 2009. BibTEX