Oprogramowanie dla biznesu
Transkrypt
Oprogramowanie dla biznesu
Oprogramowanie dla biznesu Numer 9 (79) Wrzesień 2010 NOWY ROZDZIAŁ W ŻYCIU NASZEGO „DZIECKA” ZNANE DOBRZE PAŃSTWU WEBDFE ZASTĄPILIŚMY NOWĄ APLIKACJA WEBOWĄ – WEBLSP. APLIKACJA TA WCIĄŻ OPARTA JEST O NASZE NAJLEPSZE ROZWIĄZANIA CZYLI WORKFLOW ORAZ KALKULATOR. ZMIENIŁA SIĘ ZA TO PLATFORMA PROGRAMOWANIA, Z JĘZYKA DELPHI PRZESZLIŚMY NA JĘZYK JAVA. APLIKACJA WEBLSP TO NOWY INTERFEJS I FUNKCJONALNOŚCI, NIEZMIENNE ZAŚ POZOSTAJĄ SZYBKOŚĆ I BEZPIECZEŃSTWO. Rozpoczął się niedawno nowy rok szkolny i u nas również – jak u wielu rodziców – nadeszły zmiany. Nasze najmłodsze „dziecko”, system wsparcia procesu sprzedaży webDFE, ma już 6 lat i jak wiele dzieci w tym wieku właśnie we wrześniu rozpoczęło nowy rozdział swojego życia. Od pewnego czasu wiedzieliśmy, że nadejdzie kiedyś ten moment i zaczęliśmy się do niego przygotowywać. Rodzice szukają zawsze „na mieście” informacji jakie szkoły są dobre, jakie najlepiej podręczniki kupić, jakie zajęcia dodatkowe wybrać dla swojej pociechy po zajęciach w szkole. My również musieliśmy sobie odpowiedzieć na kilka istotnych pytań: czy nasz system jest dobry (pytanie poniekąd tendencyjne), co chcielibyśmy zmienić, czego nam brakuje. I udaliśmy się, jak rodzice dbający o swoje dzieci, na rozmowy do Was Drodzy Użytkownicy naszych systemów, aby wysłuchać propozycji zmian. Wiele z nich udało się rozwiązać w aktualnej wersji systemu, jednakże wiele z nich wymagało całkowitej zmiany podejścia do systemu. I ZROBILIŚMY TO! Zmieniamy nasz system webDFE. Zmianie uległo tak wiele rzeczy, iż stwierdziliśmy, że dodanie kolejnego numerka wersji nie będzie adekwatne do rozmiaru zmian jakie zaszły w naszym systemie. W sumie stwierdziliśmy, że nie można nawet nazywać nowej aplikacji jako nowej wersji webDFE, dlatego postanowiliśmy ją prezentować jako całkowicie nową aplikację pod nazwą webLSP (web LEO Sales Point). Może pokrótce przedstawię poniżej kilka cech jakimi charakteryzuje się nasz nowy system wspierania sprzedaży. TECHNOLOGIA Główna zmiana polega na zmianie platformy programowej – z języka Delphi przeszliśmy na JAVA. Wymagało to z naszej strony przepisania całej aplikacji od początku, ale – opłaciło się. W znacznym stopniu zwiększyliśmy szybkość działania aplikacji oraz uwolniliśmy ją od konieczności uruchamiania w systemach firmy mającej siedzibę w Redmont/USA. Również dzięki tej zmianie możliwe stało się zastosowanie trójwarstwowego modelu aplikacji – czyli mamy warstwę dostępu do bazy danych, warstwę logiki biznesowej oraz warstwę prezentacyjną. Dzięki rozdzieleniu warstwy prezentacyjnej od logiki biznesowej możliwe jest przygotowanie wielu różnych klientów, np. aplikacji dla urządzeń przenośnych, aplikacji tzw. grubego klienta czy po prostu aplikacji dla przeglądarki internetowej. Dodatkowo, dzięki scentralizowaniu przetwarzania możliwe jest informowanie użytkowników, że dany wniosek jest aktualnie procesowany przez innego użytkownika (z dokładnym wskazaniem – którego). W ten sposób rozwiązaliśmy jeden z problemów związanych z pracą równoległą. Wydzielenie warstwy logiki biznesowej od serwera bazy danych pozwoliło na zwiększenie efektywności pracy poprzez wykorzystanie specjalizowanych zapytań wykorzystujących szczególne właściwości serwera bazodanowego. Osobna warstwa logiki biznesowej pozwala również na łatwiejsze budowanie interfejsów, rozbudowę systemu o nowe funkcje czy udostępnianie wybranych funkcji systemu aplikacjom zewnętrznym. Warstwa prezentacyjna będzie oparta o JSP, dzięki czemu możliwe będzie znaczne uelastycznienie interfejsu użytkownika – w odróżnieniu od prezentacji stron w oparciu o czysty kod HTML. Oczywiście nie zrezygnowaliśmy z naszych najlepszych rozwiązań stosowanych w webDFE, czyli WorkFlow oraz kalkulatora, które są niezmiennie przez naszych Klientów chwalone za innowacyjność i elastyczność. INTERFEJS W związku z faktem, iż ta sama aplikacja dla różnych pracowników firmy powinna spełniać zupełnie inne (z reguły wręcz wykluczające się) zadania postanowiliśmy, że pewne zbiory ustawień połączymy w oddzielne, specjalizowane „aplikacje” przeznaczone dla konkretnych grup użytkowników. I tak np. Sprzedawcy będą mogli wpisywać wszystkie dane, ale już pracownicy Działu Ryzyka powinni mieć wszystkie dane dostępne, ale tylko do odczytu – oczywiście muszą oni wpisać decyzję kredytową – ale znów Sprzedawcy nie mogą jej zmieniać. Proponowane przez nas aplikacje dotyczą np. działu sprzedaży, działu ryzyka czy administratora IT, itp. Działanie programu na zasadzie oddzielnych, specjalizowanych aplikacji znacznie ułatwia konfigurację aplikacji jak również pozwala na łatwe wprowadzanie zmian w programie. Dzięki wprowadzeniu aplikacji możliwe jest np. wdrożenie tylko specjalizowanej aplikacji na potrzeby np. wyceny pojazdów przez zewnętrznych rzeczoznawców, którzy potrzebują widzieć tylko dane pojazdu – żadne inne dane nie będą potrzebne, zaś brak funkcji w aplikacji w 100% zabezpiecza przed ich nieuprawnionym użyciem. Pod każdy element menu możliwe będzie podpięcie polecenia będącego linkiem URL do zdefiniowanych stron aplikacji jak również do stron zewnętrznych. Jako link URL można stosować statyczne adresy WWW jak również adresy uzupełnione o zestaw parametrów dynamicznych. Mówiąc prościej – w linku URL można podstawić np. ID aktualnie zalogowanego użytkownika lub ID edytowanego kontrahenta. Adres WWW może zawierać nieograniczoną liczbę parametrów dynamicznych. Założyliśmy również, że niekoniecznie każdy użytkownik na każdym etapie edycji wniosku potrzebuje wszystkich danych wniosku do edycji. Dlatego nowa aplikacja będzie umożliwiała, oczywiście zdefiniowane zgodnie z logiką biznesową okna edycyjne, jak również definiowalne strony prezentacyjne (o bardzo dużej możliwości konfiguracji prezentowanych danych). Znacznie zmieniona została również koncepcja prezentacji danych. Dostępne będą okna: • • • zbiorczej prezentacji danych, list standardowych, list definiowalnych. Poszczególne listy będą różniły się funkcjonalnością. I tak np. okna zbiorczej prezentacji danych będą zawierały statyczne dane z bazy danych, dane już przetworzone oraz linki do innych elementów wizualizacyjnych/edycyjnych. Listy standardowe i definiowalne będą zawierały dwie zakładki: Wyniki oraz Filtr. Cechą istotną list standardowych będzie szeroki zakres parametrów filtracyjnych – zakres ten będzie znacznie szerszy niż lista prezentowanych danych na zakładce Wyniki. Listy standardowe będą definiowane na etapie konfiguracji systemu. Z kolei listy definiowalne będą tak naprawdę wynikiem zapytania SQL wybierającego rekordy z bazy danych. Filtrowanie na tej liście będzie ograniczone tylko do pól jakie zostały zwrócone przez zapytanie SQL. Operacje funkcyjne w nowej aplikacji zostaną również zmodyfikowane – od teraz każde okno będzie zawierało elementy wymagane (dostępne w każdym wywołaniu operacji) jak również elementy definiowalne. Z listy elementów definiowalnych, dostępnych dla danej operacji funkcyjnej, na etapie powiązania z ścieżką WorkFlow konieczne będzie określenie jakie mają być parametry pól (pełna edycja pola, podgląd danych pola, pole niewidoczne, parametry walidacji wprowadzonej zawartości oraz szablon układu graficznego tej operacji funkcyjnej). Wszystkie słowniki, jakie są dostępne w aplikacji są buforowane w pamięci podręcznej na serwerze aplikacji zamiast każdorazowego ich odczytu z bazy danych. Pozwoli to na zwiększenie szybkości działania aplikacji oraz zmniejszenie obciążenia samej bazy danych. Wartości wszystkich pól będą mogły być walidowane już w momencie ich uzupełnienia, a nie jak w webDFE po zakończeniu edycji całej formatki, co pozwoli na znaczne przyspieszenie wprowadzania danych – informacja o błędzie będzie pokazana zaraz po wpisaniu a nie przy zakończeniu operacji. Dodaliśmy również takiego fajnego „kręciołka” pokazującego, że aplikacja wykonuje w tle jakieś czynności – a nie „zawiesiła się” – niestety nie zobaczycie go często, albowiem system działa naprawdę szybko i nieczęsto ma okazję do pokazania tej ikonki. Mógłbym jeszcze wypisać wiele innych interesujących innowacji – ale muszę zostawić Państwu trochę niespodzianek na kolejne artykuły, na prezentacje i na samodzielne odkrywanie w trakcie użytkowania webLSP. Marcin Naliński (napisz do autora)