Professional Documents
Culture Documents
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of
publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part
of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This document is for
informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS
DOCUMENT.
Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and
events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address,
logo, person, place or event is intended or should be interred.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this
document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic,
mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in
this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not
give you any license to these patents, trademarks, copyrights, or other intellectual property.
Table of Contents
Chapter 1: Introduction .................................................................................................................... 1
Overview ...................................................................................................................................... 1
About CATIA V5 ....................................................................................................................... 1
CATIA V5 on Windows............................................................................................................. 2
Audience ...................................................................................................................................... 3
What You Must Know .................................................................................................................. 4
How to Use This Guide ................................................................................................................ 5
How This Guide Is Organized ...................................................................................................... 6
Chapter 2: Planning a CATIA UNIX to Windows Migration............................................................. 7
Planning Installation..................................................................................................................... 8
Features of a Local Installation ................................................................................................ 8
Features of a Code Server Installation..................................................................................... 9
The Use of Packaging and Deployment Tools....................................................................... 10
Planning for Windows Version ................................................................................................... 11
Planning Hardware .................................................................................................................... 12
Workstations in a Local Installation ........................................................................................ 12
Workstations and Code Servers............................................................................................. 12
Planning for Data Migration ....................................................................................................... 14
Planning Custom Application and Script Migration.................................................................... 15
Choosing Interoperability Solutions ........................................................................................... 16
Summary.................................................................................................................................... 18
Chapter 3: CATIA Local Installation .............................................................................................. 19
Preparing for Local Installation .................................................................................................. 20
Need for Packaging................................................................................................................ 20
A Comparison of Packaging Tools......................................................................................... 20
A Comparison of Deployment Techniques............................................................................. 24
Deployment of Service Packs, Hotfixes, and Rollbacks ........................................................ 27
Methodologies............................................................................................................................ 28
Single Workstation Installation ............................................................................................... 28
Packaging Options ................................................................................................................. 28
Deployment Options............................................................................................................... 37
Installation Validation ............................................................................................................. 48
Summary.................................................................................................................................... 49
Chapter 4: CATIA Code Server Installation................................................................................... 51
Preparing for Code Server Installation....................................................................................... 52
General Architecture .............................................................................................................. 52
Server-side Installation........................................................................................................... 53
Client-side Installation ............................................................................................................ 54
Client-side MSI Package Creation ......................................................................................... 55
Deployment of MSI Packages ................................................................................................ 56
Multiple Releases of CATIA V5 on the Same Workstation .................................................... 56
Rollback of CATIA V5............................................................................................................. 57
Offline Folders ........................................................................................................................ 57
Using Multiple Code Servers with Dfs.................................................................................... 58
Performance of Code Serving ................................................................................................ 58
Methodologies............................................................................................................................ 59
Server-side Installation Process............................................................................................. 59
1
Introduction
Overview
Welcome to the CATIA Migration from UNIX to Windows Guide. This guide is designed to
provide CATIA administrators, network managers, and operating system administrators
the best information available on issues that they are likely to face while planning or
implementing CATIA version 5 in Microsoft Windows operating system environments.
In addition, a significant portion of this document provides the detailed instructions to
deploy CATIA in a large engineering environment and administer it remotely and
efficiently.
About CATIA V5
CATIA version 5 is a process-centric computer-aided design/computer-assisted
manufacturing/computer-aided engineering (CAD/CAM/CAE) system that fully uses next
generation object technologies and leading edge industry standards. Seamlessly
integrated with Dassault Systemes Product Lifecycle Management (PLM) solutions, it
enables users to simulate the entire range of industrial design processes from initial
concept to product design, analysis, assembly, and maintenance. The CATIA V5 product
line covers mechanical and shape design, styling, product synthesis, equipment and
systems engineering, NC manufacturing, analysis and simulation, and industrial plant
design. In addition, CATIA Knowledgeware enables broad communities of users to easily
capture and share know-how, rules, and other intellectual property (IP) assets.
CATIA V5 builds on powerful smart modeling and morphing concepts to enable the
capture and reuse of process specifications and intelligence. The result is an easily
scaleable, Web-enabled system that covers all user requirements within the digital
extended enterprise, from the simplest design to the most complex processes. This
capability allows optimization of the entire product development process while controlling
change propagation. CATIA V5 moves beyond traditional parametric or variational
approaches, accelerating the design process and helping designers, engineers, and
manufacturers increase their speed and productivity.
CATIA V5 has an innovative and intuitive user interface that unleashes the designer's
creativity. Context-sensitive integrated workbenches provide engineers with the tools
they need for the task at hand, and they are beneficial for multi-discipline integration. The
workbenches have powerful keyboard-free direct object manipulators that maximize user
productivity.
CATIA V5 on Windows
This is the first version of CATIA that can be run on either UNIX or Windows. You can
select an operating system to match your corporate IT strategy. For example, if your
other office and technical applications all run on Windows, you can move CATIA to that
environment and eliminate the need for UNIX. This system will be more convenient to
use because users can access all applications from a single workstation, and it will be
easier to administer because the integration of UNIX and Windows is no longer
necessary.
If you choose to run CATIA V5 on Windows, a number of key questions and issues will
occur: How should the installation be configured? Which Windows services will need to
be configured? How can the administrative effort involved be minimized? If you have
been running CATIA V4 on UNIX, you must consider the migration of your existing data
to the new environment and the communication between UNIX and Windows during the
migration. These are the questions and issues this guide was written to address.
The information included in this guide is gathered from consultants working in the field,
tests carried out to prove the concepts, and from customer issues that have already been
confronted and solved during migration. The amalgamation of this experience constitutes
current best practices.
Audience
This guide is intended for those companies considering, or committed to, running CATIA
V5 on Windows. Its content will interest both the Information Technology (IT) department
and, to a lesser extent, the design department.
Heads of IT, senior systems administrators, and system architects will be interested in
the design decisions involved in the entire migration process. These include both large
scale decisions, such as the choice of where to install CATIA, and more detailed choices,
such as how to migrate a particular type of CATIA data file. Design managers and senior
CATIA design engineers should help inform these decisions because of their end user
expertise, and so portions of this guide are also of interest to them. Once the project plan
has been completed, other administrators will find the step-by-step procedures helpful.
Chapter 1 Introduction. The current chapter gives a brief overview of CATIA and
describes the purpose of this document.
Chapter 4 CATIA Code Server Installation. This chapter is relevant if you have
chosen to install CATIA on a centralized server to which clients will connect to run
it. The special configurations required on both server and client are described.
Methods of optimizing the performance of such a configuration are also included.
Chapter 6 CATIA Data Migration. If you have existing CATIA data files, you will
probably need to move them from UNIX to Windows and from CATIA V4 to V5.
This chapter details this migration.
2
Planning a CATIA UNIX to
Windows Migration
CATIA V5 is the first version of the application that can run on Microsoft Windows as
well as UNIX. This guide aims to help those considering upgrading from V4 or moving
from a UNIX operating system environment to Windows.
Your existing CATIA system may be of a small scale, with fewer than 10 users and a
small number of product designs. Such environments are likely to be comparatively easy
to migrate and may encounter only a few of the obstacles outlined in this guide. If,
however, you have hundreds or thousands of CATIA users, large quantities of data, and
a distributed network with many desktop computers and servers, your migration project is
likely to take longer, be more complex, and experience technical challenges.
In both cases, however, administrators or developers who have responsibility for
completing migration projects can gain an advantage with thorough preparation. Before
you make any change to the actual environment, it is strongly recommended that you
create a detailed plan describing every phase of the project. If you do not plan well, you
may make mistakes that are costly and time consuming to repair and you may have a
detrimental impact on the productivity of your designers. In the worst case scenario, you
might have to resort to disaster recovery in order to return your system to a usable state.
This guide is structured in such a way as to encourage you to plan as much as possible
before any practical action is taken. To this end, the step-by-step procedures needed to
perform the migration are not described until after the concepts and design decisions
relevant to those procedures have been covered.
It is strongly recommended that you document your migration plan fully from the earliest
stages to the final revisions, and that the IT Department consult end users prior to
finalizing the plan. For more information regarding process phases and roles, see the
UNIX Migration Project Guide.
Planning Installation
The first issue to consider when planning a CATIA migration is your approach to
installation. Two major strategies are possible:
CATIA starts up rapidly and performs well because all the CATIA executable files
are on the local computer,
CATIA can be run without generating any network traffic at all. Of course, if data
files are stored on file servers, opening and saving files does generate traffic, but
this will typically be less than that generated with a code server installation.
A large amount of disk space, between one and two gigabytes, on each
workstation is devoted to CATIA executables.
Any service pack or hotfix to CATIA must be deployed to all workstations in the
same manner as the initial installation. This process can also, however, be
automated.
The above disadvantages usually become more acute as the size of your environment
increases. With only 10 users, manual installation is practical and simple. With 100 users,
local installation may still be considered practical if it is automated. When you have a
user base of hundreds or thousands, consider a code server installation carefully.
The deployment of service packs and upgrades is eased because they have to be
installed only on the code server.
When serving a significant number of users, the load placed on the server is high.
Thus it should be a dedicated server, separate from those for file serving,
authentication, and other functions.
The network traffic generated by code serving can be alleviated using Offline Folders.
This built-in feature of Windows 2000 and later was originally intended to allow laptop
users to work on a cached copy of shared files while offline and to automatically upload
their changes to the file server on reconnection. When used with a code server, this local
cache of executable files can be used to run CATIA with much less network traffic than is
otherwise necessary. This also improves the speed with which CATIA starts and allows
the performance to rival that of a local installation.
The workstations must clearly connect to the code server in order to run CATIA. If the
server fails, problems ensue. However, by using the Distributed File System (Dfs)a
Windows 2000 featurethe system can be made resilient to such failures. With Dfs,
workstations automatically locate a code server to run the application. Should one fail,
clients are automatically redirected to another. This configuration also allows some load
balancing between code servers, and this improves scalability.
You will find a thorough examination of the behavior of a code server CATIA system in
the Appendix. With a combination of Offline Folders and Dfs, the performance of this
configuration can be improved to the point where it compares well with local installation.
This configuration is recommended for all but the smallest CATIA environments.
SYSDIFF. This Microsoft tool can be used to record the differences that CATIA
installation makes to a workstation. These differences can be included in an
unattended installation of Windows.
MSI Files. These packages are used by the Windows installer service to set up
applications. However, because they are provided with CATIA, you must create
them with a third party tool such as OnDemand WinINSTALL or InstallShield
AdminStudio. Once they are created, Group Policy, a feature of Active Directory,
can be used to easily roll them out.
Symantec Ghost. This application allows you to take and store snapshots of a
computer and its software. A Ghost image includes both operating system and
applications such as CATIA. A Ghost AutoInstall package includes only
applications and can be added to a workstation after the operating system is
installed. Symantec Ghost includes the Ghost Console, an application that
automates the deployment of these files to workstations.
When deploying packages, be careful about network traffic. If many users are installing
CATIA simultaneously, the load placed on the network and the file servers can be huge.
Ensure that the package is deployed in phases to small groups of users. This also allows
you to test carefully and detect problems when they affect only a small number of users.
10
11
Planning Hardware
Before deploying CATIA, be aware of the load it is likely to place on your hardware. With
this knowledge you can ensure that the system responds rapidly to user requests and
does not become swamped.
CATIA uses significant CPU and memory resources, particularly with complex projects or
many simultaneous tasks. The minimum free disk space required for installation is two
gigabytes, but keep in mind that a similar amount is used by the operating system, and
other applications and data files also have demands.
A great deal of load is placed on all aspects of the code servers hardware. The following
configuration, however, should scale to at least 24 clients before network traffic becomes
a limiting factor:
Code Servers:
Intel Xeon processors, 2.0 GHz
2 GB RAM
1 Gigabit/s network adapter
ICP Vortex GDT8523RZ RAID Controller
SCSI HD, 73GB, 10krpm (1x single, 4x RAID5)
12
These recommendations should only be used as rules of thumb because the behavior of
users can vary significantly. You can obtain further guidance by observing the behaviour
of your existing system. Once the migration is complete, monitor the performance of your
servers and workstations to be sure that performance is optimized.
For details of the tests performed on code serving that produced these guidelines, see
the Appendix.
13
There are differences between the way UNIX and Windows store data. This factor
includes the issue of file names, which are case sensitive in UNIX and insensitive
in Windows.
There are differences in the data files used by CATIA V4 and V5. The upgrade
process requires data to be in CATIA version 4.1.8 or later. Because file storage
has changed significantly in V5, certain file types can take several stages to
upgrade smoothly.
Note: V4 data has to be upgraded to V5 format only if changes are to be made to the
data. CATIA V5 can read all V4 data.
If you have large quantities of data to migrate, a situation which is likely in a large implementation
14
15
Connectivity. This is the ability to connect from UNIX to Windows (or the other
way around) for the purposes of running a command or program. If you wish to run
a command line program, this can be done with a simple text-based system such
as telnet. Running a full version of CATIA on the remote system, however, requires
a graphical user interface (GUI). Such remote GUIs can be provided by X
Windows, Terminal Services, or third-party tools.
Resource Sharing. The two operating systems protocols used in file serving are
complementary but incompatible. Therefore, you must plan to access a UNIX file
server from Windows and a Windows file server from UNIX. Common Internet File
System (CIFS), also known as Server Message Block (SMB), is the native
Windows file sharing protocol; its equivalent in UNIX is Network File System (NFS).
The Samba CIFS server can be run on UNIX, and there are NFS Servers, such as
Microsoft Services for UNIX 3.0 (SFU), which run on Windows.
The following section provides an overview of possible strategies and discusses factors
that may influence your design decisions.
For example, an administrator might decide that users require only telnet access to the
UNIX servers from their Windows-based computers to run a script that manipulates
CATIA data files. However, one specific X Windows application might need to be
referenced during the migration. In this case, a limited tactical implementation of X
Windows servers for specific users might be appropriate, even though it is not in the
strategic plan. To help you prepare for contingencies such as this, the following list
presents major strategic considerations to address in your plan.
Ease of use. The solution should be as easy to use as possible. The importance
of this factor depends on the skills of target users.
16
Lifetime of the UNIX environment. The UNIX environment does not disappear
overnight. In some migrations, a cross-platform, heterogeneous environment may
continue for years. In others, the UNIX environment phases out after the migration
is complete. The level of integration required for short-term or long-term
interoperability is quite different.
These considerations will inform your decision regarding your target environment.
17
Summary
More detailed design decisions are covered in subsequent chapters.
In all aspects of planning, the principal factors that affect your decisions include the
following:
Budget. For example, any method of automating repetitive tasks should save time
and therefore money.
User numbers. For example, local installation is usually only practical with a small
user base.
Network traffic. For example, code serving can generate large volumes of
network traffic. Offline Folders, however, can be used to alleviate the problem.
A thorough and carefully considered planning phase of your migration project will pay.
Mistakes should be few, expenses can be predicted, and the impact on productivity will
be minimized.
18
3
CATIA Local Installation
If you have chosen to install CATIA V5 software locally, you must set up the software
on each workstation where design will take place. You have the advantage that CATIA
will run quickly because all of its code is located on the local computer and CATIA will
generate relatively little network traffic. However, many local installations may increase
the administrative overhead of a CATIA system. See Chapter 2, Planning a CATIA UNIX
to Windows Migration, for a detailed discussion of these issues.
There are a number of techniques to choose from that can speed and automate local
installations, and each is described in this chapter. In addition to installation, the
management of CATIA V5 software involves upgrades, rollbacks, and sometimes running
more than one version of CATIA on the same workstation. These topics are also
described.
The chapter is divided into two major sections. Use the first, Preparing for Local
Installation, to select the techniques to use and to plan your approach. Then find stepby-step example procedures for the tool you have selected in the "Methodologies"
section.
19
20
Budget. SYSDIFF, WinINSTALL LE, and MSITool are free, and Silent Installation,
or Unattended installation, is a feature of CATIA itself. However, if you also require
advanced management features or have large numbers of workstations, you will
also need Symantec Ghost or Microsoft SMS.
Server Disk Space. Any package that includes CATIA will require a large amount
of disk space to store. If the package includes an operating system as well, the
problem is compounded.
Other Applications. You may wish to roll out other applications along with CATIA.
Many of the tools allow you to create a package containing multiple applications,
but Silent Installation, or Unattended installation, can be used only for CATIA.
SYSDIFF
SYSDIFF.exe is one of the deployment tools provided in the Windows Resource Kit
and as a download from the Microsoft Web site. You can use it to include an application,
such as CATIA, in the installation of a desktop operating system. It can be used with
Microsoft Windows NT 4.0 and Windows 2000.
The process is as follows: The Windows installation files (the i386 directory from the
Windows CD) are copied to a shared folder on a server, known as the Distribution
Server. A desktop computer, known as the Master System, has Windows installed on it.
SYSDIFF.exe is used to create a difference file that records the changes made to the
Master System by the installation of desktop applications, which may include CATIA.
SYSDIFF.exe is then used to apply these changes to the shared installation files on
the Distribution Server. When unattended installations of Windows are later run from the
Distribution Server, they will automatically include the applications originally installed on
the Master System.
This tool is normally used to distribute CATIA only on to newly installed desktop
computers and only if the installed operating system configuration matches the OS
configuration of the Master System. However, it can automate the installation of all the
applications to be installed on desktop computers in one operation.
Prerequisites:
A share on the Distribution Server for the Windows i386 installation directory, the
difference file, and auxiliary files. This share must have sufficient space for all the
applications to be installed.
21
One clean personal computer with a hardware configuration that is identical to the
client's hardware configuration and that has CATIA V5 installed. This will be the
master computer.
The AI packager needs Symantec Ghost Console for deployment across the
network.
The model computer should have a configuration similar to those that will receive
the finished AI package.
WinINSTALL
In Windows 2000 and later, the preferred method for installing applications is with .msi
files and the Windows Installer Service. This service finds instructions for installation
within the .msi files. Applications installed from .msi files can be automatically repaired
and smoothly removed by the service.
The Windows Installer Service can be invoked by simply double-clicking on an .msi file,
or Group Policy can be used (see Deployment Options later in this chapter).
Unfortunately, CATIA does not include an .msi file for installation. However WinINSTALL
is an application that can create these using a snapshot procedure. Now owned by
OnDemand Software, WinINSTALL was previously a VERITAS product. A free version,
WinINSTALL LE, ships with the Windows 2000 Advanced Server CD. Fully featured
versions are obtainable from OnDemand.
22
Prerequisites:
A minimum of 15 MB of free hard disk space on the server or workstation for the
installation of WinINSTALL.
A workstation to create the package. The ideal reference computer (where the
package will be created) is a clean machine, that is, one with only the operating
system installed.
WinINSTALL cannot create .msi files for an installation of more than 32,767 files.
Therefore, some options, like AL2 in CATIA, cannot be made into a package
properly.
MSITool Packaging
MSITool, provided by Microsoft, can be used to create Windows installer packages and is
thus a similar approach to WinINSTALL.
This tool creates a Microsoft Windows Installer (MSI) database for a single feature install.
By pointing this tool at a desired directory and following a few easy steps, you can
produce an .msi file, which may then be used to perform installations. Having installed
CATIA on one computer, you can then use the tool to create an .msi file from the CATIA
directory.
MSITool supports a sophisticated system that allows environment variables, registry
entries, and product properties to be set during an installation. MSITool provides an XMLbased method for setting up these capabilities. With an ASCII editor such as Notepad,
you can edit the example XML files provided with the tool to implement these capabilities.
A package created in this way can then be easily fine-tuned by using an MSI database
editor such as Orca.exe. This editor, downloadable from the Microsoft Web site, displays
and edits the instructions contained in an .msi file and can also validate the database.
To get the latest MSITool, contact the Application Development Service Line in the U.S.
National Practices through your local Microsoft Consulting Services practice at
http://www.microsoft.com/business/services/mcs.asp, or contact Infosys at
catiasupport@infosys.com.
23
Systems Management Server 2.0 offers greater control and flexibility in software
distribution than its previous versions. Built-in functionality includes the option to force a
package to run using a specified account with administrative rights on the target
computer. This is necessary when distributing to clients who either are not logged on or
when the logged on user does not have local Administrator rights on the computer.
SMS includes its own packaging tools that can be used to package an entire operating
system image, including applications such as CATIA. Alternatively, it can create
packages containing just CATIA, similar to a Ghost AI package. If you use SMS to create
a CATIA package, you must also use SMS as the deployment technique.
In addition to its software distribution features, SMS has advanced asset management
that allows you to catalog and track software and hardware and troubleshoot remotely.
Packaging Tool. Some packages require the use of their associated deployment
tools. For example, a Ghost AI package should be deployed with the Ghost
Console.
Versatility. Group Policy (described later in this chapter), for example, allows you
to define a small number of computers out of your entire enterprise and to
determine where CATIA will be installed, all from a centralized administrative
interface.
24
Group Policy is highly flexible and can roll out software to closely controlled groups of
users or computers. It is not suitable for deploying SYSDIFF installations, Ghost Images,
or Ghost AI Packages.
Group Policy is easiest to use in conjunction with an .msi file. Because CATIA does not
include an .msi file, you must create one using WinINSTALL. If this is not possible, you
could create a batch file to perform a Silent Installation or Unattended installation of
CATIA. Group Policy can be used to run such a batch file on users computers.
Domain Name Service (DNS) Server. Remote installation relies on DNS for
locating the directory service and client computer accounts. Any Windows 2000
Active Directory service-compliant DNS server or the DNS server provided with
Windows 2000 Server can be used.
Active Directory. RIS relies on Windows 2000 Active Directory for locating
existing client computers as well as existing RIS servers. RIS must be installed on
a Windows 2000-based server that has access to Active Directory. This can be a
domain controller or a server that is a member of a domain with access to the
Active Directory.
Shared Folder Space. The drive on the server where RIS is installed must be
formatted with the NTFS file system. RIS requires a significant amount of disk
space and cannot be installed on the same drive or partition on which
Windows 2000 Server is installed.
25
Perform backups.
An administrator can efficiently manage the networked users by grouping them within
Symantec Ghost Console.
If you have created a Ghost image or AI Package that includes CATIA, this is the
preferred method of deployment to the desktop.
Rshmsisvc
The Rshmsisvc is a service developed by Microsoft that assists in the deployment of
software and subsequent updates. The service resides on client computers and can be
installed by using Active Directory. (The installation can be done during startup). The
service possesses administrative privileges and executes commands based on a
triggering event. The triggering event is generated by the update of a specified text file
(trigger script) that resides locally on the clients.
Rshmsisvc can be used to distribute .msi packages or to run a silent CATIA installation.
To get the latest RshMSISvc, contact the Application Development Service Line in the
U.S. National Practices through your local Microsoft Consulting Services practice at
http://www.microsoft.com/business/services/mcs.asp, or contact Infosys at
catiasupport@infosys.com.
26
27
Methodologies
Single Workstation Installation
! The following step-by-step procedure describes the desktop computer
installation of CATIA V5R10.
On each workstation:
Packaging Options
Packaging options include Silent Installation/Unattended installation, Symantec Ghost
and WinINSTALL. This section also includes a discussion of SYSDIFF as an option to
capture "before" and "after" snapshots. The following sections describe the procedures
for each.
28
to
EnableLangDlg = N
This will ensure that the installation runs in silent mode without invoking the
graphic user interface. This step completes the creation of the package.
29
5. To install the package, create a batch file in the same folder (for example, CATIA
V5R10Install.bat), containing the following command:
Setup.exe -s -f2path_name\LogFile -f1path_name\ResponseFile
where path_name (after -f2) is the pathname of the folder and LogFile is the
name of a file for logging the installation. The path_name and ResponseFile
variables after f1 are the values determined earlier in this procedure. The default
log file name is Setup.log. This file will be used by the Setup.exe program when
distributing CATIA V5 to other computers. You can change the destination folder
for installation by modifying the Setup.iss file.
In CATIA V5 R11, Silent Installation is replaced by the StartB batch installation
command. Note that Online documentation cannot be installed using this
approach. The detailed steps to create the StartB installation package are as
follows:
Copy the software to the source computer and share it in the network, or simply
make the CD-ROM available in the network
In the computer where you want to install CATIA, connect over the network to the
source computer containing the software using Explorer and map a network drive
to the shared folder.
At the command prompt, from the INTEL folder run the following batch command:
StartB
Use the appropriate arguments:
-u "unload_dir"
Specifies the unload directory; make sure the directory path is enclosed like
this: "unload dir" if the directory name contains spaces; the default unload
directory is:
C:\Program Files\Dassault Systemes\B11
-ident IDENT
Creates an identifier used for differentiating multiple versions of the same
release installed in different locations on the same computer.
-newdir
Creates the unload directory if it doesn't exist.
-D env_dir
Specifies the environment directory; the default environment directory is:
C:\Documents and Settings\All Users\Application
Data\DassaultSystemes\CATEnv
-lic "pathname.lic"
Specifies the path and name of the nodelock license certificate to import.
-exe
Runs a Version 5 session at the end of the installation.
-orbixport port1
Specifies the Orbix daemon port number.
30
-orbixbase port2
Specifies the starting port number for daemon-run servers.
-orbixrange
Specifies the range for daemon-run servers.
-AddUserPrivilegesForOrbix
Adds required privileges for Orbix for current user if they are missing.
-backbonePorts port3 port4
Specifies the ports reserved for the communication backbone; default values
are 6666 and 6667.
-VRPort port5
Specifies the port reserved for processing events when using peripheral
devices (spaceball, spacemouse, joystick); the default port for the peripheral
device broker is 6668.
-noSetupPorts
Specifies you do not want to set up any communication ports.
-CatiaV5Info/-CatiaV5Path Path -CatiaV5EnvPath Path CatiaV5EnvName EnvName
Options for CATIA V5 ENOVIA V5 LCA interoperability.
-CatiaV5Info/
Used alone, setup takes default values for other parameters.
-CatiaV5Path Path
Specifies CATIA V5 Installation path.
-CatiaV5EnvPath Path
Specifies CATIA V5 Environment path.
-CatiaV5EnvName EnvName
Specifies environment file for CATIA V5.
-v
Verbose mode.
-h
Displays help.
-list
Lists the configurations and products on the CD-ROM.
-all
Unloads all the configurations and the products on the CD-ROM
31
-l "list_to_unload"
Specifies the list of configurations and/or products to unload. You have to type
the list of configurations and/or products, which you can obtain by running the
command using the list argument. In the list, configuration names look like
this: ME2.slt, and product names look like this: KIN.prd. These are the
names you must type. Separate the names using a space.
The arguments -list, -all and -l "list_to_unload" are mutually exclusive.
-noLang "fr ge it jp ch"/-noLang all
Specifies user doesn't want to install language user interface files for French,
German, Italian, Japanese, Simplified Chinese.
-noFonts
Specifies user does not want to install language-indexed fonts.
-noreboot
The system will not be restarted if needed.
-DLL
Updates the system DLLs if needed; your computer will be rebooted if the
system DLLs are updated.
-UpdateServices
If used without arguments, it updates the file
C:\WINNT\system32\drivers\etc\services with the default
communication port numbers, even if the lines already exist in the file; if used
with arguments, it can also be used to specify other port numbers.
VBA is not installed automatically by using the StartB batch command. To install
VBA, run the following command:
msiexec /q /i pathcdrom\VBA\VBA6.msi
where pathcdrom is the path of the shared folder in the source computer.
32
SYSDIFF
This tool can be used to include the installation of CATIA and other applications during
the installation of the operating system on a desktop computer.
! Follow this procedure to use SYSDIFF:
1. Install Windows on the master system. Wait to install applications until step 5.
2. On the master system, map a drive letter to a share on the server (for example,
map X:\ to D:\BIN).
3. At the server, copy the SYSDIFF.exe and SYSDIFF.inf files in the
Support\Deptools\Platform directory on the CD-ROM to D:\BIN.
4. At the master system, run the SYSDIFF.exe application:
SYSDIFF /SNAP X:\before.img
where before.img is the snapshot file name (it can be any 32-bit valid filename).
This command takes a snapshot of the system, files, and settings. After the
snapshot is completed, SYSDIFF.exe displays the message "Snapshot
complete."
5. Install CATIA V5 on the master system.
6. Configure the CATIA V5 application by, for example, setting default directories,
toolbars, and preferences.
Note: Before performing the next step to create the difference file, reboot the
master system to ensure that all functions relating to the application installation are
completed and all files are closed.
7. Run the following command on the master system:
SYSDIFF /DIFF X:\before.img X:\after.img
where before.img is the snapshot file, after.img is the name of the difference file
to be created, and X is the shared drive.
SYSDIFF.exe takes a snapshot of the entire system again, compares the new
snapshot with the old one, and writes the difference file.
The difference file includes the changes in directories, files, Registry, and .ini files.
After the difference file has been written to the disk, SYSDIFF.exe displays the
message "Diff complete."
8. On the target system, map the path of the snapshot difference file (D:\BIN folder
on the server) to, say, the U drive.
9. To apply the difference file to the target system, run the command:
SYSDIFF/m/apply U:\after.img
where U:\after.img is the difference path and file name.
SYSDIFF.exe copies all the files to the target system and then makes the
necessary changes in the Registry and .ini files.
33
Note: The user should have administrative rights for the domain selected.
1. To open the Ghost Console on the server computer, click Start, point to
Programs, point to Symantec Ghost, and then click Ghost Console.
2. Select Remote Client Install from the Tools menu.
3. In the Remote Client Install dialog box, select the client computer on which to
install the remote client and click Install. The remote client needs to be installed on
the source computer used for disk imaging.
4. An authentication window appears. Enter the required User name and Password.
The remote client will be installed on the client computer.
5. From the File menu, point to New and select Image Dump.
6. Enter a name for the task in the Properties for New Task dialog box.
7. To enter the name of the client computer in the Properties for New Task dialog
box, click Browse in the Source machine area. Browse for the folder where image
file will be saved and enter the name of the image file. Keep the other default
values presented in this dialog box and click OK.
8. A new task with the name you assigned it is created under Tasks. Right-click the
name of the task you created and click Execute task.
9. A confirmation window appears. Click Yes.
10. A message box indicating the start of the task appears. Click OK.
The source computer will reboot and will enter into the Ghost Imaging mode.
The progress of this process is shown on the progress bar at the bottom of the
window on the server.
When the task is finished, the image is stored in the location identified in Step 7.
34
WinINSTALL
The following procedure describes the process for creating an .msi file using
WinINSTALL.
Note: The procedure describes the VERITAS version of WinINSTALL. The VERITAS
WinInstall tool was recently purchased by OnDemand Software.
Install WinINSTALL LE. However, do not install the application on the personal computer
that is going to act as the package creation computer in case the program itself affects
the installation of the applications.
! Perform the following procedure to create the 'Before' Snapshot prior to
installing the application.
1. Log on as an Administrator to the reference computer.
2. Run the Discover Wizard from the distribution server (do not map a drive and do
not use the Run dialog or Network Neighborhood):
\\WINSERVER\Program Files\Veritas\Winstall\DiscoZ.exe
3. When the wizard starts, click Next.
4. Enter a name for the package (the name of the software for which the package is
being created), specify a path for the .msi file (make sure it is on a drive other than
one that forms part of the package, and select a new empty directory), and click
Next.
5. Select a drive for the temporary files and click Next.
35
6. Select and then add the drives that the Discover program should scan and then
click Next. Several drives can be selected, but each drive is time-sensitive, and so
it is better to select only those drives where changes are expected. For example, if
CATIA V5 is installed in the D drive, select the D drive (where the application is
installed) and the C Drive (where the operating system is loaded).
7. Select the files and directories to be excluded from the scan and click Next. This
has to be done for all drives selected for scanning.
8. In the WinINSTALL Discover dialog box, check the Enhanced Registry Scan
option and click Next. The WinINSTALL LE Discover program will then start.
9. After the program is completed, the Launch Application Setup Program wizard
appears. It prompts for a setup program to run. This is the legacy CATIA V5
application for which an .msi file must be created. Click OK.
10. Browse through the Explorer window, select the setup program to run, and click
Open.
11. Continue the application setup as per the normal local installation procedure.
! The following procedure describes taking the 'After' Snapshot (after the
application is installed).
1. Log on to the reference computer as an Administrator.
2. Run the Discover wizard from the distribution server (do not map a drive or use
the Run dialog or Network Neighborhood):
\\WINSERVER\ Program Files\veritas\Winstall\DiscoZ.exe"
3. The wizard detects that a 'Before' Snapshot exists and displays the application and
path of the .msi file. Check the Perform the After' snapshot now option and click
Next. The check will begin on both the registry and the file system.
4. Potential problems, if any, will be displayed. Click OK.
5. After the check is completed, a wizard displaying the message The After
snapshot is complete will appear. Click OK.
6. If the conversion of the .nai file to MSI package is not successful, follow steps 7-10
to convert the .nai file to MSI package.
7. From the Start menu, point to Programs, point to Veritas Software, and then click
Veritas Software Console.
8. Right-click Windows Installer Package Editor and select Convert NAI to MSI.
9. In the NAI to MSI Converter wizard, select the .nai file (a CATIA file) to be
converted and enter the name for the .msi file to be created.
10. It is possible to fine-tune the created package using the Seagate Software Console
Microsoft Management Console (MMC) snap-in. From this application, select Open
from the File menu to change and view the files and registry components. Click
Save after any changes.
11. After you have finished this process, place not only the .msi file but also all files
and subdirectories in the directory chosen for the .msi file in the distribution server.
36
Deployment Options
Active Directory Group Policy
The Active Directory Group Policy Object (GPO) can be used in two ways depending on
the type of package used.
If you have an .msi file for CATIA (perhaps created with WinINSTALL), follow the first
procedure. Otherwise, use the second procedure, which uses a batch file to run a Silent
Installation or Unattended installation of CATIA:
37
38
39
6. Provide the name of the directory on the RIS server where this image will be
copied. The image is created under the \RemoteInstall\setup\OS
Language\Images directory. Click Next.
7. Provide a description and help text describing this image. The description and help
text are displayed to users of the Client Installation wizard during OS image
selection. Provide enough information for a user to distinguish between images.
Click Next.
8. The wizard displays a summary screen of the selections. After review, click Next.
The image preparation and replication process begins. The system is prepared and files
are copied to the specified RIS server. Once the replication of the image completes, any
remote boot-enabled client computer can select the image for a local installation.
40
Deploy a file.
Run a command.
41
g. Click TCP/IP Settings. The default selection is DHCP. If the network that the
client computers are on does not have a DHCP server, select Target
computer has static IP address, and then fill out the rest of the TCP/IP
settings that are indicated on the left pane.
42
Click Browse, select the client computers to be written over, and click OK.
43
4. Create an AI Package:
a. From the File menu, point to New and then click AI Package. This opens the
Properties for New AI Package window.
b. Type a name for this package in the Name box.
c. Click Browse.
d. Locate and click the name of the application package and click Open. This
copies the path and name of the application package to the Location box on
the Properties for new AI Package window.
e. Click OK.
5. Create a new task:
a. From the File menu point to New and then click Task. This opens the
Properties for New Task window to the General tab.
b. Type a name for this task in the Name box.
c. Uncheck all Task Steps except Deploy AI Package.
d. Click Browse and select one or more computers. These are the client
computers where the CATIA application package will be installed.
e. Click the Deploy AI Package tab.
f. Then click Browse.
g. This window has two Browse buttons. Click the top Browse button, next to the
Install packages box.
h. Select CatiaV5R10 under AI Packages. The application package is a file that
uses the filename format CATIA V5R10.exe. This step adds the application
package to the Install packages box described in Step g.
i. Click OK.
6. To distribute and run the application package, execute the following procedure:
a. Click the task name.
b. Click File and then click Execute task.
7. When Execute Task is clicked, this process copies the application package file to
the incoming folder on each client computer and runs the file. Running the file
installs the programs that are included in the application package.
Clients will restart after successful installation of the package.
44
45
9. In the Command Line box, type the full path to CATIA executable file, or click
Browse to locate the file. Add these switches:
- s for silent mode
- SMS or SMS (This switch is case sensitive.)
10. On the Environment tab, click to clear the User Input Required check box.
11. Click to select the Run with Administrative rights check box, and then click OK.
12. The Packages window now reappears and the newly created Systems
Management Server package is displayed.
To distribute a package created in SMS, you must advertise it in order to offer it to clients.
! The following procedure describes creating the Advertisement.
1. Create a collection of clients that are targeted to receive the distribution. The
collection can be based on a query or direct membership rules.
2. Right-click the collection that will receive the package and then click All
Tasks/Distribute Software.
3. The Distribute Software wizard starts. Click Next.
4. Click Distribute an existing package, click the Internet Explorer package, and
then click Next.
5. Make sure the distribution point is selected, and then click Next.
6. Click the program to install, and then click Next.
7. Fill in the advertisement name if appropriate, and then click Next.
8. Specify any sub-collections that should also receive this advertisement, and then
click Next.
9. Confirm or change the time the advertisement is offered and specify if the
advertisement should expire and when.
10. On the Assign Program page, click Yes to assign the program.
11. Click Next, and then click Finish.
46
Rshmsisvc
The installation process of the Rshmsisvc on the clients requires the sharing of the folder
containing the trigger script to enable remote updates to the script. Appropriate security
permissions are assigned to this folder to prevent updates from unauthorized users.
The following diagram shows that you use Rshmsisvc by writing batch commands into
the trigger script file. These commands could, for example, install CATIA by referencing
an .msi file created with WinINSTALL or by running a silent installation.
Figure 3.1
Schematic Representation of Rshmsisvc Execution
The following two descriptions of stages detail the deployment strategies using
Rshmsisvc
Stage I
Distribution of the Application software bundle and the unattended installation script to all
the clients. During Stage I, the Application software bundle and the unattended
installation script are remotely copied from a network location to all the clients. The
remote copy process should be done in a staggered manner for optimal use of the
network. The process can be automated using batch files.
The distribution process helps to initiate the simultaneous installation of the software at a
later time, on all the clients, without affecting the network.
47
Stage II
Installation of the Application software on all the clients. In Stage II, the installation of the
Application software bundle (available locally in the clients after Stage I) is initiated in the
clients by remotely copying the trigger script to all the clients from the server. The copy
process could be carried out using the same batch files discussed in Stage I.
The trigger script refers to the unattended installation script that is available as a part of
the software bundle in the clients. The Rshmsisvc service at the clients begins execution
of the installation script as soon as the trigger script is updated.
Note: The batch files used for the distribution (Stage I) and installation (Stage II) can
be scheduled for execution during off hours.
Installation Validation
After CATIA V5 has been installed using the methods discussed above, it becomes
imperative to check whether the installation was successful.
! Follow this process for validating installation.
1. From the Start menu, point to Programs, point to CATIA, point to Tools, and click
on Software Management B10. Or, from the Start menu, point to Find, and then
click Files or Folders and search for CATSoftwareMgt.exe in the Local Hard
drives.
2. Click the Check Integrity tab.
3. Select Level 3 and click Check.
The message Check Integrity Level 3 is OK confirms that there is no integrity
problem. But if the message Check Integrity Level 3 is KO appears, then the
installation has been corrupted (for example, some files are missing). This
message will be followed by troubleshooting information to identify and solve the
problem.
48
Summary
The packaging and deployment technique you choose will depend on many factors,
including the size of your organization, the project budget, and whether an operating
system is already in place on the desktop computers.
Having deployed CATIA, you will later have Service Packs and hotfixes to distribute, and
these can frequently be rolled out with the same tool that you used for the installation.
Network traffic is intense during the installation of CATIA and later Service Packs and
hotfixes, and the distribution server is heavily utilized. This load can be managed by
rolling out to a limited number of computers at a time. This also allows you to test the
installation method in a live environment, without impacting a large number of users in
the event of problems.
49
4
CATIA Code Server
Installation
In this architecture, CATIA V5 is installed on servers and is executed from workstations
across the network. Such an arrangement frequently reduces the administrative
overhead required to run the system, particularly during installation and later upgrades. It
is also similar to a UNIX-based CATIA system, which may suit those migrating to
Microsoft Windows. However, you are likely to see a higher level of network traffic
with a code server installation than a comparable locally installed system would generate.
For a full description of the advantages of this approach and a comparison with local
installation, see Chapter 2, "Planning a CATIA UNIX to Windows Migration."
The scalability and efficiency of a code server installation can be improved by using two
features of Windows 2000:
Offline Folders allow clients to create a local cache of a shared folder from a file
server, they can reduce network traffic, and they can create a marked
improvement in speed of execution.
The Distributed File System (Dfs) can be used to share the load between multiple
CATIA code servers.
There are several techniques involved in setting up this architecture. In this chapter the
first section, Preparing for Code Server Installation, describes the architecture in detail
and compares the setup techniques. You will find step-by-step example procedures for
the tools you have selected in the "Methodologies" section.
51
General Architecture
Figure 4.1
General Architecture for Code Serving
Figure 4.1 illustrates that only a small amount of configuration is required on the client
computers. The majority of the setup steps are run on the servers and, because there are
fewer servers than desktop computers, the time and effort involved in this setup is often
smaller.
A code server installation of CATIA V5 involves these general steps:
A setup of CATIA V5 on the code servers. This process is very similar to a local
installation.
A runtime environment creation in which environment variables are set. This can
be done on either client or server.
A light setup on the client, including fonts, shortcuts, and the update of
configuration files.
Figure 4.2
Code Server Installation of CATIA
Optionally, Offline Folders and Dfs may be set up after the main installation for greater
performance and efficiency.
52
Server-side Installation
The installation of CATIA on the code server is identical to that on desktop computers
when performing a local installation. For a step-by-step run-through of this procedure,
see the "Methodologies" section of Chapter 3, "CATIA Local Installation."
Having completed the installation, it will be helpful to your users to share the
documentation directory on the server so that they can easily access help. This
documentation can be accessed with a browser.
Access the share where the environment will be stored. This must use the same
path users will access to run CATIA V5. It can be either via a UNC name, such as
\\SERVER1\CATIA, or a mapped drive letter.
Create the directory where the runtime environment file will be stored.
The setcatenv command also creates shortcuts on the servers desktop and Programs
menu. These appear in the All Users profile. For users to be able to access CATIA
easily, these shortcuts must be copied to the same location on client computers.
53
Client-side Installation
In a code server installation, the setup steps required on the client are comparatively few.
However, the following components are required on all client computers:
54
VBA 6. Microsoft Visual Basic for Applications 6.0 is used to replay or record
macros. Macros allow a complex procedure to be recorded so that it can later be
repeated by selecting it from a list.
OLE records. Object linking and embedding (OLE) support allows a user to open
documents by a double-clicking on them.
Figure 4.3
Client side deployment of CATIA
An MSI package can be created to install both required and optional components. The
Methodologies section later in the chapter provides example procedures for each of
these components.
55
The Symantec Ghost suite of applications is principally designed for the creation and
deployment of Ghost images and AutoInstall (AI) packages. If you have selected these
package types, Ghost Console is the natural choice for deployment. Although Ghost
Console can be used to deploy MSI packages, it is unlikely that you would choose it for
this feature alone because Group Policy, a standard feature of Windows 2000 Server, is
sufficient.
For step-by-step procedures showing the use of these tools for deployment, see Chapter
3, "CATIA Local Installation."
56
Fortunately, in a code server installation only the following components are stored on
workstations:
C++ Runtime
Given that all these components are compatible between CATIA V5 releases, multiple
releases of CATIA V5 can be started from the same workstation without upgrading
issues.
Rollback of CATIA V5
To avoid data corruption, ensure that all users use the same CATIA V5 release level of
patch or service pack for production purposes. If an issue occurs on a new release,
access to this release has to be disabled and access to the previous one must be
enabled without delay. This can be done by removing the share on the faulty version of
CATIA, and sharing the previous one with the same share name. When users restart
CATIA, they will thus be automatically directed to the stable version and avoid whatever
issues have been discovered with the new release.
For example, to switch back from V5R9SP1 to V5R9 when workstations are using a
share named Production Version that points to the V5R9SP1 directory, stop the
sharing of the V5R9SP1 directory, and then share the V5R9 directory with the same
name (Production Version). No modification is necessary on workstations and rollback
is done at the same time for all workstations.
Offline Folders
This feature of Windows was originally designed to help laptop users by allowing them to
create a local cache of the files they use on a file server. These cached files could then
be worked on while the laptop is disconnected from the corporate network. Any changes,
either to the cached files or the versions on the server, are automatically synchronized on
reconnection.
The technique can also be used to speed the execution of a code server application such
as CATIA. The executables and other files that make up the package can be cached on
any computer desktop or laptop on first use. When CATIA is run, the cached versions of
these files can be used instead of downloading them again from the code server. This
reduces the amount of network traffic generated and helps CATIA to start quickly and
perform well.
Offline folders require no extra software to be purchased or installed. A small amount of
configuration must be done on the server and on the client, although these procedures
can be performed centrally using Group Policy. For this reason, the use of Offline Folders
with a CATIA code server installation is highly recommended, even in small deployments.
57
Load balancing.
Name transparency.
Dfs client integrated into Windows NT Workstation 4.0, available for Windows 95
and Windows 98.
In a CATIA code server installation, Dfs helps by providing multiple copies of read-only
shares. These copies are accessed via a single path. If one of the copies becomes
unavailable, an alternate is automatically selected, providing a degree of fault tolerance.
In addition, the load placed on code servers is automatically shared. Load balancing in
this way helps CATIA scale to cope with large numbers of users. As users request files
from the Dfs volume, they are transparently referred to one of the network shares
comprising the Dfs volume.
58
Methodologies
The following subsections explain the methodologies that can be used for code server
installations.
!---------------------------------------------------------!
CATInstallPath=\\CATIA.net\CATIA\V0\intel_a
CATDLLPath=\\CATIA.net\CATIA\V0\intel_a\code\bin
CATICPath=\\CATIA.net\CATIA\V0\intel_a\code\productIC
CATCommandPath=\\CATIA.net\CATIA\V0\intel_a\code\command
CATDictionaryPath=\\CATIA.net\CATIA\V0\intel_a\code\dictionary
59
(continued)
CATDocView=\\CATIA.net\CATIA\V0\intel_a\doc
CATReffilesPath=\\CATIA.net\CATIA\V0\intel_a\reffiles
CATFontPath=\\CATIA.net\CATIA\V0\intel_a\resources\fonts
CATGalaxyPath=\\CATIA.net\CATIA\V0\intel_a\resources\galaxy
CATGraphicPath=\\CATIA.net\CATIA\V0\intel_a\resources\graphic;\\
CATIA.net\CATIA\V0\intel_a\resources\graphic\icons;\\CATIA.net\C
ATIA\V0\intel_a\resources\graphic\figures;\\CATIA.net\CATIA\V0\int
el_a\resources\graphic\splashscreens;\\CATIA.net\CATIA\V0\intel_a
\resources\graphic\symbols;\\CATIA.net\CATIA\V0\intel_a\resources
\graphic\textures
CATMsgCatalogPath=\\CATIA.net\CATIA\V0\intel_a\resources\msgc
atalog
CATFeatureCatalogPath=\\CATIA.net\CATIA\V0\intel_a\resources\fe
aturecatalog
CATStartupPath=\\CATIA.net\CATIA\V0\intel_a\startup
CATW3ResourcesPath=\\CATIA.net\CATIA\V0\intel_a\docs
CATReferenceSettingPath=
CATUserSettingPath=CSIDL_APPDATA\DassaultSystemes\CATSettin
gs
CATReferenceStandardPath=
CATUserStandardPath=CSIDL_APPDATA\DassaultSystemes\CATStan
dards
CATTemp=CSIDL_LOCAL_APPDATA\DassaultSystemes\CATTemp
CATMetasearchPath=DSKEY_TMPDIR
CATW3PublishPath=DSKEY_TMPDIR
CATSharedWorkbookPath=DSKEY_TMPDIR
CATErrorLog=CSIDL_LOCAL_APPDATA\DassaultSystemes\CATTemp\
error.log
CATReport=CSIDL_LOCAL_APPDATA\DassaultSystemes\CATReport
CATDisciplinePath=
USER_HOME=CSIDL_PERSONAL
DB2INSTANCE=%DB2INSTANCE%
TNS_ADMIN=%TNS_ADMIN%
ORACLE_HOME=%ORACLE_HOME%
ORA_NLS33=%ORA_NLS33%
This command also creates shortcuts located on All users\desktop and in the All
users\programs menu.
However, these shortcuts are created on the code server and so will be unavailable to
clients. For an automated setup process, these shortcuts have to be copied to all
workstations so that users can quickly run CATIA.
60
Required Components
C++ Runtime
On a Windows XP Professional workstation, there is no need to add C++ runtime
because it ships with the correct version.
If you have an earlier operating system, the Msvcp60.dll file must be copied to the
%systemroot%\system32 directory on a Windows 2000 workstation.
Note: The CATSoftwareMgtB P command, found in the CATIA directory
Intel_a\code\bin, indicates if the required dynamic-link libraries (DLLs) are up-to-date.
CATIA V5 Shortcuts
The necessary shortcuts were created with the runtime environment by the
setcatenv.exe command. However, these will be on the computer where that command
was issued (probably the code server itself). You must therefore copy the CATIA
shortcuts from the All Users profile on the server to the same location on all client
computers.
Optional Components
The following optional components are required only for specific CATIA features. If these
are unimportant to you, skip these steps.
61
Extended Fonts
To install CATIA V5 extended fonts, run the following command on the client:
VE0ifont env environment_name direnv environment_location
where environment_name is the environment label and environment_location is the
directory where the environment file is stored.
In the following script sample,
Tools
The CATIA V5 administration tools (Environment Editor, Nodelock Key Management,
Settings Management, and Software Management) should be installed only on clients
from which administration of CATIA will be performed. To install them, the following
command must be run:
Setcatenv tools cs CATIA
If CATIA V5 code is located on a share named \\CATIA.net\CATIA\V0, the command will
be the following:
\\CATIA.net\CATIA\V0\intel_a\code\bin\setcatenv -tools -cs CATIA
OLE Records
OLE records assist the user by allowing CATIA documents to be opened simply with a
double-click. To register OLE records, the following command must be executed:
CNEXT /regserver -env environment_name -direnv
environment_location
where environment_name is the environment label and environment_location is the
directory where the environment file is stored. In the following example,
etc\services File
To use process interoperability (for example, between the Dassault applications CATIA
V5 and DMU), the Background process needs to be configured on each computer
running applications that need to communicate.
To use this service, add the following lines in the services file located in the
%windir%\system32\drivers\etc\ directory:
CATIAv5bb 6666/tcp
CATIAv5run 6667/tcp
62
Shortcuts Component
A new component can be created to contain all the shortcuts necessary for users to
quickly access CATIA from their desktop.
! To perform shortcut packaging, follow this procedure:
1. Right-click the folder where the shortcut is to be created.
2. Provide values for the Display name, Argument, Target, and Component text fields
as indicated below:
Target: CNext.exe
Backbone Service
To modify the file services, three custom actions have to be created:
For installation, a Microsoft Visual Basic Scripting Edition (VBScript) file is used that adds
the required lines to the services file. Two other VBScripts remove these lines for uninstallation and rollback.
63
The following example script adds lines in services files. To use this code, copy it into a
text file and rename it with a .vbs file extension:
'****************************************************************
' Add CATIA V5 ports in services file
'****************************************************************
Option Explicit
Dim WshShell,SystemFolder,Fso,File,Line,CATIA1,CATIA2
Const ForReading = 1, ForWriting = 2, ForAppending = 8
CATIA1 = 0
CATIA2 = 0
On error resume next
'Environment variable reading
set WshShell = CreateObject("WScript.Shell")
SystemFolder = WshShell.ExpandEnvironmentStrings("%windir%")
'Services files reading
set Fso=createobject("scripting.filesystemobject")
If Fso.FileExists(Systemfolder&"\system32\drivers\etc\services") then
Set File=
Fso.OpenTextFile(Systemfolder&"\system32\drivers\etc\services",_ForReading,False)
Do while Not File.AtEndOfStream
Line=File.Readline
If Instr(Line,"CATIAv5bb")<>0 then CATIA1=1
If Instr(Line,"CATIAv5run")<>0 then CATIA2=1
Loop
File.close
set file=fso.OpenTextFile(Systemfolder&"\system32\drivers\etc\services",_
ForAppending)
If CATIA1=0 then File.Writeline "CATIAv5bb
6666/tcp"
6667/tcp"
Else
set File= Fso.OpenTextFile(Systemfolder&"\system32\drivers\etc\services",_
ForWriting,TRUE)
File.Writeline "CATIAv5bb
6666/tcp"
File.writeline "CATIAv5run
6667/tcp"
End if
File.close
Set WshShell = Nothing
Set fso = Nothing
Set file = Nothing
64
The Custom Action Wizard is used in the InstallShield tool, AdminStudio, to create
custom actions, including running a script like the one just created.
! The following process describes how to use this tool:
1. Click Next.
2. Enter the custom action name and click Next.
3. Select Run VBScript code and Stored in Binary table And then click Finish.
4. For the In-Script Execution variable, select Immediate execution, and for the
Execution Scheduling variable, select Always execute, and then click Next.
5. Enter the path to the VBScript file you created in the Source box or click Browse
to locate the source, and then click Next.
6. Click Finish.
7. Having created the custom action to run your script, you must schedule it to run
after the InstallInitialize action in the Execute section. To begin this procedure,
select the Execute section under the Installation folder.
65
8. Select an action located after the Installinitialize button, right-click the action, and
then select Insert.
66
If you wish to remove CATIA, you must remove the added lines from the services file.
The example VBScript that follows performs this task. Instructions for using the script
appear after the example.
'****************************************************************
' Remove CATIA V5 ports in services file
'****************************************************************
Option Explicit
Dim WshShell,SystemFolder,Fso,File,File2,Line
Const ForReading = 1, ForWriting = 2, ForAppending = 8
On error resume next
'Environment variable reading
set WshShell = CreateObject("WScript.Shell")
SystemFolder = WshShell.ExpandEnvironmentStrings("%windir%")
'Services files reading
set Fso=createobject("scripting.filesystemobject")
If Fso.FileExists(Systemfolder&"\system32\drivers\etc\services") then
Set File=Fso.OpenTextFile(Systemfolder&"\system32\drivers\etc\services",_
ForReading,False)
set
File2=Fso.OpenTextFile(Systemfolder&"\system32\drivers\etc\services.rmv",_
ForWriting,True)
Do while Not file.AtEndOfStream
Line=file.Readline
If Instr(Line,"CATIAv5run")=0 and Instr(Line,"CATIAv5bb")=0 _
then File2.writeline(Line)
Loop
File.close
File2.close
'renaming service.rmv in service
Fso.DeleteFile(Systemfolder&"\system32\drivers\etc\services")
Fso.copyfile Systemfolder&"\system32\drivers\etc\services.rmv",_
Systemfolder&"\system32\drivers\etc\services"
Fso.DeleteFile(Systemfolder&"\system32\drivers\etc\services.rmv")
End if
set Fso = Nothing
set WshShell = Nothing
set File = Nothing
set File2 = Nothing
67
To use this script, you must create a new text file, copy the above code into it, and
rename it with a .vbs file extension. Then use the previously described Custom Action
Wizard to create a custom action and schedule it with AdminStudio. To be able to do
rollbacks, you must insert the script in a new custom action as indicated above except for
the Execution Condition where Rollback Execution must be selected:
Select Rollback execution in the In-Script Execution box and Always execute in the
Execution Scheduling box, and then click Next.
This action has to be inserted in Execute section after the first custom action.
To remove lines in the services files during un-installation, the last script has to be
inserted in a new custom action (as indicated above) with an Immediate Execution
condition. However, to execute this action only when removing the package, the following
condition must be added to the new custom action: REMOVE="ALL" (see Figure 4.4).
Figure 4.4
68
OLE Records
For file services modifications, three custom actions have to be created to register OLE
records:
The approach here is exactly the same as for updating the services file in the previous
section. A VBScript file is created to perform each task. AdminStudio is then used to
create a custom action that runs the script and to schedule the action to run.
For installation, you can use a VBScript that runs the following command:
CNEXT /regserver env environment_name direnv
environment_location
where environment_name is the environment label and environment_location is the
directory where the environment file is stored. An example script is presented here:
'**********************************************************
' register ole records
'**********************************************************
Option Explicit
Dim WshShell
set WshShell = CreateObject("WScript.Shell")
WshShell.run "\\CATIA.net\CATIA\v5r9\intel_a\code\bin\CNEXT /regserver -env v5r9 _
-direnv \\CATIA.net\CATIA\v5r9\env",0,TRUE
The customs actions for un-install and rollback launch a VBScript that runs the following
command:
CNEXT /unregserver
The following VBScript runs this command:
'**********************************************************
' unregister ole record
'********************************************************
Option Explicit
Dim WshShell
set WshShell = CreateObject("WScript.Shell")
WshShell.run "\\CATIA.net\CATIA\v5r9\intel_a\code\bin\CNEXT /unregserver",0,TRUE
69
Note: For file services modification, the custom action dedicated to uninstallation must
have the REMOVE="ALL" condition set and the custom action dedicated to rollback
must have Rollback execution set in the in-script execution option.
Offline Folders
To set up Offline Folders requires configuration steps on the server and the client. The
client portion can be automated using Group Policies, which you may have already used
to install MSI packages.
70
When the Distributed File System snap-in is used to connect to existing standalone Dfs roots, all servers known to the browse list are retrieved because there is
no unique NetBIOS name registered by Dfs-enabled servers.
Stand-alone Dfs roots can be located on all supported file systems, although
locating resources on NTFS-formatted partitions is recommended.
Stand-alone Dfs roots offer no replication or backup; the Dfs root represents a
single point of failure.
71
The list of domains and servers is populated by querying the global catalog for all
fault-tolerant Dfs roots.
Dfs replication topology uses the existing Active Directory replication topology.
72
73
Installation Validation
Installation validation of CATIA thin client setup with offline folders enabled and Dfs is
discussed below.
Offline Folders
! To check Offline Folders, follow these steps:
1. Open a Microsoft Explorer window.
2. From the Tools menu, select Offline Files and check the Enable Offline Files
option if it is not already checked.
3. Click View Files. Assuming that CATIA is the only offline-enabled folder, then the
view will be empty.
CATIA V5
! Follow these steps to create and run the validation macro:
1. Open CATIA
2. From the Tools menu, point to Macro and then select Macros (alternatively, press
Alt-F8).
3. Click Macro libraries.
4. Select Directory as the Library type.
5. Click Add existing library.
6. Select the Directory for the Macro library and click OK. The Directory selected gets
added to the Current libraries.
7. Close the Macros libraries dialog box.
8. Click Create in the Macros dialog box to create a new macro.
9. Select the Macro language as CATScript and provide a name type in the Macro
name box. Click OK.
10. Click Edit to edit the Macro.
74
11. Insert the following lines of code in between the Sub CATMain () and End Sub
lines.
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDocument1 As Document
Set partDocument1 = documents1.Add("Part")
Dim part1 As Part
Set part1 = partDocument1.Part
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Add()
part1.Update
Dim sketches1 As Sketches
Set sketches1 = hybridBody1.HybridSketches
Dim originElements1 As OriginElements
Set originElements1 = part1.OriginElements
Dim reference1 As AnyObject
Set reference1 = originElements1.PlaneZX
Dim sketch1 As Sketch
Set sketch1 = sketches1.Add(reference1)
Dim factory2D1 As Factory2D
Set factory2D1 = sketch1.OpenEdition()
Dim geometricElements1 As GeometricElements
Set geometricElements1 = sketch1.GeometricElements
Dim axis2D1 As GeometricElement
Set axis2D1 = geometricElements1.Item("AbsoluteAxis")
Dim line2D1 As AnyObject
Set line2D1 = axis2D1.GetItem("HDirection")
line2D1.ReportName = 1
Dim line2D2 As AnyObject
Set line2D2 = axis2D1.GetItem("VDirection")
line2D2.ReportName = 2
75
(continued)
Dim circle2D1 As Circle2D
Set circle2D1 = factory2D1.CreateClosedCircle(0.000000, 0.000000, 31.622777)
Dim point2D1 As AnyObject
Set point2D1 = axis2D1.GetItem("Origin")
circle2D1.CenterPoint = point2D1
circle2D1.ReportName = 3
sketch1.CloseEdition
part1.Update
Dim bodies1 As Bodies
Set bodies1 = part1.Bodies
Dim body1 As Body
Set body1 = bodies1.Item("MechanicalTool.1")
part1.InWorkObject = body1
Dim shapeFactory1 As Factory
Set shapeFactory1 = part1.ShapeFactory
Dim pad1 As Pad
Set pad1 = shapeFactory1.AddNewPad(sketch1, 20.000000)
part1.Update
]
12. Save the macro and run the macro. A circular pad is created.
13. Follow the three steps under Offline Folders to view the Offline Files, which
should now show CATIA.
76
Summary
In code server configuration, administrative effort is reduced because the main
installation is performed once on the code server. Only a small setup is required on the
client computers. With a large number of clients, this part of the process can be
automated using packaging and deployment methods like those described in Chapter 3.
Further increases in performance are gained by enabling Offline Folders, a feature built
into Windows 2000 and later Microsoft operating systems. Here, the executable code is
cached on the client computers, removing the need to download them before execution.
This results in both faster execution and less network traffic. The Distributed File System
(Dfs) is also useful in this situation, because it can provide fault tolerance and load
balancing.
77
5
Setting up Supporting
Services
This chapter discusses three services you may wish to set up to support CATIA:
Printers and plotters are essential in most design departments for producing
hardcopy. CATIA includes the 3D PLM environment for advanced printing
functionality.
As in previous chapters, the content in this chapter has been divided into two sections.
Use the first section, Preparing for Supporting Services, to plan how you will set up
these services. For license management, this document discusses the use of LUM. The
discussion of printing services describes how to use a feature provided by CATIA that
enables the printing of long sheets. The collaboration services discussion explains the
increasing importance of these services and describes the available tools.
The second section, Methodologies," offers guidance to the persons carrying out the
migration by providing example procedures that illustrate the administration tasks to be
completed.
79
License Management
The following sections describe license management.
Using LUM
License Use Management Runtime is part of IBM License Use Management, a
combination of tools for software asset protection. The LUM tools enable software
vendors and their customers to ensure that customers comply with the terms and
conditions of license agreements. They check compliance through runtime monitoring of
the usage of software assets. LUM can be used to ensure you are running CATIA legally.
Vendors deliver licenses to customers in the form of a license password. The password
contains encrypted terms of the usage of the software product, including the following:
The number of licenses or concurrent copies of the product the customer can use.
Vendors can supply licenses in two forms: nodelocked licenses or network licenses.
A nodelocked license is a license for a specified workstation (node). It is stored on the
specified workstation and the license-enabled product will only run on that workstation.
Vendors typically use nodelocked licenses for standalone applications, rather than for
client/server applications. It has two license-enabling models: non-runtime-based and
runtime-based. If a vendor chooses non-runtime-based enabling, the license-enabled
product itself, rather than License Use Management Runtime, manages the use of the
nodelocked license. The password for such a product is stored in a nodelock file. When
you start the application, it checks the nodelock file to ensure that a valid license is
available.
A network license is a license stored on a server that can be used by any client
workstation. Many License Use Management Runtime clients can share the licenses for
enabled products. The licenses are stored on one or more network license servers. Each
client workstation must be connected to a server. When the user at a client starts a
licensed program, License Use Management Runtime at the license server determines
whether a license is available. Vendors can enable their products to use the following
kinds of network licenses:
80
Concurrent licenses
Reservable licenses
Use-once licenses
Per-server/per-seat licenses
Concurrent Licenses
A concurrent license is a network license that can be temporarily granted to run the
licensed application on a client. When the product is running, that license remains
unavailable to other users of the product. When the product stops running, the license is
returned to the server, where it becomes available to other users.
Concurrent licenses allow as many users to run a licensed application simultaneously as
there are valid licenses for the product available from the network license servers in your
licensing environment.
Managing Licenses
License Use Management Runtime includes the basic license tool. This tool manages
both nodelocked and network licenses. The basic license tool has a graphical user
interface (GUI) and a command line interface.
The basic license tool enables the user to do the following:
Distribute the licenses among the license servers available on the network.
Increase overall revenue as customers acquire all the licenses they need.
Distribute software for a trial period with trial licenses that can be replaced by
production licenses, thus minimizing distribution cost.
Collaboration
With the advent of the global corporation, it is becoming increasingly important for
business units at different locations to work together and quickly solve problems as a
team. To sustain this way of working, collaboration software is increasingly used in
organizations to identify, incorporate, and coordinate the work of partners and suppliers
across the globe.
81
In the past, most product design activities were performed in centralized engineering
departments, often with people seated side-by-side working on the same projects.
Communication was direct, and problems could be resolved quickly. This type of colocated working arrangement is quickly disappearing. Production facilities are often in
different locations than those of designers, and the increased use of outsourcing and
supply chains further scatters people and resources.
Communications must now support designers in different locations working
collaboratively throughout the product development cycle, from concept through
manufacturing and support. While e-mail, fax, and voicemail are valuable components of
the newer office environment, all these make poor substitutes for simultaneous real-time
collaboration. Face-to-face meetings necessitate costly and time-consuming travel. Thus,
for distributed product development to be practical, new ways of sharing information must
be used.
Contributions by those outside the design or engineering departments may be severely
limited in this type of communication. They may not have the CAD software or the
training to use it. Increasingly, more and more collaborative software packages are
allowing users to access models from their personal computers, without the use of
expensive CAD workstations. They can view, measure, analyze, and electronically mark
up both two-dimensional and three-dimensional designs.
Collaborative tools and processes based on shared product information help companies
overcome these problems by providing an online, interactive, collaborative design review
and problem resolution environment to increase levels of communication throughout the
design process.
On a much larger scale, the use of collaboration technologies helps in improving product
quality, speeding communication, lowering costs, and accelerating work processes.
Product quality improves by bringing together people involved in the decision process
and providing faster communication. Also, costs can be reduced significantly by
eliminating travel expenses and the lost productivity associated with frequent meetings.
Most important, time is saved by allowing people to resolve problems quickly.
For collaboration, Windows provides the Microsoft NetMeeting tool along with the
operating system. Thus companies need not invest in other collaborative technologies.
NetMeeting works with the Remote Desktop Protocol. It allows users to share
applications and use a whiteboard to sketch, chat, and send files to other users using the
Internet or Intranet. A detailed description of the setup of NetMeeting is given in the
Methodologies section of this chapter.
Other collaboration tools widely used in the industry include Webex, E-Vis from EDS,
WiseVIEW from Samsung SDS, vCollab from Virtual E3D, AutoVue from Cimmetry and
3DView from Landmark Graphics.
82
A comparison table of popular collaboration tools is given below to help you select the
most appropriate package for your needs:
Table 5.1: Popular Collaboration Tools
Features
E-Vis
Web
ex
WiseVIE
W
VCollab
3D View
AutoVue
Markup
Real-time
Sectioning
NA
NA
NA
NA
NA
NA
Digital Mock Up
Assembly
Simulation
Crash Analysis
NA
NA
NA
NA
NA
Desktop Sharing
NA
NA
Internet / Intranet
Both
Intern
et
Both
Both
Both
Internet
CATIA,
UG,
Parasolid
XT files,
IGES and
STEP
CATIA,
UG,
IDEAS,
PRO/E,
Solid
Works, 3D
Studio
Max
CATIA,
PRO/E, UG,
SDRC, Solid
Works,
Autodesk,
Solid Edge,
STEP, IGS,
STL, VDA,
VRML, ISO
G-CODE,
DXF, DWG,
ACIS-SAT,
3D Studio
CATIA, PRO/E,
UG, Mechanical
Desktop, Autodesk
Inventor, Solid
Designer, Solid
Edge, Solid Works,
IGES, STEP, STL,
VRML, VDA-FS
CAD Software
Supported
Data needs
to be
translated to
.jt format
Supports
Microsoft Suite of
Products
Developed
on .NET
NA
83
Methodologies
License Management
License management involves setting up of the license and configuring it.
LUM Configuration
! To configure License Use Management, follow these steps:
1. From the Start menu, point to Programs, point to License Use Runtime, and click
Configuration Tool.
2. Select Network License Client.
4. Enter the IP Address or name of the license server in the Name box and click Add.
5. The license server details are displayed. Exit the tool and click Yes to save your
changes.
84
Printer/Plotter Configuration
! The following procedure allows the user to configure the 3D PLM
Printer/Plotter for CATIA V5R9 and later.
The plotter should have been added prior to configuring these settings.
1. From the File menu, select Printer Setup and double-click Add Printer.
2. Select the option 3D PLM Printer and click OK.
3. In the Name box in the Printer Properties window, enter the name of the
printer/plotter (for example, 3D PLM PRINTER).
4. Select the driver from the drop down box.
5. In the Paper Format drop-down list, select the maximum.
6. In the Submission Scripts box, enter the path and name for the output file In the
Output File Name box.
7. In the Queue Name drop-down list, select the Printer/Plotter.
8 Click OK. Now the Printer/Plotter will be added and it can be seen in the Printer
Setup window.
9. To change any other setting, right-click the name of the Printer/Plotter to open the
Printer Properties window, and then select Configure to configure it.
10. When you are done configuring, Click OK. To print a document, select Print from
the File menu.
Collaboration
The following procedure describes the configuration of Microsoft NetMeeting, a video,
audio, and data conferencing application. NetMeeting ships with Windows and is thus a
popular solution.
! To use the application sharing functionality, follow these steps:
1. From the Start menu, click Settings, click Control Panel, and then double-click
Display.
2. Click the Advanced button in the Display Properties dialog box.
3. On the Troubleshooting tab, reduce the Hardware acceleration value to None.
Installation Validation
The following section explains installation validation.
85
Open this file through any text editor. This file identifies the version of LUM installed on
the system.
! To check if the license servers have been added to LUM, use the following
steps:
1. From the Start menu, click Programs, click License Use, click Runtime, and then
click Configuration Tool.
2. Select the Direct binding tab.
3. Make sure all the license servers are visible in the Servers box.
4. If they are not all visible, add the servers through the Server Configuration Info
box by supplying the necessary details and clicking the <<Add button.
5. To view information about the licenses installed, from the Start menu, click
Programs, click License Use Runtime, and then click Basic License Tool.
Double-click any license to get the details about that license.
86
Summary
Your organization can use License Use Management (LUM) to track software usage and
ensure that at no time are you operating illegally. In a large organization, this task can be
very difficult without such tools.
This chapter has also discussed the complicated issue of printer/plotter configuration.
87
6
CATIA Data Migration
When your organization upgrades from CATIA V4 to CATIA V5, a large quantity of data
will need to be moved to the new system. This chapter describes how to perform that
migration smoothly.
CATIA V4 was compatible only with the UNIX operating system, whereas CATIA V5 runs
on both UNIX and Microsoft Windows. Because this guide is aimed at those users
migrating to Windows, emphasis is placed on the UNIX to Windows process. The
differences between the two operating systems introduce issues that must be addressed
to ensure the integrity of the data. For example, file names are case sensitive in UNIX,
but this is not the case in Windows. This difference can result in file name conflicts if care
is not taken.
The details described in this chapter pertain to CATIA V5 R10.
This chapter is divided into two sections. The first section, Preparing for Data Migration,
can be used for guidance on planning the migration, and it explains the concepts and
decisions involved. After you understand the process, you can find step-by-step
procedures illustrating the tools used in the Methodologies section.
89
Version
Any CATIA V4 data that needs to be migrated to CATIA V5 should be version 4.1.8 or
later. If the CATIA V4 data is of a version earlier than 4.1.8, the model has to be saved as
a 4.1.8 version or later before migration.
90
Numbers 0 to 9
* (Asterisk)
: (Colon)
? (Question mark)
\ (Backslash)
| (Vertical bar)
/ (Slash)
91
"
_Inch
X
_
<
>
The user can choose a different table by specifying its Windows or UNIX path in the
options for CATIA. See the Character Equivalence Conversion Table in the
Methodologies section in this chapter for an outline of this process.
PRJ Models
From the version 4.1.7 of CATIA and later, it is possible to work with self-sufficient
models containing all the information required for the purpose of display and general use
within the model itself. Any model can be provided internally with the information that was
previously present in a Project file that is external to the model.
This operation is referred to as internalization. Not all the information located in a Project
file is internalized in the model: only the reference tables are. Internally present Project
file information is referred to as a PRJ Model.
PRJ Models can help the migration of data. Because more information is included in a
smaller number of files, the administrative effort involved is reduced.
92
PRJ Tables
The following warning message is displayed when the following two conditions occur: a
CATIA V4 model that references an external project file is opened in CATIA V5; and the
project file path is not provided by clicking the Tools menu, then Options, then
Compatibility, and then V4/V5 Infrastructure.
Figure 6.1
This message occurs because project files referenced by CATIA V4 models must be
copied to a Windows directory in order to open these CATIA V4 models in CATIA V5. But
the Project File directory cannot be copied natively on Windows because the table file
names generally contain characters that Windows forbids. Thus, the Project File Tables
must first be renamed.
See the Methodologies section in this chapter for instructions on how to achieve this.
Fonts
CATIA V4 fonts can be migrated and set up in the CATIA V5 environment. However, only
fonts that are described in the FONT (UNICODE Key) format can be migrated. Fonts in
the FONTDATA (EBCDIC Key) format have to be first migrated to FONT files and FONT
CODE files using the CATFONT utility in version 4.1.8 of CATIA or later.
A description of the migration of FONT and FONT CODE files into the V5 environment
can be found in the Methodologies section of this chapter.
93
Geometry Check
Specification Check
Geometry Check is a check carried out by transferring the solid's geometry only through
following the Copy > Paste Special > CATIA_Result method. Geometry is the threedimensional representation of the elements contained in the data.
Specification Check is a check carried out by transferring the solid with Geometry and the
History tree by using the Copy > Paste Special > CATIA_SPEC method. Note that a
specification check is meaningful only when applied to exact and mockup solids. The
specifications are made up of the entire history of the actions performed to obtain the
data. They are shown in the form of a tree and are roughly equivalent to the Coordinate
Solid Geometry (CSG) tree used in CATIA V4.
Run the specification check on all the CATIA V4 models to be copied to CATIA V5. The
check provides:
Identification of the primitives (basic shapes) that are converted to data, indicating
loss of canonical information.
Identification of the operations that are not supported in CATIA V5 and must be
deleted before proceeding with the copy operation.
Make sure that the update option selected on the General tab of the Options dialog box
(displayed from the Tools menu by clicking Options) is not set to Automatic.
When updating, make sure that the inactivate option is selected in the Update
Diagnosis dialog box to deactivate any troublesome operations or primitives in
CATIA V4. Do not delete them, because you can recreate them in CATIA V5 in a more
satisfactory way (without copying them) after the rest of the model has been successfully
copied. In a future version of CATIA V5, this requirement may no longer apply.
For some CATIA V4 models, the Geometry Check may be valid, but sometimes
CATIA V4 Geometry cannot be supported in CATIA V5: design is tolerated in CATIA V4
but not in CATIA V5. Therefore, it is necessary to solve this problem during the migration.
It is possible to transform the invalid geometry in the Shape Design workbench (a CATIA
utility). And in the Freestyle workbench (also a CATIA utility), the control points can be
displayed in order to analyze the surfaces and modify them.
94
CAD Geometries
To ensure CATIA V4 to CATIA V5 interoperability, CATIA V5 provides the CATIA Site
Navigator, which can read CATIA V4 models on both Windows and UNIX.
Any geometric element (whether the model involved has an internalized Project file or is
linked to an external Project file) can be read and copied to a CATIA V5 document.
Basic read-only operations can then be performed, including:
Displaying and selecting geometric elements and workspaces in the geometry area
and the specification tree (except for the Hidden Line Removal mode).
Verifying the geometry (and, in the case of exact solids, the specifications) of one
or more CATIA V4 elements prior to copying and pasting it into a CATIA V5
workbench.
In CATIA V5, CATIA V4 models or library objects cannot be edited, but they can be
pasted into a model or library object in a CATIA V5 document and then be edited. Once
this has been done, it is no longer a CATIA V4 model, but a CATIA V5 document.
The following table summarizes the translation of CATIA V4 documents to CATIA V5
documents:
Table 6.2: Translation of CATIA V4 Documents to CATIA V5
V4
V5
Solid
.model 3D
.CATPart Body
Surface
.model 3D
Wireframe
.model 3D or 2D
FEM
.model 3D
.CATAnalysis
.model Ditto
Part Positioning
.session
.CATProduct
.asm
Positioning Constraint
.asm
.CATProduct
Kinematics
.model Set
.CATProduct Application
Library
.lib
.catalog
PRJ
95
For interoperability purposes, you may need to translate V5 Features into V4 Elements.
The following table summarizes the translation.
Table 6.3: Translation of V5 Features into V4 Elements
V5 Features
V4 Elements
1 Surface
1 Face (*FAC)
1 Face
1 Face (*FAC)
Skin (*SKI)
Sketches, Wireframe
Curves (*CRV),
Lines (*LN)
Part Body
Volumes (*VOL)
(SolidE entity)
Open Body
Parts
The following data can be copied from CATIA V4 to CATIA V5:
96
Faces
Volumes
Mockup solids
Circles
Ellipses
Points
Lines
Planes
Clouds of points
Edges
Parabolas
Hyperbolas
When converting solid models from CATIA V4 to CATIA V5, users have a choice of
bringing only the geometrywithout feature definitionsor attempting to bring
dimension-driven design features as well as geometry. A few CATIA V4 CSG primitives,
such as the pyramid, have no equivalent in CATIA V5. These primitives can only be
converted as pure geometry.
CATIA V4 precise (b-rep) solid models may cause errors when converted to CATIA V5.
These errors are caused by differences in tolerances between the faces and edges of the
respective systems. Most of these errors occur in solids that were sewn together from
surface models. CATIA V5 checks for errors in CATIA V4 models as soon as they are
opened and identifies features that must be fixed for successful conversion into a CATIA
V5 part or assembly. However, CATIA V5 is capable of selectively loosening the
tolerance to accept models that would otherwise not work.
CATIA V4 employs Bezier curves and surfaces, and the surfaces are composed of
primary elements called patches. CATIA V5 employs Non-Uniform Rational B-Splines
(NURBS) and the primary elements of its surfaces are called cells.
When a CATIA V4 surface composed of patches that have continuous curvature (a
condition called C2) is copied and then pasted in CATIA V5, and then CATIA V5 will
combine these patches into a single cell. The patch boundaries of CATIA V4 can be
retained by choosing the keep V4 segmentation option. This technique will make more
cells than are necessary in the CATIA V5 model, but will retain the original CATIA V4
patch structure, which may be helpful in revising the model. CATIA V5 also provides tools
for closing gaps between CATIA V4 surfaces that are unacceptably large.
If a *SKI element is copied from the CATIA V4 browser into a CATPart, the result is just
one surface in CATIA V5, which then can be used to build solids. In contrast to the
source CATIA V4 *SKI, the corresponding CATIA V5 surface is self-consistent.
Therefore, there is no need to migrate the *SURs and *FACs in CATIA V5they are all
converted as surfaces, but they have no topological links with the surface coming from
the *SKI. It is always possible to apply the disassemble function to this surface to obtain
surfaces corresponding to the original *FACs.
For the above reason, migrating skins reduces the amount of data transferred and results
in reduced healing and cleaning activities in CATIA V5. Healing can be applied to multicell surfaces, such as those obtained from the copying and pasting of a *SKI, and it heals
all internal boundaries with a single operation.
Only CATIA V4 elements, which are in shading mode in the CATIA V4 browser, can be
converted into CATIA V5 CATParts. To transfer the *SKI element, either save the
CATIA V4 Elements in shading mode or set the Display elements with the Display
Mode Sensitive attribute off option on the V4/V5 Infrastructure tab in Compatibility
settings under General Options.
Points to be noted:
To get a unique surface in CATIA V5 when copying and pasting sets of surfaces, it
is more efficient to perform the join operation in CATIA V4 before copying.
97
This methodology does not deliver accurate results when migrating complicated
CAD geometry.
The As-Spec conversion produces models that are not what a designer starting in
CATIA V5 would optimally choose. To properly capture the design intent of a
CATIA V4 model, it may be wise to rebuild it.
Only the CATIA V5 elements in Show mode can be translated into CATIA V4
format.
CATIA V5 part bodies and volumes will be translated into CATIA V4 Solids without
history.
CATIA V5 Wireframes are transformed into CATIA V4 Curves, Planes, Lines, and
so on.
The Save As Model Operation also keeps graphical properties: colors and layers
are transferred on Wireframe and Surfacic elements.
Drawings
The following data can be copied from CATIA V4 to CATIA V5:
Circles
Ellipses
Points
Lines
Parabolas
Hyperbolas
Curves
AUXVIEW2 views
Converting drawings with the CATIA_Result option may be adequate for drawings of
parts in production that are likely to change little. If a drawing is being converted for use
in a new product design, however, lack of associativity could make it difficult to update
the drawing as the geometry evolves.
98
When copying CATIA V4 drawing data to CATIA V5, bear the following in mind:
Whatever the standard of a CATIA V4 view prior to being copied into CATIA V5,
the view takes CATIA V5 standards after it is pasted into CATIA V5.
The smallest unit that can be copied is the view. All the elements that go to make
up this view are included in the copy.
This report contains the following information regarding the migration results:
Assemblies
CATIA V4 assemblies can be either in a session file (that is an overlay of different model
files) or a single file. CATIA V5 assemblies do not contain any solids. Instead, they have
a reference link to the different external models.
If the CATIA V4 assembly is a session file, then the CATIA V5 assembly can have the
same geometries and retain the assembly constraints.
CATIA V5 assemblies can have both CATIA V4 and CATIA V5 parts together. CATIA V4
parts that are to be employed without modification need not be converted. They can be
imported into CATIA V5 assemblies in their native CATIA V4 format. CATIA V4 parts can
be used in CATIA V5 assemblies as reference geometry to create new parts.
CATIA V5 lets engineers design parts in the context of an assembly. Parts reside in
individual files and are incorporated into the assembly by reference. Relationships
between parts and assemblies are depicted on a graphical tree. Designers can load only
the desired portions of large assemblies. This technique should help designers of
complex assemblies keep interactive performance within acceptable limits. The assembly
design workbench allows product models to be created from mixtures of solid and
surface models from both CATIA V4 and CATIA V5.
For a step-by-step description of the procedure for translating CATIA V4 assembly files to
CATIA V5, see the Methodologies section in this chapter.
99
During the migration process, when both CATIA V4 and CATIA V5 are in use, you may
wish to translate V5 CATProduct documents into V4 Sessions. Note that the first
component in the CATProduct will be the Active Model in the Session and the other
components will be downloaded in the passive mode.
There are a few prerequisites for this kind of operation:
The number of characters in the name of the session must not exceed 80
characters.
The number of characters in the name of the CATProduct's components must not
exceed 64 characters.
Restrictions
Certain restrictions apply when copying models from CATIA V4 to CATIA V5:
The primitives converted to data are:
Pyramids.
Certain draft types; for example, keep edges with more than two neutrals.
Macroprimitive multibodies.
Non-isometric transformations.
The elements copied as geometry only, that is, not as history, are:
All elements (including SKD) with the exception of exact and mockup solids.
Batch Migration
CATIA V4 Data conversion to CATIA V5 Data through the copying and pasting method is
useful, but it contains a few restrictions. Therefore, the CATIA V4 to CATIA V5 Batch
Migration technique allows migration of several CATIA V4 documents at one time and in
a global way.
The batch migration tool provides an interactive interface that can run in the background
while you work on different Workbenches.
Before launching the batch tool, make sure that the CATIA environment is correctly set
up. On Windows, the batch's environment is installed during CATIA's installation itself.
The Methodologies section in this chapter contains an example of batch migration from
CATIA V4 to V5 and the syntax for batch migration from V5 to V4.
100
In the Batch mode, all Draw and Detail workspaces are migrated in CATIA V5. On the
contrary, if Copy/Paste a Draft or a View is done interactively, only referenced Details
are migrated.
If the Open in Light Mode: 2D Data are not taken into account option, accessible from
the Tools menu by clicking Options and then V4/V5Infrastructure, is not turned off, the
batch will not be able to migrate CATIA V4 Drawing data. Therefore, to convert CATIA V4
drawing elements to CATIA V5, it is necessary to uncheck this setting.
When an .asm is converted through the migration batch, a CATProduct is obtained. The
result is the same when an .asm is read in CATIA V5.
101
Libraries/Standard Parts
This section describes the details of converting CATIA V4 Libraries to CATIA V5
Catalogs.
Library-Catalog Equivalences
Each Library in CATIA V4 is made up of various Families. Each Family, in turn, contains
groups of Objects of types Detail, Symbol, and so on. Keywords are attributed to these
families for easy retrieval of the objects in the family.
L ib r a r ie s
F a m i lie s
O b je c t s
K e y w o rd s
Figure 6.1
Library Structure in CATIA V4
Detail
Symbol
NCM tool
Section
NCL tool
C h a p te r
F a m ily / E n d C h a p te r
O b je c ts
K e y w o rd s
Figure 6.2
Library Structure in CATIA V5
The keywords relating to the library family are converted into catalog keywords following
the conventions in this graphic:
Table 6.4: Keyword Conversions
V4 Keyword Type
V5 Keyword Type
Discrete
String
Alphanumeric
String
Numeric
Boolean
Boolean
102
the Model into CATIA V5, and finally building the Catalog in V5 with keywords. This
process can be done manually, but with a large number of libraries this takes time and
patience. Fortunately, it can be automated:
Creating CATIA V4 Models from Libraries. The CATIA V4 User Manual provides
instructions for writing an IUA to read the library, obtain the Models contained in it,
and save it as a *.model file.
Capturing Keyword Data from CATIA V4 Libraries. Again, this can be done with
IUA code. Here the IUA code should use the CATGEO tool (a CATIA tool) to
generate text files containing the keywords.
Building CATIA V5 Catalogs with Keywords. This can be achieved with a script
that reads the text file you have created and copies the data into a .catalog file.
An alternate approach to library migration is to use CATScripting, which can reduce the
number of steps involved.
For example scripts illustrating these procedures, see the Methodologies section of this
chapter.
103
Methodologies
The following subheadings describe the methods used for data migration.
Project Files
The following subsections discuss PRJ models, tables, and fonts.
PRJ Models
These files include both models and Project files. They are created by the process of
internalization, which can be performed on a single file or on many files simultaneously.
These procedures should be performed in the UNIX environment before the migration to
Windows.
104
catia.MODEL_KBYTES.MAX_ACTIVE_INDEX
catia.MODEL_KBYTES.MAX_ACTIVE_DATA
PRJ Tables
!Before opening CATIA V4 files (linked to an external project) in CATIA V5, the
following changes have to be made to maintain full compatibility and avoid
errors:
1. Duplicate the Project File directory on UNIX:
cp -r <native_V4_PRJ> <NT_compliant_PRJ>
2. Go to the new directory:
cd <NT_compliant_PRJ>
3. Rename the table files appropriately.
mv .TEXTCOT : DESCRIPTIONS.project
.TEXTCOT_ _ _DESCRIPTIONS.project
mv .TEXTCOT : STANDARDS.project
.TEXTCOT_ _ _STANDARDS.project
mv PATTERN : DESCRIPTION.project
PATTERN_ _ _DESCRIPTION.project
mv PATTERN : IDENTIFICATEURS.project \
PATTERN_ _ _IDENTIFICATEURS.project
mv PATTERN : MOTIFS.project
PATTERN_ _ _MOTIFS.project
4. Perform the same conversion for all table names, if necessary.
5. Once all the tables have been renamed, transfer this directory to the Windows
workstation and reference it in the compatibility setting.
6. From the Tools menu, select Options, then select General, then select
Compatability, and then select the V4/V5 Infrastructure tab.
7. Enter the link to the <NT_compliant_PRJ> directory in the space for the Project
File Path text box.
105
When the user has specified only the PRJ File Path (NT_compliant_PRJ) and not the
DLNAME, but the model references only a DLNAME, the following warning message
appears:
Figure 6.3
Warning message
This warning does not appear, however, if the <User_dlname> is specified in the
DLNAME textbox in the V4/V5 Infrastructure Settings.
Fonts
!The following procedure outlines the migration of a font in the FONT (UNICODE
Key) format to CATIA V5.
If you have fonts in the FONTDATA (EBCDIC Key) format they must be changed to FONT
files first, using the CATFONT utility in version 4.1.8 of CATIA or later.
1. Copy the CATIA V4 FONT files to the CATIA V5 environment in the following folder
or directory:
install_folder\resources\fonts\Stroke
where install_folder is the installation folder (Windows) or directory (UNIX)
2. Copy the FONT CODE files to the CATIA V5 environment in:
install_folder\reffiles\NLS\fontcode
106
107
This message appears when CATGEO has detected a problem in the reading of
CATIA V4 model data.
!Perform the following operations to clean the model:
1. Type /cln in the text field and press Enter.
2. A screen exposes a Model analysis by listing the number of detected invalid
elements:
Figure 6.4
Model analysis
3. Click the four buttons: Delete (invalid elements), Modify (invalid elements), Pack
(memory) and All (to see all the messages and results of the checking).
4. Click YES to execute and the invalid elements will be turned into valid components.
If YES is clicked again, the events number may turn to 0.
5. Use FORCE UPDATE (YES) on the solids, if there are some in the model.
6. Save the model.
7. Then use FORCE UPDATE on the solids in the model and save it.
The elements of this model can then be migrated from CATIA V4 to CATIA V5.
During a migration from CATIA V4 to CATIA V5, if both the following messages occur:
< The CATIA V4 solid XXX has not been pasted <$DRAFT.1 ko...etc>
It is due to the bad data structure of the solid, detected in the Draft V4.$DRAFT.1.
108
The next step is to type /cln in the text field. The Cleaner's manipulations have modified
the V4 Model Data Structure. If the model contains solids and they depend on modified
data, it is important to FORCE UPDATE (YES) the solid in order to check that every
element is coherent and then, finally, save the model before translating it.
CAD Geometries
!In order to read and use CATIA V5 CATPart documents in CATIA V4 , the
following steps must be carried out.
Note that CATIA 4.2.3 R1 or later is a prerequisite.
The path used to access the CATPart document is the same path as $HOME and
the file system containing the CATPart is shared between the CATIA V4 and
CATIA V5 computers.
for a user is the same on the CATIA V4 and CATIA V5 computers and is
shared by both.
$HOME
After the statement in Step 3 is added to the USRENV.dcls file, it is possible to use
CATIA V5 data in a CATIA V4 session within a client/server environment.
However, if the last two lines of the declaration above are not specified, it is
assumed by the system that both CATIA V4 and CATIA V5 are installed on a local
computer. Following these steps (1-4) enables you to avoid the error message
"Dynamic storage cannot be allocated," which would otherwise be displayed while
attempting to read CATIA V5 data.
109
Parts
!The following procedure describes how an entire model is pasted from
CATIA V4 to CATIA V5.
1. Open the CATIA V4 document to be converted in a CATIA V5 session.
2. Click the New icon or select New from the File menu to open a new CATIA V5
document.
3. In the specification tree or geometry area where the CATIA V4 model is displayed,
select the geometrical element or elements to be converted.
4. To convert the data without the specifications (history), either:
a. Drag and drop the element(s) onto the appropriate location in the CATIA V5
document.
or
b. Copy the element(s) by selecting Copy from the Edit menu and paste in the
CATIA V5 document by selecting Paste from the Edit menu.
or
c. Copy the element(s) by selecting Copy from the Edit menu and paste in the
CATIA V5 document by selecting Paste Special from the Edit menu, and then
selecting CATIA_Result in the dialog box and clicking OK.
5. To copy the specifications of the selected CATIA V4 elements, copy the element(s)
by selecting Copy from the Edit menu. Paste them in the CATIA V5 document by
selecting the Paste Special from the Edit menu, selecting CATIA_Spec in the
dialog box, and then clicking OK.
6. Click Update icon to update and view the copied data.
!The following task describes how an entire model is pasted from CATIA V5 to
CATIA V4:
1. Select Options from the Tools menu. The Options dialog box appears with the
General category selected in the left-hand column
2. Click the Compatibility tab. The following dialog box appears:
3. Open the WRITING_CODE_PAGE list in the V4 Declarations part of the dialog
box. The default WRITING_CODE_PAGE value is ISO-8859-1.
Select the appropriate code page from the drop down menu and click OK.
4. The V4 Model Dimension can be modified in order to be consistent with the
CATIA V4 destination site value.
5. Select Save As from the File menu.
6. In the Save As dialog box, select the location of the .model document to be saved
and rename it (or not) as required.
110
In this way, the message lets the user know which element could not be translated in
CATIA V4 .
Additional information about the error cause is provided as well. The cause of the error
may include:
Detection of an element with a dimension smaller than the minimum allowed value.
Detection of a shell that cannot be closed into a volume or detection of faces that
cannot be joined into a shell.
Drawings
!The following procedure allows translation of CATIA V4 2D into the
corresponding CATIA V5 format.
1. Open the CATDrawing document.
2. Click the New icon or select New from the File menu to open a new CATIA
Drawing.
3. In the specification tree or geometry area where the CATIA V4 drawing is
displayed, select the view (or views) to be copied into CATIA V5.
4. Select Copy from the Edit menu and copy the selected view(s).
5. In the specification tree of the CATIA V5 CATDrawing document, select the
appropriate sheet.
6. Select Paste from the Edit menu and paste the selected view(s).
7. The migration of CATIA V4 drawing data to a CATIA V5 document generates a
report (.rpt) file named after the model migrated.
Assemblies
The following procedure allows translation of CATIA V4 assembly files (document
structure) into the corresponding CATIA V5 format. Opening a CATIA V4 session
generates a CATIA V5 CATProduct. This CATProduct contains the .model documents
linked to the .session document. The models contained in the Session are automatically
transferred into the CATProduct. Only CATIA V4 Sessions saved in "References only"
can be read in CATIA V5.
111
Batch Migration
!The following procedure describes the use of batch migration to convert many
CATIA V4 documents to V5 simultaneously:
1. On Windows, the Batch can be launched by entering the command:
CNEXT -batch -e CATV4ToV5Migration
2. Select CATIA V4 Documents in the File Selection dialog box.
3. Confirm that the Specification Check has been performed on the CATIA V4
documents.
4. Press the Migrate button in order to convert CATIA V4 documents into CATIA V5
documents. The migration is progressive when one or several models are selected,
and a progress bar appears, giving the user an insight into the migration time. The
screen is not frozen during the migration process.
5. The migration report is displayed in another dialog box at the end of the operation.
Double-click the line of choice to get more information. In the Migration Report
box, if the message is OK, then the selected files and their components can be
converted into CATIA V5.
6. The results obtained by performing a Copy/Paste operation may be different from
batch migration. Batch migration reduces the number of interactions and simplifies
the migration of complex CATIA V4 data structures.
7. The migration report can be saved as a text file. In the Migration Report window,
the elements list can be expanded for a particular model by double-clicking the
model. If the Save As Text button is clicked, these data will be saved in the file
and directory of choice.
112
For command line CATIA V5 to CATIA V4 Batch Migration on Windows and UNIX, the
migration can be launched by entering the CATV5ToV4 command. For more information
about this command, refer to the CATIA Help Documentation.
In CATIA V5
Executing these steps for migration of large libraries is tedious. These four steps can be
automated as described below :
Create CATIA V4 Models from Libraries
This process can be automated by writing an IUA to read the Library, extract the Models
from the Library, explode it, and save it as a *.model File in V4.
!The following are the steps to read the library file, explode the DITTOs, and
create .Model Files:
1. Get Input Library Name.
2. Test the validity of the input.
3. Read, Allocate and Open Library.
4. Scan the family in library.
5. Create a model.
6. Scan the objects in family.
7. Read object.
8. Paste in model file.
9. Create a standard symbol occurrence.
Capture Keyword Data for each object from CATIA V4 Libraries
The keyword data related to each object in all the families can be captured using the
CATGEO tool and IUA code. A text file is generated by running the IUA code. The
created text file can be modified to a CSV file of the required format, which would be the
input for creating catalogs.
113
114
115
catalogName = "LIB.catalog"
catalogDirectory = "E:\..\..\Catalog"
projectDirectory = "http://../../Interop"
tablePath = "E:\..\..\table.txt"
Dim Catalog As Document
if ( BATCH_MODE = RATTRAP ) then
Set Catalog = CATIA.Documents.Open(catalogDirectory & "/" & catalogName)
else
Set Catalog = CATIA.Documents.Add("CatalogDocument")
end if
Catalog.CreateCatalogFromLibrary libraryDirectory, projectDirectory,
catalogDirectory, tablePath, CONVERSION_FORMAT, BATCH_MODE
Catalog.Close
End Sub
116
Summary
The migration of data from CATIA V4 to CATIA V5 can be involved if you intend to run V5
on Windows because the V4 data must be hosted on UNIX. The migration process must
be planned carefully if the productivity of your design department is to be maintained
throughout the process.
The V4 to V5 migration process does not have to be an all-at-once event, in which all
processes must be complete before users can access the new system. Instead, you can
phase your migration, with parts of your user base moving to the new system while
others continue with V4. This prevents a major interruption to the departments work,
allows you to test and gain confidence in your procedures with a small number of users,
and lessens the impact of failures. However, it also means that you must plan for the
movement of data both from V4 to V5 and from V5 to V4 while the migration is in
process.
If you have large amounts of data to migrate, it is likely that manual techniques will be
repetitive and time consuming. Bear in mind that the automated migration techniques
described in this chapter will reduce administrative effort in this situation.
117
7
Migrating Custom Applications
and Scripts
Your organization may need to develop and maintain custom code and scripts for use
with your CATIA system. If you have invested time in code development, you will want
to leverage this investment with the new system. Therefore, techniques for the migration
of custom solutions are of great importance.
Migrating CATIA V4 to CATIA V5 running on UNIX involves no changes in the operating
system and requires few changes in the code in order for it to continue working. Most of
the code issues surrounding upgrades arise because of the change to the Microsoft
Windows architecture that can be made with V5 and which this guide is designed to
address.
Custom applications are typically implemented either with compiled languages, such as
C++, or with scripting languages, such as Perl or UNIX shell scripts. In this chapter,
approaches to the migration of custom code will be discussed, first for compiled code,
and then for scripts.
A more detailed approach can be found in UNIX Application Migration Guide Patterns &
Practices at http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnucmg/html/ucmglp.asp
119
Options
Porting a UNIX application to Windows may be as simple as recompiling, or it may
require significant redesign and recoding. It does require access to the applications
source code.
There are four possible options for migration or co-existence between UNIX and
Windows:
Quick port
Full port
Application rewrite
Co-existence
Detailed descriptions of these options appear in the sections that follow.
Quick Port
One of the simplest migration paths possible is to port the code directly to
Microsoft Services for UNIX 3.0. Services for UNIX 3.0 includes Microsoft Interix, which
provides a UNIX environment that runs on top of the Windows kernel, allowing native
UNIX applications and scripts to work alongside Windows applications. This is achieved
by obtaining the source code, installing it in the Interix development environment,
modifying the configuration scripts and Makefiles, and recompiling the application.
The ported application may be successful immediately, or it may require modifications to
the configuration scripts or Makefiles to account for the new hardware platform, the target
operating systems, and local configuration information. It may not be possible to
determine whether a quick port is possible without actually conducting the port. Extensive
testing of the application is essential after the port to ensure that all features have been
migrated successfully.
Advantages:
120
When the Interix environment is used, the native UNIX applications and scripts can
be run alongside Windows applications on that platform.
Disadvantages:
A quick port may fail in the following scenarios:
Some parts of the application have to be rewritten for the port to be successful.
The quick port uncovers some new issues in the code or shows that assumptions
were incorrect.
Often, a quick port can be attempted as the first stage of the migration process. If it does
not work, the results can be used as a basis for a full port or a rewrite.
Full Port
During a full port, the application is migrated with the minimum necessary changes to the
source code using UNIX-compatible libraries and utilities available on the Windows
platform, which can include Interix. Unlike the quick port, however, significant changes
may be required to enable the code to run on the new platform. This can happen when
the original code is not fully compliant with programming standards, or when code
elements such as device drivers are specific to the original system.
Advantages
The application can easily be run on both operating systems for a sustained period
because there is a single code base where changes can be made.
The current look and feel of the UNIX application can be retained.
Disadvantages
If the original code is not fully compliant with standards, or when code elements
such as device drivers are specific to the original system, a full port may require
significant changes to enable the code to run on the new platform.
Application Rewrite
Here, the application is recreated from scratch for the new Windows platform. Rewriting
the application is the ideal approach to make full use of the Windows platform. Though
this course requires the greatest amount of work, it also promises great rewards. This
strategy has the highest potential risk, but it frequently produces the best results.
Advantages
A rewrite results in the maximum use of the advanced features of the native
Windows environment, including the Win32 Application Programming Interface
(API).
You can standardize all of your organizations Windows coding in the Microsoft
Visual Studio environment.
Rewriting offers the best possible integration with other Windows applications.
121
Disadvantages
A rewrite strategy is most appropriate when the costs of porting the application may
outweigh the benefits, or when specific application qualities, such as performance or
scalability, require that code be written specifically for the Windows platform.
Co-existence
To reduce the impact of code migration on users, you can plan a phase in which both the
old version of an application and the new one exist simultaneously. With co-existence,
the original application is retained alongside the new version while the application is
being ported or rewritten. This approach significantly reduces risk because it allows the
use of the original system should unexpected issues appear with the new application.
However, a cross-platform source code control system is needed to organize and
synchronize concurrent development on UNIX and Windows.
In this approach, choose a quick port, full port, or rewrite of the application, but retain the
original after deploying the new version. There are a number of reasons to choose coexistence:
The two applications, original and migrated, can be run in parallel to minimize risk.
A new set of users or customers will use the ported application, leaving the original
users unaffected.
A staged migration is planned between the original and the migrated application,
enabling you to minimize disruptions to the working environment.
122
Interix
This environment, part of Services for UNIX 3.0, is able to migrate compiled applications.
It also allows UNIX scripts to be moved to Windows with little or no revision.
Advantages
No migration effort. All the UNIX scripts will work on the Interix subsystem without
change, including those written with sed, awk, Perl, and other languages.
This is an excellent option for programs using complex system calls such as fork,
exec, or signal handling, which require a lot of effort to convert to Win32.
No retraining is required for using the current scripts and developing new ones.
Users can continue to script in their familiar scripting language.
The UNIX to Windows migration effort can focus on the core migration of the
desktops, servers, and CATIA itself, rather than the peripheral supporting scripts.
Disadvantages
The migration is not really complete because it still uses a UNIX style of scripting.
There may be a tendency for users to expect other familiar UNIX resources and
functionality, such as file systems, path syntax, and user interfaces, after the
migration.
The script may include no graphical user interface. Scripts developed natively for
Windows can create an interface more easily.
Performance may be slower than a native Windows script. This arises from the
extra load of running the Interix environment, as well as the script itself.
ActivePerl
ActiveState has developed the ActivePerl implementation of the popular Perl scripting
language. ActivePerl can be used for migrating Perl-based scripts as a long-term or
short-term option because it can run on both UNIX and Windows. Perl scripts migrated
this way should require little or no rewriting to run on Windows
123
124
Summary
Customization of your UNIX implementation of CATIA can adapt the system to any
specific requirements you may have. If you have already customized your system,
however, the application may present challenges for the migration of CATIA to Windows.
Your custom application may consist of compiled code, such as that written in C++. In
this case, a port of the code in which it is simply recompiled for Windows may work well.
However, any code that references specific UNIX features or hardware will need to be
rewritten. The Interix environment from Microsoft Services for UNIX 3.0 can help with
this, but rewriting the application from scratch makes best use of the Windows
architecture and can increase performance.
You may also have script code to migrate. The language this is written in will determine
how difficult the migration of such code is. Various tools are available to help, including
Interix, ActivePerl, and the Windows Scripting Host.
125
8
Windows-UNIX Interoperability
and Data Sharing
If you are moving from CATIA V4 running on UNIX to CATIA V5 running on Microsoft
Windows, you must ensure that the two environments can communicate smoothly.
However there are significant differences in the way these systems approach common
tasks, such as file serving, security, and the user interface.
During a migration project UNIX and Windows-based systems must communicate or
interoperate. Even if the migration is to be done very quickly, data must be transferred
and custom scripts and applications migrated. If you have planned your migration to run
in phases, it might last several weeks or even months, and there will be a sustained
period when the two operating systems must share information in a variety of ways.
This chapter presents the issues that arise in Windows and UNIX interoperability and the
tools available to address the issues.
A more detailed approach can be found in UNIX Application Migration Guide Patterns &
Practices at http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnucmg/html/ucmglp.asp
127
Four categories of interoperability issues and the tools to address them are presented in
the following sections:
User Authentication and Authorization. This section discusses the UNIX and
Windows security models and how to integrate them so that users on one
operating system can securely use resources on the other.
Resource and Data Sharing. This section discusses how to provide access to
UNIX and Windows-based resources (specifically, networked file systems) across
the two operating systems.
A CATIA migration is likely to use many of the solutions presented here. For example, if
you have planned to migrate the desktop computers before the file servers,
Windows 2000 or XP computers will need to access CATIA files hosted on UNIX file
servers. If there is a need for those computers to run a custom CATIA script, they may
need to issue a command to run on the UNIX computer. For more information on
interoperability in general, see the "References" chapter at the end of this document.
128
129
130
Remote Shell (rsh), Remote Copy (rcp), and Remote Execute (rexec)
Using the Berkeley r commands for remote access into UNIX servers can simplify
access. Authentication occurs only once on first connection to the UNIX system a user
does not need to log on again to connect to other systems.
The remote shell client (rsh) is available on all Windows computers and provides a shell
for running commands on UNIX servers elsewhere. The syntax is as follows:
rsh [Host] [-l UserName] [-n] [Command]
The remote execute tool (rexec) has similar syntax and performs similar remote
commands. The tool you use will depend on whether the UNIX server is running the rsh
or rexec daemon:
rexec [Host] [-l UserName] [-n] [Command]
For copying files between remote computers, the rcp tool is provided. The syntax is as
follows:
rcp [{-a | -b}] [-h] [-r] [Host][.User:] [Source] [Host][.User:]
[Path\Destination]
On Windows-based clients, the UserName parameter is required if user names on UNIX
and Windows are different.
The Windows 2000 Resource Kit includes an rsh server; Rshsvc.exe.
Note: Authentication for Berkeley r commands is based on the existence of a valid
client host and username combination as command parameters because if this
information is revealed, these commands can present a security risk. For this reason,
the commands are often disabled and replaced by the ssh command, as described
later in this chapter.
131
X Windows
Windows operating systems do not include an X Windows server. However, the Interix
environment, included in Microsoft Services for UNIX 3.0, does include X Windows
clients, which can be used to develop applications that use an X Windows user interface.
Xterm can be run from Interix with an X Server.
Third-party products that provide Windows-based X Windows servers are well integrated
with the Windows desktop. Users of the third-party products can cut and paste text and
graphics between X Windows and Windows. The following are popular X Windows
servers for Windows clients:
Hummingbird Exceed. For more information, refer to the Hummingbird Web site at
http://www.hummingbird.com
MKS Toolkit. For more information, refer to the MKS Web site at
http://www.mks.com
WRQ Reflection(r) X. For more information, refer to the WRQ Web site at
http://www.wrq.com
These products provide support for most X Windows standards. Each product also
includes extras. For example, MKS Toolkit also includes more than 300 UNIX commands
that can be used within Windows.
Remote Desktops
A Windows operating system and UNIX each handle multiple users in a different way.
Traditionally, only a single user at a time could log onto a Windows computer. However,
by using Windows 2000 Terminal Services, multiple users, seated at remote computers,
can log on to a single server. A Windows-based server can thus provide a desktop to
remote users on clients spread over the network, including those on other operating
systems. The software that runs on the remote desktops is often called a thin client,
because the client only has to handle input and output while the application runs on the
server. With Windows XP Pro, even local sessions use Remote Display Protocol (RDP),
which means that you can log off your machine, someone else can log on to your
machine, and then log off, and you can log on again with all your programs still running.
For UNIX to Windows connectivity, UNIX and Linux can implement the RDP) used by
Terminal Services by installing the Terminal Services client software on them. At the time
of writing, these products are new. It has not been determined whether they are
appropriate for a commercial environment.
Such a system can be made more manageable and scalable using Citrix MetaFrame.
This product is an add-on to Terminal Services and eases administration while improving
the end users experience. MetaFrame also has clients for a wide range of operating
systems, including UNIX and Linux.
(For more information about Citrix MetaFrame, refer to the Citrix Web site at:
http://www.citrix.com/products/. An X Windows interface to UNIX is required to use the
product.
132
Do users require two sets of user names and passwords: one for UNIX and one for
Windows?
The greater the need for interoperability during the migration, the more important these
questions become. The rest of this section presents information about Windows and
UNIX security and how to integrate them. This should enable you to answer the above
questions.
Security models for both operating systems typically have two components:
Authorization to control access to resources and to limit what a user can do.
133
To secure stations, some UNIX installations may also use a Host.equiv or .Rhosts file
containing host information based on the host name and IP address. These files define
the set of trusted hosts, users, and host-user pairs that certain UNIX processes use to
verify access. For example, rlogin (remote logon) and rsh (remote shell) bypass the
normal logon and password security mechanisms of /etc/passwd or Network Information
Service (NIS) and use these files instead. The /etc/hosts.equiv file contains trusted hosts
and/or trusted host-user pairs.
The UNIX user database can be centralized for a network of UNIX computers using NIS.
NIS maps the /etc/passwd and /etc/group files to a central database held on the NIS
servers. All other aspects of UNIX security continue to work in the same manner, but use
UIDs and GIDs from the NIS server rather than local files.
134
Figure 8.1
UNIX and Windows security model differences
Figure 8.2
UNIX and Windows Security Model Differences
135
How to map UIDs to SIDs and SIDs to UIDs to control access to resources, such
as files, when accessed across the two systems.
The following sections describe some tools for integrating UNIX and Windows security.
136
Integrate NIS objects (such as users) with corresponding Active Directory objects.
Figure 8.3 shows the architecture of Server for NIS. Notice that although UNIX slave NIS
servers are still usable, the master NIS server now resides on Windows.
Figure 8.3
Architecture of Server for NIS
Server for NIS is especially useful for large networks that already have NIS and Active
Directory. However, administrators need to be aware of how Server for NIS interoperation
works.
Server for NIS must be installed on a Windows 2000 domain controller. The Windowsbased server uses Active Directory to store the NIS information. Normal Active Directory
replication is used to propagate the NIS data to other Windows domain controllers.
The computer running Server for NIS must be the master NIS server. This means
that all the other Windows-based and UNIX NIS servers are subordinates.
The Active Directory tools on the master computer administer both the NIS and the
Active Directory domains.
An NIS to Active Directory Migration Wizard assists in moving the existing NIS
domain into Active Directory.
For more information on Server for NIS, refer to the Microsoft white paper, Server for
NIS Overview, at:
http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/
windows2000serv/deploy/sfu/servnis.asp
137
138
139
An NFS client mounts the NFS export into its file system tree just as it mounts any other
file system, such as one on a local disk drive. To the user, the network file system looks
like another directory under the root of the file system (/).
The mount command can be used to connect to an NFS file system. Such a command
might look like this:
mount t nfs server:/usr/local/pub /pub
NFS is used in many ways in UNIX environments. Servers can share common data by
using NFS. Desktops or workstations can streamline administration by centralizing user
data on an NFS server.
140
Using a service installed on the file server. For example, Samba can be
installed on a UNIX server to make it appear to be a Windows server, or an NFS
server can be installed on a Windows server.
Using a client on the workstation computers. For example, an NFS client can
be installed on a Windows 2000 Professional computer to allow it to access the
NFS UNIX servers.
The scheme you choose may be influenced by the order of your CATIA migration. For
example, if you plan to migrate the data to Windows file server before migrating the
application itself, UNIX users will need regular access to those servers during the
migration. You might consider installing an NFS server on the Windows computers to
facilitate this, or a CIFS client on the UNIX desktops.
For interoperability, network file system software must provide some basic functionality:
It must provide connectivity between the network client and the file server.
It must provide for security mapping between the two systems (for more
information, see the "User Authentication and Authorization" section earlier in this
chapter).
It must convert file system features between UNIX and Windows; for example,
links and file locking.
File sharing between UNIX and Windows-based systems can be implemented in many
ways. Figure 8.4 provides an overview of the options. Each of the interoperability
solutions can be implemented either on a UNIX platform or on a Windows platform.
The following combinations are commonly used:
A UNIX server provides CIFS file shares to Windows clients via Samba and NFS
file shares to UNIX clients.
A UNIX server provides NFS file shares to both Windows and UNIX clients. The
Windows clients must have a NFS client, such as that provided with Microsoft
Services for UNIX 3.0, installed locally.
A Windows-based server provides CIFS file shares to Windows clients and NFS
file shares to UNIX clients via a NFS server for Windows. Such a NFS server is
provided with Microsoft Services for UNIX 3.0.
A Windows-based server provides CIFS file shares to Windows and UNIX clients.
The UNIX clients must have a CIFS client installed locally.
141
Figure 8.4
File-sharing options for UNIX and Windows
142
NFS software products for Windows, including clients and servers, are available from
Microsoft and others. The next sections discuss these products.
143
Hummingbird NFS
The Hummingbird NFS Maestro suite offers NFS solutions similar to those in Microsoft
Services for UNIX. NFS Maestro includes an NFS client package, an NFS server, and an
NFS gateway product. The NFS Maestro gateway also eliminates the need to install NFS
client software on each client computer.
For more information, see Host Access and Network Connectivity on the Hummingbird
Web site at http://www.hummingbird.com
WRQ Reflection
WRQ Reflection products also deliver NFS functionality for Windows computers. The
WRQ Reflection NFS Client offers client functionality, and WRQ Reflection Suite for X
contains the NFS client, X Windows capabilities, and connectivity to UNIX and mainframe
systems.
For more information, see the WRQ Web site at http://www.wrq.com
144
Business Need
File Serving
Low TCO
High availability
High reliability
Ease of management
Integration into existing
infrastructure
Backup/Restore and
Replication
Business continuity
- Disaster recovery
- Availability of data
Server Consolidation
Optimize IT resources
- Lower touch points
- High availability
- Reduce admin costs
Low $/MB
Consolidate multiple file servers
More data per server per admin
145
\\NASServerRL1\Software
\\NASServerRL2\Software
\\NASServerRL3\Software
\\NASServerRL4\Software
NASServerRL1 through NASServerRL4 will hold an exact copy of the \Software share
on NASServerHQ1. When a client in a remote site requests installation of software using
the \\CompanyABC\Files\Software UNC mapping, they will be referred to the DFS
server located at their remote location and the software will be installed using the LAN. If
a remote location DFS server happens to be unavailable due to system maintenance or
component failure, a client initiating a software installation would be automatically and
transparently referred to another DFS server. The client would not be aware of or be
affected by this type of event.
FRS will take care of reliably and efficiently replicating the package to the Windows
Powered NAS appliances in the other sites.
After six months, Company ABC grows by 75 percent at one of the four remote locations.
Because of the growth, clients at this location have started to experience slower software
installation performance. The IT organization wants to improve the client software
installation experience without incurring additional management costs.
Company ABC decides to use the automatic load balancing features of DFS by deploying
two more replicas of the \Software share at the remote location that experiences the
problem.
146
Adding two new NAS appliances to distribute the load, the DFS namespace will reflect
the following:
\\CompanyABC\Files\Software !
\\NASServerHQ1\Software
!
\\NASServerRL1\Software
\\NASServerRL2\Software
\\NASServerRL3\Software
\\NASServerRL3A\Software
\\NASServerRL3B\Software
\\NASServerRL4\Software
With the deployment of the two new Windows Powered NAS appliances, clients at the
remote location still use the common UNC, \\CompanyABC\Files\Software, to access
any available software installation point. The two new replicas added to the existing
replica set will synchronize their content through FRS. DFS will transparently allocate
client requests in this site to the underlying shared folders on \\NASServerRL3 through
\\NASServerRL3B, providing a degree of load balancing across the NAS appliances.
2. Deploying Windows Powered NAS Appliances for Highly Secure File Services
Company XYZ relies heavily on proprietary financial data to provide services to its
customers. Loss or theft of this financial data could translate into the loss of millions of
dollars of revenue.
Although this scenario concentrates on financial data, your engineering and design data,
including CATIA files, may have similar sensitivity. You may wish to protect your
investment against industrial espionage, for example.
Company XYZ has deployed a Windows 2000 Active Directory infrastructure that allows
their mobile work force to upload the financial data from their notebooks to Windows
Powered NAS appliances on the corporate network on a daily basis. In order to maximize
the protection of the financial data, Company XYZ has decided to implement a secure
enterprise file storage infrastructure based on the following criteria:
Encryption of the data on the notebooks to prevent data being compromised if the
notebooks are lost or stolen.
Encryption of the data on the Windows Powered NAS appliances to prevent data
being compromised if an intruder gains access into the enterprise network.
Encryption of data flowing across the network between client notebooks and
Windows Powered NAS appliances to prevent data being compromised during
transfer.
Using a combination of Windows 2000 Active Directory, Group Policy, Encrypted File
System (EFS), IP Security Protocol (IPSec), and Windows Powered NAS devices,
Company XYZ can achieve an integrated solution based on the standard Kerberos v5
authentication protocol or certificates.
147
148
EFS certificates that are self-signed are identified by Windows 2000 as "not trusted"
because the certifying authority does not have a certificate in the Trusted Root
Certification Authorities store. Nevertheless, self-signed EFS certificates are valid for use
by EFS.
Implementing IPSec for Data Transfers between Clients and Servers
Windows Powered NAS appliances can also use the IPSec integrated in Windows 2000
to provide enhanced protection of network data flowing across enterprise networks.
IPSec is a network protocol that was designed by the Internet Engineering Task Force
(IETF) to provide IP packets with data authentication, integrity, confidentiality, and replay
protection. IPSec is implemented at the IP Transport Layer, which enables a high level of
protection for applications, services, and upper layer protocols such as TCP and UDP.
IPSec negotiations between the source and destination systems require mutual
authentication before the exchange of secured data. Windows 2000 IPSec provides
multiple methods of authentication to ensure compatibility with legacy systems, nonWindows-based systems, and remote computers.
In order to ensure that Company XYZ data remains encrypted during data transfers
between client notebooks and Windows Powered NAS appliances, IPSec can be
implemented in the Active Directory environment. The flexibility of IPSec can be utilized
to assign different polices and levels of security for different computers and users. In
addition, computers can be configured to accept or transmit data only if an IPSec secure
channel can be established.
The amount of configuration required to enable IPSec will be minimized by using the
default Windows 2000 IPSec authentication method: Kerberos v5. This is also the
standard authentication protocol used between Windows 2000 systems that are
members of an Active Directory domain. Company XYZ selected Kerberos authentication
and domain trusts to simplify the management of IPSec configuration. If required in the
future, certificates or pre-shared keys can be used for non-trusted domains or third-party
interoperability.
To enforce the use of IPSec for all network communications between the companyowned notebooks and the Windows Powered NAS appliance without applying it to all
other computers in the Active Directory domain, Company XYZ creates an organizational
unit (OU) named Financial Systems that contains two child OUs: NAS and Notebooks.
The NAS OU contains all appropriate Windows Powered NAS appliance computer
objects. The Notebooks OU contains all appropriate notebook computer objects.
A Group Policy is created and linked to the NAS OU that sets configuration parameters
for IPSec policy to require security. This will require that all IP traffic between the
Windows Powered NAS appliances and clients use IPSec to encrypt network data
transfers and will not allow any unsecured communication with non-trusted clients.
A second Group Policy is created and linked to the Notebooks OU that sets configuration
parameters for IPSec policy to request security. This will allow computers in the
Notebook OU to communicate normally with all other servers, but to use IPSec for
network data transfers to the Windows Powered NAS appliances.
149
\\main\userdata1 (offline)
\\main\userdata2 (offline)
\\reg1\userdata1 (online)
\\reg2\userdata2 (online)
In day-to-day operations, users in the first regional datacenter are always directed to
\\reg1\userdata1 to access their data. If the Windows Powered NAS server in this
regional datacenter becomes unavailable, an administrator at the main site can bring
online the data replica stored on \\main\userdata1. Clients from the regional site are
automatically redirected to the data stored at the main datacenter.
150
Summary
In any migration from UNIX to Windows, including migrations to CATIA V5, the two
operating systems must cooperate, even if it is only for a small period of time. In realworld situations, with complex systems and hundreds or thousands of users, the
migration may take months to complete. You may also need to continue using UNIX longterm, as in situations where part of your user base continues to use CATIA V4 or you
have other applications specific to UNIX. Thus the communication between UNIX and
Windows is of great importance to those moving CATIA to Windows.
There are three main areas of interoperability:
Resource Sharing. the serving of files from Windows to UNIX, or from UNIX to
Windows.
When selecting your interoperability solutions, you should pay close attention to the final
system you are moving toward. For example, there seems little point in using a solution
running on UNIX, if UNIX is to be phased out.
151
9
Conclusion
CATIA V5 is turning out to be the design tool preferred by most organizations in the
automobile, aerospace, and manufacturing industries. Windows is becoming more
popular in the engineering environment as the platform for all engineering tools, including
CATIA. If you have decided to run CATIA V5 on Windows, it is important to evaluate all
the deployment options. By selecting the most appropriate option for your needs, you can
implement a scalable, stable, and highly available design system with the minimum
administrative overhead.
Where CATIA should be installed is one of the first questions to be considered.
Traditionally, local installation on all workstations has been considered to provide the best
performance and least network traffic. However, the Appendix to this document shows
that, with Offline Folders and DFS, a code server can perform as well as a local
installation in these respects.
Code serving of the CATIA application not only reduces the overhead for packaging,
deployment, and distribution, but also almost eliminates administration of CATIA V5 on
workstations. With this type of installation, only OLE records, shortcuts, fonts, and two
lines in the etc\services files are deployed locally on workstations. This solution, which is
similar to many UNIX CATIA systems, avoids heavy local installations.
If you have a large number of workstations in your system, you will appreciate automated
installation of CATIA on workstations, especially with local installation. There are many
packaging and deployment tools available to help with this. The one you choose will
depend on budget, workstation numbers, whether you have already rolled out Windows,
and other factors.
When migrating to Windows from an existing UNIX-based CATIA V4 setup, you must
ensure that existing data is migrated smoothly and that none is lost or made unusable.
Furthermore, if you have added to CATIA with your own custom code, you will be keen to
retain this, without major rewriting, because of the investment it represents.
Finally, any UNIX to Windows migration will require these two operating systems to
interoperate, whether it is for the purposes of issuing commands, ensuring security, or
sharing files.
These are the principal areas your migration project will concentrate on. If you ensure
that each of them is fully planned for and thoroughly thought out, your project should run
smoothly with few headaches.
153
You will find details of tests carried out on CATIA to determine its performance and
scalability on Windows in the Appendix. Also included are recommendations for and the
limitations of each setup.
For more information and further reading, see the "References" chapter.
154
Appendix
Scalability, Performance, and
Capacity Testing
Introduction
Microsoft and Infosys, in partnership with a leading automotive manufacturer in Europe
and Intel Solution Services, have developed a set of comprehensive tests aimed at
validating the scalability of the Microsoft operating platform on Intel architecture to
support the CATIA V5 application.
Extensive tests with various combinations of components and scenarios were executed
at the Intel Solution Center in Munich, Germany with the objectives of validating the
feasibility of Code Serving the CATIA V5 application and identifying an optimal
architecture for deploying CATIA V5 using the Windows operating platform on Intel
architecture. A dedicated lab environment with isolated infrastructure ensured that the
tests were not influenced by external parameters. A worst-case scenario methodology
was adopted for the tests to simulate the maximum simultaneous load, utilizing multiple
workstations accessing the server at the same time, supplemented with automated
macros ensuring concurrency. The test results were analyzed and are documented in
detail in the subsequent sections of this chapter.
The results of these exhaustive tests bring to light some key findings:
The use of Offline Folders provides efficient caching of the code on individual
workstations, thus reducing the CPU, disk, memory, and network load on the
servers distributing the binaries.
The tests also proved that the use of Distributed File Systems (DFS) further
enhances the scalability of the servers while providing mission-critical high
availability of these servers to ensure continued and uninterrupted access to the
data.
In addition, the use of Code Serving allows simple switching between versions of
CATIA with minimal user disruption.
155
In summary, network connectivity between the Code Servers and the workstations is the
limiting factor for Code Serving of CATIA V5 on a Windows operating environment and
supporting infrastructure. However, the network limitation can be alleviated through the
use of the features mentioned above to arrive at an architecture capable of providing
comparable performance to local installation of CATIA while providing higher levels of
availability.
The results from the proof of concept tests at the Intel Solution Center have gone a long
way in confirming the industry-wide belief that CATIA deployment on a Windows
operating environment based on an Intel architecture is highly reliable and scalable,
reduces the total cost of ownership (TCO), and is the optimal architecture for the future,
thereby paving the way for its adoption and implementation in industry.
156
Testing Methodology
The subheadings below list the methods used in the test.
Objective
The tests provided the first-ever extensive scalability and sizing information for the codeserving functionality of Dassault Systems CATIA V5 software on the Microsoft operating
platform based on Intel architecture.
The objectives of the tests were to evaluate the following:
Impact of Offline Folders. Windows 2000 Server and Windows XP provide the
Offline Folders feature. Here, a client caches any files it uses from the server, on
the local hard disk. This allows the file to be opened more quickly and with little
network traffic on subsequent occasions. The feasibility and impact of effectively
utilizing this feature in a CATIA code-serving environment were to be validated.
DFS. Windows 2000 Server provides the DFS feature to access multiple Code
Servers. CATIA code was installed on multiple servers and a common share was
published using DFS. The DFS feature, designed to automatically guide
workstations to pick CATIA code from the next available server at any given time,
was to be verified.
The server and client performance needed to be compared to a locally installed CATIA
system accessing local CATIA data on a standalone workstation. These scenarios were
tested at network speeds of 10 Mbps and 100 Mbps.
157
158
Test Environment
The test setup was hosted in the Intel Solution Center in Munich, Germany. The tests
used 24 client workstations and 6 servers. The servers were Windows 2000 Advanced
Servers SP3 and the clients were running Windows 2000 Professional Edition SP3.
A Windows 2000 domain, with DNS name ProtoV5.fr, was set up for all the components
in the infrastructure. Server IP addresses were static, whereas IP addresses for the
workstations were configured to be automatically allocated using a DHCP server.
Additionally, two servers were used for CATIA Code Serving and one more was used for
housing the CAD data. A (LUM) and two Active Directory servers were also part of the
setup. The servers were connected through an Intel Netstructure 480T Routing Switch
and the workstations through an Intel Express 510T Switch. Both switches were
interlinked using a Gigabit Fiber connection.
Further details about the hardware, software, and the testing tools used in the project are
documented in subsequent sections.
159
Figure A.1
Network Schematic
Note Thick lines in the figure indicate 1Gbps links, while thin lines indicate 100 Mbps
links.
Hardware Components
Servers
Data Server: Stores CATIA Models and associated data accessed by all clients.
Code Server
Intel Xeon MP
160
Network Components
The network connectivity between the Servers and the workstations was established
through Intel switches. The Data Server and Code Servers were connected with 1 Gbps
links and the other connections were 100 Mbps. A list of the network switches used in the
testing environment follows:
Switches
Software Components
CATIA V5 R9 SP1
LUM 4.6.4
Testing Tools
Testing the scalability feature of CATIA for Code Serving, Offline Folders, and DFS was
carried out entirely using macros and batch commands based on the Windows platform.
No specific commercially available tools were used for the testing exercise. Real world
scenarios were simulated through the use of user-defined scripts and CATIA macros in
addition to certain Windows Resource Kit utilities.
CATIA macros were used to automate the work of the CATIA application. Windows
scripts were created to modify the registry settings as required. Test metrics were defined
and selected performance counters were captured automatically during the test runs.
Multiple iterations and other sequential operations for the tests were included in batch
files and script files to avoid manual intervention, thus ensuring the accuracy of the
results.
Tests were scheduled with the Windows Scheduler, and performance counters were
captured using the Windows command line utility TypePerf.exe. Registry values were
modified in the scripts to run automatically for a pre-defined number of iterations (10).
161
162
Test No
Test Scenario
Test 01
Test 02
Test 03
Test 04
Data Server; Code Server SP1; 100 Mbps; 1 Workstation; Offline Folders
Test 05
Test 06
Data Server; Code Server SP1; 100 Mbps; 10 Workstations; Offline Folders
Test 07
Test 08
Data Server; Code Server SP1; 100 Mbps; 24 Workstations; Offline Folders
Test 09
Test 10
Test 11
Test 12
Test 13
Test 14
Test 15
Data Server, Code Server SP1; 100 Mbps; 1 Workstation; 256 MB RAM on the
workstation
Test 16
Data Server; Code Server SP1; 100 Mbps; 24 Workstations; 2 CPUs on the Code
Server
Test 17
Data Server; Code Server SP1; 100 Mbps; 24 Workstations; 4 CPUs on the Code
Server
Test 18
Test 19
Test Plan
The following table summarizes the characteristics that were tested in each of the 19
tests.
Test
Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Network
Number of
# of Code
Configuration
Clients
Servers
Location
Location
Level
100
10
1 10 24
Local Server Local Server SP1 SP4 Mbps Mbps
1
2
CATIA Data
CATIA Code
Offline
Limited
Folders
RAM
Enabled
2CPU
4CPU
Wait 5
min
Wait 15
min
163
164
Software
Windows 2000 Advanced Server SP3
Windows 2000 Professional Edition SP3 for Workstations
CATIA V5R9 SP1
LUM 4.6.4
Symantec Ghost 7.5
165
CATIA Start Time. Start time of CATIA is the most important statistic for analysis.
CATIA start time is measured as the time required for starting CATIA on a
workstation, either with local code or Code Serving. By comparing the CATIA start
times, one can determine how scalability varies with different Code Serving
scenarios and when the code is installed locally. Comparison of Code Serving with
and without Offline Folders shows how this feature benefits performance. CATIA
start times on 10 Mbps and 100 Mbps networks were also compared because
some corporations are currently utilizing 10 Mbps network configurations. Statistics
were captured for multiple iterations without a restart of the workstation to measure
the effect of disk, memory, and any other caching on the start times. The minimum
and maximum CATIA start times and average times with client side caching were
computed to indicate the best and worst performance.
CATIA Total Time for Changing Workbench and Drawing. The CATIA total time
value captures the total time for a user to change from one workbench to another
and create a new drawing. This statistic indicates the performance of CATIA in a
scenario where a user changes to a drawing workbench of CATIA and creates a
drawing, resulting in an effect on both network and CPU of the local workstation.
The values of the parameters mentioned above are represented graphically for all the
tests in the following section.
Some of the other performance parameters measured in the tests for example, CATIA
Open Time, Percentage Processor Use, and Bytes Sent and Received by Code Servers
are not represented graphically in the following section, but have been used in the
analysis.
166
Configuration
Test 01
Test 03
Test 04
Start Time
45
40
35
30
25
20
15
10
5
0
Test 01
Test 03
Test 04
Test Average
Test Max
Test Min
Figure A.2
Start Time
Time (Sec)
8
Test 01
Test 03
4
Test 04
2
0
Test Average
Test Max
Test Min
Figure A.3
Change Workbench Time
167
Memory Usage
400
350
300
250
Test 03
200
150
100
50
0
Test 04
Test Average
Test Max
Test Min
Figure A.4
Memory Usage
Test 03 shows that with a single client, the Code Serving works well. It gives the
average CATIA Start Time of below 10 seconds and Change Workbench Time of
about 3 seconds, which are not too high compared with the results obtained in
local code test (Test 01).
In Test 03, at the Code Server, the Percentage Processor Use value is always
below 29%, with an average of below 2%.
In Test 04, the Code Serving for a single client is supplemented by the use of
Offline Folders. The average CATIA Start Time is almost the same as that
obtained in the previous test without Offline Folders.
The Change Workbench Time reduced from 3.3 sec in Test 03 to 2.9 sec in Test
04. Also, there is a small drop in CATIA Open Time from 16 sec in Test 03 to 14
sec in Test 04.
When we compare the performance at the Code Server in Test 04 with the same in
Test 03, the Memory Used decreased by 10% and the Percentage Processor Use
decreased by 2%. This shows that the performance is significantly improved by
using Offline Folders with Code Serving.
Bytes Sent decreased by 60% from Test 03 to Test 04. Bytes received decreased
by 30% from Test 03 to Test 04.
Table A.5: Effect of Code Server Vs Offline Folders (for 10 and 24 Clients)
168
Test 05
Test 06
Test 07
Test 08
Start Time
45
40
35
30
25
20
15
10
5
0
Test 05
Test 06
Test 07
Test 08
Test Average
Test Max
Test Min
Figure A.5
Start Time
Time (Sec)
30
Test 05
24
Test 06
18
Test 07
Test 08
12
6
0
Test Average
Test Max
Test Min
Figure A.6
Change Workbench Time
169
Memory Usage
450
400
350
300
250
200
150
100
50
0
Test 05
Test 06
Test 07
Test 08
Test Average
Test Max
Test Min
Figure A.7
Memory Usage
In Test 06, Code Serving was supplemented with Offline Folders and the test was
carried out for the same number of clients as in Test 05, that is, 10 clients. The
average CATIA Start Time and average Change Workbench Time show slight
reductions.
CATIA Open Time, not shown here, reduced significantly from 19.90 seconds in
Test 05 to 15.75 seconds in Test 06.
The performance parameters (Memory Used at the Server and the Percent Usage
of Processor) show substantial reduction from Test 05, in which Offline Folders
were not used. Bytes Sent decreased by 60% and Bytes Received decreased
approximately 30%. Thus Code Serving with Offline Folders has improved the
server performance.
The aim of Test was to see the effect of enabling Offline Folders for Code Serving
with a large number of clients (24). The average CATIA Start Time shows some
reduction (approximately 10%) and average Change Workbench Time shows
some increase (approximately 10%), but CATIA Open Time reduced from 20.17
seconds in Test 07 to 18.68 seconds in Test 08.
In Test 08, Memory Used at the Server went down by about 10%. The Percent
Usage of Processor shows about a 25% reduction from Test 07, in which Offline
Folders were not used. Bytes Sent decreased by more than 60% and Bytes
Received decreased by approximately 23%. Thus, the Code Serving with Offline
Folders has improved the server performance, even with more workstations.
Table A.6: Effect of Number of Clients on Code Server with and without Offline
Folders Enabled
170
Test 03
Test 05
Test 07
Test 04
Test 06
Test 08
Start Time
45
40
35
30
25
20
15
10
5
0
Test 03
Test 05
Test 07
Test 04
Test 06
Test 08
Test Average
Test Max
Test Min
Figure A.8
Start Time
Time (Sec)
30
Test 05
24
Test 07
18
Test 04
12
Test 06
Test 08
6
0
Test Average
Test Max
Test Min
Figure A.9
Change Workbench Time
171
Memory Usage
450
400
350
300
250
200
150
100
50
0
Test 03
Test 05
Test 07
Test 04
Test 06
Test 08
Test Average
Test Max
Test Min
Figure A.10
Memory Usage
In Test 04, 06, and 08, the CATIA Timings do not show significant changes, but the
performance parameters certainly improve due to the use of the Offline Folders. In
Test 08, in which Offline Folders are enabled, the Memory Used at the Server goes
down by about 10%. The Percent Usage of Processor (not illustrated in the graph)
shows about a 25% reduction from Test 07, while Bytes Sent goes down by more
than 60%, and Bytes Received decreases by approximately 23%. As you can see,
when number of workstations increases, Code Serving with Offline Folders
provides good performance.
Table A.7: Effect of Number of Code Servers with and without DFS
172
Test 05
Test 09
Test 07
Test 10
Start Time
45
40
35
30
25
20
15
10
5
0
Test 05
Test 09
Test 07
Test 10
Test Average
Test Max
Test Min
Figure A.11
Start Time
Time (Sec)
20
Test 05
16
Test 09
12
Test 07
Test 10
8
4
0
Test Average
Test Max
Test Min
Figure A.12
Change Workbench Time
173
Memory Usage
400
350
300
250
Test 05
Test 09
200
150
100
50
0
Test 07
Test 10
Test Average
Test Max
Test Min
Figure A.13
Memory Usage
174
In Test 09, there are 2 Code Servers with DFS to serve 10 clients. The average
CATIA Start Time decreased by about 15% when compared with Test 05, which
used the same number of clients with a single Code Server. The average Change
Workbench Time also showed a slight reduction. CATIA Open Time (not shown
here) reduced from 19.90 seconds in Test 05 to 17.99 seconds in Test 09.
Observing the performance parameters of both the Code Servers, it is clear that
both are sharing the load of Code Serving, but not always equally. The Percent
Usage of Processor (not shown here), and consequently Bytes Sent and Received,
are different in both the Code Servers and the processor of the Vichy server seems
to be taking more load. However, Memory Used at the Server does not seem to be
significantly different in both the servers.
Test 10 was done with two Code Servers (Vichy and Strabourgh) with DFS to see
the effect of a larger number of clients (24). The average CATIA Start Time
decreased by about 25% when compared with Test 07, in which the same number
of clients used a single Code Server. The Change Workbench Time decreased
more than 10%. Also, CATIA Open Time (not shown here) decreased marginally
from 22 seconds in Test 07 to 21 seconds in Test 10.
The performance parameters of both the Code Servers show that both are sharing
the load of Code Serving, but not equally. The Percent Usage of Processor (and,
consequently, Bytes Sent and Received) differ between Code Servers and the
processor of the Vichy server is again taking more load. Memory Used at the
Server does not seem to be significantly different in both the servers, as earlier.
These tests show that Code Serving is possible with multiple Code Servers
through DFS and provides satisfactory performance, even with a large number of
clients.
Table A.8: Effect of Limited RAM in Client Workstations (256 MB Vs 512 MB with 1
Client)
Test 03
Test 15
Start Time
16
14
12
10
Test 03
8
6
Test 15
4
2
0
Test Average
Test Max
Test Min
Figure A.14
Start Time
Time (Sec)
7
6
5
Test 03
Test 15
3
2
1
0
Test Average
Test Max
Test Min
Figure A.15
Change Workbench Time
175
Memory Usage
400
350
300
250
200
150
100
50
0
Test 03
Test 15
Test Average
Test Max
Test Min
Figure A.16
Memory Usage
Test 15 was done with reduced memory in the workstation (256MB), a single client, a
single Code Server, and a single data server on a 100 Mbps network. CATIA Start
Timings are up to approximately 30% higher with 256 MB RAM than those in a similar
test configuration with 512 MB RAM (that is, Test 03). Server Utilization is similar to Test
03. This implies that for a CATIA model workstation size of approximately 18 MB, 256 MB
of RAM provides a reasonable performance.
Table A.9: Effect of Number of CPUs Effect of Number of CPUs in Code Servers (1,
2 and 4 CPUs with 24 Clients)
Test 07
Test 16
Test 17
Start Time
70
Start Time (Sec)
60
50
Test 07
Test 16
Test 17
40
30
20
10
0
Test Average
Figure A.17
Start Time
176
Test Max
Test Min
Time (Sec)
25
20
Test 07
15
Test 16
Test 17
10
5
0
Test Average
Test Max
Test Min
Figure A.18
Change Workbench Time
Memory Usage
400
350
300
250
200
Test 07
Test 16
150
100
50
0
Test 17
Test Average
Test Max
Test Min
Figure A.19
Memory Usage
Test 16 used a data server, a single Code Server with 2 CPUs, 24 clients, and
Offline Folders disabled. Test 17 was the same, but it had 4 CPUs in the Code
Server. These tests can be compared with Test 07, in which only one CPU was
installed in the Code Server.
Test 11
Test 07
Test 13
177
Start Time
60
50
Test 05
Test 11
Test 07
Test 13
40
30
20
10
0
Test Average
Test Max
Test Min
Figure A.20
Start Time
Time (Sec)
25
20
Test 05
15
Test 07
Test 11
Test 13
10
5
0
Test Average
Figure A.21
Change Workbench Time
178
Test Max
Test Min
Memory Usage
400
350
300
Test 05
Test 11
Test 07
Test 13
250
200
150
100
50
0
Test Average
Test Max
Test Min
Figure A.22
Memory Usage
In Test 11, there was a data server, a single CATIA Code Server, a 10 Mbps
network, 10 client machines, and Offline Folders disabled. The maximum CATIA
Start Time is 43 seconds, which is close to the typical CATIA Start Time with local
installation (40 seconds), but much higher than that with a 100 Mbps network (11
seconds in Test 05).
In Test 13, the number of clients was increased to 24. When compared with the
results of Test 11, in which there were 10 client machines, CATIA performance
variation is negligible.
179
12 0
97.76
10 0
81.20
80
60
40
10.79
20
0
9.71
6.50
0.72
1C lie nt (Te s t 03)
Figure A.23
Bytes Sent per Second
Observations. The graph clearly shows that when the number of machines is increased
from 1 to 10, there is an approximately 8-fold increase in the Maximum Bytes Sent from
the server. However when the number of machines is further increased from 10 to 24F,
there is only a further 20% increase in the same counter. This confirms the saturation in
the backbone network.
180
12 0
10 0
89.20
70.47
80
60
40
10.45
20
0
3.56
2.46
0.28
1C lie nt (Te s t 04)
Figure A.24
Bytes Sent per Second
Observations. Similar to Figure 3.23, this graph also indicates that increasing the
number of clients from 10 to 24 is not accompanied by a corresponding increase in the
Maximum Bytes Sent from the server as a result of network saturation.
181
Key Findings
These scalability tests simulated a variety of real life scenarios to obtain conclusive
results on scalability and performance. The network bandwidth between the Code
Servers and the workstations was found to be the limiting factor for Code Serving of
CATIA V5 on the Windows operating environment and supporting infrastructure. Hence,
binary Code Serving is an architecture capable of providing comparable performance to a
local installation of CATIA, and it can also provide higher levels of availability.
182
100
80
60
40
20
0
1
10
24
Number of Clients
Figure A.25
Bytes Sent from Code Server
183
Conclusion
The CATIA binary Code Serving solution has been performance tested and proved in the
Windows architecture. This solution is recommended for CATIA deployments in large
Windows technical environments. The Code Serving solution provides a better
deployment paradigm resulting in reduced administration overheads in large engineering
installations.
184
References
For further information on any specific topic, please refer to the following links:
Windows Interoperability:
http://www.microsoft.com/windows2000/interop
Microsoft Interix:
http://www.microsoft.com/windows2000/interix/
185
186
CATIA:
http://www.3ds.com/en/brands/CATIA_ipf.asp
CATIA V5 Introduction:
http://www3.ibm.com/servlet/solutions/plm/plmgk?did=052569650058d112&pid=v5_intro
187