„Der virtuelle Berater“ Die nächste Generation im E-Business Stephan Weiland Director Strategic Business Development Neuron Data GmbH stephan.weiland@neurondata.de
The Leader in Business Rules Automation Neuron Data The Leader in Business Rules Automation Neuron Data GmbH Martin-Behaim-Str. 19-21 63263 Neu-Isenburg Tel.: 06102/737-0 Fax: 06102/737-199 http://www.neurondata.com info@neurondata.de
Unternehmensüberblick Mountain View Chicago New York Charlotte London Paris Frankfurt Tokyo Dallas Boston Toronto Gegründet 1985 120+ Mitarbeiter Haupt Investoren: Morgan Stanley TL Ventures Burr Egan Deleage Sofinnova Alta Partners 100% fokussiert auf Business Rules Automation Japan 12% Andere 9% U.K. 6% Frankreich 6% Deutschland 9% Nord Amerika 58%
Partnerschaften IBM MQSeries SUN JDMK, JMAPI Microsoft Enterprise Software Partner
„Der virtuelle Berater“ Der Mehrwert
Verkaufen im Internet: E-Commerce Produkte können in zwei Klassen aufgeteilt werden: Selbstbedienungsprodukte (keine Beratung für den Verkauf notwendig) Komplexe Produkte und Dienstleistungen (intensive Beratung für den Verkauf notwendig)
Verkaufen im Internet: E-Commerce Für den Verkauf von komplexen Produkten und Dienstleistungen fehlt im Internet der Berater. Beispiel: Kredite Für den Verkauf eines Kredites muß der Verkäufer die finanziellen Verhältnisse des Kunden kennen. Möchte er das optimale Angebot unterbreiten, ist die Kenntnis der beruflichen Perspektiven sowie der familiären Entwicklung nötig.
Verkaufen im Internet: E-Commerce Das Erfragen von Wünschen oder einschränkenden Randkriterien bestimmt das unterbreitete Angebot. Je besser das Angebot auf die individuellen Bedürfnisse des Kunden zugeschnitten ist, desto wahrscheinlicher ist der Auftrag. Ein standardisiertes Angebot gefährdet den Verkaufserfolg.
Verkauf im Internet ohne Berater Ermitteln des, auf die individuellen Bedürfnisse abgestimmten Produktes mit zusätzlicher Beratung Mangelnde Beratung gefährdet den Erfolg im Verkauf Berater Berater Selbstbedienung Bereitstellung der Produkte Selbsterklärend und einfach (Bücher, CDs) Eigentlich selbst- erklärend, dennoch komplex (Reise, etc.) Abstrakt und kompliziert (Kredit, Versicherung, etc.)
Die 4 Phasen des Verkaufsgespräches Die individuellen Bedürfnisse des Kunden erfragt der Verkäufer im Gespräch. Das Verkaufsgespräch durchläuft 4 Phasen:
1) Interview 2) Vorschlag 3) Annahme 4) Auftrag 4 Phasen des Verkaufsgespräches Berater -- --- - --- - -- - --- -- --- -- - 1) Interview Berater -- -- -- 2) Vorschlag Berater ----- -- 3) Annahme Berater -- --- -- --- -- --- 4) Auftrag
Anwendung von Business Rules (BR) durch den Berater Im Verkaufsgespräch greift der Verkäufer intuitiv auf Erfahrungen und Wissen (Produktkenntnisse, Vorschriften und Verfahren) zurück. Erfahrungen und Wissen bilden die „Business Rules“. Sie sind die Grundlage, um individuell auf den Kunden einzugehen, seine Wünsche auf ihre Machbarkeit zu überprüfen und den bestmöglichen Vorschlag zu unterbreiten. Kurz, die Fähigkeit des Beraters situativ zu agieren, ist die Grundlage, um für den Kunden den maximalen Mehrwert zu erbringen.
Anwendung von Business Rules (BR) durch den Berater -- --- - --- - -- 1) Bekanntgabe von Bedürfnissen BR Produkt- kenntnisse Praktiken Richtlinien Erfahrungen 2) Anwendung von BR - --- -- --- -- - 3) Aussage eines Beraters
Im Internet übernimmt der virtuelle Berater die Rolle des Verkäufers. Anwendung von Business Rules (BR) durch den virtuellen Berater Im Internet übernimmt der virtuelle Berater die Rolle des Verkäufers.
Anwendung von Business Rules (BR) durch den virtuellen Berater Der virtuelle Berater greift auf die hinterlegten Business Rules zurück (Erfahrungen und Wissen). Sie sind die Grundlage, um individuell auf den Kunden einzugehen, seine Wünsche auf ihre Machbarkeit zu überprüfen und den bestmöglichen Vorschlag zu unterbreiten.
Der Virtuelle Berater weiß alles und vergißt nie Das bedeutet für den Online-Shopper, daß er von dem virtuellen Berater gemäß seiner individuellen Bedürfnisse umfassend beraten werden kann. Der virtuelle Berater wird nicht nur darauf achten, daß der Bedarf gedeckt wird, sondern auch Cross-Selling betreiben und Zusatzinformation übermitteln.
E-Commerce von morgen Das Ergebnis: Auch komplexe Produkte und Dienstleistungen lassen sich erfolgreich über das Internet verkaufen.
„Der virtuelle Berater“ Ein Beispiel
„Der virtuelle Berater“ Das Konzept
Business Rules (BR) im E-Commerce Die individuelle Anwendung der Business Rules stellt die Entwickler eines Virtuellen Beraters vor die schwierige Aufgabe, für alle möglichen Fälle und Konstellationen Vorsorge zu treffen. Dieses ist mit herkömmlichen Mitteln der Software- Entwicklung nicht zu leisten. Business-Rules sind nicht nur komplex, sie ändern sich auch in kurzen Zyklen.
Business Rules Automation mit Advisor Die Lösung des Problems und das „Lebenselixier“ des Virtuellen Beraters heißt: Business Rules Automation mit Advisor™
Advisor Builder Da man die Business Rules für ein erfolgreiches E-Commerce Konzept mit einem virtuellen Berater nicht fest ausprogrammieren kann, bietet Advisor die Möglichkeit, die Business Rules schnell und einfach deklarativ abzubilden. Builder Rulebase
Deklaration anstelle von Programmierung Bsp. 1 „If a customer orders more than > 100.000 and he is customer for at least 5 years, then we grant a discount of 10 %, else ...” rule Order if amount of order of customer is greater than 100000 and years of customer is greater or equal 5 then discount is 10 else ... Advisor public class Customer { protected int _years; ... public void checkForDiscount (Order order) { if (order.amountOrdered > 100000 && _years >= 5) { order.discountPercentage = 10; } else { Java-Code class Customer { protected: int _years; public: void checkForDiscount (Order *order); ... }; void Customer::checkForDiscount (Order *order) { if (order->amountOrdered > 100000 && _years >= 5) { order->discountPercentage = 10; } else { C++ - Code
Deklaration anstelle von Programmierung Bsp. 2 public class Customer { protected int _accumOrders; protected int _specialDiscount; protected Order _currentOrder; public boolean checkIfPlatinum () { if (_accumOrders > 1000000) return true; else return false; } ... public class Application { protected Vector _customers; protected Vector _platinumCustomers; { Enumeration customerList = _customers.elements(); while (customerList.hasMoreElements()) { Customer aCustomer = customerList.nextElement(); if (aCustomer.checkIfPlatinum()) { _platinumCustomers.addElement(aCustomer); if (aCustomer.getCurrentOrder().getAmount() > 100000) aCustomer.setSpecialDiscount (10); Java - Code class Customer { protected: int _accumOrders; int _specialDiscount; Order *_currentOrder; public: int checkIfPlatinum(void); ... }; int Customer::checkIfPlatinum () { if (_accumOrders > 1000000) return 1; else return 0; } class Application { Customer *_customers[]; Customer *_platinumCustomers[]; { for (int i = 0; i < numCustomers; i++) { Customer *aCustomer = _customers[i]; if (aCustomer->checkIfPlatinum()) { numPlatinumCustomers = S_ExpandListByOne (_platinumCustomers); _platinumCustomers[numPlatimunCustomers] = aCustomer; if (aCustomer->getCurrentOrder()->getAmount() > 100000) aCustomer->setSpecialDiscount (10); C++ - Code „Platinum-customer is every customer whose accumulated orders are more than 1.000.000“ „We grant platinum-customer a special discount of 10 % if amount of order is greater than 100.000“ a platinumCustomer is any customer such that accumOrders is greater than 1000000. if the amount of order of platinumCustomer is greater than 100000 then specialDiscount is 10 Advisor
Business Rules Automation mit Advisor Die Deklaration der Business-Rules ist so einfach, daß sie von allen Fachabteilungen selbst durchgeführt werden kann. Das Unternehmen kann flexibel auf den Markt reagieren.
Nutzung durch unterschiedliche Mitarbeiter IT-Abteilung Buchhaltung Rulebase Vertrieb Marketing
Das Gehirn des Virtuellen Beraters: die Advisor-Engine Die hochleistungsfähige Advisor-Engine arbeitet alle relevanten Business Rules dem jeweiligen Fall entsprechend ab. Sie stellt somit den korrekten Programmfluß für die Anwendung sicher.
Builder Rulebase Engine Advisor Engine Builder Rulebase Engine BR ... Außendienst Call Center WWW Innendienst Vertrieb
Arbeitsweise der Advisor-Engine Die Advisor-Engine unterstützt unterschiedliche Vorgehensweisen: Datenorientiert Das Erkennen der Bedürfnisse und Unterbreiten des optimalen Angebots Zielorientiert Das maximale Ausnutzen von Cross-Selling- Möglichkeiten
„Der virtuelle Berater“ Die Technologie
Advisor™ - Excellent Testing Environment 100% Java component Engine operates your Business Rules Engine driven by your object model Object Browser Cross-Reference Browser Visual Execution Trace Breakpoints on rules, rule flow Watches Agenda Output Window
Advisor™ Rule Flow
Advisor™ Business Rule Explorer
Advisor™ Rule Sets Rules Sets are combined with Rule Flow to assist business analysts in organizing large amounts of enterprise policy, procedure, and practice into units that are: easy to maintain well-labeled components Fire Peril Ruleset If construction = wood ... If not sprinklered … ... Wind Peril Ruleset if location = coastline … if construction = brick … Water Peril Ruleset if location = floodplain if basementPresent … (Some of) the Rulesets comprising an online property insurance quotation system
Advisor™ Rule Templates Reduces need to understand rule language syntax A template can be for one rule or a group of rules Fill-in-the-blanks rule editing style
Advisor™ Standard Interfaces The application world is diverse ... Java CORBA COM RDBMS XML Message Custom <DTD> <field> xxx <field> yyy Java bindings Java BOMA COM BOMA RDBMS BOMA Custom BOMA Custom BOMA Custom BOMA BOMA Kit Business Object Model Adapter (BOMA) Substrate Advisor sees the world as Java objects Neuron Data Advisor Rule Builder
Advisor™ - Internationalized & Localized Rule Base elements Classes Properties Pattern Variable Rule Can be any language: English * French German * Hebrew Chinese * Portuguese Spanish * Japanese
How The Advisor™ Rule Engine Works (1 of 3) There are two techniques for progressing toward a conclusion in a rule-based system: Data driven or forward rule evaluation: start with known data and progress naturally to the conclusion e.g. given a request for quote, what insurance premium should we quote? Look forward from request’s data (age, location, requested coverage, prior claims, ...)
Data driven Advisor™ Rule Engine R2 B Then R3 And R5 Else D R1 If A If F Then E R3 If B And E B R4 If D Then ... Else ...
How The Advisor™ Rule Engine Works (1 of 3) There are two techniques for progressing toward a conclusion in a rule-based system: Data driven or forward rule evaluation: start with known data and progress naturally to the conclusion e.g. given a request for quote, what insurance premium should we quote? Look forward from request’s data (age, location, requested coverage, prior claims, ...) Goal driven or backward rule evaluation: select a possible conclusion and try to prove its validity by looking for supporting evidence e.g. can we approve the automobile rental? Yes, but only if driver has valid, no violations license Look back and test for a valid license Look back and test for no violations license
Goal driven Advisor™ Rule Engine R2 R1 Then R3 And R5 Else D R1 If A If F Then E R3 If B And E R1 R4 If D Then ... Else ...
How The Advisor™ Rule Engine Works (1 of 3) Agenda: List of rules whose condition is true; list of rules with else actions and whose condition is false Recognize Cycle: Identify rules that belong on the agenda given the changes in the objects since the previous recognize cycle Post into agenda rules with newly-true conditions Remove from agenda rules with newly-false conditions Action cycle: Execute highest priority rule in the agenda; apply then or else action then or else action may cause object(s) to change, causing a new recognition cycle Immediate priority rules are always at highest priority Return to recognize cycle Bottom line: The rule engine determines the flow of rule evaluation based on object values.
AdvisorTM- Scalable Rule Server Rule Servers 1 & 2 Client request for a rule evaluation “event” Rule Agent Threads Host X 1. Use multiple hosts (rule server farm) 2. More than one Rule Server per host 3. Multiple warm-standby rule agent threads per Rule Server 4. Self-adjusting Rule Servers add/remove rule agent threads based on load 5. Let Application Server environment do load leveling across Rule Servers & hosts Rule Servers 3 & 4 Host Y Application Server Environment Visibroker | Servlet | MQSeries | MTS | EJB | ...
AdvisorTM- Multiple RuleBases per Server Neuron Data Advisor Rules Engine & Server Rule Agent Threads RuleBase I Rule Agent Threads RuleBase II Business Rule R1 Business Rule R2 Business Rule R3 ... Business Rule Ra Business Rule Rb Business Rule Rc ... Consumer E-commerce merchandising CRM rules Business-to-business E-commerce merchandising CRM rules
AdvisorTM- Usage and Deployment Scenarios Advisor in the Microsoft world Advisor in the CORBA world Advisor in the Web Server world Advisor in the IBM MQSeriesTM world Advisor in Enterprise Application Integration Advisor as a “service” Advisor as a “monitor” Advisor as a “intelligent information collector”
AdvisorTM - Microsoft Scenarios Non-visual ActiveX ASP Script COM Browser ---- Visual ActiveX Web Server (IIS) Visual Basic Form or Microsoft Office VBA COM COM Database COM Browser ASP Script ---- MSMQ IIS Microsoft Transaction Server
AdvisorTM as a CORBA Service Implementation Repository Name Services Initialize Invoke Service Neuron Data Advisor Rules Server Running and warm standby Rule Agent s CORBA clients
AdvisorTM as a MQSeries Service Neuron Data Advisor Rules Server Advisor Clients Advisor Recipients MQ-enabled Client CICS MQI Calls: (MQPUT, MQGET) Most UNIXes NT AS/400 OS/2 OS/390 Win95, Win3.1 Most UNIXes NT AS/400 OS/2 OS/390 Rule Agent s MQ Queue Manager MQ-enabled Service Domino Most UNIXes NT AS/400 OS/2 OS/390 MQSeries Messages
AdvisorTM and Web Servers Sun Java Web Server or Servlet-enabled Web Server Browser Servlet Manager Servlet Session Service HTML Form or Java applet Servlet (one per thread) Rule Agent s
AdvisorTM Rules Engine as a Service Your application component 4. Return with result object(s) 1. Get handle, identify rulebase 3. Evaluate rules; set objects; Rules may use other objects and databases Data Base 2. Supply initial object(s) Business Rule R1 Business Rule R2 Business Rule R3 ...
AdvisorTM- Rules Engine as a Monitor Thread A: Application component Thread B: Rule Service Monitor 1. Get handle, identify rulebase 2. Start monitor with initial object(s) Business Rule R1 Business Rule R2 Business Rule R3 ... 3a. Listen 3b. Carry on 4. Publish changes 5 (end). Evaluate rules; Notify application; Return to listening
AdvisorTM- Rules Engine as Intelligent Information Collector Application component Rule Service 1. Start Business Rule R1 2. Evaluate rules Business Rule R2 Data Base Business Rule R3: When driverViolations is needed then prompt ... 3. Get to a rule where intervention is required Prompt Handler Object 4. Prompt for value or 5. Resume rule evaluation
Business Rules Automation Vorteile durch Business Rules Automation mit Advisor
Ersparnis bei SW-Entwicklung Kosten Ersparnis: ~ 50 % Business Rules Automation Traditionelle SW-Entwicklung Zeit
Ersparnis bei der Pflege der Anwendung Kosten Business Rules Automation Ersparnis: > 80 % Traditionelle SW-Entwicklung Zeit
Integration aller Geschäftsprozesse im Multi-Kanal-Vertrieb Engine Internet Call Center Berater Andere
Vorteile durch Advisor Business Rules Automation mit Advisor Der zweifache Wettbewerbsvorteil: Im Front-Office: Der „virtuelle Berater“ sichert Erfolg im Verkauf komplexer Produkte im Multi-Kanal-Vertrieb Im Back-Office: Geschäftsprozesse können zentral gepflegt und schnell im laufenden Betrieb geändert werden