EditAttachPrintable
r10 - 2013-06-05 - 21:14:23 - Main.aalairdYou are here: TWiki >  Deployment Web > DeploymentPlanningAndDesign > YouCantChangeThePublicURI

updated.png You can't change the public URI of Jazz-based applications

Authors: JimRuehlin
Build basis: CLM and SSE

So, here’s the first thing you need to know when performing administrative tasks on Jazz-based products:

You cannot change the public Uniform Resource Identifier (URI). You cannot change the root context.

Many discussions – long discussions – have taken place with customers about this, so it's important to emphasize this one thing:

Under no circumstances should you change the public URI. Under no circumstances should you change the root context.

This instruction is designed to convince you that you can’t change the public URI or root context after it has been set during setup. Really. You can’t. Just stop thinking about it.

You can get around this constraint by using reverse proxies or DNS names. But this does not change the actual public URI or root context. DNS names and reverse proxies just remap the URLs.

You might be thinking: Why can’t I change the public URI?

Architecturally, Jazz-based products use OSLC and RESTful interfaces. This means that artifacts (data) is referenced with URLs. When a dashboard shows information from a work item, it’s getting that work item information by traversing a URL. When you get a list of dashboards to choose from, each dashboard is referenced internally by a URL. When a Rational Team Concert work item links to a Rational Quality Manager test case, it does so through a URL.

All those URLs are written into the database. They’re not dynamically calculated. The actual URL is placed into the database. Jazz-based products construct these URLs by using the public URI and the root context. So if your public URI is:

 https://my.server.com:9443 

and your root context is:

 /ccm 

then every URL that identifies information in the database starts with:

 https://my.server.com:9443/ccm 

If you change the public URI or root context, you break all those links. And your heart will break too.

Now you might be thinking: Why not just search and replace the URLs in the database when you change the public URI or root context? Ah, life is not so simple.

The table structure in the database is optimized for reads. The result is that item content is often stored as blobs (binary large objects), not simple text. And some resource content is not directly interpretable by the Jazz framework because the data is component specific. The URL in these components might be stored as binary, .rdf, .xml, or another format. So, identifying and replacing the links is not trivial.

That said, there’s plenty of discussion going on among developers about making public URIs more flexible. Stay tuned.

Related topics: Deployment planning: Where to start?, Planning your URIs, Maintaining the public URL

External links:

Additional contributors: StevenBeard

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r13 < r12 < r11 < r10 < r9 | More topic actions...
 
This site is powered by the TWiki collaboration platformCopyright © 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.
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.