Comments
bruce.armstrong wrote: Somebody just said it better than I did, and with more chops to say it: Open Letter to Mark Zuckerberg, Sheryl Sandberg & Facebook Mobile
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
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.

    Summary
    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: sales@starbase.com
    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.

  • About Paul Horan
    Paul Horan is a Principal Systems Consultant at Sybase. Paul has a wide range of experience with Sybase products, including PowerBuilder, PowerDesigner, Sybase Unwired Platform, SQLAnywhere / MobiLink, Afaria, and Mobile Office. Paul works out of Sybase's Bethesda MD office, and was inducted into the ranks of TeamSybase in 2000. A 1984 graduate of Indiana University, Paul currently resides in Arlington VA.

    In order to post a comment you need to be registered and logged in.

    Register | Sign-in

    Reader Feedback: Page 1 of 1

    Latest Cloud Developer Stories
    With Cloud Expo 2012 New York (10th Cloud Expo) now under three weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
    We’re happy to announce general availability of Intel Cloud SSO IAM-as-a-service today after running it in private beta mode for 2 months with select customers. See press release here. Intel has partnered with Salesforce to develop and run this application …
    With Cloud Expo 2012 New York (10th Cloud Expo) now just under three weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
    With BigDataExpo 2012 New York (www.BigDataExpo.net), co-located with 10th Cloud Expo, now just three weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the ...
    In his session at the 10th International Cloud Expo, Marvin Wheeler, Open Data Center Alliance Chairman, will discuss the success the organization has had in charting the requirements for broad-scale enterprise adoption of the cloud and how 2012 is forecast to be the tipping poin...
    Subscribe to the World's Most Powerful Newsletters
    Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

    SYS-CON Featured Whitepapers
    ADS BY GOOGLE