2009-10-29 15 views
6

Firma, w której pracuję, zmienia wygląd naszej aplikacji w .NET. Nasza aplikacja jest sprzedawana przy użyciu oprogramowania jako modelu usługi.Śledzenie działań użytkownika w aplikacji biznesowej

Śledzimy wszystkie działania naszych użytkowników w oprogramowaniu w celach raportowania (wyszukiwanie rzeczy, pobieranie zasobów, wypełnianie formularzy, co wiąże się z tworzonym formularzem, migawka profilu użytkownika i szczegóły po zalogowaniu, itp.). Wcześniej napisaliśmy bardzo solidną logikę śledzenia, aby uzupełnić wszystkie te szczegóły w naszej starej aplikacji.

Przed zakończeniem tego wstępnego przeprojektowania w aplikacji .NET chciałem się dowiedzieć, czy ktoś ma zalecenia dotyczące rozwiązań do śledzenia półek lub systemów śledzenia open source, które wdrożyły w przeszłości, które są dość solidne.

Dodatkowe szczegóły: Mamy dużo danych niestandardowych (specyficznych dla naszej aplikacji), które muszą być śledzone i nasza aplikacja jest dostępna tylko za pośrednictwem firmowych witryn intranetowych tak szczegółowe informacje na temat, gdzie ludzie pochodzą nie jest potrzebna jako już to wiemy.

Planuję śledzenie odwiedzin strony, aby wizytę użytkownika można było odtworzyć w razie potrzeby.

EDIT (20.11.2009): Nikt nie wydaje się być dokładnie off rozwiązania półki, aby dopasować mój problem, ale będę aktualizacji to pytanie z projektu i kierunku mamy zamiar realizować w następnym kilka tygodni. Więc jeśli jesteś zainteresowany tym, co stało się z tym pytaniem, sprawdź wkrótce.

Odpowiedz

0

Microsoft's Enterprise Library ma kilka części, które mogą być pomocne w niektórych podstawowych instalacjach hydraulicznych, które mogą być przydatne do obsługi wyjątków/rejestrowania w celach raportowania. Mogą istnieć inne pakiety oprogramowania, takie jak log4net, które mogą również działać dla określonej części aplikacji, którą inni mogą zasugerować.

Tylko kilka pomysłów na rzeczy, które pozwolą ocenić, jak dobrze by one działały.

+0

log4net jest świetną aplikacją do rejestrowania, ale może być trudny w użyciu, jeśli chcesz śledzić szczegółowe informacje o obiekcie. Jeśli możesz uzyskać wszystkie potrzebne informacje, korzystając z ogólnego rejestratora w bazie danych, zdecydowanie idź z log4 –

+0

@Russell - Zgadzam się, że log4net jest świetną aplikacją do rejestrowania, ale trudno byłoby użyć jej do śledzenia solidnych szczegółów obiektu. Jeśli skończymy kodować całe śledzenie sami, może spróbuję streścić strukturę, którą mogę opublikować na sourceforge lub coś takiego. Sądzę, że podłączymy moduł obsługi do pewnych rzeczy i utworzymy przewód śledzenia zdarzeń w naszej głównej klasie "Strona". – Dan

1

Nasza firma używa log4net do śledzenia działań użytkowników. Mamy również działania wprowadzone do bazy danych dla każdego działania, które użytkownik podejmuje na naszych aplikacjach. Dzięki log4Net możesz uzyskać bardzo szczegółowe informacje o tym, co rejestrujesz i gdzie się loguje. tutaj jest direct link pobieranie plików binarnych dla wersji 1.2.10 (najnowsze od dzisiaj). Po skonfigurowaniu jest bardzo łatwy w użyciu i logowaniu informacji.

Nadzieja to pomaga,

Scott

+0

log4net został dokładnie zaprojektowany do śledzenia działań użytkownika i już korzystamy z log4net w naszej aplikacji do ogólnego rejestrowania/debugowania aplikacji. Dziękujemy za opinię na ten temat. – Dan

2

Cóż ... Tak naprawdę są trzy różne rodzaje śledzenia (zalogowaniu) poziom, że wymienione i inne narzędzia dla każdego.

W poście można wymienić:

  1. śledzenie stron, wizyt użytkowników: Dla mnie byłoby to funkcja serwera WWW. Usługi IIS (zakładam, że usługi IIS, ponieważ powiedziałeś, że to .Net), zarejestrują dla Ciebie wszystkie te rzeczy. Istnieje kilka narzędzi do wydobycia tej informacji.

  2. Transakcje biznesowe: Pozdrawiam, użytkownik wydrukował raport. Użytkownik uruchomił proces itp. Nie zawsze są one specyficzne dla każdej zmiany danych. Używanie narzędzia, takiego jak log4net i kontener IoC do wstrzykiwania tego typu logowania do obiektów biznesowych, działałoby dobrze.

  3. Modyfikacja danych: To jest śledzenie poziomu danych. Jest na to kilka sposobów. Ale chciałbym polecić umieszczenie go blisko bazy danych. Prawdopodobnie jest to nieco łatwiejsze w DAL, ale co jeśli ktoś zmienia dane w bazie danych poza aplikacją. Oczywiście może to nie być możliwe w twoim przypadku. Widziałem to zrobić z wyzwalaczy. Ale SQL 2008 dodał change tracking wbudowany.

Powiedziałbym, że potrzebujesz kombinacji wszystkich trzech narzędzi. Być może możesz skonsolidować wszystkie dane w jednej lub dwóch tabelach, aby uprościć przeglądanie i wyszukiwanie.

0

Poziom pośredni. Wdrożenie odwrotnego proxy z filtrami wejściowymi (Apache?), Które rejestrują zarówno żądania, jak i parametry żądania do bazy danych. Raporty i rekreacja sesyjna znacznie się rozluźniają.

+0

W aplikacji biznesowej większość szczegółów, które są zainteresowane śledzeniem, zwykle nie jest przekazywana w żądaniach – Dan