Czym jest SDO
SDO inaczej Silnik decyzyjno obliczeniowy służy do przekształcania złożonych danych przy pomocy zdefiniowanych reguł biznesowych. Reguły te charakteryzują się skomplikowaną siecią połączeń wewnętrznych (są miedzy sobą powiązane wieloma zależnościami). Wyróżniającą cechą funkcjonalności jest odnajdywanie, w sposób automatyczny tych zależności i ich logiczne układanie, umożliwiające obliczenie zestawu reguł zależnych od siebie.
Podstawową jednostką definicji Silnika decyzyjno obliczeniowego jest przekształcenie. Surowe dane wejściowe są wzbogacane i przekształcane zgodnie z regułami biznesowymi tak by na wyjściu otrzymać strukturę wzbogaconą o zdefiniowane wartości biznesowe. Patrząc matematycznie, przekształcenie jest to funkcja odwzorowująca drzewo danych na inne drzewo danych (dokładająca do tego drzewa swój wynik obliczenia).
W zależności od potrzeb i przeznaczenia, pojedyncze przekształcenie może być obliczane na jeden z kilku sposobów:
- wielowymiarowej tabeli – używane do przeprowadzania złożonych operacji arytmetycznych. W oparciu o tabele możliwe jest proste budowanie dużej ilości reguł (funkcji potrzebnych przy przekształcaniu) w oparciu o klucze, które jednoznacznie identyfikują do nich ścieżki i wpływają na wynik obliczeń.
- kodu w języku programowania C# platformy .NET – W razie specyficznych wymagań co do silnika decyzyjno-obliczeniowego istnieje możliwość ich zaprogramowania w języku C# i użycia do przeprowadzenia przekształcenia.
Zastosowanie SDO:
- Silniki scoringowe - (np.: metody oceny wiarygodności podmiotu.)
- Silniki Ratingowe - (np.: ocena klasyfikacyjna oceniająca i kategoryzująca poziom zdolności kredytowej danego podmiotu).
- Operacje na danych, wymagające złożonych obliczeń.
Przestrzeń danych
W celu korzystania z SDO należy w pierwszej kolejności zbudować przestrzeń danych. Ma to na celu sprawdzenie jakie dane będą potrzebne do uzyskania odpowiedniego wyniku. Dodatkowo należy je w odpowiedni sposób pogrupować, tak aby przypominały one swoją strukturą drzewo. Przykładowo, w sposób analogiczny do struktury katalogów na dysku, gdzie poszczególne pliki są zgrupowane w folderach. Więcej patrz: Przestrzeń danych.
Przykładowa drzewiasta struktura danych:
Wyznaczenie przestrzeni wynikowej
Po uprzednim stworzeniu przestrzeni danych, należy przeanalizować jakiego rezultatu się spodziewamy, na jakiej drzewiastej strukturze danych ten cel osiągniemy i gdzie należy umieścić wynik. Dane wyliczeniowe, po przekształceniu, są zwracane w strukturze danych. Nowe dane mogą albo rozszerzać przestrzeń, albo jeśli to wygodne, z punktu widzenia biznesowego, być zgrupowane w nowo dodanej gałęzi drzewa, na przykład o nazwie Agregaty.
Wybór metody realizacji
SDO posiada możliwość zrealizowania przekształceń w kilka możliwych sposobów, które umożliwiają łączenie ich ze sobą:
- wielowymiarowej tabeli – używane do przeprowadzania złożonych operacji arytmetycznych. W tabelach możliwe jest proste budowanie dużej ilości reguł (funkcji potrzebnych przy przekształcaniu) w oparciu o klucze. Klucze mogą pełnić rolę danych wykorzystywanych w regułach jak i być nazwanym wyjściem z reguł (przechowywać nazwę pola, pod którym będzie zapisany wynik). Więcej patrz: Tablica wielowymiarowa.

Przykładem zastosowania kluczy jako danych wejściowych są agregaty okresowe, gdzie jako kluczy można użyć miesięcy w postaci liczbowej, które to przy wykonaniu zostaną wykorzystane wewnątrz reguły do odpowiednich obliczeń.

Tabele wielowymiarowe są rozwiązaniem pierwszego wyboru podczas budowania obliczeń w Silniku decyzyjno obliczeniowym. Pozwala tworzyć zaawansowane reguły w prosty i przejrzysty sposób.
- kodu w języku programowania C# platformy .NET – W razie specyficznych wymagań co do silnika decyzyjno-obliczeniowego istnieje możliwość zaprogramowania ich w języku C# i użycia do przeprowadzenia przekształcenia. Edycja kodu agregatu odbywa się w narzędziu archITekt Studio w ergonomicznym designerze wyposażonym w mechanizm podpowiadania składni dla języka C# oraz działającą w czasie rzeczywistym analizę składniową tworzonego kodu. Nie są wymagane zewnętrzne narzędzia deweloperskie do jego zbudowania i uruchomienia. Więcej patrz: Język C#.

Pakiet przetwarzania
Ostatnim elementem jest zbudowanie pakietu przetwarzania, w którym odwołujemy się do zbudowanych agregatów SDO. Więcej patrz: Pakiet przetwarzania.