Przemysłowe systemy informatyczne oparte na bazach
Transkrypt
Przemysłowe systemy informatyczne oparte na bazach
V Konferencja PLOUG Zakopane Październik 1999 Przemysłowe systemy informatyczne oparte na bazach danych Oracle dr inż. Jan Baranowski Thomson Polkolor Autor Dr inż. Szef Służby Informatyki w Thomson Polkolor. Od 12 lat odpowiedzialny za tworzenie systemów informatycznych wcześniej w Polkolorze a obecnie w Thomson Polkolor. Streszczenie Przedstawione zostaną przemysłowe systemy informatyczne, wykonane i wdrożone w Thomson Polkolor, oparte na bazach danych Oracle. Omówiony zostanie proces projektowania tych systemów (z wykorzystanie narzędzi CASE), oraz przedstawione zostaną przykłady rozwiązań technicznych: od bezpośredniego zbierania danych na linii produkcyjnej aż do organizacji systemy raportowania z wykorzystaniem hurtowni danych. 1. Wstęp. Zapewnienie rynków zbytu dla produkcji przemysłowej wymaga ciągłego udoskonalania produktów, ciągłego podnoszenia ich jakości oraz zmniejszania kosztów jednostkowych produkcji poprzez poprawianie uzysków. Do pewnego poziomu jest to możliwe poprzez ręczną kontrolę i sterowanie procesem. Jednak przy zwiększającej się produkcji i coraz wyższych wymaganiach jakościowych staje się to niemożliwe bez odpowiednich systemów informatycznych, służących do zbierania i analizy danych ilościowych i jakościowych. Taką drogę przeszedł również THOMSON POLKOLOR. Od produkcji na poziomie kilkuset tysięcy lamp rocznie za najlepszych czasów byłego Polkoloru i uzyskach daleko odbiegających od poziomu światowego, doszliśmy do ponad 4 milionów kineskopów w roku bieżącym i jakości na najwyższym poziomie światowym. Wymagania konkurencji rynkowej stawiają wciąż nowe, wyższe wymagania, którym nie można by sprostać bez odpowiednich systemów informatycznych obsługujących produkcję. Gdy w roku 1993 dokonano wyboru zintegrowanego systemu zarządzania przedsiębiorstwem, wydawało się, że zaspokoi on wszystkie potrzeby informatyczne, również w zakresie rozliczania produkcji, analizy jakościowej i śledzenia wpływu partii materiałów i parametrów procesowych na uzyski. Szybko okazało się to nierealne. Różnorodność procesów produkcyjnych, od czysto mechanicznych do skomplikowanych reakcji fizykochemicznych, związana z tym różnorodność parametrów oraz zakresów i postaci analiz spowodowały, że żaden „gotowy” system nie mógł sprostać wymaganiom w tym zakresie. Dlatego podjęto decyzję o realizacji przemysłowych systemów produkcyjnych we własnym zakresie i „na własną miarę” w oparciu o standardy obowiązujące w THOMSON’ie: bazy danych ORACLE i narzędzie programistyczne SQLWindows firmy Centura. 2. Proces projektowania i wdrażania systemów informatycznych w THOMSON POLKOLOR. Aby projektowanie i wdrażanie systemów informatycznych odbywało się sprawnie i przynosiło spodziewane efekty, konieczne jest oparcie się na sprawdzonej metodyce. Od 1993 roku THOMSON POLKOLOR wykorzystuje metodykę CASE firmy LBMS wspomaganą produktem tej firmy (obecnie własność firmy SELECT) o nazwie Systems Engineer. Cykl wykonania projektu, zgodnie z metodyką LBMS, składa się z wielu etapów, których omówienie przekracza ramy niniejszego referatu. Poprzestanę więc na wymienieniu najważniejszych: - inicjacja projektu, - analiza wymagań krytycznych, - przygotowanie modelu procesów, - przygotowanie modelu danych, - analiza zadań, - przygotowanie modelu obiektów użytkownika, - przygotowanie projektu aplikacji, - definicje widoków, procedur i wyzwalaczy, - wykonanie aplikacji zgodnie z przyjętymi standardami, - wdrożenie systemu. 2 Końcowym efektem projektu (zapisanym w Systems Engineer’ze) jest: - specyfikacja wymagań określająca cel projektu, definicje wymagań i uzgodnione rozwiązania, - kontekstowy diagram przepływu danych (granice systemu, obiekty zewnętrzne, przepływy), - fizyczny model danych opisujący bazę danych, - skrypty generujące bazę danych łącznie z definicjami widoków, procedur i wyzwalaczy, - definicje klas użytkowników, ich funkcje i zakres wykorzystywania systemu, - scenariusze zadań wykonywanych przez użytkowników oraz skrypty do prototypowania, - definicje obiektów użytkowników, - projekty aplikacji definiujące okna aplikacji, zawartość okien, nawigację pomiędzy oknami i akcje w oknach powiązane z akcjami na danych. Jest to materiał zarówno dokumentujący projekt, jak i umożliwiający automatyczne wygenerowanie bazy danych oraz szybkie napisanie kodu aplikacji. Oczywiście ostatecznym efektem realizacji projektu jest działający system z dokumentacją systemową i użytkową, procedurami standardowymi i awaryjnymi, przeszkolonymi użytkownikami i zapewnioną codzienną obsługą. Przeprowadzana jest także analiza osiągnięcia zakładanych celów projektu. Należy podkreślić, że wszystkie etapy projektowania wykonywane są wspólnie z przedstawicielami przeszłych użytkowników systemu, a często nawet bezpośrednio przez nich. W celu zapewnienia jednolitego i sprawnego przebiegu procesu wytwarzania oprogramowania, przyjęto różnorodne standardy dotyczące m.in. wykorzystywanych narzędzi, sposobu ich wykorzystywania, procedur awaryjnych, dokumentacji technicznej i użytkowej, wyglądu okien i sposobu nawigacji itp. Standardy dotyczące sprzętu i oprogramowania zatwierdzane są na poziomie całego THOMSONa. Oto niektóre z ich: System operacyjny Baza danych Narzędzie do tworzenia aplikacji Narzędzie do raportowania Narzędzie do zasilania hurtowni danych Windows NT 4.0(server lub workstation) Oracle SQLWindows/32 Centura Business Objects Powermart/Powercenter Informatica 3. Przykłady zastosowania przemysłowych systemów informatycznych. Z pośród wielu systemów wykorzystywanych w produkcji przedstawię bliżej dwa przykłady związane ze śledzeniem wyrobu oraz system raportowania. 3.1. System nalepkowania kineskopu. Podstawowym zadaniem tego systemu jest oznakowanie kineskopu etykietą gwarancyjną, zawierającą jego unikalny numer. Numer ten generowany jest na operacji zatapiania szyjki kineskopu i nanoszony na kineskop w postaci nalepki z kodem kreskowym. Kod ten zawiera m.in. informacje o typie kineskopu. Na poszczególnych operacja produkcyjnych powstają kolejne zapisy w bazie danych dotyczące: czasu wykonania operacji, parametrów technologicznych, zastosowanych partii materiałów, osób wykonujących operacje itp. 3 System nalepkowania składa się z czterech stanowisk: a. Stanowisko mistrza służące do wykonania operacji administracyjnych konfiguracyjnych systemu oraz wykonywania raportów i analiz. i b. Stanowisko nalepkowania. Na stanowisku tym czytnik kodów kreskowych odczytuje identyfikator nadjeżdżającego kineskopu. System odczytuje typ kineskopu i na tej podstawie podpowiada operatorowi możliwe dla danego typu wersje kineskopu. Operator (na podstawie wizualnej oceny) dokonuje wyboru wersji kineskopu, wciskając odpowiedni przycisk na ekranie dotykowym. Następuje wydrukowanie etykiety gwarancyjnej, zawierającej m.in. numer kineskopu (przeniesiony z odczytanej etykiety) w postaci jawnej i kodu kreskowego. Informacje zawierające: numer kineskopu, jego typ i wersję, czas wykonania operacji oraz identyfikator operatora zapisywane są do bazy danych. Operator nakleja etykietkę gwarancyjną we właściwe miejsce na kineskopie. Częstotliwość wykonywania operacji: 6-7 sekund. c. Stanowisko weryfikacji. Na stanowisku tym umieszczone są dwa czytniki kodu kreskowego. Jeden z nich odczytuje identyfikator z nalepki naklejanej na operacji zatapiania szyjki a drugi identyfikator z etykiety gwarancyjnej. Jeśli identyfikatory te nie są identyczne lub nie można odczytać któregokolwiek z nich, generowany jest sygnał dźwiękowy i kineskop trafia na stanowisko analityka. Jeśli identyfikatory są zgodne, odpowiedni zapis trafia do bazy danych. d. Stanowisko analityka. Na stanowisku tym analizowana i usuwana jest przyczyna niezgodności identyfikatorów na obu etykietach. Może to być wynikiem nieczytelności jednej z etykiet, braku jednej z etykiet lub błędu operatora na stanowisku nalepkowania. Dokładna procedura postępowania zapisana jest w systemie, który podpowiada analiście kolejne kroki jakie ma wykonać. Efektem działania analisty jest zapewnienie czytelności identyfikatora na etykiecie gwarancyjnej. Może wiązać się to z jej powtórnym wydrukowaniem lub, w krańcowym przypadku, z wygenerowaniem numeru awaryjnego i wydrukowaniem go na nowej etykiecie gwarancyjnej. Oczywiście to ostatnie traktowane jest jako ostateczność, gdyż powoduje utratę całej informacji technologicznej o kineskopie. 4 Schemat funkcjonalny sytemu przedstawiony jest na rysunku 1. b) Stanowisko nalepkowania a) Stanowisko mistrza c) Stanowisko weryfikacji d) Stanowisko analityka NET (TCP/IP) Rys 1. 3.2 System Pakownia. Podstawowym zadaniem systemu Pakownia jest zidentyfikowanie kineskopów pakowanych do kolejnych palet. Paleta zawiera zazwyczaj 24 kineskopy ułożone w trzy warstwy po 8 kineskopów w każdej warstwie. Paleta posiada unikalny numer i przynależy do konkretnej partii wysyłanej do konkretnego klienta. Posiadanie tej informacji umożliwia identyfikację kineskopów wysłanych do danego klienta (wraz z całą wiedzą technologiczną o nich) lub zidentyfikowanie klienta do którego dany kineskop został wysłany (np. gdy na podstawie analizy parametrów technologicznych zachodzi podejrzenie, że jest on wadliwy). Dodatkowym celem jest zapewnienie zgodności typu i wersji kineskopów w palecie. System składa się ze stanowiska mistrza oraz dziesięciu stanowisk pakowania. a. Stanowisko mistrza służy do wykonania operacji administracyjnych i konfiguracyjnych systemu, drukowania nalepek na palety oraz wykonywania raportów i analiz. 5 b. Stanowiska pakowania służą do identyfikacji kineskopów pakowanych do poszczególnych palet. Na początku operator odczytuje skanerem ręcznym etykietę palety. Na podstawie identyfikatora palety pobierana jest z bazy danych informacja o typie, wersji i ilości kineskopów, które mają być do tej palety zapakowane. Po zapakowaniu pierwszej warstwy, operator uruchamia specjalny czytnik kodów kreskowych zawieszony nad stanowiskiem, który odczytuje identyfikatory kineskopów zapakowanych do tej warstwy. Na podstawie informacji w bazie danych sprawdzana jest zgodność typów i wersji kineskopów. Wszelkie niezgodności (lub brak odczytu identyfikatorów) sygnalizowane są operatorowi, który podejmuje odpowiednie działania. Podobnie pakowane są następne warstwy palety. Cała informacja o zawartości palety zapisywana jest do bazy danych. Schemat funkcjonalny systemu przestawia rysunek 2. Stanowisko pakowania nr. 1 Stanowisko mistrza Stanowisko pakowania nr.10 NET (TCP/IP) Rys.2 6 3.3 System raportowania. System raportowania stanowi wypracowany standard obowiązujący w całym Zakładzie w tym również w systemach produkcyjnych. Ogólną strukturę tego systemu przedstawiono na rysunku 3. Użytkownicy Internet Explorer Internet Explorer Business Objects Aplikacje raportujące Raporty sytemów trasakcyjnych Systemy transakcyjne Web Intelligence Repozytorium Business Objects Raporty osobiste Raporty rozsyłane Raporty globalne Bazy danych systemów transakcyjnych Powermart Baza danych hurtowni Rys. 3 System raportowania składa się z następujących elementów: - Bezpośrednie raportowanie z systemów transakcyjnych. Są to standardowe raporty systemów transakcyjnych oraz dodatkowe raporty, wykonane w tym samym narzędziu w którym został napisany system transakcyjny i zintegrowane z tym systemem. Są to zazwyczaj typowe wydruki systemu, potwierdzające wykonanie transakcji lub raportujące aktualny stan systemu bez angażowania zbyt dużej ilości danych. 7 - Raporty z systemów transakcyjnych udostępniane przez intranet. Są to raporty przekrojowe o ustalonej formie i zawartości danych (np. raporty dzienne, tygodniowe), generowane bezpośrednio z systemu transakcyjnego lub też z jego bazy danych i umieszczane jako strony statyczne w internecie. Rozwiązanie to zastąpiło rozsyłanie raportów drogą elektroniczną. Adresatami tego rozwiązania są osoby korzystające z raportów w sposób bierny, tzn. bez potrzeby wykonywania dodatkowych analiz. - Raportowanie przy pomocy Business Objects bezpośrednio z transakcyjnej bazy danych. Rozwiązanie to stosowane jest w mocno ograniczonym zakresie (ze względu na możliwość znacznego obciążenia transakcyjnej bazy danych) tylko tam, gdzie niezbędna jest analiza danych na bieżąco. Ma to szczególne zastosowanie przy bieżącej kontroli uzysków, widma wad itp. - Raportowanie przy pomocy hurtowni danych. Jest to preferowany sposób raportowania. Ma tę przewagę nad wcześniej przedstawionymi rozwiązaniami, że nie zaburza funkcjonowania systemów transakcyjnych, nawet jeśli wykonywane są bardzo złożone analizy. Umożliwia użytkownikom korzystanie z wcześniej zdefiniowanych raportów z możliwością dowolnego ich zmieniania, albo tworzenia własnych raportów lub analiz. Stosowane jest wszędzie tam, gdzie nie jest wymagana natychmiastowa analiza nowych danych, lecz raczej analiza danych z dłuższego okresu. Proces ten zorganizowany jest w ten sposób, że okresowo, zazwyczaj raz dzienne, dane za poprzedni okres pobierane są z baz transakcyjnych i przenoszone do bazy hurtowni danych. Odbywa się to w nocy lub w innych momentach tak dobranych, aby nie zakłócać działania systemu transakcyjnego. Przenoszone dane są przetwarzane i ewentualnie agregowane w ten sposób, aby ułatwić wykonywanie typowych raportów. Oprócz zasilania hurtowni danymi detalicznymi, zasilane są data marty tematyczne, zoptymalizowane pod odpowiednie typy analiz. Użytkownik widzi dane poprzez tzw. światy obiektów, zawierające intuicyjnie zrozumiałe cegiełki z których można, bez posiadania wiedzy informatycznej, budować dość dowolne raporty i analizy. Oczywiście większość użytkowników korzysta z wcześniej zdefiniowanych raportów, które mogą być automatycznie odświeżane w momencie ich otwierania lub odświeżane przez użytkownika z podaniem zakresów analizy. Użytkownicy mogą wykorzystywać system na dwa sposoby: poprzez instalację klienta Business Objects na własnym komputerze lub przez intranet. Pierwsze rozwiązanie przeznaczone jest dla użytkowników o większych potrzebach w zakresie raportowania, zarówno co do ilości raportów jak też ich złożoności. Wiąże się oczywiście z instalacją Business Objects na komputerze użytkownika. Drugie rozwiązanie preferowane jest dla szerszej grupy użytkowników, którzy możliwość raportowania wykorzystują sporadycznie i korzystają w głównej mierze z gotowych szablonów raportów. Nie jest w tym przypadku potrzebna instalacja na komputerze użytkownika, co ma niebagatelne znaczenie przy dużej liczbie instalacji, a możliwości tworzenia raportów są tylko nieznacznie ograniczone. Business Objects i Web Inteligence korzystają z tych samych repozytoriów i tych samych światów obiektów. Raporty, utworzone przy pomocy Business Objects, mogą być oglądane i odświeżane (chociaż nie 8 modyfikowane) poprzez Web Inteligence. W sumie tworzy to dość elastyczny i wydajny system raportowania dający się dobrze zaadoptować do większości potrzeb. 4. Podsumowanie. Kilkuletnia eksploatacja przemysłowych systemów informatycznych opartych na bazach danych ORACLE prowadzi do następujących wniosków: a. Bazy danych ORACLE sprawdzają się w tych zastosowaniach. W nieco wcześniejszych rozwiązaniach podejmowane były próby wykorzystywania innych, tańszych baz danych. Ze względu na problemy techniczne (częste zawieszanie się serwerów, uszkodzone indeksy itp.) zrezygnowano z tych rozwiązań. Od kiedy zastosowano bazy danych ORACLE, problemy te praktycznie nie występują. b. Konfiguracja: serwer oparty na procesorze Intel, Windows NT, Oracle jest wystarczająca do tego typu zastosowań. Praktyka pokazała, że (mimo wcześniejszych wątpliwości) taka konfiguracja jest całkowicie wystarczająca dla systemów rejestrujących po kilkanaście tysięcy transakcji dziennie z każdego stanowiska. Jest to istotne ze względu na koszty serwerów. c. Wypracowane rozwiązania, w tym rozwiązania awaryjne, sprawdziły się w praktyce. Kilkuletnia przemysłowa eksploatacja systemów wykazała, że są one wystarczająco niezawodne, a procedury awaryjne (w tym buforowania danych w przypadku braku łączności z serwerem) działają sprawnie. Oczywiście pewne elementy tych rozwiązań były w tym czasie poprawiane i ulepszane, ale podstawowe rozwiązania przetrwały próbę czasu. d. Systemy przemysłowe będą dalej rozwijane w oparciu o wypracowane standardy. Rosnące wymagania odnośnie zakresu informacji zawartych w systemach przemysłowych powodują konieczność dalszej ich rozbudowy i dopisywania nowych modułów. Prace te są i będą dalej prowadzone w oparciu o wypracowane rozwiązania. W zakresie tworzenia spójnego systemu raportowania doświadczenia THOMSON POLKOLOR są mniejsze i ograniczają się do kilkunastu miesięcy. System ten jest cały czas w trakcie implementacji, a prace nad nim przewidywane są na minimum 15 miesięcy. Jednak już teraz przedstawić można pierwsze wnioski wynikające z tych doświadczeń. a. Konieczna jest jasna i spójna wizja systemu raportowania. Tworzenie raportów w dowolny, wymyślony przez użytkownika (bądź programistę) sposób jest zbyt kosztowne i niebezpieczne aby mogło być zaakceptowane. Rozwiązania takie są zwykle nieudokumentowane i, po ewentualnym odejściu osoby która je wykonała, niemożliwe do dalszego wykorzystywania. Jakość i użyteczność takich raportów jest zazwyczaj wątpliwa, a lokalność stosowania powoduje, że podobne w treści raporty są wykonywane w różny sposób, w różnej formie i często z różnymi wynikami przez różne osoby. 9 b. Konieczne jest ustanowienie standardów w zakresie narzędzi i sposobu wykonywania i dokumentowania raportów. Wykorzystywanie standardowych narzędzi i rozwiązań zapewnia redukcję kosztów zakupu licencji oraz umożliwia łatwą modyfikacje raportów przez osoby inne niż ich autorzy. c. Efektywny i bezpieczny system raportowania powinien być oparty o hurtownię danych. Zastosowanie hurtowni danych separuje system raportowania od systemu transakcyjnego. Likwidowane jest niebezpieczeństwo zaburzenia pracy systemu transakcyjnego poprzez nadmierne obciążenie serwera bazodanowego skomplikowanym zapytaniem. W hurtowni danych struktura przechowywanych danych może być optymalizowana pod kątem najczęściej wykonywanych analiz, co znacznie poprawia efektywność raportowania. Spójność i bezpieczeństwo danych mogą być również w wydatny sposób poprawione. d. Hurtownia danych może być realizowana przyrostowo, jednak od początku należy zwracać uwagę na jej jednolitość. Istnieje pokusa niezależnego realizowania poszczególnych data martów, celem szybkiego uzyskania efektów. Jest to możliwe do realizacji, ale konieczne jest posiadanie przynajmniej wizji docelowej hurtowni danych jako spójnej struktury. Przy dalszym rozwoju data martów okazuje się bowiem, że ich część wspólna jest coraz większa a problemy z ich połączeniem w jedną całość mogą być znaczne. Zarówno w przypadku tworzenia systemów przemysłowych jak i systemów raportowania, podstawowe znaczenie dla osiągnięcia sukcesu ma stosowanie odpowiednich metodyk projektowania i zaangażowanie przyszłych użytkowników na każdym etapie projektu. 10