High Level Overview of Public URIs and Server Rename
Authors: MikeDelargyBuild basis: 4.0.1 (and higher), 5.x
Public URIs, Proxy Servers, and Server Rename
*Understanding the communication in a CLM Deployment*
Server rename landing page
Departmental Deployment:
Enterprise Deployment:
Here, my pubic URI’s are:
Accessing CLM
- When a user accesses a CLM deployment, the user enters the Public URI for the application into a browser window.
- Depending on the deployment architecture, the Public URIs may have the same ‘stem’ in the public URI and a different “context root” or the Public URIs could be completely different.
| CLM application | Typical Enterprise Deployment | Typical Departmental Deployment |
| Jazz Team Server /jts | https://jts_server:9443/jts | https://clmserver:9443/jts |
| Rational Quality Manager/qm | https://rqm_server:9443/qm | https://clmserver:9443/qm |
| Rational Doors Next Generation/rm | https://rdng_server:9443/rm | https://clmserver:9443/rm |
| Rational Team Concert/ccm | https://rtc_server:9443/ccm | https://clmserver:9443/ccm |
Enterprise Deployment:
Here, my pubic URI’s are:
- https://jtsserver:9443/jts Where jtsserver is the computer name (or virtual hostname configured in W.A.S.) The service is listening on port 9443 and the context root is jts
- https://rtcserver:9443/ccm Where rtcserver is the computer name (or virtual hostname configured in W.A.S.)The service is listening on port 9443 and the context root is ccm
- https://rqmserver:9443/rqm Where rqmserver is the computer name (or virtual hostname configured in W.A.S.)The service is listening on port 9443 and the context root is qm
- https://rdngserver:9443/rm Where rdngsrver is the computer name (or virtual hostname configured in W.A.S.)The service is listening on port 9443 and the context root is rm
Applications "communicating" with each other
The servers reference each other through their Public URIs
- When JTS application server wants to communicate with the RDNG server, it does so through the public URI https://rdngserver:9443/rm
- When RTC application server wants to communicate with the RDNG server, it does so through the public URI https://rdngserver:9443/rm
- When RQM application server wants to communicate with the RDNG server, it does so through the public URI https://rdngserver:9443/rm
- When JTS application server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When RQM application server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When RDNGapplication server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When JTS application server wants to communicate with the RQM server, it does so through the public URI https://rqmgserver:9443/qm
- When RTC application server wants to communicate with the RQM server, it does so through the public URI https://rqmgserver:9443/qm
- When RDNG application server wants to communicate with the RQM server, it does so through the public URI https://rqmgserver:9443/qm
- When RQM application server wants to communicate with the JTS server, it does so through the public URI https://jtsserver:9443/jts
- When RTC application server wants to communicate with the JTS server, it does so through the public URI https://jtsserver:9443/jts
- When RDNG application server wants to communicate with the JTS server, it does so through the public URI https://jtsserver:9443/jts
User communicating with the Applications
Here, the user talks directly to each application server but the application servers still “communicate” directly with each other.
- When JTS application server wants to communicate with the RDNG server, it does so through the public URI https://rdngserver:9443/rm
- When RTC application server wants to communicate with the RDNG server, it does so through the public URI https://rdngserver:9443/rm
- When RQM application server wants to communicate with the RDNG server, it does so through the public URI https://rdngserver:9443/rm
- When JTS application server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When RQM application server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When RDNGapplication server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When JTS application server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When RQM application server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When RDNGapplication server wants to communicate with the RTC server, it does so through the public URI https://rtcserver:9443/rccm
- When JTS application server wants to communicate with the RQM server, it does so through the public URI https://rqmgserver:9443/qm
- When RTC application server wants to communicate with the RQM server, it does so through the public URI https://rqmgserver:9443/qm
- When RDNG application server wants to communicate with the RQM server, it does so through the public URI https://rqmgserver:9443/qm
- When RQM application server wants to communicate with the JTS server, it does so through the public URI https://jtsserver:9443/jts
- When RTC application server wants to communicate with the JTS server, it does so through the public URI https://jtsserver:9443/jts
- When RDNG application server wants to communicate with the JTS server, it does so through the public URI https://jtsserver:9443/jts
Introducing a Proxy Server
When you introduce a proxy server, all traffic gets routed through the proxy server which then redirects the traffic based upon the context root. When a proxy server is configured, the applications still communicate with each other using the public URI, but the “stem” of the public URI always points to the proxy server. Typically, if you are implementing a proxy server, then the “stem” of the public URI would not change but each application would still have a distinct context root.- JTS server would have https://clmserver/jts
- RTC server would have https://clmserver/ccm
- RQM server would have https://clmserver/qm
- RDNG server would have https://clmserver/rm
- /qm traffic to the RQM Application server
- /jts traffic to the JTS application server
- /ccm traffic to the RTC server
- and /rm traffic to the RDNG server
Implementing a Proxy Server
Proxy Server- If you implemented / configured a proxy server into your environment on Day 1 (before you actually deployed) then your users and application server communicate to each of the applications through the proxy server.
- If you want to move an application server with this proxy configuration, you do not need to do a server rename, you simply modify your proxy server to point to the new server.
- If you did not implement a proxy server in your initial deployment, then all users and applications communicate with the application servers directly.
- If you want to move an application to a new server with a different name, then you may* need to do a server rename.
Server Rename
Server Rename If you want to change your Public URI for whatever reason, you MUST do a server rename. The Public URI is embedded deeply within each artifact of each application. Therefore, implementing a server rename is the only way to change the Public URI of a deployment.Why do a Server Rename?
- Company got bought by another company and the domain changes
- Want to remove a port number from a Public URI
- You want to create a test environment from a production system
- You are moving from Test to Production and the original Public URI was “localhost” or contained an I P address.
Server Rename Best Practices
- If you are going to change your Public URI consider creating a more “portable” URI that would not have to be changed again.
- Try to avoid using real server names as they are less portable
- Consider implementing a proxy server for easier portability and HA/DR
Server Rename Mapping File
In a server rename, we create a mapping file that defines each “original” Public URI and maps this to the new ‘desired’ Public URI.- #/context root
- source=https://old_server:9443/context_root
- target=https://new_server:port/jts
Related topics: Deployment web home, Deployment web home
External links:
Additional contributors: TWikiUser, TWikiUser
Contributions are governed by our Terms of Use. Please read the following disclaimer.
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.