E
dit
A
ttach
P
rintable
r2 - 2015-02-13 - 13:59:30 - Main.msdelarg
You are here:
TWiki
>
Deployment Web
>
DeploymentInstallingUpgradingAndMigrating
>
ServerRename
>
Highleveloverviewofpublicuriandserverrename
<div id="header-title" style="padding: 10px 15px; border-width:1px; border-style:solid; border-color:#FFD28C; background-image: url(<nop>https://jazz.net/wiki/pub/Deployment/WebPreferences/TLASE.jpg); background-size: cover; font-size:120%"> ---+!! High Level Overview of Public URIs and Server Rename <img src="https://jazz.net/wiki/pub/Deployment/WebPreferences/todo.png" alt="todo.png" width="50" height="50" align="right"> %DKGRAY% Authors: Main.MikeDelargy <br> Build basis: 4.0.1 (and higher), 5.x %ENDCOLOR%</div></sticky> <!-- Page contents top of page on right hand side in box --> <sticky><div style="float:right; border-width:1px; border-style:solid; border-color:#DFDFDF; background-color:#F6F6F6; margin:0 0 15px 15px; padding: 0 15px 0 15px;"> %TOC{title="Page contents"}% </div></sticky> <sticky><div style="margin:15px;"></sticky> *Public URIs, Proxy Servers, and Server Rename* </br> _*Understanding the communication in a CLM Deployment*_ [[https://jazz.net/wiki/bin/view/Deployment/ServerRename][Server rename landing page]] ---++ 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. </br> <table cellspacing="1" cellpadding="0" border="1" width="100%"> <tbody> <TR background:#0C0C0C> <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 265px; PADDING-RIGHT: 5.4pt; BACKGROUND: rgb(12,12,12); VERTICAL-ALIGN: top; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in"> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif"><span style="COLOR: rgb(255,255,255)">CLM application</span></span></span> </td> <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 200px; PADDING-RIGHT: 5.4pt; BACKGROUND: rgb(12,12,12); VERTICAL-ALIGN: top; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in"> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif"><span style="COLOR: rgb(255,255,255)">Typical Enterprise Deployment</span></span></span> </td> <td style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 200px; PADDING-RIGHT: 5.4pt; BACKGROUND: rgb(12,12,12); VERTICAL-ALIGN: top; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0in"> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif"><span style="COLOR: rgb(255,255,255)">Typical Departmental Deployment</span></span></span> </td> <tr> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">Jazz Team Server /jts</span></span> </td> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">https://jts_server:9443/jts</span></span> </td> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">https://clmserver:9443/jts</span></span> </td></tr> <tr> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">Rational Quality Manager/qm</span></span> </td> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">https://rqm_server:9443/qm</span></span> </td> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">https://clmserver:9443/qm</span></span> </td></tr> <tr> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">Rational Doors Next Generation/rm</span></span> </td> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">https://rdng_server:9443/rm</span></span> </td> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">https://clmserver:9443/rm</span></span> </td></tr> <tr> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">Rational Team Concert/ccm</span></span> </td> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">https://rtc_server:9443/ccm</span></span> </td> <td> <span style="FONT-SIZE: 12px"><span style="FONT-FAMILY: tahoma,geneva,sans-serif">https://clmserver:9443/ccm</span></span> </td></tr></tbody></table> *Departmental Deployment:* <br /> <img src="%ATTACHURLPATH%/departmental_deployment.png" alt="departmental_deployment.png" width="359" height="234" /> </br> *Enterprise Deployment:* <br /> <img src="%ATTACHURLPATH%/enterprise_deployment.png" alt="enterprise_deployment.png" width="360" height="235" /> Here, my pubic URIs 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 </br> <img src="%ATTACHURLPATH%/servers_communicate.png" alt="servers_communicate.png" width="360" height="237" /></br> * 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 *This is true for each of the applications and each of the artifacts within the applications.* *The Public URIs are in each of the application configuration files and are embedded in the artifacts for each application stored in the database(s)* ---+++ User communicating with the Applications Here, the user talks directly to each application server but the application servers still communicate directly with each other. <img src="%ATTACHURLPATH%/users_and_serverscommunicate.png" alt="users_and_serverscommunicate.png" width="360" height="238" /> * 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 *This is true for each of the applications and each of the artifacts within the applications.* *The Public URIs are in each applications configuration files and are embedded in the artifacts for each application stored in the database(s)* ---++ 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 The Proxy server looks at the context root of the traffic ( jts, ccm, rm, qm) and directs traffic accordingly. The proxy sends * /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 In this case, the I.H.S. (Web Server) takes over the public URI. (clmserver) Meaning, either the I.H.S. server name has to be the same as the public URI OR, you configure a virtual host name on the I.H.S. server (httpd.conf file) to spoof it into thinking that its name is the public URI. <img src="%ATTACHURLPATH%/proxy_server_intro.png" alt="proxy_server_intro.png" width="360" height="234" /> ---+++ 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. *More detailed information on Reverse Proxy can be found:* [[https://jazz.net/wiki/bin/view/Deployment/UnderstandingReverseProxy][Understanding reverse proxy]] ---++ 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 %RED%In the Target Public URI, we have omitted the PORT because we are going to configure a proxy server into our deployment. The Proxy Server (Web Server / I.H.S. server) will be configured to listen on the default ports 80 and 443 so no port number is necessary.If I wanted to, I could configure my proxy server to listen on ports 9080 and 9443 but if I did that, then I would have to include the port number in the Target URI %ENDCOLOR% *In this example, we are using an enterprise deployment and we want to implement a proxy server.* *Clmserver is the virtual hostname for our proxy server* *We are also configuring our proxy server to listen on the default ports of 80 and 443 so the new public URIs (target URIs) will not have to include a port number.* #/jts </br> source=https://jtserver:9443/jts </br> target=https://clmserver/jts</br> #/qm </br> source=https://rqmserver:9443/qm </br> target=https://https://clmserver/qm </br> #/rm </br> source=https://rdngserver:9443/rm </br> target=https://clmserver/rm </br> #/rtc </br> source=https://rtcserver:9443/ccm </br> target=https://clmserver/ccm </br> Back to the [[https://jazz.net/wiki/bin/view/Deployment/ServerRename][Server rename landing page]] ---+++++!! Related topics: [[DeploymentWebHome][Deployment web home]], [[DeploymentWebHome][Deployment web home]] ---+++++!! External links: * [[https://www.ibm.com][IBM]] ---+++++!! Additional contributors: Main.TWikiUser, Main.TWikiUser <sticky></div></sticky>
E
dit
|
A
ttach
|
P
rintable
|
V
iew topic
|
Backlinks:
We
b
,
A
l
l Webs
|
H
istory
: r2
<
r1
|
M
ore topic actions
Deployment
Deployment web
Planning and design
Installing and upgrading
Migrating and evolving
Integrating
Administering
Monitoring
Troubleshooting
Community information and contribution guidelines
Create new topic
Topic list
Search
Advanced search
Notify
RSS
Atom
Changes
Statistics
Web preferences
NOTE: Please use the Sandbox web for testing
Status icon key:
To do
Under construction
New
Updated
Constant change
None - stable page
Smaller versions of status icons for inline text:
Copyright © by IBM and non-IBM contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our
Terms of Use.
Please read the following
disclaimer
.