Product lifecycle management has never been more relevant than it is now, in an ever-changing world. Today, it is no longer enough to have a great idea or even good execution. What is needed now is full control over the product – from concept, through design and production, to service and disposal. There are various data management systems on the market such as Windchill, Teamcenter, SAP PLM, SmarTeam. In our article, we will focus on two of them: Creo Elements/Direct Model Manager and Windchill. We will discuss at what stage of the software lifecycle they are currently and which of them will certainly be developed and maintained in the future.
What is PTC Creo Elements / Direct Model Manager?
PTC Creo Elements/Direct Model Manager was, until recently, an indispensable product data management tool for the design application – Modeling. With this central repository, users could (and still can) streamline project teams’ efforts to track and manage project data throughout the product lifecycle. Both products were developed several years ago by CoCreate, which later became part of PTC. Model Manager has a long history and many advantages, including the ability to integrate with other CAD applications and is fully customizable to meet user requirements. However, it is still just product data management, so PDM (Product Data Management).
Why Windchill?
A growing number of companies that understand the value of product lifecycle management begins to look towards PTC’s other, more complex product – the Windchill system. It happens for a very simple reason – PTC does not fully develop its two products in parallel, focusing on the PLM (Product Lifecycle Management) concept. Model Manager is still supported and it’s not going to change in the near future, but Windchill is and will be a much more advanced PDM tool, extended by PLM strategy, fully configurable, with the ability to be integrated with many other systems. If you want your company to grow, you think – Windchill. But to do that you need to migrate from PTC Creo Elements/Direct Model Manager to the intended system.
Migration – an ETL process?
The acronym was already clarified in an article on the TTPSC blog:
The name ETL is derived from English and means when elaborated:
- extraction (obtaining data from the source system),
- transformation (transforming to the right format, applying the right filtering, and implementing business rules),
- load (data loading).
These operations are the essence of the migration process, but we should not forget about another important component, namely data validation. Because of the latter, you may also come across the term ETLV (Extract-Transform-Load-Validation).
The whole process also includes a data cleaning procedure, which is not assigned only to the transformation stage – much more often such an operation is performed before the extraction, or sometimes after the data loading, although such an order occurs much less frequently.
Utility for extraction from Model Manager
PTC has created both extraction (MME – MMExtractor) and data loading (WBM – Windchill Bulk Migrator) tools, which definitely streamlines the work on ETL process. However, it is fair to say that migration from Model Manager to Windchill platform is more demanding than it seems. A reliable approach to this task requires the knowledge of business processes both in one and the other environment. It is also necessary to know the data structure in both databases and how the migration tools work. Problems and errors occur frequently, so it is essential to understand how to perform the migration correctly, taking into account the business requirements and data integrity.
Where to start – the extraction
The first step in this entire process is to check the quality of the data in the source system and fix it before the actual extraction. One tool used for this is DBA-Tools, which is great for checking files or SYS-ID conflicts.
After that, we can already proceed with data extraction. Until recently, MMExtractor, which extracted data from the Model Manager system and converted it to a WBM format, was written in 32-bit architecture, which was associated with a memory limit. As a result, the application was unable to work in the most efficient way, and a quite significant problem appeared – processing of large structures caused exceeding a limit of the available memory. The program stopped working, causing the consistency of data could not be preserved. When dealing with small amounts of data, this version of the extractor did its job, however, there was a need for a better solution, which would also work efficiently with larger amounts of data.
History of the 64-bit extraction tool for the Model Manager system
To meet these needs, the PTC R&D department started working on a 64-bit version of the tool in late 2018. Despite the short development time, the official version of the extractor MME20.2 was released already at the end of 2019, and although not yet everything worked as it was supposed to, it was definitely a step in the right direction. Now, the latest version is MME20.4, an improved variant of its predecessors.
Steps in the extraction process
The extraction process itself is not complicated and consists of several steps, the most important of which are:
- FPP (FilePreProcess) –> Data from all Model Manager files are reprocessed/extracted from vaults. At this stage, the INSTANCE<>CONTENT information in the 3D CAD files is split.
- PREPROCESSMETADATA –> in this step, using MMExtractor, metadata is prepared for extraction in the temporary tables which are created in one of the earlier steps.
- PROCESSMETADATA –> the moment of extracting the metadata of MASTERDATA, 2D, 3D objects and documents along with the link information between INSTANCE<>CONTENT, as well as the metadata of the files themselves.
- PROCESSEXTRACTION –> extraction of metadata for the remaining links (EPMMemberLink, EPMBuildRule, EPMDescribeLink, EPMReferenceLink, WTPartUsageLink, WTPartDescribeLink, EPMAsStored).
Performance of the Model Manager Extractor
If we compare the performance of the 32-bit and 64-bit versions, we can see a significant difference in favor of the newer version. In addition, the latest MMExtractor version supports an incremental approach, so it is possible to retrieve data a month earlier. Then, at the crucial moment, we can extract only the delta, in other words, what was created and modified during that month.
Nevertheless, you still need to keep in mind various aspects that can affect the extraction efficiency/speed, such as:
- a high-performance environment with a sufficient number of CPU cores and RAM,
- proper FPP and MME tool settings, while keeping in mind that too many workers can cause a decrease in the tool performance,
- extracting only dependencies between the data. The transformation itself can be moved to custom scripts or programs,
- minimizing the amount of information that is logged into files,
- adequate database settings, e.g.: using Simple Recovery Model (SQL Server), disabling Archive Logs (Oracle), and, above all, creating appropriate indexes in the database,
- custom tools that can take over some of the tasks from MMExtractor.
Data validation during extraction
The last, and in fact the most important, activity to remember in this process is validation – this needs to be done after each step, from FPP to PROCESSEXTRACTION. Although the extractor itself reports errors and indicates which records are defective, there may be other, sometimes unforeseen, random factors that cause some information to be missing. Therefore, it is necessary to verify that all Model Manager data has been extracted and that data integrity is maintained. For this purpose, you should precisely know the data schema of the source database and the target form along with the required matching transformation. If there is any discrepancy, you need to know how to fix it – sometimes you just need to repeat the process of extracting the faulty element or fix the element even before extraction.
Transformation – what is it for?
During the transformation, you can also adapt the data to a specific version of the Windchill repository when migrating data from the Model Manager environment. So far, the supported path has been migration between Model Manager 20.3 and Windchill 11.2.1.0 systems. If you wanted to switch to a newer version of the system, you had to upgrade from version 11 to version 12 after the migration. For more information on this matter, please visit our website:
Migration to Windchill 12 platform
During the transformation, you can also adapt the data to a specific version of the Windchill repository when migrating data from the Model Manager environment. So far, the supported path has been migration between Model Manager 20.3 and Windchill 11.2.1.0 systems. If you wanted to switch to a newer version of the system, you had to upgrade from version 11 to version 12 after the migration. For more information on this matter, please visit our website:
However, it was also possible to use a special workaround at this stage and directly load the data into the Windchill 12 system. Currently, the latest version of MMExtractor 20.4 supports the migration directly to the Windchill 12 system, so the additional step is no longer required to load the data to the latest version of the target system.
The last step before importing data to the target environment is its normalization. This eliminates data redundancy and increases the speed of subsequent loading and validation, which ultimately eliminates errors arising at this stage.
We’re almost there – loading
The last step is to load the prepared data from the temporary database, which is STAGING, into the target system, i.e. the Windchill environment. The advanced tool from PTC, WBM – Windchill Bulk Migrator, is used for this purpose. It is worth mentioning that even if the previous steps have been performed with due diligence, we may still encounter some errors during the upload, for example, lack of complete business configuration on the Windchill platform, missing folder, etc.
With more data, you have to keep performance in mind. The right environment, Windchill as a cluster, the right settings in Windchill and WBM, indexes, database statistics – all these things have an impact on how fast we load our data. Finally, all that remains is validation to make sure everything is in place.
What to choose – PDM or PLM?
This question also addresses the issue of business development. Do you decide to stay in the product data management stage or would you like to manage the product lifecycle as well? Do you want a tool responsible for storing, organizing and sharing product-related data and core processes? Or do you need to implement a business strategy for product management throughout the product lifecycle, from the conceptual phase, through design and delivery, to service and disposal? Every company strives for innovation and continuous growth, especially by maximizing revenue resulting from recurring processes. The product lifecycle management strategy in an organization can be easily improved by moving from PDM system like Model Manager to PLM platform like Windchill.
In conclusion
While the outline of the migration procedure between Model Manager and Windchill environments seems simple at first glance, there are many situations where problems can and probably will arise. Product data is the heart of any application designed to manage the product lifecycle. Mistakes can end up losing them, and the consequences will be felt. Migration is a theoretically simple thing, but the devil is in the details. Therefore, it is worth entrusting this task to a proven specialist who knows what he is dealing with and how to cope with this task. Experience is worth its weight in gold. If you are interested in this topic, be sure to visit our website and learn more.