Service Development and VCS - setup and usage

Hi everyone,

I am a developer on wM 10.3, mainly in service development.

We do not have VCS installed. I am curious to know how it works but haven’t found any demonstration videos or documentation on either how to install and configure VCS, or how it works in practice.

Could someone please shed a light on how, and if, VCS works with Service Development. And after installation, is it manageable from with in the designer or is the underlying code managed in the 3rd party app (e.g. subversion)?

Thanks in advance,
Steindor

Hi Steindor,

check for the Local Service Development guide.

You will need a proper Eclipse Plugin to load into Designer corresponding to the VCS you want to use.
Develop your services on your locally installed IntegrationServer (part of the Designer installation when installing Local Service Development component) as Java Service projects.
These projects can then be put under version control.

Regards,
Holger

Just be aware that there are 2 main versioning concepts for Integration Server

Central Development: Several developer working together on one remote Integrstion Server. In this case the versioning is controlled remotely by Designer using the WMVCS package (and an additional package for the supportes versioning softwareg iek Subversion etc.).

Local Service development where every developer has a local IS running and versioning is done purely using Designer (eclipse) plugins. You need the local service development plugin (contained in Designer workstation). You do not need the WmVcs package and it’s configuration on the servers side.

The recommendation is clearly local service development:

The versioning tools like subversion, git etc. are not designed for central user creating problems we can not compensate with Designer remote control forthose tools.
Local Service development is the way to go for CI, devops etc. It allows for proper control by the local developer, prevents dependencies between dependent code parts changed simultaniously, easier unit testing and diff/merge between local code and the repository.

Thank you, Martin, for pointing out these two different setups. We are working with Central Development; every developer connects hiw designer to the same central IS.

I will look into the manuel that Holger referred to, in order to better under stand the Local Service Delopment setup.

Thank you!

In the Service_Development_Help (also availabe as PDF) you will find

Using the Local Service Development Feature for local service development.

Using the VCS Integration Feature to Check Elements In and Out of a VCS VCS integation for central development

Those are 2 different approaches (as described above).

Thank you for your reply.

I can see in the manual (at the beginning of chapter 7 in the PDF version) that “The WmVCS package, which provides the functionality for using the VCS Integration Feature , is deprecated as of Integration Server version 9.9.”. Does that imply that the VCS Integration Feature is essentially deprecated as of IS 9.9 as well?

One question regarding deployment workflow for these two features -> is that essentially the same?
See example:

  • VCS Integration Feature: developer checks out an element on the central IS in dev env. Makes modifications, and checks in the element. Then deploys the element from the central IS dev env to the test env.
  • Local Service Development Feature: developer adds element to his VCS repo (from a central IS?). Checks out element. Makes modifications, and checks in the element. Then what ?

Best regards,
Steindor

Hi Steindor,

after local development has finished you can deploy from your local IS to central dev IS (where all comes together) and then deploy to central test, QA and Production from there.

I would prefer local development as Designer (Eclipse-based) can deal with much more VCS-Vendors than IS/VCS-feature does.
Additionally IS/VCS can not deal with Subversion the way my SVN admin configured it.

As the IS-based VCS feature is deprecated (as mentioned above), it is not guaranteed that it will be available in upcoming wM releases.

Regards,
Holger

Thank you for all your help !

Best regards,
Steindor

The VCS feature on central IS is still delivered with 10.3, but deprecated means, there is no further development and it may go away in a future release.

The usual way (just schematic) when doing CI or devops is

Develop on your developmeent server (may be locally or central).
Checkin when ready.
CI server does a checkout (usually automatic), build using ABE (Assets Build Environement) and runs automated tests.
Deployment manager triggers build and deployment to test and eventually production. At least the first time is build anew from the VCS. Wether further test stages and production are deployed from the previous stage or again from VCS differs between different customers.

ABE (Assets Build Environement) is part of deployer, documented in the Deployers Users guide and used to automate building and deployment, usually in conjunction with tools like Jenkins.