Direct access to CLM (RTC/RQM/RDNG/DM) Help / InfoCenter: a cheat sheet

September 16, 2014

Have you figured out that the CLM InfoCenter was relocated to a central Knowledge Center for a while now? As known by all of us (but often forgotten as well) the product documentation is the CORE/PRIMARY source of information (before reaching out to any other one).

But last time you were questioning a specific feature of the CLM product, how long did it take you to get to the right web page? more than 10 seconds?

If you ran a Google search (e.g.”RTC infocenter 5.1“), where you pointed to the specific product (RTC/RQM/RDNG/DM) and version (v3.x,v4.x,v5.x) you looked for ? Or, for whatever referencing reason, did it end up… missing its finest target?

In such case, we share this annoyance as I figured out the first returned results do NOT systematically match with my searching criterias (as for today, the search I provided earlier returned me with links to older product versions, some Jazz.net wikis, etc.)

As a result, I came up with idea of providing a “quick access list” (or cheat sheet) to get it systematically right and quick:

Direct Access to CLM KnowledgeCenter

CLM (Collaborative Lifecycle Management)
RTC (Rational Team Concert)
RQM (Rational Quality Manager)
RDNG (Rational Doors Next Generation)
RDM (Rhapsody Design Manager)
RSA DM (RSA Design Manager)
Related reporting products
Insight (Rational Insight)
RPE (Rational Publishing Engine)

I hope this blog post could save you some time and generated a positive side-effect: having the new Knowledge Center positioned higher in the returned results of your future web searches!


RTC EE deployment: where distributed and mainframe developers can work in the same place !

February 19, 2014

Last month, along with my colleague Tim Wilson, I met with a couple of customers in China. I wrote a previous blog post based on this business trip that recalled the importance of using the right terminology for the tool adoption.

Customer under the impression that distributed and mainframe teams required separate CLM / RTC servers (i.e. JTS)

During a discussion with another customer, it came up that the person in charge of SCM administration (for distributed)  was under the impression that distributed and mainframe teams required separate CLM / RTC servers (i.e. JTS).

Since the tool itself does not impose such separation, I made the point this would rather be an organizational decision rather than a technical one. I felt like this was pretty new to the customer.

MainframeDistributedTogether

To clarify things, I initiated a blackboard session to highlight the different options wrt. the deployment topologies, their advantages as well as their implications for the future. Some core messages were:

  • The RTC server(s) can run on a various environments (including Windows, Linux, AIX, Unix, zLinux, z/OS, IBMi, etc.).
  • The fact that RTC EE is used for developing for z/OS does NOT imply that the RTC server shall run on z/OS. This was already stressed in other resources from IBM colleagues,
  • You have the options of using a single JTS or separate JTSes. In both cases, you can associate multiple CCM instances to your JTS(es). Choices should be guided either based on performance considerations or, again, on organizational considerations.
  • When considering options for using multiple JTSes:
    • It’s very important to note that, once separated, they could NOT be merged later.
    • Two separate servers require doubled effort for administration, upgrade, etc.
    • The reporting tools should be adapted accordingly (e.g. Insight/RPE instead of RRDI/RRDG)

At the end, the customer could have a better understanding of the CLM/RTC EE deployment options for his organization.

For the little story, in this customer situation, SCM administrators for both distributed and mainframe developments were supposed to meet with each others after our visit to discuss the best deployment option. Yet another good effect of ‘Enterprise Modernization’  brought by the adoption of the RTC EE tooling !

Note: in this article, I insisted on some aspects of RTC/CLM deployment. For a complete picture, the Deployment wiki is definitely a good read.


RTC / RTC EE: adopt terminology first !

January 24, 2014

Last week,  I was on a business trip to China with a colleague of mine. We met multiple local IBM teams and visited a couple of financial customers.

During our customer-facing sessions, questions raised by the customer were technical in essence which is… fair enough as we’re part of the RETT (Rational Emerging Technologies Team). But some questions revealed:

  • some misconception about the product (RTC / RTC EE)
  • some reluctance of parts of the customer organization for adopting a newer, yet different but more modern tool with safer workflows.

As an illustration, it appeared that the technical lead in charge of the RTC EE adoption at one of these customers still used the terms of checkin/checkout for RTC SCM when discussing with us.

Despite:

  • RTC does NOT have a concept of checkout (although RTC does support resource locking – currently at the stream-level)
  • Customer organization had started migrating to RTC EE almost 2 years before…

I see multiple drawbacks in this:

  • Sticking to the terminology from a previous tooling in technical discussions about the capabilities of a newer tool is confusing. It basically assumes features that are not present in the product or, at least, not as is… As such this mismatch is a brake for adoption of the new features.
  • Actually, I was even more concerned that this speech was coming from someone in charge of the adoption of our tooling. Assuming that most of developers in the customer organization would share the same terms…

As a result, I decided to clarify and made the point that in RTC, you load projects and components, you checkin change sets, and deliver them to a stream. This change in emphasis made it simpler to discuss business scenarios to be implemented in RTC EE (SCM here) at this customer’s.

Terminology-first

A disconnect in terminology is more important than it seems:

  • It introduces a gap compared to the proper concepts, which are basic prerequisites for elaborating the right workflows in RTC to implement a business scenario.
  • It’s a good indicator that trainings and pilot phases missed at least some targets. Basically the “infusion” of the up-to-date concepts that match the tools used by developers on a day-to-day basis.

I came up with the following ideas:

  • Answering customer initial questions is only ONE piece of the solution.
  • Other aspects (not raised by customers) need to be addressed with the same attention:
    • the return over experience in the training area,
    • the return over experience in the pilot projects,
    • the management of the change (from various point of views: organizational, managerial, etc. ),
    • the adoption in general.

Taking the whole combination into consideration is key for success.

In the contrary case, an ultimate bad effect would be that SCM management simply do not trust their developers wrt. their usage of the new tooling. Possibly triggering… a second bad effect : having the SCM management to try enforcing too much process in the tool to substitute the lack of training of their developer. Not the right route anyway…..

As a recap, here are the simple things that should be kept in mind when adopting RTC / RTC EE:

  • Even if adoption is accomplished in a stepwise manner, make sure everyone uses the RTC terminology asap in your organization.
  • If you’re in a team focusing on adoption of RTC, make sure you replace questions/feedback/concerns of your developer in the correct terminology.

CLM,RTC,RQM,RRC/RDNG: recommendations and “educated guesses” for limitations

September 5, 2013

As part of the Jumpstart team, I help our customers in their CLM adoption and deployments. Customers raise questions on the sizing of their CLM environment, the topologies to adopt, etc. The questions I hear most often are:

  • How many users (total or concurrent) can my CLM environment support ?
  • RTC rollout at our company is close to reach a second milestone (additional teams will use the tool). What planning (HW/SW) should we have wrt. these modifications?
  • We have this huge number of CLM (RTC/RQM/RRC-RDNG) artefacts. Will my CLM environment still handle this without any performance degradation as we continue adding artefacts into our repository ?
  • What are the intrinsic CLM product limitations and – if one is concerning me – what approach should I adopt to keep on working smoothly with my CLM ?
  • etc.

First of all, depending on the CLM version you’re running, central places to check are the CLM 2011 Sizing Guide and the CLM 2012 Sizing Guide which include an “Artifact Sizing Guidelines” section summarizing “the recommendations on artifact sizing that will ensure optimal performance of the repository when the data sizes increase significantly“.

Foreword to the reader:

  • This post follows the “cheat sheet/how to” format I’ve used in earlier posts for CLM Reporting or OSLC-related topics. As a consequence, if you’re already familiar with this post (and know exactly what you’re looking for), you may want to navigate directly to the tables: JTS tableRTC tableRQM tableRRC/RDNG table.
  • If you’re interested by a similar content for Enterprise Modernization products (i.e. RTC EE, RDz, RD&T, RAA, etc.)  by IBM Rational, check this dedicated blog post.

Now back to the core of this post:

Tables

Tables are provided. OK. But what do we call a Limit and an Alert zone ?

  • Quantified data: the (maximum) number of….
  • Limit: a hard limit of the product. Meaning that you cannot go beyond this value.
  • Alert zone: based on experiences with customers, internal tests and development teams, it’s around these values that we start seeing performance issues. If you’re approaching these values, we’d suggest you monitor your system closely to detect any performance degradation before it becomes critical. WARNING: while provided figures are educated guesses and practical rules of thumbs, you could still find that your environment functions perfectly beyond these limits  (e.g. if your environment is particularly fine-tuned). In a similar way,  some intense CLM usage could show that these recommended values are too optimistic…

As a consequence, it’s important to understand this post is NOT an attempt for replacing existing resources (see the References section) that provide extensive views on CLM performance and tuning topics. We encourage administrators and project managers to read them as they both include finer-grain information and insist on the key aspect of not loosing the “bigger picture”.

What’s the use of the following tables then ?

Answer: they’re here to HELP YOU quickly figure out if you’ve reached some known CLM limitation or if you’re getting close to a threshold  (again: on the basis of a typical/average environment) requiring due monitoring of your environment.  To this regard, these tables are COMPLEMENTARY with existing resources and concentrate information ALREADY available but yet disseminated on multiple medias/sites/forum posts/etc.

What if… you can’t find what you’re looking for in the following tables ?

Answer: in such case, there MAY not be soft/hard limit on it. You should check the References section at the bottom of this post and check for the latest information (esp. from the CLM sizing guides).

Ξ

JTS
Quantified data Limit Alert zone Reference(s)
Concurrent user sessions  – 400-2000+ Purple Book
Jazz user id length  – 250 bytes Jazz.net forum

Ξ

RTC 
Quantified data Limit Alert zone Reference(s)
Concurrent user sessions  –  300-500+ (per CCM instance) Purple Book
   Example: “CLM Sizing Strategy” (v4.0.6 – April 2014)  –   – 100-600 concurrent users. See report/environment details.
   Example: “Performance Report” (v5.0 – June 2014) 1200 concurrent users. See report/environment details.
Planning – Work-items
   WIs in a plan (<= v2.0) 2048 Jazz.net article
   WIs in a plan (>=v2.0.0.1)  –  250-500+ (impacts plan display time + questions ability from user to grasp several 100s of WIs in one plan) Jazz.net forumJazz.net forumPurple Book, RTC 4.0.3 Plan performance improvement
   WIs in a project area/repository  – Jazz.net forum, Jazz.net article
   WI attachment size  50 MB  If increasing this value or systematically using large attachments: be aware of the possible impact on DB growth and CLM performance in general. See how to change this value in TechNote, Jazz.net forum
   WI “Estimate” attribute  1 year  – Jazz.net forum. A  presentation-enforced limit.
   WI custom attribute length > Small String (*) 250 bytes Jazz.net article (RTC v4.0)
   WI custom attribute length > Medium String (*) 1000 bytes Jazz.net article (RTC v4.0)
   WI custom attribute length > Large String (*) 32768 bytes Jazz.net article (RTC v4.0), Enhancement 160469
   WI custom attribute length > Medium HTML (*) 1000 bytes Jazz.net article (RTC v4.0)
   WI custom attribute length > Large HTML (*) 32768 bytes Jazz.net article (RTC v4.0)
Queries
   Query results
 1000 results Jazz.net forum. Note: this default value could be increased but be aware of the possible negative impact on usability / server performance.
Planning – Timelines
   Timelines  2048  (see recommended approach in the forum post’s answer) Jazz.net forum
SCM
   Files/folders in a single component (CLM 2011)  50K (split into multiple components if required) Jazz.net forumJazz.net article
   Files/folders in a single component (CLM 2012, RTC 5.0)  100K (split into multiple components if required) Jazz.net forumJazz.net article, Jazz.net forum,
   Suspended change-sets by individual user  300 (for not slowing down operations) Jazz.net article
   Components in workspaces and streams  500 (as tested by IBM) Jazz.net article , Task 176441 (in progress)
Build
  Build definitions associated to a build engine ( < v4.0.3) 2048 TechNote
OSLC
   oslc_cm.pageSize parameter (when querying work-items) 100 Jazz.net RFEJazz.net forum

(*): text-based

Ξ

RQM
Quantified data Limit Recommendation Reference(s)
Concurrent user sessions  –  100-150+ (per QM instance) Purple Book
   Example: “CLM Sizing Strategy” (v4.0.6 – April 2014)  – 350-500 concurrent users. See report/environment details.
   Example: “Performance Report” (v5.0 – June 2014) 1000 concurrent users. See report/environment details.
TER (Test Execution Record) name length  250  – Jazz.net forum
TCERs bulk generated from test plan wizard  500 Work-around article, RQM defect, WAS maxParamPerRequest
TCERs bulk changed/removed at once tbd  tbd Jazz.net forum, Jazz.net forum, WAS maxParamPerRequest
Records in a datapool / test data 2000  – Jazz.net enhancement
Character limit: Description field of a Lab Resource 250 Jazz.net enhancement
Number of categories defined on an artifact type 50 RQM defect, RQM defect
Feed entries per page ( < 4.0.4)  512  – Jazz.net forum, RQM defect
“Large Record Count” (SQL query result set generated by OOTB BIRT reports) ( >= 4.0.5)  –  10K TechNote, Jazz.net defect
Attachment size using UI Jazz.net enhancement
Attachment size using CLI ( Command-Line Interface) ( >= 4.0)  50 Mo Jazz.net article (for how to change this default value, see the Comments section). Note: if increased, be aware of the possible negative impact on usability / server performance.
TCERs runnable off-line and at once (>=4.0) 50 4.0 InfoCenter

Ξ

RRC-DNG/RDNG
Quantified data Limit Recommendation Reference(s)
Concurrent user sessions (< v4.0.1)  200+ Purple Book
 (>= v4.0.1)  400+ Purple Book
   Example: “CLM Sizing Strategy” (v4.0.6 – April 2014) 300-400 concurrent users. See report/environment details.
   Example:  “Performance Report” (v5.0 – June 2014) 400 concurrent users. See report/environment details.
Coexistence with DM (Design Manager) on the same box (in v.4.x and v5.0.x)  Incompatible  – Jazz.net forum (related to the converter component)
Instances of RM application per JTS (<= v4.0.6) 1 4.0.3 InfoCenter, Jazz.net article, Plan Item
RM Projects per RM application / JTS  200+ Jazz.net article
Number of undos in edit mode  20 TechNote
Number of displayable links (>= v4.0.1)
  • 60 (IE7)
  • 100 (other browsers)
Jazz.net forum
Number of artifacts selectable in the Artifact view 50 Enhancement 71080, Jazz.net forum
Using ReqIF
   Imports to DNG from DOORS (>= v4.0.1)
  • 5000 modules
  • 200K objects (total)
Jazz.net article, Jazz.net forum
   max depth supported for import 3 Jazz.net forum

References:

  1. CLM 2012 Sizing Report

  2. CLM 2011 Sizing Guide
  3. Rational Team Concert (RTC) 2.0 sizing guide
  4. Rational Team Concert 4.x sizing report for z/OS

  5. The Deployment wiki
  6. Jazz Performance: A Guide to Better Performance” by D. Toczala (Feb 2013). A.k.a the “Purple Book
  7. Sizing and tuning guide for RDNG (Rational DOORS Next Generation) 5.0

Acknowledment/Credit: thanks to the authors of the cited documents above and more generally to the Jazz community who collaboratively provides accurate information through library articles, forums questions & answer, etc..


Jazz/CLM ETLs performances: a view on release-to-release comparisons

August 1, 2013

Recently, I’ve had a deeper look at ETLs performances. This topic is sensible to our customer as full ETL load could last up to several days !

Based on work-items tracking activity and interactions with our development, support team and performance teams, I came up with a personal summary. I found it interesting to be shared with Jazz/CLM Administrators to get up to speed on performance of such ETLs.

Firstly, let’s start with the existing and customer-oriented information:

ETLs performance comparison between CLM versions 3.0.1.2 and 4.0.

Available in article “Rational solution for CLM 4.0 “Extract, Transform, and Load” Performance Report“.

It’s considering the “D1” topology (note: the article is little bit misleading as the provided URL link points directly… to the “E1” / Enterprise topology. I have notified the authors already).

A simplified summary (which should not prevent you from reading the full outcome of the ETL comparison) follows:

  • RTC ETLs: stable performance
  • RQM ETLs: 20% performance degradation (expected by dev team)
  • RM DM ETLs: significant improvement
  • Star ETL: no major issue

Secondly, let’s continue with the information provided for advanced readers

ETLs performance comparison between CLM versions 4.0.2 and 4.0.3

Available in [Plan Item 248546] “Ensure no ETL performance regressions are found when comparing CLM 2012 Mod 3 ETLs to 4.0.2“.

It’s again considering the “D1” topology.

Status (as for Aug. 1st, 2013) is “Done”. Navigating to the latest comments of the Discussion tab will show you available Excel spreadsheets (Java ETLs for RRDI, DM ETLs for Insight)  .

Finally, mentioning the plans for improving subsequent ETLs performance comparisons:

ETLs performance comparisons for forthcoming 4.x versions

Performance team have plans (be aware that plans are subject to change) to:

  • publish some automated ETL tests for later minor version of CLM 4.x
  • improve the analysis of performance data from the ETLs.

The related WIs are listed below:

Also citing some material of interest (but to a lesser extent from a customer perspective as these resources are part of the Jazz development wiki) as well:

Note: be aware the previous resources are subject to the following statement: “Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly“.

Finally, mentioning some related information (captured in the Deployment wiki)

…. and recalling a basic statement

If you’re concerned that the ETLs performances may have degraded after a particular CLM upgrade, you would need to keep in mind the amount of RTC WIs, RQM test cases, RRC artefacts, etc. has certainly increased since you last run a full ETLs load. This remark for avoiding comparing apples and oranges…


Practices in Mobile Application Development and Rational Team Concert (RTC)

July 24, 2013

Mobile (like DevOps) is a key topic these days and is addressed by IBM’s MobileFirst initiative.

As part of the Jumpstart team, I work on a day-to-day basis with CLM customers. More and more of these customers are going or plan to go mobile everyday. This raises the question of how their strategies should be adapted to mobile: web site, products, processes, delivery model, etc.

As a developer, I decided to dedicate a portion of my time figuring out what it means to companies in terms of software development practices. The approach I consider is two-fold:

  1. Build a recap on the special characteristics of the mobile application development (lifecycle, challenges, etc.) and provide a state-of-the-art perspective from both the academic and industry point of views. Re-inventing the wheel not being an option, I’ve tried to capture contributions I felt most significant.
  2. Discuss how Rational Team Concert (RTC) can best fit in this picture.

As a result, I made this all-in-one [PDF] document available:

[Download PDF file] 2013_July_Mobile Application Development_Stephane Leroy.

Note that it’s also available as a wiki :

Practices in Mobile Application Development and Rational Team Concert (RTC)

Go and visit frequently as I shall update this information. Your feedback is welcome (at mail:stephane.leroy@fr.ibm.com).


A RQM usage anti-pattern: multiplying test scripts associated to a test case

May 22, 2013

During discussions with customers who start using Rational Quality Manager,  I sometimes get the following questions:

I’ve associated MULTIPLE test scripts to my test cases. Now when I execute them, the LAST execution status returned when selecting a specific test script OVERRIDES previous execution status (with a different test script associated).

Seems like RQM is “loosing” previous execution status each time !  This is a bug, right ?

Actually no, this behavior is NOT weird. You need to get the logic of the RQM tool wrt the semantic of the relationship between test cases and test scripts.

RQM-TestCaseTestScript-nm-Linking

Let’s recap it here :

  • A Test Case answers the question : “what am I going to test ?” It defines the things you need to validate to ensure the system is working correctly and is written to be environment-agnostic.
  • As sketched in the model above, you could have AS MANY test scripts associated to a test case than desired…

BUT there are some best practices associated to this model. You can have multiple test scripts associated to a test case provided each test script tests the SAME functionality. This would typically be the case for:

  • Running a test case in different test environments (thus implying non identical steps).
  • When you have a manual test script and a robotic test script (e.g. RPT, RFT, Selenium, etc.)

Once this basis is stated, customer figure out they have followed a RQM anti-pattern which needs to be fixed.

While the solution to adopt is very dependent on the customer context, a possible remediation includes a refactoring work through the splitting of the test case content into several test cases, the merging of the multiple test scripts into a single test script (provided this doesn’t create an ugly monolithic test piece), etc.

Question: for running a test case in different test environments (not an anti-pattern), where shall the choice of the test script be done ?

RQM-2TCERS-2TestScripts

Answer:

  • As an example, above snapshot presents the TCER section of the test case TC01.
  • It includes 2 TCERs (which were generated for 2 different test environments: TC01_Chrome… and TC01_Firefox…). Test script Script for Chrome addresses TC01_Chrome… environment and Test script Script for Firefox addresses TC01_Firefox… environment.

(Tip for Jazz Administration) : Hide port numbers from the public server URI

March 30, 2012

This article provides tips for administrators looking for hiding port numbers from the public server URL when configuring the Jazz server initially. It covers both Tomcat and WebSphere server configurations.

Hide port numbers from the public server URI

For eased user access or for later administration purpose, you may want CLM2011 applications to answer with URLs including no port. For example :

https://clm.example.org/ccm rather than https://clm.example.org:9443/ccm
or
https://ccm.example.org/ccm rather than https://ccm.example.org:9443/ccm
https://qm.example.org/qm rather than https://qm.example.org:9443/qm
https://rm.example.org/rm rather than   https://rm.example.org:9443/rm

Reminder

By default :

  • web servers use port 80 for non secure communications (over HTTP) and port 443 for secure communications (over HTTPS).
  • web browsers could access HTTP(S) servers configured this way without having to include the port number in the URL.

Once you have set the Public URI of your applications, you cannot change it afterwards. For more information, see Planning your URIs.

Procedure for a Tomcat server

Following steps guide you for this :

  1. In a text editor, open JazzInstallDir/server/tomcat/conf/server.xml.
  2. Search for the <Connector>element for the non-secure port.
    Note : by default, this <Connector> element is not commented out, has a comment above it that says
    <!– Define a non-SSL HTTP/1.1 Connector on port 9080 –>, and has a redirectPort attribute.
  3. Modify the value of the port attribute with port number 80 to use for non-secure connections.
  4. Modify the value of the redirectPort attribute with port number 443 to use for secure connections.
  5. After you have modified the <Connector> for the non-secure port, search for the <Connector> element for the secureport.
    Note: by default, this <Connector> element is not commented out and has the attribute secure=”true”.
  6. Modify the value of the port attribute with the port number 443 to use for secure connections.
  7. Save the server.xml file.
  8. Start the application server.

As a result, you should have a server.xml file looking like this :

<!– Define a non-SSL HTTP/1.1 Connector on port 80 –>
<Connector port=”80″

redirectPort=”443″
…./>
<!– Define a SSL HTTP/1.1 Connector on port 443 –>
<Connector port=”443″

scheme=”https”
secure=”true”
…./>
….

Procedure for a WebSphere Application Server

Following steps guide you for this :

    1. Start the application server.
    2. Log in to the Integrated Solutions Console as an application server administrator.
    3. Click Servers > Server Types > WebSphere Application Servers > server_name > Ports.
    4. Modify the value for WC_defaulthost with port number 80 to use for non-secure, HTTP connections. Note : make sure this value is not used already.
    5. Modify the value for WC_defaulthost_secure with port number 443 to use for secure, HTTPS connections. Note : make sure this value is not used already.
    6. Click Apply, then click “Save directly to the master configuration”.
As a result, “Ports” should now appear this way :
  1. Stop, and then restart the application server.

Next step : Configure the Jazz Team Server

You can now use the setup wizard to configure the Jazz Team Server. Make sure you use the public URL with no port ! For more information, see Running the setup wizard.

N.B. (for Linux users): all ports below 1024 are “privileged” ports (only root may open a privileged port).

General notes

Here, assumption is made that ports 80 and 443 are available on the machine. This might not be the case :

  • if another server is using one of these ports, or
  • if your CLM applications (JTS, CCM, QM and/or RM) are running on different servers but are at least partly collocated on the same machines.

As mentioned in the Summary, only an initial configuration of the Jazz server was considered in this article.

If you must change the port number your Jazz server is responding on – while also maintaining URL stability -, consider using a reverse proxy to route requests using the old port number to the appropriate new location.

For more information

  1. Moving Jazz Servers and URI Stability with CLM 2011
  2. Change the default port
  3. WebSphere 7 Information Center
  4. Using virtual host names in your topology
  5. Using a reverse proxy in your topology
  6. Configuring Enterprise CLM Reverse Proxies, Part 1: Understanding Reverse Proxy
  7. Configuring Enterprise CLM Reverse Proxies, Part 2: WebSphere and IHS Plugin method

%d bloggers like this: