Artykuły
Wstęp do ERP - technologia u podwalin przedsiębiorstwa
Wstęp
Oprogramowanie ERP to zbiór aplikacji automatyzujących pracę działów finansowych oraz zasobów ludzkich, pomagając przedsiębiorstwom zarządzać zadaniami takimi jak przetwarzanie zamówień czy planowanie produkcji. Na początku jako ERP określano zaawansowane zintegrowane systemy dla produkcji. Mówiąc najprościej, ERP rozumiano jako systemy zarządzania zasobami przedsiębiorstwa, tworzące interaktywne środowiska zaprojektowane po to, by pomóc przedsiębiorstwem zarządzać i analizować procesy biznesowe związane z produkcją dóbr, czyli między innymi kontrolować zapasy, zarządzać zamówieniami, prowadzić księgowość. Powyższe określenie systemu ERP jest wciąż prawdziwe, jednak obecnie definicję tę można znacznie rozszerzyć. Wysoka świadomość użytkowników ERP, rosnące oczekiwania klientów, zmiany w wymaganiach stawianych produkcji oraz rozwój technologiczny są tylko niektórymi z czynników rozszerzających i modyfikujących definicję ERP. W dzisiejszej dynamicznej i burzliwej rzeczywistości biznesowej pojawia się silna potrzeba bycia konkurencyjnym na poziomie globalnym. Kluczem do przewagi konkurencyjnej jest bycie jak najbliżej klienta i dostarczanie mu produktów w jak najszybszym czasie. Wymaga to ścisłej integracji procesów w przedsiębiorstwie, co jest zadaniem ERP.
Charakterystyka systemów leżących u podstaw ERP
Stworzenie systemu ERP bez zaawansowanej technologicznie infrastruktury nie jest możliwe. ERP jest uosobieniem nierozłączności biznesu oraz technologii informacyjnej (IT).
Większość opisów wskazuje na takie cechy systemów ERP, jak:
-
Opierają się na architekturze rozproszonej, zwanej też architekturą klient/serwer. Pod tym względem różnią się znacznie od systemów gospodarki materiałowej (z ang. Material requirements planning - MRP), które ograniczały się do serwera lub komputera o określonej architekturze czy też standardowego komputera typu PC.
-
Opierają się o rozproszone relacyjne bazy danych. Oznacza to, że oprogramowanie bazodanowe musi umożliwiać korzystanie z bazy danych przez wielu użytkowników w sposób przejrzysty dla każdego z nich. Dostęp do bazy danych powinien być oparty o wykorzystanie SQL. Co więcej, system zarządzania bazą danych (DBMS) musi być zaprojektowany tak, aby był zintegrowany z całością oprogramowania (produkcja, dystrybucja, zamówienia, zaopatrzenie). Tylko najbardziej zaawansowane systemy zarządzania bazami danych spełniają wymagania stawiane przez ERP. Większość obecnych systemów ERP wykorzystuje IBM DB2, Oracle, Informix i Microsoft SQL Server. (…) Niektóre z nich spełniają wymaganie „row-level locking” stawiane przez wiele obecnych ERP (do niedawna ta funkcjonalność nie była spełniana przez Sybase). Nie wszystkie systemy ERP mogą współpracować ze wszystkimi typami baz danych. Sytuacja na rynku jest zmienna, jednak generalnie rzecz biorąc, Oracle i Informix często wybierane są w przypadku bardzo rozbudowanych systemów, podczas gdy SQL Server często wykorzystywany jest wśród systemów ze średniej półki.
-
Opierają się na tzw. języku programowania czwartej generacji (z ang. fourth-generation - 4GL), który stanowi znaczny kontrast dla języków trzeciej generacji, takich jak COBOL, które były wykorzystywane przy tworzeniu starszych systemów MRP. W ciągu ostatnich trzech lat programowanie zorientowane na obiekty (z ang. Object-oriented Programming - OOP) i modułowość zmieniły swój status z „warto by mieć” na „wysoce pożądane”.
-
Posiadają graficzny interfejs użytkownika (GUI - z ang. graphical user interface), pozwalający na korzystanie z oprogramowania. GUI opiera się najczęściej o ikony, wprowadzone przez firmę Apple, a spopularyzowane w MS Windows. Stanowi to kontrast do używanych niegdyś interfejsów tekstowych(…).
-
Swoim działaniem obejmują całe przedsiębiorstwo, wspierają też operacje pomiędzy oddziałami firmy na całym świecie. Dodatkowo, integracja ma przyczyniać się do rozwoju innych istotnych działań wewnątrz przedsiębiorstwa (np. zarządzanie informacją o produkcie, system wykonawczy produkcji itp.), a także działań dystrybucyjnych.
Wymagania sprzętowe ERP
Postępujący rozwój technologii informatycznych oraz drastyczny spadek cen sprzętu komputerowego dały mniejszym przedsiębiorstwom możliwość rozważenia zakupu oprogramowania ERP. Jako wysokorozwinięte aplikacje biznesowe, obejmujące swoją skalą całe przedsiębiorstwo (często giganta korporacyjnego), są prawdopodobnie jednymi z najbardziej wymagających pod względem sprzętowym. Konieczność współużytkowania systemu przez wielu pracowników wpływa na wymagania co do wielkości dysku i pamięci operacyjnej RAM. Wymagane staje się również zastosowanie macierzy RAID (z ang. Redundant Array of Independent Disks - Nadmiarowa macierz niezależnych dysków), co przyspiesza transmisję danych, zwiększa niezawodności (odporność na awarie) oraz ich bezpieczeństwo.
Środowisko systemowe dla ERP
Systemy ERP wymagają zastosowania rozwiniętych środowisk systemowych, zapewniających wielozadaniowość, wielowątkowość oraz możliwość korzystania z nich przez wielu użytkowników. Aby system był przygotowany na dalszy rozwój, powinien zawierać zaawansowany technologicznie procesor, co najmniej 32 bitowy. Do najczęściej wykorzystywanych środowisk systemowych należą te oparte na Unix (Sun Solaris, HP-UX, Dec-Unix, IBM AIX), Windows NT, IBM OS/400, oraz IBM MVS (a ostatnio coraz częściej Linux). Niestety, nie każdy system ERP jest dostosowany do pracy w każdym środowisku systemowym.
Nie istnieje sztywna zasada, która wskazywałaby jedno optymalne środowisko systemowe dla ERP. Generalnie rzecz biorąc, wysoko zaawansowane systemy oparte na Unix należą do rozwiązań preferowanych na rynku ERP przeznaczonych dla wielkich korporacji, podczas gdy Windows NT posiada duży udział w rynku małych i średnich przedsiębiorstw. W przyszłości można spodziewać się zwiększenia udziału Windows NT również w sektorze dużych przedsiębiorstw.
Architektura ERP
Z punktu widzenia architektury systemów ERP, na początku były one tworzone głównie jako aplikacje serwera. W tym modelu serwer jest „mózgiem” systemu, podczas gdy podłączone do niego terminale służą w zasadzie tylko do wprowadzania danych oraz dostępu do informacji. Obecnie, ze względu na możliwości komputerów klasy PC, mogą one przejmować część zadań serwera. Systemy składające się z serwerów oraz komputerów użytkowników określane są jako platforma klient/serwer. „Klient/serwer” oznacza, że przetwarzanie danych podzielone jest na dwa komputery. Klientem jest komputer na biurku użytkownika, który wyświetla dane i wykonuje podstawowe operacje, natomiast serwer zawiera bazę danych oraz aplikacje.
Architektura klient/serwer czy też przetwarzanie rozproszone popularne jest wśród firm z kilku powodów. Po pierwsze, używanie komputerów PC zamiast terminali zależnych od serwera zwiększa możliwości przetwarzania informacji. Bardzo mało praktycznym rozwiązaniem jest obciążanie jednostki centralnej na przykład koniecznością obsługi wyświetlania interfejsu użytkownika – dlatego konieczne jest przeniesienie tego procesu na komputery PC. Po drugie, prędkość całego systemu zwiększa się w związku z możliwością używania rozproszonych baz danych. Co więcej, koszty sprzętu są nieporównywalnie niższe niż w przypadku zakupu elementów systemu opartego na samym serwerze. Głównymi strategiami wdrażania architektury klient/serwer są struktury dwuwarstwowe, trzywarstwowe/n-warstwowe oraz Internet/Intranet. Wykorzystania warstw daje możliwość wygodnego grupowania poszczególnych elementów architektury. Rysunek 1 ilustruje różnice pomiędzy architekturą dwuwarstwową i trzywarstwową.

W podejściu dwuwarstwowym klient łączy się z pojedynczym serwerem. Zazwyczaj serwer obsługuje centralną bazę danych, podczas gdy na klienta przeniesione są zadania związane z wyświetlaniem interfejsu użytkownika. Podstawowa różnica polega na tym, że serwer odpowiada na zapytania wielu klientów, podczas gdy klienci zazwyczaj łączą się z jednym tylko serwerem. Dane przechowywane są w dedykowanej bazie danych, co pozwala na zwiększenie wydajności dla wielu użytkowników.
Dwuwarstwowe struktury spełniają zazwyczaj logiczne z biznesowego punktu widzenia założenia centralizacji zarządzania i kontroli. Twórca struktury decyduje, jaka część informacji przetwarzana ma być po stronie serwera, a jaka po stronie klienta. Jeżeli większość zadań realizowana jest po stronie PC, wówczas aplikacja nazywana jest aplikacją typu „gruby klient” (fat client). I odwrotnie, z „cienkim klientem” (thin client) mamy do czynienia zawsze wtedy, kiedy większość zadań realizowana jest po stronie serwera.
Struktura trzywarstwowa dodaje trzeci program, zwykle bazę danych, w której przechowywane są dane serwera. Zadania mogą być rozdzielone na wiele komputerów w celu zwiększenia niezawodności oraz lepszego rozplanowania obciążenia. W trzywarstwowym podejściu do zadań klienta należy zazwyczaj wyświetlanie interfejsu oraz przetwarzanie danych na poziomie logicznym, serwer aplikacji zarządza przetwarzaniem danych na poziomie firmowym, a jeden lub więcej serwerów obsługuje korporacyjną bazę danych. To podejście pomaga wygodnie zarządzać wersjami oprogramowania i zasadami użytkowania z punktu widzenia całego przedsiębiorstwa. Większość czołowych systemów ERP zbudowanych jest właśnie w oparciu o architekturę trzywarstwową.
Architektura trzywarstwowa stanowi podstawę dla architektury wielowarstwowej (n-warstwowej). W tym podejściu obciążenie zadaniami rozpraszane jest na wiele serwerów. Z definicji aplikacje n-warstwowe mogą być rozbite na moduły pomiędzy wiele komputerów. Po rozłożeniu ich na poszczególne komputery możliwa jest optymalizacja ich pod kątem określonych zadań. Następnie, komputery w sieci mogą dzielić poszczególne komponenty między sobą oraz aplikacjami w celu wyeliminowania opóźnień oraz dalszego wzrostu wydajności. W niektórych rozwiązaniach n-warstwowych moduły mogą być przenoszone w celu poprawy wydajności w odległych lokalizacjach bez naruszania integralności aplikacji.
Struktura n-warstwowa umożliwia jednoczesne uruchamianie nieograniczonej liczby programów, pozwala na przesyłanie informacji między nimi, używanie różnych protokołów komunikacji oraz wzajemną interakcję. To z kolei daje możliwość zastosowania znacznie bardziej zaawansowanej i rozwijalnej aplikacji, zapewniając wiele różnych usług dla wielu różnych klientów. Budzi to jednak również wiele zastrzeżeń, jednocześnie powodując problemy w projektowaniu struktur, wdrażaniu ich, wydajności i z rozłożeniem obciążenia. Istnieje wiele technologii wspierających tego typu rozwiązania, takich jak uniwersalna architektura komunikacji obiektów rozproszonych (common object request broker architecture - CORBA), EJB (enterprise JavaBeans - przyp. red. Technologia EJB umożliwia zakup gotowych komponentów od konkretnego sprzedawcy, połączenie z komponentami od innego sprzedawcy i uruchomienie ich na serwerze aplikacji dostarczonym przez jeszcze kogoś innego.), interfejs programistyczny realizujący rozproszony obiektowy model składników (distributed common object model –DCOM), czy zdalne wywołanie metod (remote method invocation - RMI).
Ogólnie rzecz biorąc, jeżeli wykorzystanie rozproszonej architektury pozwala użytkownikom korzystać z programów, które działają szybciej, są bardziej zaawansowane, pozwalają na wiele więcej, wówczas warto zastanowić się nad tym rozwiązaniem. Ponieważ rośnie świadomość kluczowej roli pełnionej przez architekturę dla rozwoju systemu, jego rozwoju o kolejne moduły różnych dostawców, systemy ERP tworzone w ostatnich latach wspierają zarówno wielomodułowość jak i wielowarstwowość architektury.
Architektura Internet/Intranet jako najbardziej popularny trend
Technologia klient/serwer jest zależna od komunikacji pomiędzy poszczególnymi komputerami. Sieci LAN i WAN stają się znacznym wydatkiem oraz wymagają dużych nakładów pracy w związku z zarządzaniem nimi. Co więcej, zmiana wersji oprogramowania na wielu komputerach, co szczególnie widoczne jest w przypadku przetwarzania rozproszonego, staje się istotnym problemem. Wielokrotnie działy IT zastanawiają się nad przejściem na strukturę Internet/Intranet w celu rozwiązania tego problemu.
W strukturze Internet/Intranet, narzędzia komunikacji zapewniają szeroki szkielet porozumiewania się. Komputery po prostu komunikują się poprzez adresy URL w celu dotarcia do serwerów. Dodatkowo oprogramowanie napisane w Java automatycznie aktualizuje się do najnowszej wersji. Aplikacje ERP oparte jedynie na Internecie pozwalają także zapomnieć o ograniczeniach sprzętowych klientów, umożliwiają z łatwością prowadzenie szkolenia, a także łączenie odległych oddziałów przedsiębiorstwa. Spośród czołowych dostawców oprogramowania warto tu wspomnieć o PeopleSoft i Oracle, proponujących rozwiązania tego typu, zaś wśród rozwiązań ze średniej półki - o Lawson Software.
Różnorodne technologie
Częstym zjawiskiem jest implementacja rozwiązań ERP w wielu lokalizacjach. Wymaga to odpowiedniego przesyłu informacji pomiędzy nimi. Aby usprawnić komunikację, stosuje się dodatkowe technologie wspierające systemy ERP, takie jak przepływ informacji (z ang. workflow), Systemy pamięci masowej (workgroup), oprogramowanie do pracy zespołowej (groupware) , elektroniczna wymiana danych(EDI - electronic data interchange), Internet, Intranet, hurtownie danych (z ang. data warehousing) itp.
Podsumowanie
Dzisiejsze systemy ERP muszą pozwalać na obsługę nie tylko procesów zlokalizowanych wewnątrz przedsiębiorstwa – muszą umożliwiać dostęp do procesów i elementów umiejscowionych w przedsiębiorstwie szeroko rozumianym. To już więcej niż tylko zarządzanie przedsiębiorstwem. Dlatego też tak istotne jest zapewnienie odpowiedniej struktury, funkcjonalności, interfejsu użytkownika, ale również skalowalności i możliwości rozwoju o nowe technologie.
Źródło: Technology Evaluation Centers Inc.
Tłumaczenie: decyzje-IT.pl
Polecamy również:




