Solutions Developerzy maja bardzo różne zajęcia. Jedni rozwijają aplikacje webowe (dla Acxiom lub naszych klientów) na przykład w technologii ASP.NET 2.0, używając Visual Studio 2005, budując rozwiązania korzystające z baz danych na MS SQL Server 2005. Inni piszą bezpośrednio rozwiązania w SQL’u (przykładowo dla SQL Server 2000), a jeszcze inni tworzą w C# czy w Javie.
Zgłębiając temat...
W gąszczu różnorodnych technologii i języków programowania wykorzystywanych w Acxiom tym razem chcielibyśmy przedstawić jeden z projektów, rozwijany w Javie i wykorzystujący idee Data Mining’u, często określanego jako Eksploracja Danych. Eksloparcja danych jest dziedzina IT skupiająca się na problemie wydobycia ze zbiorów danych pewnej wiedzy, która nie jest widoczna i oczywista bez odpowiedniego przetworzenia bazy. Polega to w dużej mierze na wyszukiwaniu powiązań między faktami w celu osiągnięcia konkretnych rezultatów. Na przykład jakaś firma posiada bazę danych konsumentów, w której ma zgromadzone o nich pewne informacje, nawet na pozór niezwiązane z branża firmy. Eksloparcja tych danych może znakomicie pomóc firmie dowiedzieć się, co łączy jej klientów oraz określić profil ‘konsumenta doskonałego’. Na podstawie takiej wiedzy można stworzyć trafną kampanię marketingu bezpośredniego. Mocniej zawężony i trafny ‘target’ to mniejsze wydatki na marketing i reklamę w stosunku do realnie pozyskanej liczby klientów czy po prostu wielkości sprzedaży, więc same korzyści. Tym, co Acxiom robi głównie i w czym jest światowym ekspertem, jest właśnie przetwarzanie danych dla swoich klientów, zwane Data Mining’iem. Celem wspomnianego projektu jest opracowanie narzędzia, które będzie sprawnie wspierało wymianę danych i wybór grup klientów dla poszczególnych kampanii marketingowych. Rozwiązanie, oprócz generacji raportów i plików w różnych formatach (np. pipe delimited, excel), dostarcza także graficzny interfejs i obsługę wymiany danych poprzez ftp. Do pakietu możliwości dołączone jest także szyfrowanie danych wg standardu pgp.
W swojej pracy programiści wykorzystują Java 6 SE, jako IDE zaprzęgają NetBeans 6.0.1, a GUI tworzą przy pomocy frameworku Swing. Jeżeli chodzi o biblioteki, korzystają z open source’owych bibliotek narzędziowych. I tak na przykład do implementacji logowania błędów w pliku korzystają z log4j, do komunikacji ftp – Apache Commons Net, a przy generacji excel – Apache POI. Aplikacje integrują z zewnętrznym programem obsługującym szyfrowanie pgp oraz współpracują z innymi developerami, którzy z kolei są odpowiedzialni już za przetwarzanie danych, które dostarczy ta aplikacja, a ci do tego używają głównie Perl’a i Oracle PL/SQL. Jeżeli chodzi o organizacje prac, Solutions Developerzy posiadają dużą swobodę w wyborze narzędzi i struktury rozwiązania. Współpracują z menedżerem projektu i analitykami przy takich sprawach, jak tworzenie budżetu projektu czy uzgodnieniu z klientem zasad bezpieczeństwa danych w aplikacji.
Osoby uczestniczące w tym projekcie ściśle ze sobą współpracują, mimo że żyją w różnych częściach świata, więc regularne telekonferencje czy nawet videokonferencje, w celu omówienia postępów prac z resztą ekipy projektowej czy uzgodnienia projektów GUI z klientem, są rzeczą naturalną.
Po skończeniu prac developerskich jeszcze następuje przegląd kodu źródłowego razem z architektem rozwiązania, a potem już tylko pozostaje wesprzeć testerów w fazie testowania.