Zarządzanie cyklem życia produktu nigdy nie było tak ważne, jak teraz, w coraz bardziej zmieniającym się świecie. Dziś nie wystarczy już świetny pomysł, czy nawet dobra realizacja. Obecnie potrzebna jest pełna kontrola nad produktem – od koncepcji, przez projektowanie i produkcję, aż po obsługę serwisową oraz utylizację. Na rynku istnieją różne systemy do zarządzania danymi m.in.: Windchill, Teamcenter, SAP PLM, SmarTeam. W naszym artykule skupimy się na dwóch: Creo Elements/Direct Model Manager oraz Windchill. Przybliżymy, na jakim etapie cyklu życia znajdują się obecnie oprogramowania oraz które z nich z pewnością będzie rozwijane i serwisowane w przyszłości.
Co to jest PTC Creo Elements/Direct Model Manager?
PTC Creo Elements/Direct Model Manager był do niedawna niezastąpionym narzędziem do zarządzania danymi produktu dla aplikacji projektowej Modeling. Dzięki temu centralnemu repozytorium, użytkownicy mogli (i nadal mogą) usprawnić wysiłki zespołów projektowych w zakresie śledzenia i zarządzania danymi projektowymi w całym cyklu życia produktu. Oba produkty były stworzone kilkanaście lat temu przez firmę CoCreate, która później stała się częścią firmy PTC. Model Manager ma długą historię oraz wiele zalet, w tym możliwość integracji z innymi aplikacjami CAD i jest w pełni dostosowywany do wymagań użytkowników. Jednak nadal to tylko zarządzanie danymi produktu, czyli PDM (Product Data Management).
Czemu Windchill?
Coraz więcej firm, które wiedzą, jak dużą wartość ma zarządzanie cyklem życia produktu, zaczyna spoglądać w stronę innego, bardziej rozbudowanego produktu firmy PTC – systemu Windchill. Dzieje się tak z bardzo prostej przyczyny – firma PTC nie rozwija w pełni swoich dwóch produktów równolegle, stawiając na koncepcję PLM (Product Lifecycle Management). Model Manager jest nadal wspierany i nie zanosi się na zmianę w najbliższej przyszłości, ale to Windchill jest i będzie dużo bardziej zaawansowanym narzędziem PDM, poszerzonym o strategię PLM, w pełni konfigurowalnym, z możliwością integracji z wieloma innymi systemami. Jeśli chcesz, aby twoja firma się rozwijała, myślisz – Windchill. Ale do tego potrzebna jest migracja z PTC Creo Elements/Direct Model Manager do docelowego systemu.
Migracja, czyli proces ETL?
Akronim ten był już wyjaśniony w artkule na blogu TTPSC:
Nazwa ETL pochodzi z języka angielskiego i oznacza po rozwinięciu:
- ekstrakcję (pozyskanie danych z systemu źródłowego),
- transformację (przekształcenie do odpowiedniego formatu, zastosowanie odpowiedniego filtrowania oraz zaimplementowanie reguł biznesowych),
- ładowanie danych.
Czynności te stanowią kwintesencję procesu migracji, jednak nie można zapomnieć o innym istotnym elemencie, czyli walidacji danych. Z uwagi na ten ostatni, możemy spotkać się również z nazwą ETLV (Extract-Transform-Load-Validation).
W całym procesie występuje także procedura czyszczenia danych, która nie jest przypisana jedynie do etapu transformacji – dużo częściej taką czynność wykonuje się przed ekstrakcją, lub nawet po ładowaniu danych, choć taka kolejność występuje dużo rzadziej.
Narzędzie do ekstrakcji z Model Manager
Firma PTC stworzyła zarówno narzędzia do ekstrakcji (MME – MMExtractor), jak i do ładowania danych (WBM – Windchill Bulk Migrator), co zdecydowanie usprawnia pracę nad procesem ETL. Trzeba jednak uczciwie przyznać, że migracja z systemu Model Manager na platformę Windchill jest bardziej wymagająca, niż się to wydaje. Rzetelne podejście do tego zadania wymaga znajomości procesów biznesowych zarówno w jednym, jak i w drugim środowisku. Niezbędna jest też wiedza na temat struktury danych w obu bazach oraz tego, jak działają narzędzia do migracji. Problemy i błędy pojawiają się często, trzeba zatem wiedzieć, jak poprawnie przeprowadzić migrację, mając na względzie wymagania biznesowe oraz spójność danych.
Od czego zacząć, czyli ekstrakcja
Pierwszą czynnością w całym tym procesie jest sprawdzenie jakości danych znajdujących się w źródłowym systemie i naprawieniem ich przed faktyczną ekstrakcją. Jednym z służących do tego narzędzi jest DBA-Tools, które świetnie nadaje się do sprawdzenia plików, czy konfliktów SYS-ID.
Następnie możemy już przystąpić do ekstrakcji danych. Jeszcze niedawno MMExtractor, który pobierał dane z systemu Model Manager i przekształcał do formatu WBM, był napisany w architekturze 32-bitowej, co wiązało się z limitem pamięci. W konsekwencji aplikacja nie mogła pracować najwydajniej, a do tego pojawiał się dość istotny problem – procesowanie dużych struktur powodowało przekroczenie limitu dostępnej pamięci. Program przestawał działać, powodując, że spójność danych mogła nie być zachowana. W przypadku małych ilości danych, ta wersja ekstraktora spełniała swoje zadanie, pojawiało się jednak zapotrzebowanie na coś lepszego, co będzie działało wydajnie również z większą ilością danych.
Historia 64-bitowego narzędzia do ekstrakcji z systemu Model Manager
Wychodząc naprzeciw tym potrzebom, pod koniec roku 2018 w dziale PTC R&D zaczęto pracować nad 64-bitową wersją narzędzia. Pomimo krótkiego czasu pracy, już pod koniec 2019 roku swoją premierę miała oficjalna wersja ekstraktora MME20.2 i mimo, że jeszcze nie wszystko działało tak, jak miało w założeniu, to był to zdecydowanie krok w dobrą stronę. Obecnie najnowszą wersją jest MME20.4, udoskonalony wariant poprzedniczek.
Etapy procesu ekstrakcji
Sam proces ekstrakcji nie należy do skomplikowanych i składa się z kilku kroków, z których najważniejsze to:
- FPP (FilePreProcess) –> Dane z wszystkich plików Model Manager są przeprocesowane/wyekstraktowane z vaultów. Na tym etapie dochodzi do rozłączenia informacji INSTANCE<>CONTENT w plikach cadowskich 3D.
- PREPROCESSMETADATA –> na tym etapie przy pomocy ekstraktora MME przygotowuje się metadane do ekstrakcji we wcześniej stworzonych tabelach tymczasowych.
- PROCESSMETADATA –> moment ekstraktownia metadanych obiektów MASTERDATA, 2D, 3D oraz dokumentów wraz z informacją o linkach pomiędzy INSTANCE<>CONTENT, jak również metadanych samych plików.
- PROCESSEXTRACTION –> ekstraktowanie metadanych dotyczących pozostałych linków (EPMMemberLink, EPMBuildRule, EPMDescribeLink, EPMReferenceLink, WTPartUsageLink, WTPartDescribeLink, EPMAsStored).
Wydajność Model Manager ekstraktora
Jeśli porównamy wydajność wersji 32-bitowej oraz 64-bitowej, zauważymy znaczącą różnicę na korzyść nowszej wersji. Do tego najnowszy MMExtractor wspiera inkrementalne podejście, możliwe jest zatem pozyskanie danych miesiąc wcześniej. Później, w decydującym momencie, pobieramy tylko deltę, czyli to, co zostało stworzone i zmodyfikowane przez ten miesiąc.
Niemniej nadal trzeba pamiętać o różnych aspektach, które mogą wpłynąć na wydajność/szybkość ekstrakcji, takich jak:
- wydajne środowisko z wystarczającą liczbą rdzeni CPU oraz ilością pamięci RAM,
- odpowiednie ustawienia narzędzi FPP oraz MME, mając jednocześnie na uwadze, że za dużo workerów może powodować spadek wydajności narzędzia,
- wyciągnięcie tylko zależności między danymi, a samą transformację warto przenieść do customowych skryptów czy programów,
- zminimalizowanie ilości informacji, jakie są logowane do plików,
- odpowiednie ustawienia bazy danych, np.: użycie Simple Recovery Model (SQL Server), wyłączenie Archive Logs (Oracle) oraz przede wszystkim stworzenie odpowiednich indeksów w bazie danych,
- customowe narzędzia, które mogą przejąć część zadań z MMExtractora.
Walidacja danych w trakcie ekstrakcji
Ostatnią, tak naprawdę najważniejszą czynnością, o jakiej trzeba pamiętać w tym procesie, jest walidacja – trzeba wykonać ją po zakończeniu każdego etapu, od FPP do PROCESSEXTRACTION. Mimo że sam ekstraktor raportuje o błędach oraz wskazuje, które rekordy są wadliwe, to mogą się pojawić inne, czasem nieprzewidziane, przypadkowe czynniki, które spowodują, że jakiejś informacji brakuje. Dlatego koniecznym jest sprawdzenie, czy wszystkie dane z systemu Model Manager zostały wyekstraktowane i czy zachowana jest spójność danych. W tym celu należy znać dokładnie schemat danych źródłowej bazy oraz docelową formę wraz z wymaganą transformacją dopasowującą. Jeśli nastąpi jakakolwiek rozbieżność, trzeba wiedzieć, jak to naprawić – czasem wystarczy powtórzyć proces ekstrakcji wadliwego elementu, lub naprawić element jeszcze przed ekstrakcją.
Transformacja, czyli po co to komu
Kiedy dane zostały pobrane z systemu Model Manager, to w teorii można je już załadować do docelowego środowiska, którym jest Windchill. Natomiast, o ile ekstraktor pozwala na modyfikację wartości już podczas ekstrakcji, to często spotykanym podejściem jest wydzielenie tego kroku i wykonanie transformacji przy użyciu customowego narzędzia po ekstrakcji (najczęściej napisanego w języku PL/SQL). Dzięki temu sama wydajność ekstrakcji będzie większa, a wykonanie transformacji bez użycia MMExtractora pozwoli na zaimplementowanie bardziej złożonej logiki biznesowej w dużo prostszy sposób.
Migracja na platformę Windchill 12
Podczas transformacji można także dostosować dane do konkretnej wersji repozytorium Windchill przy migracji danych ze środowiska Model Manager. Dotychczas, wspieraną ścieżką była migracja pomiędzy systemami Model Manager 20.3 oraz Windchill 11.2.1.0. Jeśli chcieliśmy przejść do nowszej wersji systemu, należało po migracji wykonać upgrade z wersji 11 na 12. Więcej na ten temat przeczytasz na naszej stronie:
Natomiast można było na tym etapie także zastosować szczególne obejście i bezpośrednio ładować dane do systemu Windchill 12. Aktualnie najnowsza wersja MMExtractor 20.4 wspiera migrację bezpośrednio do systemu Windchill 12, więc dodatkowy krok nie jest już wymagany, aby załadować dane do najnowszej wersji systemu docelowego. Ostatnim krokiem przed importem danych do docelowego środowiska jest ich normalizacja. Pozwala to zlikwidować ich nadmiarowość i zwiększyć szybkość późniejszego ładowania oraz walidacji, co finalnie wykluczy błędy powstałe na tym etapie.
Jesteśmy już prawie w domu, czyli ładowanie
Ostatnim krokiem pozostaje załadowanie przygotowanych danych z tymczasowej bazy danych, jaką jest STAGING, do docelowego systemu, czyli środowiska Windchill. Do tego służy zaawansowane narzędzie od firmy PTC, jakim jest WBM – Windchill Bulk Migrator. Warto zaznaczyć, że nawet jeśli poprzednie kroki zostały wykonane z należytą starannością, to nadal możemy napotkać jakieś błędy przy ładowaniu, przykładowo brak kompletnej biznesowej konfiguracji na platformie Windchill, brakujący folder itd.
Przy większej ilości danych trzeba pamiętać o wydajności. Odpowiednie środowisko, Windchill jako klaster, odpowiednie ustawienia w programach Windchill oraz WBM, indeksy, statystyki bazodanowe – to wszystko ma wpływ, z jaką szybkością załadujemy nasze dane. Na koniec pozostaje tylko walidacja, która pozwoli się upewnić, że wszystko jest na swoim miejscu.
Co wybrać – PDM czy PLM?
To pytanie dotyczy również kwestii rozwoju firmy. Decydujesz się, aby pozostać na etapie zarządzania danymi produktu, czy ponadto chcesz zarządzać cyklem życia produktu? Czy chcesz korzystać z narzędzia odpowiedzialnego za przechowywanie, organizowanie i udostępnianie danych związanych z produktami oraz podstawowych procesów? A może potrzebujesz zaimplementować biznesową strategię zarządzania produktem w całym jego cyklu życia, od fazy koncepcyjnej, poprzez projektowanie i dostawę, aż po serwis i utylizację? Każda firma dąży w kierunku innowacji i ciągłego rozwoju, szczególnie poprzez maksymalizację dochodów wynikających z powtarzających się procesów. Strategię zarządzania cyklem życia produktu w organizacji można łatwo poprawić, dzięki przejściu z systemu PDM jakim jest Model Manager na platformę PLM jaką jest Windchill.
Na zakończenie
O ile zarys procedury migracji pomiędzy środowiskami Model Manager oraz Windchill wydaje się na pierwszy rzut oka prosty, to jest wiele sytuacji, w których mogą i pewnie pojawią się problemy. Dane produktowe są sercem każdej aplikacji przeznaczonej do zarządzania cyklem życia produktu. Błędy mogą skończyć się ich utratą, a ich konsekwencje będą odczuwalne. Migracja to zagadnienie teoretycznie proste, ale diabeł tkwi w szczegółach. Dlatego warto powierzyć to zadanie sprawdzonemu specjaliście, który wie, z czym ma do czynienia i jak podołać temu zadaniu. Doświadczenie jest na wagę złota. Jeśli zainteresował Cię ten temat, odwiedź naszą stronę i dowiedz się więcej.