Artikel als PDF anzeigen

Werbung
ITMAGAZINE
Automatisierte Beantwortung komplexer
Kundenanfragen
18. November 2005 - Synlogic hat mit seiner Business-Rules- und Workflow-basierten Lösung «Instant Customer Response»
für Ciba Speciality Chemicals den Swiss IT Award 2005 in Kategorie Projekt für sich entschieden. Die Abteilung «Plastic Additives» der Ciba Specialty Chemicals (CibaSC) produziert für ihre Kunden unter anderem
kundenspezifische Zusatzmischungen in unterschiedlichen Formen zur Beeinflussung der physikalischen Eigenschaften von
Kunststoffen. Bis anhin wurden die Machbarkeit und der Preis weitgehend manuell bestimmt, was Know-how in Chemie und Verfahrenstechnik erforderte. Die Beantwortung von Kundenanfragen war darum ein Prozess, der
sich über mehrere Schritte und Stellen erstreckte. Es vergingen so Tage bis Wochen, um eine Anfrage zu beantworten.
Angesichts gestiegener Kundenanforderungen und einer verschärften Marktsituation war es für CibaSC notwendig, diese
Fristen erheblich zu verkürzen. Im Projekt Instant Customer Response (ICR) wurde ab Ende 2003 bis Anfang 2005 dieser Prozess in einem
Informationssystem abgebildet. Mit Hilfe dieses Systems werden die oben geschilderten Prozesse rationalisiert, die
Durchlaufszeiten reduziert und die Reaktionszeiten (time to first answer) für einen grossen Teil von Anfragen erheblich
verkürzt. Zusätzlich wurde eine höhere Transparenz bei der Machbarkeitsvorhersage und Preisberechnung angestrebt, sowie
durch eine Wissensspeicherung in einer spezifizierten Syntax das Risiko des Know-how-Verlustes reduziert. Die Anwendung
befindet sich mittlerweile im produktiven Einsatz.
Grundlage Expertensystem
Grundlage des Lösungsansatzes ist die Expertensystem-Technologie. Als erstes werden dafür die Kundenanfragen grob in
zwei Kategorien aufgeteilt. Ein geringer Teil der Anfragen hat ein derartiges Komplexitätsniveau, dass er weiterhin von
erfahrenen Experten «von Hand» bearbeitet werden muss. Der weitaus grössere Teil der Anfragen ist aber dazu geeignet, von
einem Expertensystem beantwortet zu werden. Dabei wurden der fallbasierte (case-based reasoning) und der regelbasierte
(heute unter dem Begriff «Business Rules» bekannt) Ansatz in Betracht gezogen. Eine Analyse der Aufgabenstellung zeigte,
dass ein regelbasiertes System (rule-based reasoning) hier wesentliche Vorteile haben würde. Eine fallbasierte Verarbeitung –
also die Darstellung des anzuwendenden Expertenwissens durch Beispiele – hätte nicht zu 100 Prozent der Anforderung einer
eindeutigen Antwort auf eine Kundenanfrage genügt. Das Wissen wurde daher in formalen Regeln im System «kondensiert».
Mittels dieser Regelbasis liefert das System immer genau eine einzige Antwort zu einer Kundenanfrage: positiv, negativ oder
– im Falle nicht ausreichenden Wissens – eben undefiniert. Das System ist so eingerichtet, dass es in jedem Fall keine falsche
Antwort liefert. Die Entscheidungsfindung wird dabei immer exakt dokumentiert, um die Transparenz und Nachvollziehbarkeit
zu gewährleisten. Dazu wird der komplette Entscheidungsbaum mit allen berücksichtigten Regeln und Ergebnissen zusammen
mit dem Endergebnis dargestellt.
System selber pflegen
Nachdem der Kunde das Potential zur IT-unterstützten Rationalisierung des Kundenanfrage-Prozesses identifiziert hatte, ging
es darum festzustellen, welche Technologien zur automatisierten Bestimmung der Machbarkeit geeignet sind. Im Frühjahr
2004 wurde dafür innert weniger Wochen ein Prototyp des regelbasierten Kerns des zukünftigen Systems in enger
Zusammenarbeit zwischen den Experten von CibaSC und Sylogic erstellt. Hierbei wurden Regeln zur Bestimmung der
Machbarkeit für eine definierte Teilmenge der möglichen Kundenanfragen entwickelt. Der Prototyp zeigte, dass mit dem
gewählten Ansatz tatsächlich ein grosser Prozentsatz aller Kundenanfragen automatisiert behandelt werden kann und dass die
Experten der CibaSC mittels der gewählten Lösung in der Lage sind, das erforderliche Wissen selbständig in die benötigte
Regelform zu transformieren und zu pflegen. Besonders die Machbarkeit eines autonomen Systemunterhalts konnte
nachgewiesen werden.
Modulares System
Aus einer konzeptionellen Sicht heraus umfasst ICR folgende Module: • eine Zutaten- und Konzeptebasis für Informationen zu Komponenten sowie deren Eigenschaften und Verbindungen, • eine Regelbasis, die das Wissen, beschrieben in einer formalen Syntax, enthält, • einen Wissenseditor (Regeleditor), der es den Wissensträgern ermöglicht, das Wissen in Form von Regeln einzugeben und
anzupassen, • eine mehrstufige Inferenzmaschine als Kernstück der Anwendung, die eine Entscheidung basierend auf den vorhandenen
Regeln, Zutaten und Konzepten herbeiführt und • einen Workflow zur Steuerung des Prozesses von der Erfassung der Anfrage bis zum Ergebnis. Die Anforderung geringer Einstiegskosten und bestmöglicher Voraussetzungen für eine Integration in die vorhandene
Systemumgebung beim Kunden führten zu einer Implementierung der ICR-Anwendungsmodule mittels Microsoft .Net und
SQL Server 2000. Für Workflow und Business Rules (Expertensystem) wurden in einem ersten Schritt kommerzielle Lösungen von Drittanbietern
evaluiert, letztlich aber verworfen. Es kommen heute für beide Subsysteme Eigenimplementierungen zum Einsatz. Die
Realisierung der Regelverarbeitung begann mit der Beschreibung der Regelsyntax in einer Definitionsdatei für das Sprachtool
und den Parsergenerator antlr. Dieser generiert spezifischen C#-Quellcode für den Aufbau und die Bearbeitung eines
Syntaxbaums. Dieser Quellcode, erweitert um die Funktionalität für die Interpretation der kundenspezifischen Funktionen,
bildet den regelbasierten Kern der Anwendung. Die Vorteile dieses Ansatzes machten sich schon früh im Projektverlauf durch
die grosse Freiheit bei der Definition der Syntax bemerkbar. Die Anwendung hat eine mehrschichtige Architektur. Der Anwendungskern wird dabei auf einem Anwendungsserver (aktuell
Windows 2003) betrieben. Der Datenzugriff als Anwendungsschicht oberhalb der Datenbank ist von der darunterliegenden
Tabellenstruktur abstrahiert und bildet eine einheitliche Schnittstelle für die Geschäftslogik. Der Zugriff auf die Daten selbst
erfolgt ausschliesslich über gespeicherte Prozeduren und Views. Anwendern steht die Funktionalität von ICR in Abhängigkeit von deren Rollen und Berechtigungen über eine Windows- und
eine Webanwendung zur Verfügung.
ICR-unterstützter Kundenanfrageprozess
Plug-in-Architektur
Der Wissenseditor ist in einen .Net-Windows-Fat-Client integriert, der zur Pflege der Business Rules, der Stammdaten, der
Benutzer und der Preise dient. Der Editor unterstützt den Nutzer durch kontextsensitive Auswahllisten (für Funktionen und
Operatoren) bei der Eingabe und formatiert die Regeln zur Darstellung. Die Regeln können entweder mit bereits vorhandenen
Kundenanfragen oder mit ad-hoc-Eingaben getestet werden. Der Client ist nach einer Plug-in-Architektur implementiert: Ein
Container stellt Grunddienste zur Verfügung, die eigentliche Anwendungsfunktionalität wird modular eingebunden. Durch
diese Architektur sind die einzelnen Funktionsmodule klar getrennt und bleiben somit einfacher wartbar. Neue Funktionalität
kann über weitere Plug-ins integriert werden.
Die Mehrzahl der Benutzer greift auf die Anwendung mittels einer ASP.Net-Webanwendung zu. Die Erfassung und Bearbeitung
von Kundenanfragen geschieht dabei über eine Portal-orientierte Website, über die der Benutzer schnellen Zugriff auf die
zugewiesenen Kunden und Anfragen erhält. Die Benutzeroberfläche wird durch User-Interface-Komponenten aus Infragistics
NetAdvantage 2004 erweitert, wodurch sich das Look’n’Feel einer Windows-Applikation annähert. Die im Hintergrund laufenden Prozesse wie E-Mail-Benachrichtigungen und Logging werden vom Workflow-Subsystem
gesteuert. Das Logging erstreckt sich dabei hauptsächlich auf die Dokumentation der Abläufe. Zusätzlich wird ein Systemlog
auf Basis der Logging-Library log4net geschrieben.
Direkte PDF-Generierung
Ergebnisse zu Kundenanfragen werden durch den webbasierten Teil von ICR als PDF-Berichte ausgegeben. Wegen der Vielfalt
der darzustellenden Daten und der Einfachheit der Integration ist die Wahl auch hier nicht auf eine Designer-unterstützte,
kommerzielle Reportinglösung gefallen, sondern auf die direkte PDF-Generierung durch iTextSharp. Den Auschlag für diese
Lösung gaben Kosteneinsparungen und die hohe Flexibilität beim Layout. Insgesamt besteht die Anwen-dung – Open Source und Libraries von Drittanbietern ausgeschlossen – aus etwas weniger als
500 C#-Klassen und 30 ASP.Net-Seiten. Das implementierte Datenmodell besteht aus ungefähr 50 Tabellen und Views, sowie
einer grossen Anzahl Stored Procedures und Functions. Die Webanwendung wird für die bessere Verfügbarkeit hinter einem
Load Balancer betrieben.
Anfragen werden durch den sogenannten Requester, oder einen Request Manager über den Web Client erfasst. Handelt es
sich um eine «einfache» Anfrage und sind alle notwendigen Informationen vorhanden, wird die Anfrage an die
Inferenzmaschine gesendet, welche die Anfrage kategorisiert und anschliessend deren Machbarkeit prüft. Die Entscheidung wird dem Benutzer in Form
eines Berichts mitgeteilt. Sollten für die Entscheidung notwendige Informationen nicht verfügbar sein, wird die Anfrage
zurückgestellt und die entsprechende Stelle benachrichtigt. Benutzer können zu jedem Zeitpunkt den Status der Bearbeitung
verfolgen.
Agile Realisierung
Das zu entwickelnde System enthielt viele, für die Beteiligten der CibaSC neuartige Aspekte. Es wurde daher für die Phase der
Realisierung ein agiler Ansatz mit kurzen Feedbackzyklen gewählt. Nachdem die Business-Anforderungen formuliert und die
wesentlichen Kernbereiche des Systems spezifiziert waren, wurde das System in kurzen Iterationen von typischerweise rund
zwei Wochen realisiert. Am Ende eines jeden Iterationszyklusses stand jeweils eine lauffähige Teilmenge des Gesamtsystems,
welche in gemeinsamen Arbeitssitzungen begutachtet wurde. Jede Iteration fügte so ein weiteres Stück Funktionalität hinzu.
Anschliessend wurde das System, auf Basis des Kundenfeedbacks angepasst und erweitert. Das gewählte Projektvorgehen hat sich im Rückblick bewährt. Die kurzen Iterationszyklen führten dazu, dass innerhalb kurzer
Zeit ein System entwickelt werden konnte, welches auch jenen Anforderungen des Kunden genügt, welche zu Projektbeginn
noch gar nicht oder nur ungenau bekannt waren. In einer intensiven Testphase bewies das System seinen Nutzen und sein weiteres Potential. Es beantwortet heute den
Grossteil der Kundenanfragen innerhalb weniger Sekunden vollständig und korrekt und hat das bisherige Vorgehen bereits
vollständig abgelöst.
Die Autoren
Sebastan Fritz ist Software Engineer, Dr. Ernst Lebsanft ([email protected] ) Geschäftsleiter bei Synlogic AG
Copyright by Swiss IT Media 2017 
Herunterladen