Strona główna

tworzymy oprogramowanie

polskienglishdeutsch
  Advanced Solutions for Your Business
 
 
 

Case Studies  > MailCube Engine  

Projekt

Projekt

  • MailCube Engine

Klient

Założenia

Wysyłanie personalizowanych e-maili do dużych (do 100.000) grup użytkowników zdefiniowanych w bazie danych. Zdalne czytanie źródła Newsletter'a. Uruchamianie wysyłki jako konfigurowalny job, zarządzany przez ogólny mechanizm. Rejestracja statystyk: przeczytane e-maile oraz liczba kliknięć na linki. Wysoka wydajność, oszczędność pamięci.

Rozwiązanie

Jednym z podstawowych problemów była optymalizacja pod względem wydajności i zużycia pamięci. Wydajność aplikacji osiągnięto przez zastosowanie wielu wątków do wysyłki, a ograniczenie zużycia pamięci poprzez pakietowe odczytywanie danych z bazy - do personalizacji Newslettera wczytywany jest zbiór danych z bazy dla każdego użytkownika.
Do zdalnego czytania źródła newslettera użyto protokołu http. Źródło Newslettera zdefiniowano w formacie XML, umożliwiając definiowanie jednego Newslettera w wielu językach i formatach (dla poszczególnych użytkowników komponowany jest Newsletter zgodny z osobistymi ustawieniami).
Zdefiniowano również znaczniki umożliwiające personalizację treści oraz umieszczanie w tekście odsyłaczy do informacji zewnętrznych. Odsyłacze zbudowane są w sposób umożliwiający otrzymanie statystyk ich odwiedzin. Zaprojektowano i zaimplementowano również interfejsy i ogólny mechanizm do uruchamiania i kontroli jobów (których przykładem jest wysyłka newslettera). Działa on jako wątek uruchamiający zdefiniowane joby w wyznaczonym czasie oraz umożliwiający ich anulowanie i kontrolę stanu.

Technologia

Aplikacja została zrealizowana w Javie. Dostęp do bazy danych zamknięty został w automatycznie generowanych klasach. Do rejestracji statystyk użyto technologii JavaServlet. Do wysyłania e-maili użyto biblioteki JavaMail. System oparty został na bazie danych Oracle 8i.