PowerBuilder Authors: Chris Pollach, Yeshim Deniz, Jayaram Krishnaswamy, Kevin Benedict, Avi Rosenthal

Related Topics: PowerBuilder

PowerBuilder: Article

StarTeam 5.1 by Starbase

StarTeam 5.1 by Starbase

Source code control (SCC) has become a "hot topic" lately, especially after PowerBuilder 8.0 was released, as it contains a wholesale revision to its interface with third-party SCC tools.

PB8 now leverages the full functionality of Microsoft's SCC API, and is much more tightly integrated with the SCC repository. There are now over a dozen commercially available SCC tools that implement the SCC API, and choosing the appropriate tool for your organization is not a trivial task. The scope, features, and functions of these tools range from the "bare bones" approach of the open-source CVS (www.cvshome.org) to the full-fledged change management methodology supported by Rational Software's ClearCase (www.rational.com).

StarTeam is a flexible, feature-rich SCC environment that should be on any organization's short list when evaluating tools in this category. Version 5.2 is almost ready for release, and should be available by the time this issue goes to press. A brief list of the enhancements planned for version 5.2 is included at the end of this article.

Starbase has an extensive product catalog - almost too extensive! The optional components and add-ons range from a requirements publishing module to an open API into their repository. The number of possible combinations and configurations make it difficult to assess the exact set of features that best "fit" an organization. Starbase would do well to try and consolidate this broad catalog into a more consistent and understandable message. This review focuses specifically on the core source code and version control features. For more details on the other available products and options, visit Starbase's Web site.

StarTeam Features and Functions
StarTeam 5.1 consists of five basic modules integrated into a single underlying repository that can be accessed from a variety of different client interfaces. These modules support the full software development life cycle. The workflow and process management can be used "out of the box," or specifically tailored for an organization's needs through the use of an open API and customizable forms.

1.   Requirements Management
The Requirements Management component is installed as part of the StarTeam "Elite" option. It can be operated in tight integration with Starbase's CaliberRM requirements publishing product or as a standalone module. Requirements can be versioned just like any other digital asset, and the linkage features of StarTeam allow specific versions of code modules to be linked back to the specific version of the requirement that drove their development.

2.   Change Request Management
StarTeam has an integrated change request management module that can support the CR workflow process of any organization. It's integrated with the underlying e-mail system, so developers and managers can be instantaneously notified when a CR is assigned to them. StarTeam also offers direct integration with Mercury Interactive's TestDirector software, so that issues found during automated testing can be included in the CR workflow. The linkage features of StarTeam allow specific CRs to be linked to specific file revisions.

3.   Task and Project Management
This component is used to record work effort against specific tasks or change requests and can be integrated with Microsoft Project. Effort recorded against a task in StarTeam can be fed back into a linked MS Project plan. New tasks created in the MS plan can be propagated back into StarTeam to create new tasks. For smaller efforts, or for non -MS Project shops, this component can be used separately.

4.   Discussion Topic Component
This feature allows project-related discussion threads to be captured and stored with the other assets in the repository. This can be a valuable item when researching why decisions were made and who made them. Threaded discussions are superior to e-mail, which is difficult to search, and are often deleted. StarTeam topics provide a permanent record from which all team members can benefit.

5.   File Management Component
At the core of StarTeam is a full-featured SCM component that supports version control of files and folders, file status, branching, view/compare/merge functions, labeling and promotion states, full history, and audit trails. StarTeam stores file archives in a "forward delta" architecture, in which only the latest, or "tip" revision, contains the full text. Prior revisions consist only of "commands" that add, remove, or change lines to arrive at that revision. This allows even large files to be revised many times, without the overhead of storing full copies of each revision. StarTeam includes a Visual Diff tool that can take two revisions of the same file and highlight the differences between them.

StarTeam Architecture
StarTeam 5.1 implements an n-tier computing model in which a dedicated application server process is responsible for managing the repository, which itself is stored inside a fully relational database. This differs from SCC tools like Microsoft Visual Source Safe, which is simply a client-side tool accessing a network-based archive location. A Starbase server can be accessed from a variety of different clients, and Starbase includes three distinct client platforms:

1.   StarTeam: A standard Windows-based client application.

2.   WebConnect: A Web-based client that's capable of connecting remote users to the repository through a standard Web server.

3.   StarDisk: A simplified version of StarTeam that integrates seamlessly with Windows Explorer. In addition, the Microsoft SCC API allows other development environments, such as PowerBuilder, Delphi, and Visual Studio, to manipulate the SCC repository from within their respective IDEs.

Starbase also offers both a Solaris-specific version of the StarTeam suite and a Universal Edition for all other flavors of Unix-based workstations. The Universal Edition is a command-line interface to the Starbase server. Starbase recommends using Sun Java Runtime Environment (JRE) 1.1.8 or later.

StarTeam offers a choice of three protocols between client and server:

1.   TCP/IP Sockets: The standard selection, and must be used to enable several product features, such as WebConnect

2.   Lightweight RPC: Only available when client and server processes are on the same machine

3.   XML over TCP/IP: Used primarily for troubleshooting and support issues; performs slower than sockets

The StarTeam repository is housed inside a fully relational DBMS, and StarTeam provides support for MS Access, MS SQL Server 7 or 2000, and Oracle 8.1.5/8.1.6. The technical documentation provided for the setup and installation of both the application server and the database server is extensive and well written. The Administrator's Guide also contains hardware-sizing guidelines for the database server. For very large project teams (the definition of "large" is always difficult to quantify), there's an optional component named StarbaseMPX Server. This is an advanced "caching" feature that will decrease network traffic and increase overall performance for high-traffic servers.

For current users of Merant PVCS or Microsoft Visual Source Safe, it's possible to integrate StarTeam with these repositories. This allows project teams to transition to StarTeam gradually, rather than forcing a drastic cut-over.

StarTeam Client Interface
The interface of the primary client application is a three-panel TreeView/ ListView combination (see Figure 1).

The left pane shows all the folders defined in the currently open view (Release 1.0 Maintenance) of the project (StarDraw). In StarTeam, a view can be thought of as a "subset" of the objects in a project and can represent the state of the code at a specific configuration, such as a promotion state, a date/time, or a collection of build labels.

Each folder in the view can be associated with a working directory on the user's local drive, which is where the source files are edited. As with most SCC tools, files are not edited directly in the repository - they must first be checked out to the working folder where the development tool can then operate on the file. The check-in process replaces the revised version of the file back into the repository, and either increments the revision number or creates a "branch," indicating a concurrent path of development.

Selecting a folder in the left-hand pane populates a ListView (shown in the upper right-hand corner of Figure 1) with a list of all the files registered in that folder, along with pertinent information such as the current checkout status and state, the current revision number, and the timestamp of that particular revision. The File List pane has several tabs where the user can review lists of change requests, discussion topics, or audit trail details. Figure 2 shows the same window with the Change Request tab selected, which displays all the currently entered change requests in the repository.

The bottom right-hand pane is also a set of tabbed ListViews that presents details related to the item selected in the upper right-hand pane. This section of the window presents details of a single item, whether it's a file, a change request, a requirement, or a discussion topic. The Detail tab shows the current state of the selected object. The History tab shows the activity for that object over time, including both main and branch revision numbers. The Label tab shows the relationship between specific revisions and the revision/view labels that have been created. In this tab a label can be moved from one revision to another. In this manner, specific revisions can be selectively included or excluded from a particular configuration of the software. The Link tab shows any linkages that have been set up between objects such as change requests, requirements, and discussion topics. This can be helpful when tracking down why certain revisions were made. The Reference tab shows all active references to the various revisions of the object/file.

Figure 3 illustrates the discussion topic feature. As new discussion topics and threads are created, all users designated as "recipients" of the message receive a popup icon in their system trays, much like an e-mail notification. The content of the discussion threads becomes a permanent record of the project.

Integration with PowerBuilder
StarTeam has fully implemented the SCC API, and we found no show-stopping issues when integrating with PowerBuilder 7 through 9. The Visual Diff capabilities were the only issue that prevented a seamless integration. It is possible, through the Advanced dialog in the PB Workspace SCC Properties dialog, to use a different "Diff" tool when comparing versions of PowerBuilder objects. The tool of choice for many PB shops is PBDR's PBDelta (www.pbdr.com). PBDelta is designed to recognize files with an "SR*" extension as a PB exported source file. However, when StarTeam creates the export files for comparison, it appends the revision number to the end of the filename (e.g., d_project.srd.rev1.0). Consequently, the files are compared as simple ASCII text, and the full features of PBDelta are not used. StarTeam has been made aware of this issue, and is promising to address it in an upcoming point release.

StarTeam 5.2
Starbase was preparing to release version 5.2 of the StarTeam suite at press time, so it was not available for a full review. A full description of the features included in 5.2 can be found at www.starbase.com/products/StarTeam52. They include the following:

  • The Win32 client has several enhancements to the GUI, such as a revised StatusBar and status icons. Additional functionality includes a new checkout-all option and new object-locking capabilities.
  • It supports DB2 as the underlying repository database, in addition to Oracle, MS SQL Server, and Access.
  • Replication Manager 5.2 now replicates all StarTeam components within a project, including discussion topics, requirements, change requests, and files. This optional tool replicates StarTeam repositories for both local and geographically remote project teams.
  • As an alternative to replicating StarTeam repositories, Starbase offers the StarTeam Web Edition, which allows remote developers to access the repository with a standard Web browser. StarTeam 5.2 includes many bug fixes and enhancements to the Web Edition.
  • StarbaseMPX Server has added a multicasting service, in addition to the current unicast service provided by the message broker. This should keep network traffic and overhead relatively constant as more StarTeam clients are added, increasing scalability for large project teams.
  • Several new options have been added to the stcmd command-line processor for labeling and file-linking operations.

    Company Info and Pricing
    Pricing information for StarTeam is not available on Starbase's Web site. They offer a complex, multitiered pricing formula that's based on the specific configuration of products, options, and seats that an organization requires. Starbase requests that you contact their sales department for a complete price quotation. Thirty-day evaluation copies of StarTeam can be downloaded directly from the Web site.

    Starbase uses a large network of resellers to service international customers. The complete list can be found on their Web site.

    Starbase Corporation also offers a full slate of training and education courses, and has a dedicated consulting staff that can assist with implementation and support tasks. My personal experience with the staff has been generally positive; however, their overall familiarity with PowerBuilder and the challenges associated with versioning code inside a PBL is not as strong as with other tools and IDEs. This is understandable, considering the relative market shares of the two products; I would expect that many of the other SCC tool vendors would exhibit a similar level of PowerBuilder expertise.

    StarTeam 5.1 is a full-featured, mature product that's positioned to compete with the heavyweights in the source code control marketplace. This product should be on the short list of any organization that is also looking at such tools as Rational's ClearCase, Computer Associate's CCC/Harvest, and Merant/Intersolv's PVCS.

    Starbase Corp.
    4 Hutton Centre, Suite 800
    Santa Ana, CA 92707
    E-mail: [email protected]
    Web: www.starbase.com
    Phone: 888 782-7700
    Fax: 714 445-4404

    Test Environment:
    Micron dual processor P4/1.1GHz with 512MB RAM running Windows 2000 Server. The repository database was MS Access. On the client side: Winbook N3 laptop (PIII, 1GHz, 256MB RAM) running WinXP Professional.

  • More Stories By Paul Horan

    Paul Horan is a Senior Solution Advisor and Mobility Architect at SAP, and works with the SAP Mobile Platform and SAP Mobile Secure product lines. Paul joined SAP as part of their acquisition of Sybase in June, 2010. Prior to that, Paul worked for Sybase as a technical pre-sales architect supporting PowerBuilder, PowerDesigner, and SQL Anywhere. Paul works out of SAP's Reston VA office. A 1984 graduate of Indiana University, Paul currently resides in Arlington VA.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.