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
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by FinTechEXPO. ICOHOLDER give you detailed information and help the community to invest in the trusty projects. Miami Blockchain Event by FinTechEXPO has opened its Call for Papers. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Miami Blockchain Event by FinTechEXPO also offers s...
Predicting the future has never been more challenging - not because of the lack of data but because of the flood of ungoverned and risk laden information. Microsoft states that 2.5 exabytes of data are created every day. Expectations and reliance on data are being pushed to the limits, as demands around hybrid options continue to grow.
Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
The IoT Will Grow: In what might be the most obvious prediction of the decade, the IoT will continue to expand next year, with more and more devices coming online every single day. What isn’t so obvious about this prediction: where that growth will occur. The retail, healthcare, and industrial/supply chain industries will likely see the greatest growth. Forrester Research has predicted the IoT will become “the backbone” of customer value as it continues to grow. It is no surprise that retail is ...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of bus...
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
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.
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
As IoT continues to increase momentum, so does the associated risk. Secure Device Lifecycle Management (DLM) is ranked as one of the most important technology areas of IoT. Driving this trend is the realization that secure support for IoT devices provides companies the ability to deliver high-quality, reliable, secure offerings faster, create new revenue streams, and reduce support costs, all while building a competitive advantage in their markets. In this session, we will use customer use cases...
Cloud Expo | DXWorld Expo have announced the conference tracks for Cloud Expo 2018. Cloud Expo will be held June 5-7, 2018, at the Javits Center in New York City, and November 6-8, 2018, at the Santa Clara Convention Center, Santa Clara, CA. Digital Transformation (DX) is a major focus with the introduction of DX Expo within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive ov...
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...