Uploaded by danp

83255db9b48b1db030fddbf93755136112904220 (2)

advertisement
SolidPractices: SOLIDWORKS PDM
Professional Architecture
SOLIDWORKS® PDM Professional
3DS.COM © Dassault Systèmes | Confidential Information | 06/27/2017 ref.: Document_Reference |
Last Update: March 2021
Revision 1.1
Table of Contents
1)
PREFACE ........................................................................................................................................................ 5
2)
CORE ARCHITECTURE ..................................................................................................................................... 6
3)
DATABASE SERVER ........................................................................................................................................ 7
A)
4)
CHANGING THE PORT USED BY SQL SERVER ...............................................................................................................9
ARCHIVE SERVER ......................................................................................................................................... 10
A)
B)
C)
D)
ARCHIVE SERVER SERVICE .....................................................................................................................................12
CLEANER SERVICE ................................................................................................................................................12
COLD STORAGE ...................................................................................................................................................12
ARCHIVE COMPRESSION........................................................................................................................................12
5)
THE CLIENT-SERVER ARCHITECTURE ............................................................................................................ 13
6)
WAN MODEL WITH REPLICATED ARCHIVE SERVER ...................................................................................... 15
7)
PDM OPERATIONS ....................................................................................................................................... 16
A)
B)
C)
D)
E)
F)
G)
8)
PC CLIENT LOGIN ................................................................................................................................................16
PC CLIENT FILE ACCESS ........................................................................................................................................17
GETTING FILES AND PREVIEWS ...............................................................................................................................18
ADD FILE ...........................................................................................................................................................19
CHECK IN FILE .....................................................................................................................................................20
CHECK OUT FILE ..................................................................................................................................................21
CHECK OUT FILE WITH REFERENCES ........................................................................................................................22
ON-DEMAND REPLICATION ......................................................................................................................... 23
A)
B)
9)
ON-DEMAND REPLICATION FLOW ..........................................................................................................................24
SCHEDULED REPLICATION ......................................................................................................................................25
SOLIDWORKS PDM WEB2 ............................................................................................................................ 26
A)
10)
A)
B)
11)
A)
12)
A)
B)
C)
D)
E)
WEB2 SERVER TOPOLOGY .....................................................................................................................................27
WEB2 CLIENTS ......................................................................................................................................... 29
FULL VERSION USER INTERFACE..............................................................................................................................29
MOBILE VERSION USER INTERFACE .........................................................................................................................30
DATABASE REPLICATION ......................................................................................................................... 31
SECONDARY REPLICA USAGE ..................................................................................................................................33
SITE EXAMPLES........................................................................................................................................ 34
SINGLE SITE ........................................................................................................................................................34
MULTISITE .........................................................................................................................................................35
MULTISITE WITH DATABASE REPLICATION ................................................................................................................36
GLOBAL DISTRIBUTION .........................................................................................................................................37
WEB2 CLIENTS ...................................................................................................................................................38
2
3
Revision History
Rev #
1.0
Date
Mar
2019
Description
Revised for use by customers
Reset as document version 1.0
1.1
Mar
2021
Removed legacy Web information (last release in SOLIDWORKS PDM
2019)
Note
All SolidPractices are written as guidelines. It is a strong recommendation to use these
documents only after properly evaluating your requirements. Distribution of this document is
limited to Dassault Systèmes SolidWorks employees, VARs, and customers that are on active
subscription. You may not post this document on blogs or any internal or external forums
without prior written authorization from Dassault Systèmes SolidWorks Corporation.
This document was updated using version SOLIDWORKS 2021 SP01. If you have questions or
need assistance in understanding the content, please get in touch with your designated reseller.
4
1) Preface
This SolidPractices document describes the overall architecture of the SOLIDWORKS®
PDM Professional product set. The document first describes the main components and then
explains how the various parts can work together.
Not all installations will use all the components; however, it is valuable to know what is
possible so that expansion plans are possible.
It is expected that this document will be revised and enhanced over a number of versions as
field experience provides feedback on the most useful areas.
Your Feedback Requested
We would like to hear your feedback and also suggestions for new topics. After reviewing
this document, please take a few minutes to fill out a brief survey. Your feedback will help us
create the content that directly addresses your challenges.
5
2) Core Architecture
The SOLIDWORKS PDM Professional software uses a client/server architecture that uses
several server components and three client components. This document describes these
components in detail before discussing features of the most common combinations.
The primary server and client components are as follows:

Microsoft® SQL Server®

SOLIDWORKS PDM Professional Database Server

SOLIDWORKS PDM Professional Archive Server

SOLIDWORKS PDM Professional Web2 Servers

SolidNetWork License (SNL) Manager Server

SOLIDWORKS PDM Professional client software
The following sections describe each of these components in more detail.
6
3) Database Server
When referring to the Database Server, there are two major components that work together.
There will always be a central relational database system, in the form of a SQL Server
Database instance. In addition, there is a SOLIDWORKS PDM Professional Database Server
service. This service is commonly known as the DB service. The service appears as
ConisioDbServer.exe in Windows® Task Manager.
For convenience, this SolidPractice will refer to this entire subsystem as the “Database Server”,
however keep in mind that there are two components to this system.
It is common to install the DB service on the same computer as the SQL Server Database,
however, this is not mandatory. As long as the two services can communicate (through the
default instance port 1433 for the SQL Server Database), then the system will operate. However,
because the DB service works so closely with the SQL Server Database, it is much more
efficient to install them on the same computer.
The SQL Server database for each vault contains a database of approximately 200 tables, which
store the metadata for each vault. Because it is possible to manage and use multiple vaults, there
7
is also a database with the name ConisioMasterDB that maintains an overview across all vaults.
This makes it possible to track user connections usage.
The performance of the SQL Server database can be influenced by many factors, which are
beyond the scope of this document. However, you can apply general guidelines for improving
SQL Server performance.
WARNING:
While it is safe to READ the content of all these tables you should NEVER manually modify
the content of any of the database tables because this can very quickly damage relational
integrity.
To ensure that modifications are consistent and maintain data integrity, changes to the data must
be made using standard SOLIDWORKS PDM Professional functionality such as client user
interfaces or the SOLIDWORKS PDM Professional API.
The only exception to this rule is if Technical Support gives specific instructions about how to
make modifications, usually by providing a tested SQL script to make known changes.
Correct maintenance of the SQL Server database is vital, in particular, that regular backups are
made. Further details are available in both the Administration Guide and the Installation Guide.
In general, the SQL Server component of the PDM system follows the normal requirements of a
SQL Server database. Therefore, someone with experience in supporting such a database system
should be able to apply the procedures in the Administration Guide.
The DB service manages many important processes within the PDM system, generally behindthe-scenes using schedule tasks including:

Notifications: These include workflow and other automatic notifications such as
change state, version changes, etc. Sent as internal (Database) notifications or by
email through an SMTP server. The task queries the database regularly to determine
if there are any messages to send.

Replication Schedules: for broadcasting, changes to the archive servers replicating
the vault.

Export Rule Schedules

View Updates

Card List Updates: Periodically update any card lists that are generated using SQL
queries.

Cold Store Schedules: Updates archive servers based on changes to schedules.
8
a) Changing The Port Used by SQL Server
By default, SQL Server communicates with clients and other servers on port 1433. The port
is customizable as necessary. For example, there may be IT restrictions, conflicts with other
applications, or firewall rules.
When running multiple instances of SQL Server, the port is allocated and maintained
automatically.
The default (unless changed) TCP port for SQL Server is 1433. If you have a named instance,
the TCP port will be dynamically configured.
You can confirm or change the ports in use by using the SQL Server Configuration Manager
application.
9
4) Archive Server
An Archive server manages files that users place into the vault. This server typically runs
from a computer with plenty of disk space and good network connectivity on a local area
network (LAN). The Windows Task Manager will show this as ArchiveServerService.exe.
Each vault managed by an archive server is physically stored in a specific folder structure.
Understanding how this structure works is useful for troubleshooting problems, and for
locating specific physical files when necessary.
Initializing a vault creates a single folder to represent the “top” of the vault. This is followed
by the creation of 16 subfolders, which are numbered 0-F in hexadecimal notation.
Hexadecimal notation is used primarily for efficiency. It allows the file archive to be stored
in multiple subfolders, which increases speed and reduces the overhead of moving physical
files. Because the DocumentID and ArchiveID always remain the same, the physical files
are not required to move when a changing a filename or moving a file. Hexadecimal is also
used because it will loop between 0 and F creating millions of “available” file references. (0
> 9 > A > F > 0 > 10 > 19 > 1A > 1F > 20…).
Each file managed by SOLIDWORKS PDM is represented by one record in the Documents
database table, with the DocumentID as the unique identifier.
DocumentID
Filename
LockProject
UserID
LockDomain
LockPath
46604
Part1.SLDPRT
1
5
TS-MP1
C:\View\Working\
46605
Part2.SLDPRT
1
5
10
As an example, 46604 (decimal) is equivalent to B60C in hexadecimal. This means that the
file will be stored in a folder called 0000B60C under the folder C, which is the last character
of the hex name. The different file name versions use a simple counter starting at 00000001.
Thumb*.img files are small graphics files that the software creates for thumbnails and
previews. There is also an index.xml file in each folder that contains a summary history of
the files within that folder. This file must be kept in synch for the system to work correctly.
The following image depicts the typical content of an index.xml file.
The Documents table has several other columns that are useful for troubleshooting.
DocumentID
Filename
LockProject
UserID
LockDomain
LockPath
LatestRevisionNo
LockDate
LockViewID
The unique ID for the document
The full original filename
The ID of the project – lookup in the PROJECTS table
The ID of the user – lookup in USERS table
Identifies the host on which the file is checked-out
Identifies the location of the checked-out file
The latest version of the file
The date that the file was locked
The ID of the local view that has the file
11
a) Archive Server Service
The Archive Server service performs the following:

Sends and receives files between clients and file vault archive

Manages user logon credentials

Runs scheduled replication tasks

Deletes destroyed file archives

Handles compression and extraction of archives with compression enabled
b) Cleaner Service
The "cleaner service" runs by default on the archive server every night at 3am. This service
deletes any file archives of files that have been destroyed (from deleted items) in the vault
during the day. The archive server service will contact the database and get a list of archives
that should be deleted.
c) Cold Storage
It is possible to configure cold storage schemas in a vault to automatically move or delete
older file versions from the vault archives. Schemas can be created for all files in a vault
archive or for only files within specific folders. A schema can specify that project folders
contain only the most recent versions of a file and that older versions are actually deleted
from the archive. After deletion, the version history is retained. Cold storage requires
individual configuration on each replicated archive server.
d) Archive Compression
By default, the archive server stores all older versions in a file archive uncompressed in their
original format. To save space, you can enable compression on all file versions that are older
than the most recent version. The most recent version is always stored uncompressed for
optimal performance during transfers between client and servers. File versions that are
compressed will appear with the .gz extension to indicate they are in a compressed format.
File compression requires individual configuration on each replicated archive server.
12
5) The Client-Server Architecture
Using the previously mentioned three server types, Consider now the basic arrangement of a
PDM system. These components can all exist on separate computers, can be grouped in
various combinations, or the can all exist on a single machine. For now, consider these
components as logically separated.
Database Server
SNL Server
PC Client
Archive Server
CAD Client
Web Server
Web Client
The personal computer client (PC Client) is classified as a “thick-client”. This client attaches
itself into Windows File Explorer and communicates directly with the Database (using SQL
stored procedures) and the archive servers.
The CAD Client is usually an add-in to the local CAD system (SOLIDWORKS), which acts as a
thick-client.
The Web Client is a “thin-client”, meaning that there are minimal PDM components installed at
the client side. The user interface appears as a series of web pages rendered by the Internet
Explorer (IE) web browser, and users can access the Web2 interface from multiple web browsers
such as Chrome™ and Firefox* as well as IE. The Web Client uses an internet connection or
local network to access the vault.
* Firefox is a trademark of the Mozilla Foundation in the U.S. and other countries.
13
The SNL Server maintains and distributes client licenses. All client connections must obtain
an appropriate license from the SNL Server to access the vault for both the thick and thin
clients.
14
6) WAN Model with Replicated Archive Server
Database Traffic
Archive Traffic
Replication
SNL
Site 1
SNL Server
Database Server
Site 2
Archive Server
Archive Server
PC Client
PC Client
15
7) PDM Operations
a) PC Client Login
Database Server
SNL Server
Archive Server
PC Client
From
PC Client
PC Client
PC Client
To
Database Server
Archive Server
SNL Server
Description
Metadata operations
Authentication
Obtain license
Port
1433
3030
25734

The PC Client communicates with the Database Server over TCP port 1433 to
establish the identity of the user.

The PC Client communicates with the Archive Server over TCP port 3030 when
authenticating (logging in) the user.

The PC Client communicates with the SNL Server over TCP port 25734 to check
availability of SOLIDWORKS PDM Professional licenses.
16
b) PC Client File Access
Browsing files and viewing data cards in the vault requires interaction with the archive
server. All information and data communications occur between the client and the database
server:
Database Server
Archive Server
PC Client
From
PC Client
Database Server
To
Database Server
PC Client
Description
Metadata operations
Provide file metadata information
Port
1433
Random*
* SQL Server can use any ephemeral port from 49152 to 65535 for outgoing communication to client.
17
c) Getting Files and Previews
Database Server
Archive Server
PC Client
From
PC Client
Database Server
PC Client
Archive Server
To
Database Server
PC Client
Archive Server
PC Client
Description
Metadata operations
Provide DocumentID, UID and version
Request file
Send file
Port
1433
Random*
3030
Random*
* SQL and archive servers can use any port from 49152 to 65535 for outgoing communication to client.

The PC Client receives all file information from the Database Server.

The PC Client checks if the file exists locally. If not, the client requests the file from the
Archive Server.

The Archive Server finds the requested file based on the DocumentID, UID and version.

The Archive Server sends the file to the local cache of the client.

The PC Client then opens or previews the file from the local cache.
18
d) Add File
Database Server
Archive Server
PC Client
From
To
Description
Port
PC Client
PC Client
PC Client
PC Client
Archive Server
Database Server
Add a file to the local cache.
Add version 1 to the Archive Server.
Update tables and add metadata.
N/A
3030
1433
19
e) Check In File
Start
Check local file. Has file been
modified, do changes exist?
Update DB
metadata.
No
Yes
Update DB
metadata.
Create version 2 on archive
server, make file read only.
END.
20
Make file read
only.
END.
f) Check Out File
Start
Does a local copy exist in the
local cache?
No
Request version
from archive server
preform a GET
process.
Yes
Make file writable, update DB with writable flag.
END.
Make local file
writable.
Update DB with
writable flag.
END.
21
g) Check Out File With References
Start
Yes
Does file contain
refrences?
Check DB for all files
that are referenced.
No
Does a local copy exist in the
local cache?
No
Make files writable, update
DB with writable flag.
END.
Yes
Does a local copy exist in the local
cache of all referenced files?
Request version
from archive server
preform a GET
process.
No
Make local file
writable.
Request version
from archive server
preform a GET
process.
Update DB with
writable flag.
END.
Make local files
writable.
Update DB with
writable flag.
END.
22
Yes
Make file writable, update
DB with writable flag.
END.
8) On-Demand Replication
Archive Server 1
Database Server
Archive Server 2
PC Client 1
From
PC Client1
DBServer
PC Client
Archive Server 1
Archive Server 1
PC Client
To
Database Server
PC Client
Archive Server 1
Archive Server 2
PC Client
Database Server
PC Client 2
Description
Request metadata
Provide file version/location
Request file
Replicate file to AS-1 (Pull)
Copy file to local cache
Update metadata file location
Port
1433
Random*
3030
3030
Random*
1433
* SQL and Archive servers can use any ephemeral port from 49152 to 65535 for outgoing communication to
client.
23
Requests for a file version use the following logic:
a) On-Demand Replication Flow
Start
Is required version
available in local cache?
Yes
End search
No
Is required version available
in my designated ‘local’
archive server?
Retrieve from archive
server to local cache.
End search.
Yes
No
Is required version available
on any other archive server?
Yes
Request copy of file from remote archive
server. Archive server pulls file to target
archive server then copies to local cache. End
search.
No
Error – File version
not found.
24
b) Scheduled Replication
Archive Server 1
Database Server
Archive Server 2
The first step of scheduled replication is to perform a database comparison between the files
that are known to exist on each archive server. This allows the creation of a list of required
replications. At the time specified, the replication between destination server A and source
server B will be started.
The replication continues until all replication completes for all files in the queue or for the
time specified in the Replication Schedule advanced settings. The replication then stops
after the next complete file transfer. If there are some files that were queued for replication
that did not replicate, those files will be carried forward to the next scheduled period (unless
they are requested by a user and are on-demand replicated).
If a client is requests a file that has not yet been replicated during a scheduled replication, the
requested file will take precedence and will be replicated on demand before the queued files
continue.
For more information about setting up and using the SOLIDWORKS PDM Professional
replication capabilities, refer to the Replication Guide, which is available on the installation
media under Support > Guides > [language].
25
9) SOLIDWORKS PDM Web2
SOLIDWORKS PDM Web2 uses the IIS application to access and present Vault Views on the
server to the users. Web 2 is configured with IIS, and delivers ASP.NET/HTML5 pages.
IIS Web Server Service
ASP.NET,
HTML5
Web Server
This process still requires a login username and password, so security and history are
maintained.
Note that current versions of the Windows operating systems such as Windows 10, Windows
Server 2008 R2, and Windows 2012 R2 do not configure IIS by default. The SOLIDWORKS
PDM Web2 guide explains how to set these up.
26
a) Web2 Server Topology
SNL Server
Database Server
Archive Server
Internal
Network
Web2 Server
Perimeter
Network
(DMZ)
PC Client
Outside
World
Internet/
ISP
Web2 clients accessing file vaults from the internet only require that the default HTTP port
80 be open between them and the web server. For security when using SSL, you need
configure the required settings and open HTTPS port 443.
The web server machine will be running IIS and SOLIDWORKS PDM Web2 will act as the
application server serving pages to IIS. Between the web server and the archive server, TCP
port 3030 must be open to allow traffic from the web server. Between the web server and the
27
SQL database server, TCP port 1433 must be open to allow traffic from the web server.. Also
between the web server and the SNL server, TCP port 25734 must be open to allow traffic
from the web server.
To set up and manage vaults that should be available for web access, the PDM client system
performing this action only requires that HTTP port 80 is open (HTTPS port 443).
Depending on the design of the firewall strategy, the web server may be inside the secure
area, or located in the perimeter network (DMZ). The principles are simple. Only Port 80
(HTTPS port 443) needs to pass from the outside world. The web server requires port 1433
into the SQL database server, a port 3030 connection to the archive servers, and a port 25374
connection to the SNL server.
28
10) Web2 Clients
a) Full Version User Interface
The Web2 client allows users to connect to a SOLIDWORKS PDM Professional vault from
most devices with an internet browser. The Web2 client works with browsers such as Internet
Explorer, Chrome, Firefox, and Apple® Safari®. No client installation is required, meaning
you can use the Web2 client with other operating systems. With the use of WebGL/HTML5,
users can dynamically view SOLIDWORKS files in most browsers.

Capabilities of the Web2 client
The Web2 client supports many, but not all of the features found in the other (thick) clients.

Browsing and searching for files and folders

Adding and deleting files and folders

Checking in and checking out files

Undo check out and download files

Viewing and updating file and folder data cards

State change capabilities

Transition action support such as setting a revision variable and tasks not requiring
user input

Limited notifications and dispatch actions

The ability to preview multiple file types

eDrawings® previews of SOLIDWORKS files

“Contains” and “Where Used” information
The web client does not support:

Use of templates

Use of API add-ins

Use of CAD add-ins

Viewing history details of files and folders

Administering the file vault

Running reports

Viewing a Bill of Materials
29
b) Mobile Version User Interface
The mobile version of Web2 has a more compact user interface and is suitable for smaller
hand-held devices like smart phones and tablets.

Capabilities of the Web2 client
The Web2 client supports many, but not all of the features found in the other (thick) clients.

Browsing and searching for files and folders

Display the file detail view

Change state
30
11) Database Replication
Support for SQL database replication of read-only databases was implemented in
SOLIDWORKS PDM Professional 2017. SOLIDWORKS PDM Professional database
replication requires the use of Microsoft AlwaysOn Availability Groups (AOAG) technology
from SQL Server Enterprise 2012 or later. Database replication of read-only secondary
databases can improve performance for remote offices with high WAN latency and LAN
environment with high usage. For each availability group, AOAG maintains a single readwrite primary database and multiple read-only secondary databases. For SQL Server 2014 or
later, AOAG supports up to eight secondary replicas. The following diagram shows
secondary SQL replicas in both LAN and WAN environments.
Windows Server Failover Clustering Cluster
AlwaysOn Availability Group
Site 1
Site 2
Primary
Replica
Secondary
Replica
Secondary
Replica
Primary Databases
Read/Write
Secondary Databases
Read Only
Secondary Databases
Read Only
Node 01
Node 02
Node 03
For instructions about how to set up AOAG, visit the following web pages:


https://msdn.microsoft.com/en-us/library/ff877884(v=sql.120).aspx
https://www.derekseaman.com/2014/09/sql-2014-always-ag-pt-1-introduction.html
31
The primary replica updates the secondary replicas periodically based on the time period
configuration settings for each availability group. It is a recommendation to use
asynchronous-commit mode for all secondary replicas for both WAN and LAN
environments.
Windows Server Failover Clustering Cluster
AlwaysOn Availability Group
Database Traffic
Site 1 - LAN
Site 2 - WAN
Primary
Replica
Secondary
Replica
Secondary
Replica
Primary Databases
Read/Write
Secondary Databases
Read Only
Secondary Databases
Read Only
Node 01
Node 02
Asynchronous-commit mode
Node 03
Asynchronous-commit mode
In Asynchronous-commit mode, the primary database server does not wait for a secondary
database server to commit transaction log records to disk. The primary replica will just update
the new transaction to its local log file.
.
32
a) Secondary Replica Usage
Start
Is this a
read-only
activity?
No
Use Primary
Replica
Yes
Secondary
replica assigned to
user?
No
Yes
Use Primary
Replica
Threshold
Exceeded?
Yes
No
Use Primary
Replica
Use
Secondary
Replica
33
12) Site Examples
a) Single Site
Single site deployment, all components situated on the same LAN:
Database Traffic
Archive Traffic
SNL
HTTP
SNL Server
Archive Server
Database Server
Web Server
Web2
Web Client
PC Client
CAD Client
34
b) Multisite
The following diagram depicts a multiple site deployment that consists of replicated archive
servers, a WAN, and two separate LANs.
Database Traffic
Archive Traffic
Replication
SNL
Site 1
Database Server
SNL Server
Site 2
Archive Server
PC Client
PC Client
Internal
Network
Outside World
Archive Server
Internet/
ISP
Perimeter Network
(DMZ)
Web Server
Web2
35
c) Multisite with Database Replication
The following diagram depicts a multiple site deployment that consists of replicated archive
and database servers, a WAN and a LAN.
Database Traffic
Archive Traffic
Replication
SNL
Site 2
Site 1
SNL Server
Primary
Database Server
Read/Write
Archive Server
Archive Server
Read/Write
Traffic
Secondary
Database Server
Read Only
Read Only
Traffic
PC Client
PC Client
36
d) Global Distribution
This diagram depicts a multiple site deployment that consists of replicated archive servers, a
WAN, and four separate LANs. Because all database communication is over the WAN,
bottlenecks in WAN latency and bandwidth can start to take effect. Ensure that the
connection between sites is adequate for the amount of load and data.
Database Traffic
Archive Traffic
Replication
SNL
Site 1
SNL Server
Database Server
Archive Server
Site 2
Archive Server
WAN
Site 3
PC Client
PC Client
Archive Server
Site 4
Archive Server
37
e) Web2 Clients
This diagram shows a basic single LAN configuration that adds web clients.
Database Traffic
Archive Traffic
SNL
HTTP
SNL Server
Database Server
Archive Server
Internal
Network
PC Client
Outside
World
Internet/
ISP
38
Perimeter
Network
(DMZ)
Web Server
Download