Next Generation Self Service Plattform mit Java & Siebel CRM Steffen Deufel ec4u expert consulting ag D-Karlsruhe Schlüsselworte: Self Service Portal, Siebel CRM, econfigurator, Order Management, amind Einleitung Der Vortrag zeigt eine Self Service Anwendung für die Auftragserfassung von Telekommunikationsaufträgen vom Konzept bis zur Implementierung. Mit dieser Self Service Anwendung werden die Ziele Kundenorientierung & besseres Kundenerlebnis bei gleichzeitig höherer Wirtschaftlichkeit erreicht. Der Vortrag zeigt die Möglichkeiten mit Oracle Siebel CRM und dem amind Framework für eine moderne Self Service Anwendung und vollständig automatisierter Auftragsverarbeitung. Ausgehend von der im Internet verfügbaren Anwendung wird gezeigt, wie hinter den Kulissen eine Implementierung erfolgt. Die Schritte eines Anwenders beim Konfigurieren eines Telekommunikationsvertrags werden gezeigt und dann jeweils die technischen Hintergründe der Lösungsimplementierung erläutert. Über das amind Framework kann man auf die mächtigen Siebel CRM Produktmodelle, Preisberechnungen und Order Management Workflows zugreifen und in der Java Sprache verwenden. Dies erlaubt eine ideale Kombination aus großem Funktionsumfang und Java basierter Web-Online- Benutzerschnittstelle.
Die Lösung Beispiel einer Bestellung im Selbstbedienungsportal Eine typische Bestellung im Selbstbedienungsportal läuft in den folgenden Schritten ab: 1) Selektion der Bundle Component (TV, Internet, VoIP, Mobil) oder des Bundle 2) Produkt-Recherche im Portal (-> Unabhängig von Siebel CRM Prozessen) 3) Auswahl der Dienste 4) Preisberechnung der Dienste & Optionen 5) Konfigurieren der Dienste 6) Angabe von Zahlungsbedingungen, Adressen, tlw. technischen Details wie Anschlussdose a. Zahlungsbedingungen, Adressen b. Installationsangaben c. Installationstermine 7) Summary Page a. Task Pane rechts -> Permanente Übersicht b. Strukturierte Gesamtübersicht Beispiel-Adresse: 2121 Airline Dr, Apt FL4, Metairie, LA 70001 (secondary account) Abb. 1 Schritt 1 Beispielbestellung im Self Service Portal Selektion der Bundle Component oder des Bundle Die Self Service Nutzung erlaubt es innerhalb von sieben Schritten einen kompletten Auftrag durch den Kunden zu erfassen.dieser Auftrag wird bereits während der Erfassung validiert und kann am Ende der sieben Schritte 100% automatisch verarbeitet werden. Der Auftrag befindet sich dann in Siebel CRM als Order (oder ggf. als Quote, abhängig vom Siebel Customizing). Alle Produkte sind entweder als Siebel Customizable Products, als Bundle Promotions mit Bundle Components oder als Siebel Simple Product konfiguriert. Die für den Kunden als Bundle sichtbaren Produkte sind auch in Siebel Bundle Promotions. Die Komponenten TV, Internet, VoIP sind jeweils Customizable Products und als Bundle Components der Bundle Promotions konfiguriert. Die Preise werden durch die Siebel Standard Preismechanismen berechnet. Hierbei unterstützt der Siebel PSP Workflow (Product Selection & Pricing) verschiedene Discount Mechanismen. Aggregate Discounts erlauben günstigere Endgeräte-Preise in Abhängigkeit einer Bundle Component. So kann der Preis für den NetGear Router je nach Internet-Vertrag unterschiedlich ausfallen. Auf Grund der Tatsache, dass das Self Service Portal HTML basiert ist, sind URL / Links zu Produktinformationen stets einfach ohne Aufwand möglich. Aus Kundensicht kann innerhalb des Bestellprozess also immer zusätzliche Detailinformation
Abb. 2 Schritt 2 Beispielbestellung im Self Service Portal Produkt-Recherche im Portal Abb. 3 Schritt 3 Beispielbestellung im Self Service Portal Auswahl der Dienste
Abb. 4 Schritt 4 Beispielbestellung im Self Service Portal Preisberechnung der Dienste Abb. 5 Schritt 5 Beispielbestellung im Self Service Portal Konfigurieren der Dienste
Abb. 6 Schritt 6a Beispielbestellung im Self Service Portal Angabe von Zahlungsbedingungen, Adressen Abb. 7 Schritt 6b Beispielbestellung im Self Service Portal Angabe von Installationsangaben Abb. 8 Schritt 6c Beispielbestellung im Self Service Portal Angabe von Installationsterminen (a)
Abb. 9 Schritt 6d Beispielbestellung im Self Service Portal Angabe von Installationsterminen (b)
Abb. 10 Schritt 7a Beispielbestellung im Self Service Portal Task Pane rechts -> Permanente Übersicht
Abb. 11 Schritt 7a Beispielbestellung im Self Service Portal Task Pane rechts -> Summary Page
Abb. 12 Weitere Schritte Beispielbestellung im Self Service Portal Überprüfungen (Eligibility & Compatibility) Abb. 13 Weitere Schritte Beispielbestellung im Self Service Portal Online Chat mit Kundenberater Die Bausteine Siebel CRM Produkte & Preise, amind Framework, Customer Experience Siebel CRM Produkte & Preise Siebel CRM bietet im Order Management eine umfassende Funktionalität für Product Management, Pricing Management und Auftragsgeschäftsprozesse. Das Product Management umfasst: 1) Product Management a. Produkte ohne Struktur (Simple Products) b. Komplexe Produkte Attribut-Typ, Komponenten-Typ, Bundle-Type c. Promotionen, Discounts, d. Kataloge & Kategorien 2) Pricing Management a. Preislisten b. Discount Matrix c. Aggregate Discounts d. Attribut basierte Preisberechnung 3) Order Management
a. Quote b. Order c. Assets d. Geschäftsprozesse für Neu, Ändern, Kündigen Abb. 14 Siebel CRM Products, Pricing, Order Mgmt Funktionale Übersicht
Abb. 15 Siebel CRM Product Management Entitäten & Beziehungen Abb. 16 Siebel CRM Prcing Management Solution Map amind Web Framework (AWF) Die Abbildung 14 zeigt den Zusammenhang zwischen den Siebel Objekten & Daten & Prozessen und der Darstellung in der Webseite. Das amind Web Framework (AWF) stellt diese Verbindung her. Für jedes Siebel Objekt bietet das AWF ein Java Objekt. Dadurch kann das Java Objekt in Java basierten Benutzerschnittstellen eingebettet und zur Visualisierung genutzt werden.
AWF setzt dabei auf eine möglichst einfache Java Represäntation, die im weiteren meist als POJO (Plain old Java Object) bezeichnet wird und einer klassischen Java Bean entspricht. Abb. 17 amind Web Framework (AWF) Siebel Produkte, Offer, Bundle Components Darstellung als Java Objekte The amind Web Framework (AWF) besteht aus vorgefertigten Werkzeugen und Komponenten, die Siebel CRM Kunden eine schnelle Entwicklung für mehrere Benutzerschnittstellen bzw. Kanäle erlaubt.standard Java und Web 2.0 Technologien können durch das amind Web Framework genutzt werden. AWF erlaubt somit Siebel CRM Funktionalitäten uneingeschränkt zu nutzen und im gewünschten Vertriebskanal sehr Kosten-effizient zu implementieren und anzubieten.
Abb. 18 amind Web Framework (AWF) Multikanal-Zugriff auf Siebel CRM Um eine Implementierung für eine Self Service Anwendung mit Java & Siebel mit Hilfe des AWF zu implementieren, teilen sich die Software Module wie folgt auf: Das Human/Machine Interface ist weitestgehend beliebig. Die Produkte, Preise und Auftragsprozesse müssen als Java Objekte in die Oberfläche eingebunden werden. Dabei sind J2EE Plattformen aber auch ASPX Seiten von Microsoft möglich. Das AWF besteht aus einen JAR (Java Archive) welches die Java Beans (POJO Plain old Java Object) für eine schnelle Implementierung bereitstellt. Die Siebel Objekte entsprechen dann Java Beans. Siebel unterstützt den Java Zugriff durch die Siebel.JAR. Dies ist ein nativer Bestandteil von Siebel CRM. Die Java Data Bean erlaubt den Zugriff auf die Siebel Object Manager und Siebel Gateway.
Abb. 19 amind Web Framework (AWF) Struktur der Java Klassen für eine AWF & Siebel Implementierung Das AWF unterstützt somit die gesamte Bandbreite einer Siebel CRM Anwendung und vereinfacht die Entwicklung signifikant. Das AWF erlaubt es, sich auf die Prozesse & Benutzerschnittstelle zu fokusieren. Schwierige, komplexe Transformationen & Web Service Calls bleiben dem Entwickler erspart. Das AWF unterstützt dabei folgende SIebel CRM Prozesse & Module: Configurator, Pricer, Catalog Asset-Based Ordering ( MACD ) for Modify, Disconnect, and Migrate Orders Eligibility / Compatibility / Compound-Product Validation Advanced Configurator Functions parallele RCOIS sessions; Regeln zwischen einzelnen komplexen Produkten (z.b. Regeln zwischen VoIP & TV & Internet) Bundle Handling Preisberechnung & Konfiguration der Bundle Components (z.b. TV, Internet, VoIP können durch den Kunden in selbst gewählter Reihenfolge konfiguriert werden) Zugriff auf Siebel Daten durch einheitliche Architektur Alle BusComps Account, Contact, Service Request, Quote können durch das AWF einfach mit CRUD Operationen genutzt werden Infrastruktur Möglichkeiten Deployment Unterstützung Connection Management stateless and statefull pools für OOTB und kundenspezifische Funktionalitäten. Speziell auch bei Netzwerk Szenarien mit Firewalls, DMZ etc.
Load Balancing Nutzung von Siebel Load Balancer, HW-Loadbalancer (CISCO, F5, etc) oder AWF eigener Load Balancer Abb. 20 Beispiel für Java Entwicklung mit AWF Beispielprozess List<ComponentType> prodtypelist = new ArrayList<ComponentType> (); Model cpmodel = null; for (Product product : category.getproducts().values()) { cpmodel = Model.getModel(this.getModelLoader(), product.getid()); prodtypelist.add(cpmodel.getroottype()); } Abb. 21 Beispiel für Java Entwicklung mit AWF Instantiierung der komplexen Produktmodell in Java - Code Abb. 22 Beispiel für Java Entwicklung mit AWF Instantiierung der komplexen Produktmodell in Java _ Ergebnis
CfgContext cfgcxt = CfgContext.createNewQuoteContext(prodId, pricelistid, false); if (reqmgr.startconfiguration(cfgcxt)) {... } else { ErrorPage errorpage = geterrorpage(); errorpage.seterror("can't start configuration"); return errorpage; } Abb. 23 Beispiel für Java Entwicklung mit AWF Erstellung Kontext & Start des econfigurator - Code ArrayList<ProductSelection> selections = new ArrayList<ProductSelection>(); for (ComponentType type : port.gettypedomainlist()) { ProductSelection prodsel = new ProductSelection(); prodsel.setid(type.getid()); prodsel.setname(type.getname()); prodsel.setdisplaylistprice(type.getlistprice(), Locale.US); selections.add(prodsel); } } Abb. 24 Beispiel für Java Entwicklung mit AWF Konfigurieren von Optionen aus dem Produktmodell - Code Abb. 25 Beispiel für Java Entwicklung mit AWF Konfigurieren von Optionen aus dem Produktmodell - Ergebnis reqmgr.addcomponent(currentproduct.getid(), selectedport.getid(), prodselected.getid(), 1, true); Abb. 26 Beispiel für Java Entwicklung mit AWF Hinzufügen eines Produkts zur Konfiguration -Code public String gettotalprice() { IRequestManager reqmgr = getrequestmanager(); double price = reqmgr.getconfiguration().gettotalprice(); NumberFormat currencyformat = NumberFormat.getCurrencyInstance(Locale.US);
return currencyformat.format(price); } Abb. 27 Beispiel für Java Entwicklung mit AWF Anzeige des Preis & Gesamtkonfiguration - Code Abb. 28 Beispiel für Java Entwicklung mit AWF Anzeige des Preis & Gesamtkonfiguration - Ergebnis reqmgr.saveconfiguration(); reqmgr.endconfiguration(); Abb. 29 Beispiel für Java Entwicklung mit AWF Speichern & Beenden der Konfiguration - Code
Abb. 30 Beispiel für Java Entwicklung mit AWF Sequenzdiagramm der AWF Siebel CRM Aufrufe - Übersicht Customer Experience Um ein gutes Kundenerlebnis zu erzielen sind einfache, intuitive Abläufe und eine gute Geschwindigkeit der Anwendung essentiell. Das Layout soll die Möglichkeiten von Portalen nutzen. Beispielsweise können stabil angeordnete Java Applets auf der rechten Seite den Kunden bei seiner Auftrragserfassung leiten und den Überblick der wichtigsten Bestellinformationen sicherstellen. Die grafischen Design Elemente unterstützen eine intuitive Bedienung. HTML-Links / URLs erlauben jederzeit auf Details zu klicken, so dass der Auftragserfassungsprozess stets auch eine implizite Produktberatung ist. Dieser Sachverhalt ist bei Online Plattformen eine ganz wesentliche Erkenntnis. Häufig möchte der Kunde detaillierte Kenntnis über die Produkte, Preise und vor allem deren Alternativen ermitteln mit Hilfe der Online Plattform kann er dies zu jedem beliebigen Zeitpunkt unabhängig von Öffnungszeiten o.ä. Die Varianten kann der Kunde dann vergleichen. Häufig sucht der Kunde dann auch das Kundengespräch in einem Shop mit persönlicher Beratung. Projektvorgehensweise Scrum Die Entwicklung von Online Portalen hat einen großen Einfluss auf die Außendarstellung eines Unternehmens. Daher eignen sich Projektvorgehensweisen mit enger Zusammenarbeit zwischen Business Anforderer und Software Entwickler. Scrum ist als Projektvorgehensweise daher gut geeignet:
Transparenz der Anwendung für die Business Anforderer ist immer gewährleistet Überprüfung der Ergebnisse in 2 Wochen Sprints Anpassung der Anforderungen und Priorisierung erfolgt im Rahmen der 2-wöchigen Sprint- Planung und den täglichen Grooming Sessions Abb. 31 Scrum Vorgehensmodell bei einem Online Portal Kontaktadresse: Steffen Deufel ec4u expert consulting ag Zur Giesserei 19-27B D-76227 Karlsruhe Telefon: +49 (721) 46476-409 Fax: +49 (721) 46476-4409 Mobil: +49 (151) 19507 409 E-Mail Steffen.Deufel@ec4u.de Internet: www. ec4u.de