Possible to use version control with Developer 601

Bonjour, fellow forum members!

I’m starting to make some progress with wM Developer, thanks to the fine advice I’ve gotten here. I’ve developed quite a few dictionaries, schemas, mappings, handlers, etc.

I’m getting a little nervous, though. When I write Java apps I always have my code base in a version control system (in my case, M$ Visual Source Safe). That way I can have working classes safely checked in so I can check them out and make whatever modifications I need to, confident that I can always get back to my last working version even if I totally botch it.

I see that I can lock/unlock wM objects for edit, and that’s good, but it’s not exactly the same thing as preserving the code in version control.

I remember seeing that version 6.1 can work with CVS nicely. Is that also true of 6.0.1? Can it work with any other version control systems besides CVS? We don’t have CVS running where I work. I’d have to sell installing it on a Unix server (last time I looked, CVS had Windows clients but the server only ran on *nix).

Thanks very much. - MOD

Michael,

As far i know IS6.01 is not attached with any CVS,you have to manually export the code/packages to any external version control systems like (PVCS,StarTeam,CVS etc…)

Also use search functionality on this topic provided in this site,you may see some hits.

HTH,
RMG

Michael,

As far as processes go, I’ve had a few spins on this one, but here’s what I’ve found to work:

webMethods doesn’t yet have real “hooks” for use with a source control system, although it is rumored that 6.1.5 will have this feature enhancement.

I have used both VSS and CVS and I prefer VSS personally. In either case, it is easiest to creat a set of directories and then move the packages into the directory to check in and out. For example, we have our system installed into c:\webMethods601 while our webMethods zip files reside in a directory, c:\webMethods. Inside this directory, we create a folder with the name of the package and then place the package in the folder to initially check it in. If it is then checked out (VSS) then we will copy the zip file into the replicate/inbound folder of Integration Server and install it. When we are finished coding or need to check it in, you will create a release (if you choose) or you can export the package through developer (menu file_export), place it in the very same directory overwriting the old and then check it in.

It’s crude but effective.

I have used CVS in a similar manner as the above process.

I have also cursed CVS to no end because on one project, the PM wanted us to check in all of the files in the package files system (you will find this in IntegrationServer/packages/YourPackageName. We would check in thousands of files and to increase our pain, we didn’t really use CVS right (not certain what we did right/wrong) and we checked everything out read only, which made webMethods very angry.

VSS is my choice if I have one, but in any case, because of the inflexibility (and continued inflexibility) of the developer IDE, there are only so many ways over the mountain.

HTH,

Ray

Ray,

CVS runs on Windows if you use Cygwin to host it on. Runs fine, by the way. As the version control options in Developer… I wouldn’t hold my breath. The change that this will be added in the coming 6.1.* versions is slim from what I heard.
There are a number of open source libs that can be used to rewrite Developer or write some custom client, but attempts have till date not brought forth a complete solution.

Good luck on further efforts, Chris

Hey Chris,

I am aware of Windows CVS, however, most of my pain occurred while working on an AIX project in Australia. We had to use xWindows for most of the work (real fun).

I am working in Northern Virginia and have several associates who work for webMethods who have told me that it is “possible” that we may see source conrol as it is in the road map. However, from my recollection, it’s been on the roadmap since 1999 and I’ve not seen it.

There is one other interesting thing to note: Apparently, there is an eclipse plug-in for either glue/fabric or both, but I am unable to locate it anywhere on the open market (hey so much for OS).

My requests for information from webMethods has returned mostly answers like: yeah, I heard about that… hmmm interesting… dunno where to get it from.

I’d like to have the ability to code webMethods java services in eclipse and have them imported (automatically) into the IS environment like you would load a package, except that you would specify the interface/folder and see the java service automatically processed by JCode utility.

Just a few random thoughts.

Ray

Hi Ray

Well, in practise it is quite possible to code CVS calls into the Developer, but the main reason for not doing this is that the next version will be completely different and thus it would be a waste of time. We have ‘officially’ corresponded with wM about the possibilities of a version control system for IS & although it has been on the roadmap as road kill stuck to the asphalt, changes are slim. There are rumors about a future Developer client plug-in for Eclipse though (not just Java services), which would make all our fears futile :smiley:

I’ll ask around with my collegues for the plugin you are referring to. We have some of those die hard Eclipse people whom I reckon will have heard about it at least. If found, it’ll be in the Shareware section in no time :wink:

Chris

Hi Ray,

I wouldn’t mind even using the manual interface with VSS that you’re describing. I don’t need fancy integration with the tool. (I’d almost prefer NOT to have it, because it tends to mask essential details.)

My problem is more fundamental than that: what are the artifacts that I’d check into VSS? Where do they live? How are they generated?

I’m missing this point because our wM TN/Developer run on a Unix server in our data center. I only access that machine via the TN/Developer clients, so I don’t ever see the server directory structure.

Obviously I have a C:\Program Files\webMethods6\ directory on my desktop for the client. Under that I have the usual suspects: Developer, TNConsole, Modeler, and jvm.

If I bring up Developer, I can go to File->Export and put out a WinZip file for a package on my client. Is that what you’re checking into VSS? I guess it allows me versioning and labeling, which is good. Better than not having a safety net at all!

And now if I made a total mess of a package and wanted to start fresh with my last archived version, I’d check the ZIP file out of VSS, delete the package in Developer, and then use File->Reload Package?

First I tried idea with a new folder that I added to my current project package. I put a service in it, exported the ZIP file, and then tried to delete the folder. Developer wouldn’t let me until I deleted the service I’d put under it. Once I had deleted the folder I went back to the File menu to try and reload the ZIP file, but the Reload Package option was grayed out. Is this only pertinent at the package level?

Next I tried it with a new package. I added a folder and a simple service, exported to a ZIP file, then deleted the package. Reload Package is not asking me for the location of the ZIP file. It’s doing something else that I’m ignorant of.

I don’t see how to get the contents of the ZIP file back into Developer. What am I missing?

I agree with your comments about archiving Java services. It’s not just about having a backup copy, IMO. It’s the usual development cycle where you’d like to maintain a labeled history of your code.

Thank you, as always, for sharing your experience. Sincerely, MOD

Ray

As a addition to the discussion, there is a plug-in for GLUE for Eclipse. It comes with the Glue Professional ("GLUE Professional includes IDE plug-ins for Eclipse, JBuilder and IDEA "). It is said to be able to “Invoke and Call webservices from wM” but Maybe there are other possibilities.

Chris

Chris,

Thanks for the pointer. I have multiple versions of glue, so I’ll dig around. It’s something that I haven’t had the need to install or use.

Ray

Michael,

If you have deleted the package it is lost and ofcourse the IS will save the copy in the IS/replicate/salvage directory.

So to get restore it back either you have to take the package from the salvage and make it .zip file and again put in replicate/inbound directory and install it from ISAdminConsole/Packages/Management “Install Inbound Releases”.

Reload option is used when you dont delete the package and when you resolved the package loadingErrors.

HTH,
RMG.