Skip Headers

Agile Product Lifecycle Management Capacity Planning Guide Release 9.3.3 E39278-01 |
| Contents

Previous | Next |

# 7 Communication and Data Flow

This chapter describes communication and data flow configurations used by the Agile system.

## 7.1 Communication and Data Flow

The following table summarizes the protocol and ports used for communication between each component in the Agile system. Keep in mind that ports are usually configurable. The ports listed are either industry standard ports or default ports that are configured out of the box.

Client | Server | Protocol | Default Port
--- | --- | --- | ---
Web Client | Web Server | HTTP/S | 80/443
Web Client | File Manager | HTTP/S | 80/443
Web Client | Application Server | HTTP | 7001 or 8888
Java Client | Application Server | T3 | 7001 or 23791
Java Client | Distributed File Manager | HTTP | 80/443
Portal Server | Application Server | T3 | 7001 or 23791
Portal Client | Portal Server | HTTP | 9000
Portal Client | Web Server | HTTP/S | 80/443
View Applet | Web Server | HTTP/S | 80/443
AutoVue for Agile PLM | File Manager | TCP | 5099
Distributed File Manager | Application Server | HTTP | 80
Distributed File Manager | Distributed File Manager | HTTP | 80
Distributed File Manager | File Vault Mapped Drive | NA | NA
File Manager | File Vault Mapped Drive | NA | NA
Application Server | Database Server | JDBC | 1521
Application Server | LDAP Server | LDAP | 389
SDK Client Application | Application Server | T3 or HTTP | 7001 or 7777 or 23791

### 7.1.1 Client Communication

The Agile application adapts to your current network infrastructure and utilizes the available bandwidth to transmit data via TCP protocol. Typical traffic varies based on the number of concurrent users and the activity performed. Agile's architecture is very network friendly. The metadata or database traffic is fairly light and the amount of physical data rows transmitted across the network for the web client is limited and controlled to a set amount. For instance, if your query requested 1000 rows worth of data, the search result may only display the first 50 rows. Of these rows, only a portion of the attribute data is transferred for your review. You can then drill into the appropriate record to display the detailed information. At that time, another much smaller query is issued based on an index to efficiently retrieve the data. Attachments are not transferred until viewed or opened. Once requested, the file exists as part of the local client cache to be opened or viewed locally.

For security reasons, it is recommended to use SSL for all communication with clients outside the firewall. HTTPS protocol is supported and typically runs on port 443. HTTPS is a firewall-friendly protocol using SSL so the data is transferred securely.

When communicating to clients inside the firewall, there are other viable protocol options. SSL increases communication overhead, therefore, using HTTP protocol instead of HTTPS for internal clients results in faster response time. In addition to using HTTP, the Java client can connect directly to the application servers using the application server-specific protocol. Oracle WebLogic uses T3. Using native application server-specific protocols is recommended because it is more efficient than using HTTP.

### 7.1.2 Proxy Web Server

The proxy web server forwards traffic from the clients to the application server. HTTP protocol is used between the web server and the application server. Encryption is supported only between IIS and the client's browser, not between the proxy web server and the application server, so do not put a certificate on the application server.

The proxy web server is sensitive to source or destination IP Network Address Translation (NAT). You need to bind the Application Server instance to the DNS name and use the same DNS name both inside and outside of the firewall. The proxy server is not sensitive to source Port Address Translation (PAT).

### 7.1.3 Typical Network Configurations

The figure below depicts a typical network configuration. The right side of the figure shows the internal LAN/WAN environment protected by a firewall. Then you have a DMZ area where web servers and a proxy cache or server-side proxy server exist. An additional firewall protects the DMZ from the Internet and other company environments. The proxy cache server is typically placed in front of the web servers and provides caching activities to improve performance for the clients behind the LAN/WAN firewall. The client in this case is beyond another corporate firewall and may have a client-side proxy server functioning as part of the firewall. A client-side proxy server brokers communication between the Internet and client browsers behind the firewall, protecting the clients from direct communication and possible threats. Client-side proxy software may require authentication, often username and password verification, prior to completing any requested transactions. Additionally, client-side proxy software may be configured as a transparent or a non-transparent proxy.

The initial installation of the Java client requires the transfer of a JAR file. Proxy configurations need to be considered when deploying the Java client to supply chain partners.

### 7.1.4 Application Server

There are two components on the application server that clients can connect to, the web container and the EJB container. Clients connect to the web container using HTTP protocol. Clients connect to the EJB container, using application server specific protocols. All components in the Agile system connect in one of these two ways including web clients, Java client, portal server, SDK clients, distributed file management, proxy web server, and viewer. The application server connects to the file vault, database server, and optional LDAP directory server using the protocols.

### 7.1.5 Directory Server

Directory server communication occurs using LDAP protocol. If a directory server is being used to manage accounts in Agile, then it is also used for authentication. Every time login occurs, the directory server is asked to authenticate the user. The application server also connects to the directory server for synchronization. Synchronization can be user and/or schedule driven.

### 7.1.6 Distributed File Management

As the figure below depicts, a distributed file management server fits into the system configuration much like the application server. In fact, it is a local application server with only file operation capabilities. All users connect to the main application server through the proxy web servers, but when a remote user requests a file, they are pointed to their configured distributed file manager. A distributed proxy web server can be deployed in proxy calls between users and the file manager.

An Agile distributed file manager may connect to the Agile Application Server or another file manager if a request file does not exist in the local vault. The file manager connects to the Agile Application Server for other file operations such as deleting and redlining performed through AutoVue for Agile PLM. File manager to file manager communication occurs over application specific protocols and configured ports.

With remote centers, all attachment viewing, opening, and updating of documents is accomplished locally within the remote center. The only time a file attachment is transferred across the WAN is if the file version resides on another remote file server. At that time, the file is copied down to the local file server and then remains local when accessed again.

### 7.1.7 AutoVue for Agile PLM

Viewing a file through the AutoVue for Agile PLM is handled differently than getting the file. If you view a file instead of getting it, the request is sent to AutoVue for Agile PLM to render the file. The viewer requests the file from the file server. The AutoVue for Agile PLM and file server communicate using the HTTP protocol. The file server gets the file from the vault and sends it back to the viewer. AutoVue for Agile PLM then streams an image of the file across the network to the viewer applet that runs in the user's browser over HTTP/S. Using the viewer is very network friendly because it uses firewall friendly protocols and the streamed image is smaller then the native file. For example, a 2MB native file may typically be compressed to approximately 100KB.

## 7.2 Network Bandwidth Requirements

The data transfer of the Web client for Agile PLM 9.3.3 averages about 140KB per interaction. With a low of approximately 50KB when selecting a subclass on the Item Creation window to 900KB on the Quick Search Results window with 250 rows per page displayed. The amount of data transferred is proportional to the data displayed. For example, on the Item BOM page with the default of 10 rows per page setting and the default fields, the data transfer increases by 3.8KB. Similarly, on the Change Object-Affected Items Tab, each row above the default 10 rows adds an additional 6.8KB to the data transfer. Agile recommends using the default of 10 rows per page, unless your business process requires you to change it. Also, the first time the Web client is accessed, all of the static content like images and style sheets are downloaded. This causes a higher data transfer rate per page. After the initial file load until the web browser cache is emptied or there is an update to the application on the server, the average data transfer to and from the Web client for a page request is in the range of 100 to 120KB.

Over a WAN, the network latency and bandwidth are the major factors affecting the Web client performance. On a 2Mbps T1 line, the effective bandwidth is approximately ~225KBps compared to ~10Mbps on a 100Mbps Ethernet LAN. So, the higher bandwidth would be required on a WAN to support the number of concurrent users expected on the WAN. Conversely, the response time increases if the bandwidth is not sufficient to support all of the concurrent requests over the WAN.

For the Java client, the data transfer depends on what transactions are performed and the amount of data that results from the transaction. For a business object, loading the data is less than that for a corresponding transaction on the Web client, except during a search. For a search that results in 5000 records, data for all 5000 records is transferred which produces 1.5MB of data on the Java client; whereas, the same search on the Web client would result in a data transfer of 150 to 600KB, depending on a rows per page setting of 10 to 250. The reason for this difference is the data for all 5000 records is transferred to the Java client at once while in the Web client, pagination controls the number of records the server sends at a time.

A 100Mbps network will slow down with about 100 concurrent hits, not counting any other network traffic. Therefore, it is highly recommended that all Agile servers are connected to a Gigabit LAN.