Motory reguł dla e-biznesu

Motory reguł pozwalają na automatyzację procesów tworzenia obiektów biznesowych.

Motory reguł pozwalają na automatyzację procesów tworzenia obiektów biznesowych.

Na rynku nie ma uniwersalnych aplikacji do prowadzenia e-biznesu, zbliżonych do mocno modyfikowalnych aplikacji ERP. Tworzenie od podstaw aplikacji do obsługi e-biznesu, przy wykorzystaniu tradycyjnych technik programistycznych, jest czasochłonne i wymaga dużego doświadczenia.

Programowanie proceduralne kontra deklaratywne

Kolejne generacje języków programowania upraszczały proces tworzenia oprogramowania dzięki podnoszeniu poziomu abstrakcji. Języki pierwszej generacji (1GL) wymagały dogłębnej znajomości sprzętu. W kolejnych generacjach można już było operować tylko ustalonymi symbolami (2GL), nazwami i zmiennymi (3GL), aby dojść do abstrakcyjnych obiektów (4GL). Za każdym razem jednak należało komputerowi dokładnie określić: JAK MA WYKONAĆ ZADANIE, nie zaś CO ma zrobić. Wyłom w programowaniu proceduralnym stworzył język SQL, za pomocą którego programista deklaruje CO komputer ma pobrać (wpisać, zmodyfikować) z bazy danych. Nie trzeba wiedzieć, w jakim pliku lub miejscu na dysku znajdują się potrzebne dane. Podobne właściwości zapewniają narzędzia do tworzenia zapytań do bazy danych QBF (Query-by--Form). Nowoczesne języki programowania obiektowego (C++, Java, C#) nie zmieniają sytuacji, gdyż nadal wymagają pisania złożonego kodu proceduralnego i nie mają wbudowanych koncepcji reguł deklaratywnych.

Podejście deklaratywne dość szybko pojawiło się natomiast w projektowaniu kształtu interfejsu użytkowego aplikacji. Korzystając z nowoczesnych narzędzi programistycznych IDE, nie trzeba tworzyć poszczególnych elementów formatki ekranowej - programista składa (deklaruje) jej elementy z dostępnego zestawu. Podobnie postępuje się ze znaczną częścią wstępnego przetwarzania danych z tej formatki.

Jednakże trzeci element aplikacji - przetwarzanie specyficzne dla biznesowych funkcji aplikacji - programuje się głównie ręcznie, co w praktyce oznacza, że programista musi napisać mnóstwo kodu proceduralnego. Najwyższy czas zautomatyzować część tego procesu.

Wykonywalna specyfikacja

Programowanie operacji przetwarzania danych biznesowych wymaga wielu godzin pracy. Poniższy (bardzo uproszczony) przykład może pokazać, o jakich rzędach wielkości jest mowa.

Stosunkowo niewielka aplikacja zawiera ok. 100 tabel w bazie danych, z których każda wymaga ok. 5 stron kodu proceduralnego do jej obsługi. Przeciętna wydajność programisty to jedna strona kodu (20-40 wierszy) na dzień (notabene wartość ta praktycznie nie zmieniła się od lat 70. ubiegłego stulecia, gdy F. P. Brooks napisał sławną książkę The mythical month-man na temat kryzysu oprogramowania). Przeciętna, mała aplikacja wymagać więc będzie 500 osobodni pracy programistów.

Rozwiązanie problemu wydaje się oczywiste: trzeba wyeliminować kodowanie. To znaczy deklaratywnie określić reguły przetwarzania biznesowego, skompilować je do postaci proceduralnego kodu wykonywalnego i uruchamiać za pomocą modułu wykonawczego (motoru reguł, serwera aplikacyjnego). W dużym uproszczeniu można powiedzieć, że celem programowania deklaratywnego jest uzyskanie kompilowalnej i wykonywalnej specyfikacji.

Automatyzacją procesów biznesowych zajmują się narzędzia do programowania deklaratywnego, zwane motorami reguł biznesowych. Tytułem wyjaśnienia: dlaczego używa się terminu "reguły biznesowe", a nie terminu "programowanie deklaratywne". Otóż, jak ze smutkiem stwierdza C. J. Date w nowej książce na temat reguł biznesowych, ten drugi, znacznie precyzyjniejszy, termin nie da się sprzedać marketingowo!

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200