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)