Logika biznesowa to inaczej algorytmy biznesowe. Polega na wdrażaniu procesów stosowanych w firmie w zakresie oprogramowania wspierającego działanie firmy lub zarządzania nią.
Reguła biznesowa opisuje specjalną procedurę - Workflow (przepływ pracy) składa się z zadań, etapów proceduralnych, niezbędnych informacji wejściowych i wyjściowych oraz narzędzi niezbędnych, dla każdego etapu tego postępowania.
Logika biznesowa:
- Określa, jak obiekty biznesowe oddziałują na siebie,
- Egzekwuje trasy i metody, w których obiekty biznesowe są dostępne i aktualizowane.
Model biznesowy:
- To opis tego w jaki sposób firma generuje wartość rynkową i wynikający z tego zysk
Reguły biznesowe:
- Modele prawdziwych obiektów biznesowych (takie jak rachunki, kredyty, trasy i zapasów)
Logika biznesowa powinna być odróżniana od reguły biznesowej. Reguła biznesowa jest formalnym wyrażeniem polityki gospodarczej. Wszystko to, co jest procesem lub procedurą jest inaczej logiką biznesową, natomiast wszystko to, co nie jest ani procedurą, czy procesem jest regułą biznesową. Dodatkowo logika biznesowa jest proceduralna, podczas gdy reguła biznesowa jest deklaracyjna. Reguła biznesowa nie może zawierać w sobie jej własnego kryterium decyzyjnego.
Logika biznesowa jest kluczowym komponentem systemów takich jak system ERP (Enterprise Resource Planning), system CRM (Customer Relationship Management) czy innych dedykowanych aplikacji biznesowych. Oddziela ona operacje techniczne i infrastrukturalne od specyficznych wymagań i procesów biznesowych, co umożliwia łatwiejsze dostosowywanie systemów do zmieniających się potrzeb biznesowych.
Korzyści z efektywnej logiki biznesowej
- Zwiększenie efektywności poprzez automatyzacja i optymalizację procesów pozwalają na skrócenie czasu realizacji zadań i zmniejszenie liczby błędów.
- Skalowalność - dobrze zaprojektowana logika biznesowa pozwala na łatwe dostosowanie się do wzrostu firmy i zwiększania wolumenu operacji.
- Elastyczność - możliwość szybkiego wprowadzania zmian w odpowiedzi na nowe wymagania rynkowe lub regulacyjne.
Na przykład, w e-commerce (handel elektroniczny) na stronie internetowej może umożliwić odwiedzającym zakup produktu, zaznaczając "dodaj do koszyka", podając adres do wysyłki oraz dostarczenia informacji o płatności.
Logika biznesowa strony internetowej może obejmować przepływ pracy, na przykład:
Kolejność zdarzeń, odbywa się czasie realizacji transakcji, np. formularz wielostronicowy, który na początek pyta się o adres wysyłki, z kolei na adres rozliczeniowy, kolejna strona będzie zawierać sposób płatności, a ostatnia strona przedstawi podziękowania.
Będą tam również reguły biznesowe strony internetowej:
- Dodawanie elementu więcej jeden raz na stronie, z opisu przedmiotu zwiększa ilość elementu,
- Dokładne formaty, takie jak adres zamieszkania, adres e-mail i dane karty kredytowej osoby, muszą być podane,
- Swoisty protokół komunikacyjny do sieci karty kredytowej.
Oprogramowanie strony internetowej zawiera również inne kody, które nie są uznawane za część zasad biznesowych, ani logiki biznesowej :
- Ogólny kod obsługi błędów np. który wyświetla kod błędu strony HTTP 500,
- Obwodowe zawartości nie związane z podstawowymi danymi biznesowymi jak HTML, który definiuje wygląd, tło, kolory, a także struktury witryny nawigującej,
- Ogólny kod do tworzenia połączeń sieciowych, przetwarzania danych wprowadzanych przez użytkownika oraz przesyłania obiektów do bazy danych za pośrednictwem HTTP POST itp.,
- Obserwowanie infrastruktury, dla upewnienia się, czy wszystkie części strony działają prawidłowo np. czy system rozliczeń jest dostępny,
- Kod inicjalizacji, który włącza się, gdy serwer www uruchamia witrynę tworzącą system.
Gdzie znajduje się logika biznesowa?
Logika biznesowa może być w dowolnym miejscu w programie. Na przykład, biorąc pod uwagę format adresu, w tabeli bazy danych mogą być tworzone kolumny, które dokładnie odpowiadają dziedzinom określonym w logice biznesowej, a także rodzaj kontroli dodawania, by upewnić się, że dodawane dane są poprawne.
Logika biznesowa bardzo często się zmienia. Dla przykładu: zestaw formatów adresu może się zmienić, gdy sklep online rozpoczyna wysyłkę produktów do innego kraju. To sprawia, że zmiany w logice biznesowej wymagają niewielkiego zestawu modyfikacji jednej części kodu. Odległe, ale silnie połączone kody tworzą również większe ryzyko, że programista wprowadzi tylko niewiele z niezbędnych zmian i straci część systemu, co prowadzi do nieprawidłowego działania strony.
Wielowarstwowa architektura formalizuje to oddzielenie, tym samym kreując warstwę logiki biznesowej, która jest oddzielona od innych warstw. Każda warstwa posiada informacje, tylko minimalną ilość informacji o kodzie w innych warstwach, np. w paradygmacie Model-View-Controller widok warstwy, może być tak mały, jak to jest tylko możliwe, a cała logika biznesowa koncentruje się w modelu. Np w e-commerce, przez administratora określana jest kolejność stron realizacji transakcji, a także do administratora należy sprawdzenie, że e-mail, adres oraz informacje dotyczące płatności spełniają reguły biznesowe.
Są możliwe zastępcze paradygmaty. Dla stosunkowo prostych podmiotów gospodarczych, ogólny widok i kontroler rodzajowy, może uzyskać dostęp do obiektów bazy danych, które same w sobie zawierają wszystkie istotne dane logiki biznesowej o tym, jakie formaty akceptują i jakie zmiany są możliwe. Niektóre systemy warstwowe używają odrębnych warstw aplikacji lub warstw usług, oraz warstw logiki biznesu, aby były takie same.
Logiki biznesowe mogą być uzyskiwane z kodeksu postępowania, przy użyciu systemu zarządzania reguły biznesowej BRMS (Business Rules Management System).
System zarządzania interfejsem użytkownika to kolejny mechanizm wykorzystywany, do tworzenia separacji między innym kodem, a logiką biznesową. "Magiczny przycisk" jest uważany za "anty-wzór". Jest to technika, która w tym przypadku tworzy niepożądane ograniczenia, które tworzą trudne do kodowania logiki biznesowe, którą można utrzymać w łatwy sposób.
Logika biznesowa pojawia się zwykle w dużych systemach, gdzie dane są przesyłane przez inne mechanizmy funkcjonujące w organizacji. Współgra z procesami zachodzącymi w instytucji i poniekąd ukazuje je.