W której warstwie aplikacji umieścić raport do wydruku

0

Gdzie powinna się znaleźć definicja raportu (crystal reports, albo ms reporting services itp)?
Czy powinna być to warstwa infrastruktury, czy inne miejsce?
Czy w tej samej warstwie co definicja raportu powinną sie tez zanaleźć data source dla tego raportu?

0

Wydaje się, często raporty są "poza" architekturą (chcę powiedzieć i to, że zbędne filozofowanie)
Choćby z tego powodu, że mogą grzebać wprost w SQL, a nie w warstwach programowych.

W twoim przypadku to jakiś problem ?

4

Dla mnie raportowanie to typowy interface użytkownika, czyli UI/presentation layer dla definicji raportu, źródło danych w warstwie infrastruktury. Ewentualnie sięganie do warstwy aplikacji i domeny po już przetrawione dane. Inna sprawa, że nie bardzo wiem co jest do umieszczania w modelu DDD w przypadku podłączenia jakiegoś kombajnu z BI, ale na diagramie możesz go pokazać dalej jako warstwa prezentacji sięgająca do warstwy danych. Chyba, że zasilasz te narzędzia w inny sposób (np. przez wystawione API).

0

A ja jak zwykle napiszę to zależy jaki raport. W systemie, który piszę dostęp do danych dla raportów jest tak złożony, że na cele reportów powstało specjalne API. Sam raport jest właściwie tylko widokiem z prostą lub mało skomplikowaną logiką.
Jeśli to ma być jakiś prosty raport kasowy w jednostanowiskowej aplikacji to wszystko był dał niemal "poza" system. Po co kombinować jak to sprowadza się do jednego zapytania.
Co innego jeśli raport dotyka uprawnień użytkowników i związanych z tym zakresów danych do których mają dostęp.. Wtedy sprawa się nieco komplikuje, a może być jeszcze gorzej bo raport może dotykać danych z różnych oddziałów, różnych użytkowników itd...
Jak widać może to wyglądać różnie i chyba trzeba głęboko przemyśleć to w kontekście faktycznych potrzeb.
Niezależnie jednak od wszystkiego raporty to bardziej forma interfejsu użytkownika /widoku na dane niż logiki biznesowej i raczej z takiej pozycji należy do nich podchodzić.

0

Raport mają być proste. Niektore beda siegac po dane do bazy a inne mają pokazac to co sobie uzytkownik wpisał w okienku, czyli jakies wczytanie danych wprwadzonych w oknie i przekazanie ich do datasource raportu

1 użytkowników online, w tym zalogowanych: 0, gości: 1