Niedawno miałem projekt, w którym musiałem pobrać dane z konkretnego oprogramowania do portletu. Oprogramowanie korzystało z bazy danych i spędziłem sporo czasu modelując dane, które chciałem, a następnie tworząc usługę internetową, aby mój portlet mógł pobrać informacje.Raportowanie a kodowanie - myśli?
Nagle uderzyło mnie, że marnuję czas. Chwyciłem BIRT, wrzuciłem go do portletu, a następnie napisałem kilka raportów, które bezpośrednio pobierały potrzebne dane z bazy danych. Zrobiłem to po południu.
Rozumiem, że raportowanie to droga jednokierunkowa, ale to mnie zmusiło. Narzędzia do raportowania mogą być bardzo skuteczne w tworzeniu raportów (duh) z rzeczywistych danych, ale kiedy to robisz, pomijasz swój model, który oprócz prostych przypadków nie jest bezpośrednią reprezentacją twoich danych, ponieważ istnieje w twojej bazie danych.
Jeśli piszesz aplikację intensywnie wykorzystującą dane i chcesz mieć możliwość wykonywania nietrywialnych raportów, czy pomijasz aplikację i używasz czegoś takiego jak BIRT lub Crystal Reports? Jak zarządzać tymi narzędziami w ramach całego procesu? Czy uważasz, że raporty, które piszesz, są częścią twojej aplikacji i traktują je jako takie? Raport to widok, model i kontroler (jeśli chcesz) wszystko w jednym wielkim bałaganie, jak sobie z tym radzisz i interpretujesz i planujesz?
Zmienione pytanie: możliwe i powszechne jest, że raport wykona obliczenia biznesowe, które w idealnym świecie chciałbyś zawrzeć w swoim zgłoszeniu. Może to prowadzić do niedopasowania informacji przekazanych użytkownikowi. Z drugiej strony narzędzia do raportowania ułatwiają gromadzenie i wyświetlanie informacji, że trudno jest przyjąć podejście purystów i zrobić wszystko z poziomu aplikacji. Czy istnieją dobre techniki zapewniające zgodność danych w raportach z danymi wyświetlanymi w zwykłym GUI?