07/11/2015
I nutidens hurtige forretningsmiljø er evnen til at træffe hurtige, konsistente og præcise beslutninger afgørende for succes. Mange organisationer kæmper med forretningslogik, der er dybt begravet i applikationskode, hvilket gør den svær at ændre og umulig for forretningsanalytikere at forstå. IBM Operational Decision Manager (ODM) er en brancheførende platform designet til at løse netop denne udfordring. Det er et Business Rule Management System (BRMS), der adskiller forretningslogikken fra applikationskoden, hvilket giver virksomheder mulighed for at administrere og automatisere deres operationelle beslutninger med en hidtil uset agilitet.

Denne artikel vil dykke ned i, hvad IBM ODM er, udforske dets kernekomponenter og de forskellige typer af beslutningsartefakter, det bruger. Vigtigst af alt vil vi give en praktisk guide til, hvordan udviklere kan komme i gang med at bruge den gratis udviklerversion af ODM ved hjælp af Docker.
Hvad er forretningsregler og hændelser?
Før vi dykker ned i selve ODM, er det vigtigt at forstå de grundlæggende koncepter, det bygger på: forretningsregler og hændelser.
En forretningsregel er en logisk erklæring, der definerer eller begrænser et aspekt af en forretningsproces. Det er i bund og grund en 'hvis-så'-sætning, der styrer en beslutning i realtid. For eksempel kan en banks udlånspolitik sige, at "en låntagers første lån ikke må overstige tre gange deres årsløn". Den tilsvarende forretningsregel ville være:
hvis Lånebeløb > (Årsløn * 3) så afvis lånet.
En forretningshændelse (event) er et signal, der indikerer, at en tilstandsændring er sket. Det er en lille besked, der kan udløse en handling. For eksempel:
hvis en kundes hævning får saldoen til at falde til under nul, så udløs en hændelse for at underrette kunden.
IBM ODM giver en samlet platform til at styre både disse regler og hændelser, hvilket muliggør skabelsen af yderst responsive og intelligente systemer.
Kernekomponenterne i IBM ODM
IBM ODM-platformen består af flere tæt integrerede komponenter, der hver især tjener et specifikt formål i beslutningslivscyklussen. De primære komponenter er Decision Center og Decision Server.
Decision Center
Dette er hjertet i ODM-platformen for forretningsbrugere og analytikere. Decision Center fungerer som et centralt lager (repository) for al beslutningslogik. Det giver et webbaseret, samarbejdsorienteret miljø, hvor brugere kan oprette, redigere, organisere, teste og implementere forretningsregler uden at skulle skrive en eneste linje kode. Det sikrer, at forretningseksperter kan eje og vedligeholde den logik, der driver deres operationer. Decision Center tilbyder typisk to konsoller:
- Business Console: En moderne og brugervenlig grænseflade designet til samarbejde, hvor teams kan arbejde sammen om beslutningsprojekter.
- Enterprise Console: En mere traditionel grænseflade, der giver omfattende administrations- og styringsmuligheder.
Decision Server
Dette er runtime-komponenten i ODM. Når reglerne er blevet defineret og testet i Decision Center, implementeres de til Decision Server. Det er denne server, der eksponerer beslutningerne som tjenester (f.eks. via REST/SOAP), som dine forretningsapplikationer kan kalde for at få en beslutning i realtid. Decision Server er optimeret til høj ydeevne, skalerbarhed og pålidelighed, hvilket sikrer, at selv de mest krævende applikationer kan få svar på få millisekunder.

Designværktøjer
For udviklere tilbyder ODM Eclipse-baserede værktøjer som Rule Designer og Event Designer. Disse værktøjer giver udviklere mulighed for at oprette de underliggende datamodeller (XOM og BOM), som reglerne opererer på, samt at integrere beslutningstjenesterne med de overordnede applikationer.
Typer af beslutningsartefakter i ODM
ODM understøtter flere måder at repræsentere forretningslogik på, så man kan vælge den mest passende form til opgaven.
Handlingsregler (Action Rules)
Dette er den mest grundlæggende form for regel, udtrykt ved hjælp af Business Action Language (BAL), som er et kontrolleret naturligt sprog. Det gør reglerne let læselige for ikke-tekniske brugere. Eksempel: hvis kreditkorttransaktionens land ikke er det samme som kundens hjemland, så udløs en besked om at ringe til kunden.
Beslutningstabeller (Decision Tables)
Beslutningstabeller er perfekte til situationer, hvor en beslutning afhænger af flere overlappende betingelser. De præsenterer kompleks logik i et letforståeligt tabelformat, der forhindrer huller og overlapninger i logikken.
Eksempel: Forsikringsrente for lån
Et lånefirma bestemmer forsikringsrenten baseret på lånebeløb og kundens kreditvurdering.
| Kreditvurdering | Lånebeløb ($) | Forsikringsrente (%) |
|---|---|---|
| Gruppe A | < 100.000 | 0.001 |
| 100.000 - 199.999 | 0.002 | |
| 200.000 - 299.999 | 0.003 | |
| >= 300.000 | 0.005 | |
| Gruppe B | < 200.000 | 0.001 |
| 200.000 - 299.999 | 0.002 | |
| >= 300.000 | 0.004 |
Med denne tabel kan systemet hurtigt fastslå, at en kunde i Gruppe B, der anmoder om et lån på $250.000, skal have en forsikringsrente på 0.002%.
Regelflows (Rule Flows)
Et regelflow definerer rækkefølgen, hvori regler eller grupper af regler skal udføres. Det fungerer som en orkestrering af beslutningsprocessen, der guider eksekveringen fra et startpunkt til et slutpunkt gennem forskellige regler og betingelser.

Scorecards
Et scorecard er en statistisk model, der tildeler en numerisk score til et objekt, f.eks. en kunde eller en konto, baseret på forskellige attributter. Dette bruges ofte i kreditvurderingsscenarier.
Sådan kommer du i gang med IBM ODM for Developers
IBM stiller en gratis udviklerversion af ODM til rådighed, som er perfekt til evaluering og udvikling. Den nemmeste måde at komme i gang på er ved at bruge Docker.
Trin 1: Hent Docker-imaget
IBM hoster nu produkt-images på IBM Container Registry. Du kan hente ODM for Developers-imaget uden godkendelse med følgende kommando i din terminal:
docker pull icr.io/cpopen/odm-k8s/odmTrin 2: Kør containeren
For at køre imaget skal du acceptere licensbetingelserne. Det er også en god idé at allokere mindst 4 GB hukommelse til din Docker-daemon, især på macOS og Windows. For at starte en container med eksempelprojekter inkluderet, skal du bruge følgende kommando:
docker run -e LICENSE=accept -p 9060:9060 -p 9443:9443 -e SAMPLE=true icr.io/cpopen/odm-k8s/odm-e LICENSE=accept: Accepterer licensvilkårene.-p 9060:9060: Mapper containerens HTTP-port til din lokale maskines port 9060.-p 9443:9443: Mapper HTTPS-porten.-e SAMPLE=true: Installerer eksempelprojekter, så du hurtigt kan se, hvordan det virker.
Trin 3: Bevar dine data (Vigtigt!)
En standard Docker-container er flygtig. Hvis du sletter den, mister du alle dine data, herunder de regler og simuleringer, du har oprettet. For at undgå dette kan du montere en lokal mappe til at gemme ODM's databasefiler. Kør følgende kommando fra en tom mappe på din computer:
docker run -e LICENSE=accept -p 9060:9060 -p 9443:9443 -v $PWD:/config/dbdata/ icr.io/cpopen/odm-k8s/odmDette vil oprette databasefilerne i din nuværende mappe og genbruge dem, hver gang du starter containeren.
Trin 4: Få adgang til ODM-komponenterne
Når serveren er startet, kan du åbne din browser og gå til http://localhost:9060. Herfra vil du se en velkomstside med links til de forskellige komponenter:
- Decision Center Business Console:
http://localhost:9060/decisioncenter - Decision Runner:
http://localhost:9060/DecisionRunner - Decision Server Rules Console:
http://localhost:9060/res - Decision Server Rules Runtime:
http://localhost:9060/DecisionService
Brugernavn og adgangskode til alle komponenter er typisk odmAdmin / odmAdmin.
Ofte Stillede Spørgsmål (FAQ)
- Hvad er forskellen på en forretningsregel og kode?
- En forretningsregel er adskilt fra applikationskoden og skrevet i et sprog, der er forståeligt for forretningsbrugere (BAL). Dette giver forretningseksperter mulighed for at se og ændre logikken direkte, hvilket reducerer afhængigheden af IT-afdelingen og øger virksomhedens agilitet markant.
- Er IBM ODM for Developers gratis?
- Ja, udviklerversionen er gratis til udviklings- og evalueringsformål. Licensen tillader dog ikke videredistribution eller brug i et produktionsmiljø.
- Hvad er XOM og BOM?
- XOM (Execution Object Model) er den tekniske datamodel, der er baseret på din applikations objekter (f.eks. Java-klasser). BOM (Business Object Model) er et forretningsvenligt lag, der er bygget oven på XOM. Det er BOM, der giver det ordforråd, som forretningsbrugere anvender til at skrive regler i Decision Center.
- Hvorfor er det vigtigt at bruge en monteret volumen med Docker?
- For at sikre, at dine data er vedvarende. Ved at gemme ODM's databasefiler på din lokale maskine (hosten) i stedet for inde i containeren, bevares alle dine regler, simuleringer og projekter, selvom du stopper og fjerner Docker-containeren.
Hvis du vil læse andre artikler, der ligner IBM ODM: Automatiser dine forretningsbeslutninger, kan du besøge kategorien Teknologi.
