Eclipse Authors: Pat Romanski, Elizabeth White, Liz McMillan, David H Deans, JP Morgenthal

Related Topics: PowerBuilder, Eclipse

PowerBuilder: Product Review

Eclipse Europa 3.3.2 Integration with SCM Tools

Makes securing and controlling Java objects for source code management an easy task

Presently, I am the administrator of SCM AllFusion Harvest. SCM AllFusion Harvest is a process-based Software Configuration Management (SCM) tool for managing application source code. I manage 121 applications housed in SCM AllFusion Harvest and support 185 users using the product. The development tools we currently use are PowerBuilder PBV8, PBV11; Visual Studio 2003, 2005, 2008; and Java.

As the Software Configuration Manager (SCM), I provide the administration of the source code management tool. This includes the entire infrastructure of the environment for development, from developing the life cycles, to providing the best practices, procedures, processes, documentation; maintaining build machines; and the training of all the developers on proper source code management using the development tool in our development environment.

This article will describe the integration between the SCM AllFusion Harvest Version Control Interface (VCI) and Eclipse Europa version 3.3.2 for version control. The article will illustrate how to make the necessary connections using the version control interface (VCI), checkouts and check-ins, adding workspace repository to IDE, describe how to delete files in proper order using SCM tool(s), add new files and load the initial baseline to the Eclipse IDE, and promote a Change Request (CR) Package in SCM AllFusion Harvest through the entire life cycle leaving the initial baseline footprint across all SCM AllFusion Harvest States. Regardless of the SCM tool you use, the process for integration is very similar from tool to tool. The same menus may exist whether you're using Microsoft's Visual Source Safe, IBM's Clear Case, or CA's SCM AllFusion Harvest. Many of the SCM tools are quite robust and interface well with development tools used today.

In my opinion this integration is the best I've seen in a long time and I don't know who gets the credit for this - CA Computer Associates, IBM, or the Development community - but this is just a wonderful match. As I was writing this article and configuring the required set-up for the Version Control Interface (VCI), I was struck by the ease of connectivity. Place a couple of .jar files in the features folder and a couple of .jar files in the plug-in folder, and bingo open up Eclipse and there is the SCM tool on the top of the menu ready to be invoked.

There is no convoluted menu set-up or other type of configuration set-up, after the files were present so was the tool directly in the IDE. This in my opinion is the way that all the tools should work. It's wonderful to be able to develop directly in the IDE of your choice without having to leave the tool to get your work done.

The SCM tool is literally embedded in the Eclipse IDE with the left pane displaying the SCM tool and the right pane displaying the Eclipse IDE where your checkout and check-in activities will take place. This interface makes it easier for developers to be more disciplined and use source code management without having to be in another tool to do it. While they develop, they can be saving, storing, and managing their assets.

I saw no major issues with regard to setting up the SCM AllFusion Harvest Version Control Interface (VCI) using the Eclipse plug-in feature. I copied several .jar files into the features folder and several .jar files into the Plug-in folder, invoked the Eclipse IDE, and the SCM tool was in place. Now, I don't want to oversimplify things; there is a little set-up involved but the overhead on this product is much smaller than on other IDEs I've integrated with. There was less of a mystery in how it was going to operate as well because the SCM tool was available on the left-hand pane while the Eclipse IDE was on the right-hand pane.

The only real overhead exists with the SCM tool: creating the life cycle, states, processes, access and repositories, and loading the initial baseline. Once this is all set up, it's just a matter of loading the repository and then, when you invoke the Eclipse IDE, you add the workspace repository to your IDE view and you're ready to perform checkouts and check-ins.

In the latest version of SCM AllFusion Harvest R12 there is also a work area, which is new in this version. This allows you to make the changes in the SCM AllFusion Harvest tool versus the IDE. The Eclipse plug-in allows you to change code in either the SCM tool or in the IDE. The choice is yours - wherever you feel more comfortable working. This in my opinion expedites development and streamlines processes to mirror your daily work life cycle.

In addition, I will also provide valuable screenshots that should help you configure and load your source code into the SCM tool to begin making the necessary modifications to your application. Every Software Configuration Management tool is different in terms of functionality; however, they all have common threads of functionality that are consistent with all Software Configuration Management tools. Common activities include checking out, checking in, adding files, deleting files, obsoleting files, and loading an initial baseline. The way these tasks are achieved is of course different from tool to tool but many of the SCM tools perform these basic activities.

For this article I will focus on CA's SCM AllFusion Harvest SCM tool. This is the product that I prefer and use because of the canned processes and life cycles that are associated with the product. I find it easy to use and integrate with other development products. I will say this though - many of the SCM tools being developed today are very robust and provide very good integration into development tools overall. However, as I said earlier, this is perhaps the best integration I have seen in terms of an integrated development environment.

I want to say a word about why I favor the process-based software life cycle management tools versus the smaller versioning-only tools. When you're a large organization, like The State of NH, process-based management tools allow one individual to manage hundreds of applications. All processes are canned as well as life cycles, and an environment can be tailored and set up quickly. Also, many of these process-based management tools have databases behind them that makes storage and retrieval very efficient, secure, and much easier to control. It also provides wonderful exporting for disaster recovery purposes. In my professional opinion, any tool where you have to either build the environment with triggers for processes, use SQL for basic SCM activities or command-line driven utilities, or write Perl for the environment to perform any basic SCM activities is just too much overhead for large shops to take on.

I'll be integrating CA SCM Harvest release 12 with Eclipse Europa version 3.3.2. The first thing we are going to need to do is open the Eclipse IDE (see Figure 1). Note: You can load your source into your SCM tool outside or inside the IDE. In the following examples I previously loaded the source into my SCM tool outside the IDE via my SCM tool. I could have loaded the source via a Change Request package through the IDE. Later on I discuss configuring a New Project via the IDE.

Once the .jar files for the Eclipse plug-in and features have been populated into the correct folders, the SCM tool is then present on the top of the menu. In this example the plug-in is for SCM AllFusion Harvest R12. We are going to make a new Harvest connection by selecting "New Harvest Connection" on the top menu.

Once the new Harvest Connection has been selected, the screen shown in Figure 2 will appear; it has four fields that need to be populated. After the user name, password, and broker name field have been populated, the harweb field will automatically populate for you with the correct open port information previously defined in your web installation of your SCM tool.

Once you have successfully logged into SCM AllFusion Harvest, the broker name will appear on the left-hand pane (see Figure 3). If you expand the broker name, you'll see the life cycle, states, and processes available, and you will be able to add the SCM tool repository to your work space and begin performing checkouts and check-ins against the stored source code.

The left-hand pane (Project Explorer) will contain your view of the SCM tool and the repository view containing your source, while the right-hand pane will allow you to make the necessary changes to source that you have checked out for update. Figure 3 shows the SCM AllFusion Harvest session log for output information regarding the success or failure of activities performed. On the left-hand pane there is also the Navigator view that should contain your SCM AllFusion Harvest source view once you add the SCM repository to your workspace. You can perform checkouts and check-ins on the navigator tab as well.

You can create this workspace anywhere you like. I created a workspace at C:/Al Soucy Workspace. This will contain a browse (read-only) copy of all your source. As you perform checkouts and check-ins, the attribute of these file(s) changes from read to writable so that your changes may be recorded and saved. Once the file(s) have been checked back in, the attribute reverts back to a browse (read only) state again.

Figures 4-6 demonstrate the wizard used for adding your SCM repository containing the source data to your workspace to use for performing checkouts and check-ins against the source. Figure 4 illustrates the project name and shows that you are adding a new project to your workspace. Figure 5 illustrates the content of your SCM tool: the package that will be used for checkout and check-in as well as the processes that are available for use (Check Out, Check In, Remove Item, and Rename Item). The client path is also identified as to where your checkouts and check-ins will be directed.

The last screen of the wizard (see Figure 6) illustrates the ability to create empty folders and, on creation of the workspace, you can have all the file(s) in the repository checked out for reserve (update). The default check out of the file(s) is browse (read-only) check out of all the file(s). I don't select the reserve files flag. It makes more sense to allow the developer(s) to check out the file(s) that they need rather than having all the files checked out with a reserve tag because the file(s) will not be available to anyone else until they have been checked back in. Once you click finish, the workspace becomes available to you in the IDE view on the left-hand pane under the Navigator tab.

As with any SCM tool, once you have established your baseline by checking your source into the SCM tool and, in this scenario, added your workspace to the IDE view under the Navigator tab, you are now ready to perform checkouts and check-ins. This really means that this source is now your master source in your tool and no changes should be made outside of the tool. This will cause an out-of-sync issue and can be quite difficult to fix if it goes on for too long. The processes that you need to perform checkouts and check-ins are only available on the navigator tab after the workspace has been added to your Navigator tab view.

To accomplish the task of checkouts and check-ins, right-mouse click on any file(s) you wish to check out under the Navigator tab and select Team, and the processes available to you are in your view.

You can also perform checkouts and check-ins by using the SCM AllFusion Harvest Repository tab (see Figure 7) as well on the left-hand pane. This will give you the SCM AllFusion Harvest Workbench view, which allows full access to the Life Cycle, States, Processes and the Repository where the source data is housed.

This is the beauty of this interface, in my opinion; it allows you the flexibility to work in whatever form you are most comfortable in, in the IDE using either the Navigator Tab or Harvest Repository Tab. There is a third way - because the SCM AllFusion Harvest is part of the file system you can also perform checkouts and check-ins at the file system level.

The SCM AllFusion Harvest interface is very flexible with the Eclipse IDE. I have not explored performing checkouts and check-ins at the file system level, mainly because there are other methods that are perfectly viable. However, some developers have expressed joy at being able to have this option available to them. If you decide to use the Harvest Repository tab to perform your SCM activities, you will have to go to the Navigator tab and go to Team/Refresh Status to sync up the Harvest repository with the Navigator tab that, in turn, syncs up the workspace directory.

For example, if you delete a file in the SCM AllFusion Harvest tool, that will require you to sync up the repository so that the Navigator Tab and workspace reflect this deletion. That is done by doing a right-mouse click on the Navigator Tab and selecting Team/Refresh Status.

When doing a right-click on the Navigator Tab/Team, there are a number of SCM activities available: Check Out, Undo Check Out, Check in and Keep, Check in and Release, Refresh Status, Edit Harvest Context, and Synchronize with Harvest. These SCM activities are also available in the SCM AllFusion Harvest tool as well.

When creating a new project (see Figure 8), open up Eclipse and go to File/New/Project. This will establish and help you configure a new environment in Eclipse based on your SCM tool where your source data has been stored.

Once you have started the process of creating a new Project in Eclipse (see Figure 9), you get the Eclipse wizard where you can identify the broker name of your SCM tool and define your workspace area, if not already defined in previous activities. Once these fields have been populated, click the "Finish" button.

The next screen that appears requires the identification of the Project Name and its default location, which is your workspace area (see Figure 10). A new folder will be created with the project name. Click "Finish" and the Navigator tab in the Eclipse IDE will populate with the new project. Add the workspace to this location from the SCM tool by navigating to the SCM tool repository, doing a right-mouse click and clicking on "add workspace". Your entire source from the SCM tool will be populated in this workspace folder and you are now ready to begin performing checkouts and check-ins against the source data.

Figure 11 illustrates the established new project along with its title, the properties view, and the connections established to the SCM broker for the new project.

There is so much to cover but these are the major activities that you will need to perform:

  1. Set up your SCM tool with the development environment (Project Name, States, Processes, Users, Access and Repositories(s).
  2. Load the source data into your SCM tool or through the Eclipse IDE.
  3. Populate the .jar plug-in and features files for the interface in the Eclipse plug-in and the features folders.
  4. In the Eclipse IDE create the New Project and use the wizard for configuring the new project.
  5. Launch your SCM tool to set the context of your tool and add the workspace to your Navigator Tab.
  6. Begin performing checkouts and check-ins either via the IDE or your SCM tool.

Our Experience
We develop and maintain a variety of applications at the State of New Hampshire's Department of Information Technology (DoIT). The applications are used extensively in our welfare and health services delivery agencies. Example applications are for child-care licensing and managing adult and elderly care. Throughout the State the applications are used by hundreds of users.

Using SCM AllFusion Harvest R12 with Eclipse Europa version 3.3.2 has made securing and controlling Java objects for source code management an easy task. My synopsis and review of SCM AllFusion Harvest R12 and Eclipse Europa version 3.3.2 goes as follows: SCM AllFusion Harvest R12 and Eclipse Europa version 3.3.2 from the environment use, processes built into the products, interfacing capabilities and ease of use make this a seamless integration.

As I have stated earlier, this is among the best integration I have seen between tools of this nature. The ease of the Version Control Interface intertwined with the Eclipse IDE is a great example of how tools should work together. I'm also pleased with the way in which connectivity can be re-established even when a disconnect occurs. It just requires adding the workspace again from the Harvest Repository tab and you're off and running.

If you are in an environment where you require products that encompass the best seamless interfacing capability into Eclipse Europa for source code management, then your environment would benefit from using SCM AllFusion Harvest R12 with Eclipse Europa managing your assets.

More Stories By Al Soucy

Al Soucy is software configuration manager at the State of New Hampshire's Department of Information Technology (DoIT). In that role Al manages software configuration for dozens of PowerBuilder applications as well as applications written in Java, .NET, and COBOL (yes, COBOL). Al plays bass guitar, acoustic guitar, electric rhythm/lead guitar, drums, mandolin, keyboard; he sings lead and back up vocals and he has released 8 CDs.

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.

@ThingsExpo Stories
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...