Reklama




dpdf

Darmowe Programy Dla Firm - numer 2(3)/2008



Darmowe Programy Dla Firm - numer 1(2)/2008



Darmowe Programy Dla Firm - numer 1/2007

linki

Adempiere

Zarządzanie zasobami przedsiębiorstwa z ADempiere

Od pewnego czasu systemy ERP przestały być domeną największych przedsiębiorstw. Zwłaszcza szybko rozwijające się sieci produkcyjno-handlowe potrzebują rozwiązań na swoją miarę: nie tak skomplikowanych i kosztownych jak SAP.

ERP – dla kogo?

Systemy ERP stanowią dość specyficzną klasę aplikacji. Służą temu, by zintegrować różne komponenty oprogramowania działającego w danej organizacji (która może składać się z wielu bytów posiadających osobowość prawną lub jej pozbawionych) odzwierciedlając całość procesów biznesowych zachodzących w firmie i wspomagając te procesy, począwszy od produkcji, poprzez gospodarkę magazynową, logistykę, marketing, sprzedaż, a skończywszy na procesach decyzyjnych.

Dobrze wdrożony system ERP nie zapewni właściwego działania przedsiębiorstwa; można być jednak pewnym, że jasno zasygnalizuje potencjalne problemy, zagrożenia, wąskie gardła itd. Funkcjonowanie systemu ERP zależy od działania poszczególnych komponentów systemu; jednak dopiero wtedy, kiedy są integrowane i stanowią spójną całość, możemy mówić o właściwie funkcjonującym systemie ERP.

Istnieje kilka popularnych rozwiązań ERP na licencjach open source. Należy do nich TinyERP, ERP5, OpenBravo, Opentaps, Compiere i ADempiere. Projekt ADempiere postał na bazie Compiere i jest bardzo aktywnie rozwijany przez społeczność programistów z różnych krajów. Jako jeden z niewielu posiada zaczątek polskiego tłumaczenia i wiele wskazuje na to, że jest to jeden z najlepiej zapowiadających produktów w tej niszy rynkowej, który sprawdził się już w różnych międzynarodowych przedsiębiorstwach. Ponieważ jednak instalacja ADempiere nie należy do najprostszych, w niniejszym artykule przedstawiamy instrukcje związane z instalacją i konfiguracją systemu, jak również krótkie wprowadzenie do funkcjonowania systemów ERP.

Instalacja PostgreSQL

Aby móc zainstalować ADempiere, potrzebujemy albo bazy Oracle, albo PostgreSQL. Oracle co prawda udostępnia darmową wersję bazy Oracle XE, jednak z oczywistych względów nałożył na nią kilka ograniczeń: najistotniejszym jest maksymalny rozmiar bazy danych – 4 GB. Jest to oczywiście bardzo dużo i wystarczy w wielu zastosowaniach, jednak to ograniczenie istnieje, jeśli więc pewnego dnia nasza baza niebezpiecznie zbliży się do tego limitu (co jest możliwe, jeśli będziemy przechowywać w bazie dane inne od tekstowych), będziemy musieli rozważyć zakup komercyjnej licencji Oracle.

Dlatego też w niniejszym artykule skupimy się na współpracy ADempiere z PostgreSQL, świetnym systemem bazodanowym na licencji open source, który nie posiada tego typu ograniczeń i bardzo dobrze sprawdza się w roli serwera dla ADempiere.

Instalacja PostgreSQL może stanowić pewnego rodzaju wyzwanie – co prawda nie tak duże, jak instalacja Compiere czy ADempiere, jednak początkujący użytkownicy mogą łatwo się zniechęcić po kilku nieudanych próbach. Poniżej zamieszczamy więc proste instrukcje dotyczące instalacji z naciskiem na sposoby rozwiązywania potencjalnych problemów.

Rysunek 1

Archiwum z PostgreSQL znajduje się na płycie DVD (strona A, katalog BazyDanych/PostgreSQL. Rozpakowujemy je i klikamy na plik instalacyjny postgresql-8.3.msi. Akceptujemy domyślny język instalacji i naciskamy przycisk Start.

Jest możliwe, że w tym miejscu instalator... zniknie, zaś wszelkie kolejne próby uruchomienia go spełzną na niczym. Najczęstszym powodem są programy antywirusowe i firewalle, powinniśmy je więc tymczasowo wyłączyć (oczywiście jeśli nasz Windows jest widoczny z sieci Internet, tj. nie korzystamy z routera z maskowaniem adresów, powinniśmy wyłączyć połączenie sieciowe). Jeśli i to nie pomoże spójrzmy na listę procesów (kombinacja [Ctrl]+[Alt]+[Del], zakładka Procesy): jeśli znajdziemy wśród nich kilka o nazwie msiexec.exe przypisanych bieżącemu użytkownikowi, powinniśmy je zakończyć, poczynając od najstarszego. To powinno pomóc. W ostateczności, jeśli wszystko inne zawiedzie, powinniśmy ręcznie pousuwać wszystkie procesy, które nie są niezbędne do działania systemu, jak również zatrzymać usługi, bez których możemy się obejść. W tym momencie instalacja musi się powieść. Jeśli i to nie pomoże, powinniśmy poszukać pomocy na forum dyskusyjnym PostgreSQL [1].

Rysunek 2

Następnie zatwierdzamy licencję i przechodzimy do wyboru opcji instalacyjnych. Zwróćmy uwagę, by zainstalować wszystkie komponenty z drzewa Database Server, czyli nie tylko Data directory, ale również National language support i PL/Java (Rysunek 2). Zaznaczmy też oba interfejsy administracyjne – psql i pgAdmin III.

Rysunek 3

Kolejny ważny krok to instalacja serwera bazy danych jako usługi. Nie próbujmy instalować PostgreSQL pomijając ten krok – napotkamy same problemy. Instalator zapyta nas, czy utworzyć nowe konto w systemie (dla którego podajemy nazwę użytkownika i hasło). Tajemnicze pole Account domain to po prostu nazwa naszego komputera, chyba że korzystamy z kontrolera domeny. Należy koniecznie zapamiętać wprowadzone w tym miejscu hasło (jeśli nie wprowadzimy żadnego, system wygeneruje je za nas). Pamiętajmy: jest to hasło do konta użytkownika postgresql w Windows, nie zaś administratora bazy danych (to wprowadzimy za chwilę).

Rysunek 4

Kolejny etap to inicjalizacja bazy danych. Numer portu Port number pozostawiamy bez zmian. Jako Locale wybieramy Polish, Poland. Kodowanie, zarówno po stronie klienta (Client) jak i serwera (Server) ustawiamy na UTF-8. Jako nazwę konta administratora bazy danych pozostawiamy postgres, po czym dwukrotnie wprowadzamy nowe hasło. Powtórzmy jeszcze raz: to hasło jest hasłem administratora bazy danych, zaś to wpisywane poprzednio było hasłem do konta systemowego użytkownika postgres, na naszym komputerze. Ze względów bezpieczeństwa oba hasła powinny być różne.

Na kolejnych ekranach akceptujemy instalacje języka proceduralnego PL/pgsql i rozszerzenia Adminpack. Po naciśnięciu przycisku Next serwer zostanie zainstalowany.

Jeżeli jeszcze nie mamy zainstalowanego pakietu ze środowiskiem deweloperskim Javy (JDK), powinniśmy uruchomić plik jdk-1_5_0_15-windows-i586-p.exe z katalogu Common\Java (strona A płyty DVD). Uwaga: dla ADempiere najlepiej jest zainstalować JDK w wersji 1.5; jeśli mamy inne wersje (np. 1.4 czy 1.6), powinniśmy mimo to zainstalować 1.5.

Wstępna konfiguracja

Zanim zainstalujemy ADempiere, musimy wypełnić naszą bazę danych danymi dostarczonymi wraz z pakietem ADempiere. Tak więc rozpakowujemy archiwum z programem z płyty DVD dołączonej do bieżącego numeru Darmowych Programów dla Firm (strona A, katalog ERP/ADempiere) w taki sposób, by katalog Adempiere znalazł się w głównym katalogu na dysku (przyjmijmy, że będzie to dysk C:)

Kolejny krok to konfiguracja zmiennych systemowych. W tym celu klikamy prawym klawiszem myszy na ikonę Mój komputer na pulpicie i wybieramy Właściwości (albo w Panelu Sterowania Windows klikamy na System). Następnie przechodzimy do zakładki Zaawansowane i klikamy na przycisk Zmienne środowiskowe. Po kliknięciu przycisku Nowa pojawi się okno, w którym wpisujemy w Nazwa zmiennej: ADEMPIERE_HOME, zaś w Wartość zmiennej podajemy nazwę katalogu, w którym zainstalowaliśmy ADempiere (w naszym przykładzie będzie to C:\Adempiere). Powtarzamy tę samą czynność dla zmiennej o nazwie JAVA_HOME: jeśli użyliśmy domyślnych ustawień, jej wartością powinno być C:\Program Files\Java\jdk1.5.0_15.

Rysunek 5

Utwórzmy teraz bazę danych adempiere i użytkownika o tej samej nazwie. W tym celu uruchamiamy program pgAdmin (Start | Wszystkie programy | PostgreSQL 8.3 | pgAdmin III) i dwukrotnie klikamy na ikonkę PostgreSQL Database Server 8.3, by połączyć się z serwerem (będziemy do tego potrzebowali hasła administratora bazy danych, które wprowadziliśmy podczas instalacji). Następnie tworzymy nowego użytkownika: klikamy prawym przyciskiem na pozycji Zarejestrowane role, wybieramy Nowy login roli i w nowym oknie w polu Nazwa roli wpisujemy admpiere, po czym ustawiamy dla niego nowe hasło. W grupie Uprawnienia Roli zaznaczamy wszystkie opcje oprócz pierwszej (Rysunek 5). Bazę danych tworzymy w analogiczny sposób: klikamy prawym przyciskiem myszy na pozycji Bazy danych, wybieramy pozycję Nowa baza danych, w polu Nazwa wpisujemy adempiere, zaś z listy Właściciel wybieramy użytkownika adempiere. Pozostałe pola pozostawiamy bez zmian.

Rysunek 6

Następnie przechodzimy do katalogu C:\Adempiere i uruchamiamy polecenie RUN_Setup.bat. Po chwili powinno pojawić się okno z ustawieniami (Rysunek 5). Jest ono w języku polskim, nie powinniśmy więc mieć problemów ze zmianą odpowiednich wartości. Najważniejsze, by w polu Folder Javy znalazła się pełna ścieżka dostępu do właściwego JDK (1.5) i aby wszystkie parametry związane z bazą danych zostały podane poprawnie. Tak więc typem bazy danych będzie PostgreSQL, serwerem − localhost, Nazwa bazy danych i Użytkownik bazyadempiere. Podajemy również hasło PostgreSQL i hasło użytkownika adempiere, tak jak je wprowadziliśmy w pgAdminie i naciskamy przycisk Testuj.

Jeśli wprowadzone przez nas wartości są prawidłowe, zaś wszystkie opisane wcześniej czynności zostały wykonane poprawnie, nie powinniśmy otrzymać żadnych komunikatów o błędach. Jeśli jednak napotkamy na problemy, powinniśmy przede wszystkim sprawdzić ustawienia zmiennych systemowych. Po usunięciu ewentualnych usterek naciskamy przycisk Zapisz. Otrzymamy komunikat mówiący, że ustawienia zostały zapisane i że powinniśmy zrestartować serwer.

Powinnismy odczekać kilka minut, aż na konsoli przestaną się pojawiać komunikaty informujące o budowaniu plików JAR. Najważniejszy jest komunikat BUILD SUCCESSFUL, który powinien się pojawić pod koniec tego procesu. Jeśli się nie pojawi, powinniśmy zdiagnozować przyczynę problemu i ponowić próbę.

Możemy teraz zaimportować schemat bazy danych do PostgreSQLa: przechodzimy do katalogu C:\Adempiere\utils i uruchamiamy skrypt RUN_ImportAdempiere.bat. Poinformuje on nas, że skrypt wygeneruje komunikaty ostrzegawcze, ale nie powinniśmy się tym przejmować. Po naciśnięciu dowolnego klawisza dane zostaną zaimportowane.

W tym miejscu możemy otrzymać wiele komunikatów o błędach. W szczególności jeśli błąd będzie dotyczył polecenia createdb (too many command-line arguments), powinniśmy przejść do katalogu utils/postgresql i w pliku ImportAdempiere.bat w wierszu 26. (rozpoczynającym się od createdb) przenosimy zmienną %ADEMPIERE_DB_NAME% na koniec wiersza. Cała linijka powinna mieć więc postać:

createdb -E UNICODE -O %2 -U %2 %ADEMPIERE_DB_NAME%

Gratulacje – możemy wreszcie uruchomić serwer ADempiere. Znajduje się on w katalogu C:\Adempiere\utils; uruchamiamy go poleceniem RUN_Server2.bat. Po kilku minutach serwer zostanie uruchomiony (świadczył o tym będzie komunikat [Server] JBoss ... Started in ...).

Uruchomienie klienta

Rysunek 7 i 8

Instalację i konfigurację serwerów mamy już za sobą: pora uruchomić klienta. Na pulpicie powinniśmy znaleźć ikonę ADempiere Client − klikamy na nią i po chwili klient zacznie pobierać z serwera aplikację kliencką. Akceptujemy ostrzeżenie Javy o uruchomieniu potencjalnie niebezpiecznego kodu – po chwili powinniśmy zobaczyć pierwsze okno logowania (Rysunek 7). Hasło dla użytkownika GardenAdmin to po prostu GardenAdmin, wystarczy więc zaakceptować dane wpisane w polach formularza. Z listy języków wybieramy Polski, niestety jednak większość elementów systemu wciąż jest nieprzetłumaczona. Po zaakceptowaniu podanych przez nas danych zyskujemy status użytkownika autoryzowanego; po chwili zostaniemy przeniesieni na zakładkę Domyślne, na której znajduje się właściwy formularz logowania, na którym możemy wybrać m. in. funkcję i oddział (Rysunek 8).

Jak rozpocząć pracę z systemami ERP

Rysunek 9

Systemy ERP to bardzo złożone aplikacje. Ich złożoność nie ma bynajmniej natury technicznej i nie jest szczególnie związana ze stosowanymi technologiami. Chodzi raczej o zrozumienie procesów biznesowych, które zachodzą w przedsiębiorstwie: aplikacja ERP jest jedynie narzędziem usprawniającym obsługę tych procesów. ADempiere zaprojektowano od samego początku do obsługi nawet największych firm, posiadających setki oddziałów na całym świecie, posługujących się różnymi językami i niekoniecznie prowadzącymi ten sam rodzaj działalności. Tak więc z natury rzeczy pierwsze zetknięcie z systemem ERP może być deprymujące, bowiem w poznanie systemu trzeba włożyć stosunkowo dużo czasu. Na szczęście program wyposażono w system pomocy online. Można mieć do niego pewne zastrzeżenia, jednak jest w miarę kompletny i dokładnie opisuje każde pojedyncze pole bieżącego formularza.

Pracę z programem powinniśmy więc rozpocząć od zapoznania się z dokumentacją. Na płycie w katalogu z ADempiere zamieściliśmy również, oprócz dokumentacji, kilka filmów instruktażowych. Pomoc uzyskać możemy również na forach internetowych, jeśli zaś zdecydujemy się na wdrożenie, również w firmach oferujących wsparcie techniczne dla ADempiere (ze względu na naturę całego przedsięwzięcia, zazwyczaj jedna firma przeprowadza wdrożenie i zajmuje się dalszą obsługą programu, szkoleniem pracowników itd.).

Wstępna konfiguracja

Jak wspomnieliśmy, struktura ADempiere odpowiada strukturze organizacji (o praktycznie dowolnym stopniu złożoności). Jest to struktura hierarchiczna, rozbudowana, skonstruowana w ten sposób, by mimo całej złożoności procesów i relacji między poszczególnymi elementami zachować spójność i móc w każdej chwili mieć wgląd w bieżący stan przedsiębiorstwa – zachodzące zmiany, wyniki finansowe, fluktuacje sprzedaży, wąskie gardła w produkcji i logistyce itd.

Najwyższą jednostką w hierarchii ADempiere jest tzw. Klient (Client). Termin ten może być nieco mylący, chodzi w każdym razie o najbardziej nadrzędną jednostkę, na poziomie której chcemy sprawować kontrolę nad całą hierarchią. Poziom niżej znajdują się Organizacje (Organization), które mogą np. odpowiadać kwaterze głównej i oddziałom lokalnym firmy, przy czym strukturę tę możemy swobodnie rozbudowywać. Weźmy na przykład firmę Kompania Piwowarska S. A.: w tym przypadku będziemy chcieli zachować odrębność marek piw produkowanych przez firmę (Tyskie, Żubr, Lech itd.), równocześnie zaś właściciel (SABMiller) zapewne będzie chciał widzieć KP w portfolio firm-córek, produkujących piwa różnych marek. Z kolei największy udziałowiec SABMiller, grupa Altria (niegdyś Philip Morris) może chcieć mieć pełny, aktualny obraz tego, co dzieje się w SABMiller, jak również we wszystkich firmach należących do tek grupy. Z drugiej strony jednak nie jest do tego potrzebny system ERP – wystarczy dobry system raportowania. ERP będzie na pewno niezbędny tam, gdzie poszczególne organizacje są powiązane łańcuchem produkcyjno-magazynowo-handlowym.

Rysunek 10

Po zalogowaniu się do systemu jako administrator możemy dodać nowego Klienta, Organizację, Użytkowników itd. Klienta dodajemy i edytujemy w Menu | System admin | Client Rules. Pamiętajmy, że większość operacji wykonywanych w tej sekcji (dotyczących zmian struktury całej organizacji) wymaga restartu serwera.

Niezbędne jest również wprowadzenie zakładowego planu kont (Chart Of Accounts, COA) zgodnie z zasadami rachunkowości obowiązującymi w Polsce, dostosowanego do prowadzonej przez nas działalności. Plan ów możemy albo przygotować ręcznie w arkuszu kalkulacyjnym i wyeksportować w formacie CSV (przykłady znajdziemy w katalogu data\import) ADempiere, albo skorzystać z dołączonej aplikacji (plik adempiereAcctEdit_v1.2.zip w katalogu ERP/ADempiere na płycie DVD).

Adempiere w przeglądarce

Rysunek 11

Rysunek 12

Rysunek 13

Z systemem możemy łączyć się również poziomu przeglądarki. W tym celu uruchamiamy plik RUN_Server2.bat z katalogu C:\Adempiere\utils i wpisujemy w przeglądarce adres naszego serwera (nie localhost, lecz adres widoczny z sieci lokalnej bądź Internetu). W ten sposób uzyskamy dostęp nie tylko do interfejsu webowego (http://serwer/webui, Rysunek 11) ale i prostego interfejsu obsługi punktu sprzedaży (np. z ekranem dotykowym, http://serwer/posterita, Rysunek 12) i sklepu internetowego (http://serwer/wstore, Rysunek 13).

Ze względu na ograniczenia niniejszego artykułu nie jesteśmy w stanie omówić funkcjonalności ADempiere w bardziej szczegółowy sposób, zalecamy więc przetestowanie aplikacji i zapoznanie się z dokumentacją. Mamy nadzieję, że dzięki temu Czytelnik szybko zorientuje się, czy jego organizacja potrzebuje systemu ERP i czy ADempiere spełnia te potrzeby.

Dodatkowe informacje [1] Polskie forum dyskusyjne poświęcone PostgreSQL-owi: http://forum.postgresql.org.pl/