One of the most common questions and confusion about RTC from new users is how the Source Control Management(SCM) works and where is the code base of my IBM i code in RTC. Today IBM i developers are used to looking in libraries to find their source, but with RTC that is no longer the case as the official source is stored in the RTC database. Lets walk through a typical scenario to understand how this all fits together.
- The team as a first and one time step takes your current source residing in your IBM i Libraries and using the tooling in Rational Developer for Power Systems converts it into 1 or many IBM i Projects. An IBM i Project is a collection of the source in an Eclipse project style which mimics the structure of an IBM i Library. Learn more about IBM i Projects by watching this video. By using an Eclipse project style to store your source there is no difference between the way this source is stored on your local machine as compared to a Java project, so all the powerful SCM capabilities in RTC apply to IBM i Projects as well like History, Annotate, Suspend, etc. Once the projects are defined they are then shared with a stream. At this point your official source code base is stored in the RTC Database not in any IBM i Libraries. This is why you can have the RTC server running on any platform, it doesn’t have to be running on IBM i.
- As a developer I create a Repository Workspace, connected to the stream we shared the projects with in the previous step, in which I load IBM i Projects from to my local workstation.
- I work on the development of my IBM i source and use the capabilities in Rational Developer for Power Systems Software. When I am ready to test my changes I use the push(load)/compile capabilities in Rational Developer for Power Systems or Personal Builds in Rational Team Concert to load and build(compile) the source in my own personal libraries. When I am confident with my changes I deliver them to the stream. Notice the developer is not using the green screen or an emulator to modify the code, they are using Rational Developer for Power Systems Software for making all source code changes.
- A team build is run based on a schedule or someone requests a build (using one of the IBM i build definitions in RTC) that will load the source from the RTC Database to IBM i Libraries defined in the build definition and then compile the source.
To recap the official code base of your applications is stored in the RTC database, developers can use there own personal libraries to compile there changes, and official team builds are the mechanism to load the source from the RTC database to the IBM i Libraries and then compile(build) the application. To learn more about the SCM capabilities in the RTC Eclipse client read the help topic on just that.