Key Visual - Manage Your Business Integration
 

Mär

10

Mit WODM die bessere, operationale Entscheidung anbieten (Teil 2)

By on Mo, Mar/10/2014

In Teil 1 dieser Blogreihe ging es um die generelle Übersicht und die Notwendigkeit von Geschäftsregeln. Im diesem Blogbeitrag werde ich zeigen, wie Geschäftsregeln mittels IBM WebSphere ODM implementiert werden können. Aus dem bekannten Produkt mit dem ursprünglichen Namen ILOG JRules wurde IBM ILOG WebSphere Operational Decision Management, kurz WODM oder WebSphere ODM. Mittels eines Beispiels wird ein Entwicklungsprozess gezeigt, der das Formulieren von Geschäftsregeln enthält. Als prägnantes Beispiel habe ich einen Ticket-Preisrechner gewählt. Dieser wird mit dem Kundenalter, den Tickettarifen und einigen weiteren Informationen den Ticketpreis automatisch ermitteln.

Geschäftsregeln formulieren

Um Geschäftsregeln zu formulieren, gibt es ein paar notwendige Schritte. Zuerst müssen XOM (eXecution Object Model) und BOM (Business Object Model) definiert werden. Danach werden die Input oder Output Parameter für die Geschäftsregeln definiert. Schließlich werden die Geschäftsregeln und der Regelfluss erstellt.

1. XOM (eXecution Object Model) definieren

Hiermit werden die Eigenschaften und Operationen beschrieben, welche später von einer Rule Engine aufgerufen und in den Geschäftsregeln benutzt werden. Um ein XOM zu definieren, stehen viele verschiedene Umsetzungsmöglichkeiten, wie zum Beispiel Java, XML oder COBOL, zur Verfügung. In diesem Blogbeitrag wird Java benutzt und somit ein Java XOM erstellt.

      Abbildung 1: Java Klassen im XOM

      Diese Abbildung zeigt, dass es zwei Java-Klassen „Kunde“ und „Ticket“ im XOM gibt. Der Preis ist abhängig von den Variablen „title“, „age“, „distance“, „levelOfTicket“ sowie „levelOfBahncard“. Das Ergebnis, nämlich der Preis des Tickets, wird nach dem Aufruf der Geschäftsregeln in die Variable „priceOfTicket“ gespeichert. Eine Nachricht an den Kunden und die Ursache des Ergebnisses werden außerdem in die Variablen „priceMessage“ und „priceMessageReasons“ gespeichert.

2. BOM (Business Object Model ) generieren

XOM ist bereits für die Eigenschaften und Operationen definiert worden. Aber um die definierten Eigenschaften und Operationen in den Geschäftsregeln zu benutzen, muss ein BOM anhand des XOM generiert werden. Um ein XOM verstehen und benutzen zu können, sind spezielle Java-Kenntnisse erforderlich, über die ein fachlicher Nutzer im Regelfall nicht verfügt. Ein BOM dient sozusagen als Übersetzung, als Schnittstelle, zwischen den Geschäftsregeln und der technischen Seite, sodass auch fachliche Nutzer Geschäftsprozesse erstellen und verwalten können.

3. Parameter definieren

Um die Geschäftsregeln zu starten, wird zuerst eine Abfrage verschickt. In der Abfrage stehen entsprechende Parameter. Für die Geschäftsregeln gibt es drei Sorten der Parameter, „Input“, „Output“ und „Input-Output“. In dem Beispiel dieses Blogbeitrags wird der Parameter „Kunde“ als die Sorte „Input-Output“ definiert.

4. Geschäftsregeln und Regelfluss erstellen

Der Regelfluss besteht aus vielen verschiedenen Geschäftsregeln. Damit kann man den Regelablauf kontrollieren. Jedes Regelprojekt hat normalerweise nur einen Hauptregelfluss, der allerdings aus vielen Nebenregelflüssen besteht. Um die Geschäftsregeln zu erstellen, stehen drei unterschiedliche Entscheidungsregeltypen zur Verfügung: „Aktionsregel“, „Entscheidungstabelle“ und „Entscheidungsbaum“.



a. Aktionsregel


    Mittels der Aktionsregel werden eine oder mehrere spezielle Aktionen definiert. Wenn bestimmte Bedingungen zutreffen, werden diese durch die definierte Aktionsregel ausgeführt.

    Abbildung 2: Eine Action Rule im Beispiel

    Die Abbildung 2 zeigt eine Aktionsregel im Beispiel dieses Blogbeitrags. Sie besteht aus den bestimmten Bedingungen(nach dem Schlüsselwort „if“) und ein paar spezielle Aktionen(nach dem Schlüsselwort „then“). Diese Aktionsregel bedeutet, dass ein Kunde, der unter acht Jahre alt ist, kein Ticket braucht. Eine Aktionsregel kann jeweils nur eine if-then Kombination abbilden.


b. Entscheidungstabelle

    Eine weitere Möglichkeit, Geschäftsregeln zu implementieren, bietet die Entscheidungstabelle. Die Geschäftsregeln werden hier sehr deutlich aufgelistet. Den konkreten Bedingungen stehen dabei die jeweiligen Möglichkeiten gegenüber. In unserem Beispiel bedeutet das zum Beispiel, dass für die Bedingung „Preis des Tickets“ verschiedene Möglichkeiten definiert wurden, bestehend aus der Kombination der Optionen „Erste Klasse“ und „Zweite Klasse“ sowie der Entfernungsdifferenzierung „0 – 100“, „100 – 200“, „200 – 300“ und „mehr als 300“. Für jede dieser Möglichkeiten wird in der Entscheidungstabelle eine einschlägige Aktion definiert.

    Abbildung 3: Eine Entscheidungstabelle im Beispiel


c. Entscheidungsbaum

Eine dritte Möglichkeit, Geschäftsregeln zu implementieren, bietet der Entscheidungsbaum. Es ist die flexibelste Variante, mit der jegliche Regeln abgebildet werden können.


    Abbildung 4: Eine Dicision Tree im Beispiel

IBM Operational Decision Manager baut auf dem Erfolg von ILOG JRules auf und integriert die Geschäftsregeln, um Entscheidungen für Unternehmen zu automatisieren. Wie ich aufgezeigt habe, stehen zum Formulieren von Geschäftsregeln drei verschiedene Möglichkeiten zur Verfügung: Aktionsregel, Entscheidungstabelle und Entscheidungsbaum. Haben Sie schon Erfahrungen mit WODM gemacht? Welche der Möglichkeiten haben Sie gewählt? Ich freue mich auf Ihre Meinung und Ihre Kommentare.


Margin
Informationen
7.0.1  7.0.2  8.0  Absatzmarkt  Active MQ  Active  Administration  Agile Lösungen  Agility  AMS  Analyst  Analytics  Anbindung  Anforderungen  Anwenderkonfernz  Apache  Application Server  API Management  API  AS2  ASP  Automatisierung  b2b  B2B Integration  Basic  Big Data  Blogreihe  Bluemix  Blueworks  BPM  Broker  BRMS  Bus  Business Process Management  Business Rules  Buzzword  Camel  Cast Iron  Cloud API  Cloud Computing  Cloud Integration  Cloud  Commerce  Compliance  Conference  Connect:Direct  CPLEX  CXF  DataPower  Decision Server Insights  Deployer  Deployment  Development  DFDL  Digitalisierte Prozesse  Digitalisierung  Domino  DSI  e-Fachverfahren  ersteinrichtung  Edi  Edition  Einführung  Einsatz  Entscheidung  Entwicklung  ESB  Excel  Fahrplanoptimierung  Features  Federated Connectivity  File Transfer  Filetransfer  Finance  FTE  gentran  gis  Geschäftsprozesse  Go Live  Google  Governance  Hardware ESB  Hosting  Hybrid-Cloud  Hybrid Cloud  Hybrid  IBM Blueworks  IBM BPM  IBM Integration Bus  IBM InterConnect  IBM  ILOG DOC  ILOG LNP  ILOG Transportation Analyst  ILOG  Impact  Infrastruktur  Installation  Integration as a Service  Integration Bus  Integration  Integrator  Interoperabilität  IT-Business-Alignment  Konfiguration  Linear  LNP  Logistik  monitoring  M2M  Manage File Transfer  Management  Marktplatz  Mathematik  Mediation  Message Broker  Messages  Messagesight  Messaging  MFT  Migration  Modellierung  MQ  MQTT  Multicast  Muster  Nachlese  Neuerungen in V7.0.1  Neuerungen  off-premise  on-premise  ODM  ODME  Öffentliche Verwaltung  Open Source  Operational Decision Management  Optimierung  OPL  OSGi  Outsourcing  PaaS  Pattern Integration  Pattern  Patterns  Performance  Portfolio  Praxis  Private  Process Server  Produktionsplanung  Prozessautomatisierung  Prozessintegration  Prozessmodelierung  Prozessoptimierung  PureSystem  Qualität  Real Time  Regelmanagement  Rollen  Routenplanung  Routing  ROI  SaaS API  SaaS Integration  SaaS  Salesforce  Schwerpunktanalyse  Script  SCM  Security  Service Federation Management  Servicemix  SFM  SI  Slotting  SoapUI  SOA Cloud Symposium  SOA  SPSS  Standard  Standardplattform  Standardtool  Standortoptimierung  Sterling Integrator  Sterling  SugarCRM  Symposium  Template  TIP  TM1  TOSCA  Transportation  Transportoptimierung  Übersicht  Umstieg  Unix  Update  vergleich  Vorteile  worklight  workload  wtc  Wartung  Websphere  Websphere: Rollen  WebService Security  WebSphere Enterprise Service Bus  WebSphere ESB  WebSphere MessageBroker  WebSphere Technical Conference  WebSphere  WESB  Workloads  WODM  XAR