ZAWWW-2st1.2-w10.tresc-1.0-Slajd10
Z Studia Informatyczne
Złe praktyki w warstwie biznesowej
Podobnie jak w warstwie prezentacji, w warstwie biznesowej łatwo jest popełnić wiele błędów projektowych. Poniżej przedstawiono najczęściej spotykane złe praktyki programistyczne występujące w warstwie biznesowej lub warstwie integracji.
- Mapowanie modelu obiektowego aplikacji bezpośrednio na model komponentów encyjnych: odwzorowanie każdej klasy modelu obiektowego aplikacji na komponent encyjny powoduje powstanie zbyt dużej liczby komponentów, nadmierne obciążenie kontenera, wprowadzenie niepotrzebnych zależności między komponentami oraz ogólne zmniejszenie wydajności aplikacji
- Mapowanie modelu relacyjnego bezpośrednio na model komponentów encyjnych: sposób reprezentacji związków 1:N i M:N (jeden-do-wiele i wiele-do-wiele) w modelu relacyjnym jest nieprzystający do modelu komponentów encyjnych, każdy komponent encyjny powinien reprezentować jedną encję biznesową, a nie jej tablicową reprezentację w bazie danych, takie odwzorowanie gwałtownie zwiększa liczbę komponentów i zależności między nimi, tym samym wpływając negatywnie na wydajność systemu
- Większość kontenerów EJB nie obsługuje komponentów "tylko do odczytu" i traktuje takie komponenty jak zwykłe komponenty, synchronizując ich stan ze stanem bazy danych, stąd wykorzystywanie komponentów encyjnych jako obiektów tylko do odczytu powoduje marnotrawstwo zasobów
- Osadzanie usług wyszukiwania po stronie klienta: wyszukiwanie komponentów encyjnych z poziomu aplikacji klienta nie powinno się odbywać za pomocą interfejsu JNDI, ponieważ grozi to umieszczeniem kodu wyszukującego w wielu miejscach aplikacji w warstwie klienta, rozwiązaniem jest wprowadzenie specjalnego mechanizmu lokalizacji zasobów, który zostanie omówiony później.
- Rozdrabnianie komponentów encyjnych: jak już wcześniej wspomniano, komponenty encyjne reprezentują encje biznesowe, a nie encje występujące w bazie danych czy modelu warstwy prezentacji. Należy unikać niepotrzebnego podziału komponentów encyjnych na mniejsze jednostki.