Hi Percio,
Well… I wanted to make sure we kick off this topic with some nice and useful discussion items and your answers are extremely informative and extremely useful!
You’ve answered all my questions in record time and with an impressive level of accuracy, many thanks for that! This is what I call leveraging the community’s power!
I agree with you: some design/implementation decisions are closely linked to both personal preference and customer’s preference/legacy/setup etc. In the same time, after reading your answers, I am glad to see that we are on the same page when it comes to taking into consideration several golden rules. In the end the term
“best practice” can be seen as a set of principles/rules that were created after delivering similar solutions at different customers and/or on different projects.
Branching/Merging
If the book you are referring to is “Continuous Delivery” by Jez Humble and David Farley, I’m on it (started reading it a couple of days ago). It is indeed very good, surprisingly not too technical. In my opinion it can be read and understood by a broad audience, not only by techies
You’ve pointed out a very important detail here: keeping the flow services as granular as possible. Always when the merge topic comes into discussion, due to the one very small chance of merging, people decide to avoid it and go for the implementation of the lock mechanism. In these situations the keep it simple principle wins 99% of the times!
Eclipse Plug-in vs. Tortoise SVN
Nice and clear, no further questions.
Create the Projects in the SVN repository per package or not?
Many thanks for attaching the sample: naming convention is nice and clean and via the structure of the folders (broker: docTypes and grups etc) the project on the repository is not just an abstract location but it also has the webMethods “touch”.
How to commit configuration assets to SVN
Conclusion here is that it can be done, but it requires thorough investigation and testing.
Indeed, one common pitfall is to start automating everything without having the actual process reliable and cristal clear. I will keep your recommendation in mind!
How to initially upload the packages in the repository
“Commit all packages to subversion and convert these to Local Service Development on by one when needed.” After reading your reply, it makes sense and I expect it to work. I admit I did not look too much into this yet.
Also the SVN should be clean and contain only the needed files - duly noted.
Local Service Development
Thanks for the great advice, I will do my best to make sure that we get the support needed to use Local Development as initially meant.
It is sad to see that some SoftwareAG customers currently use Local Service Development for only a fraction of it’s actual capabilities. My overall impression is that it is still not clear for them what the role of Local Service Development product is.
I’ve just remembered another question I wanted to bring up: working with SVN from webMethods via Eclipse based plugins will not identify any dependencies between services. In other words: if you modify servA and servB and you commit only the change on servA your service execution will fail. Having a solution in place to identify dependencies during commit operation would help in this regard. I’m just wondering how difficult would it be to build this? Did you see a standalone tool to offer this functionality?
There are indeed a couple of steps prior to the actual commit when the developer can still notice that he/she forgot one asset and also the pop-up showing the assets modified in the working copy will show everything that is not in sync with the repository. Furthermore, you have the regression tests that help in identifying any new bugs.
I am a fan of the magic pop-up windows that make things easier and reduce the human error risk, hence my question.
Many thanks again for your answers! You’ve helped in clarifying my initial questions and in the same time raised awareness on near future items to take into consideration!
Ana