With my latest customer I was building the same OSB project over and over again with some minor changes. With copy and paste from other project a lot of other namespaces are saved in the xml under the proxy files. The main reason for this OSB proxy is logging and handling the security between the different domains. Because it was the always the same proxy structure and in OSB 11g there is no template available I was wondering if I could build a template with maven archetype. My first goal for the maven archetype was building a OSB project with ability to deploy and automatic testing and documentation. After looking around on the internet I found some blogs about deploying OSB projects with maven and some blogs about building maven archetypes.
- One blog from Edwin Biemond Build and Deploy OSB projects with Maven.
- A other blog from Yuan’s SOA Blog Maven Archetype for OSB Project
So my first draft was binding these two blogs together and building a OSB parent pom with the default configuration based on Biemond his blog and a maven archetype based on the structure of Yuan’s blog. Changing some things here and there for working with automatic testing, documentation and with OS independent (class-path and folder separation characters).
After reading a recent blog from Jeroen Ninck Blok How to create an OSB 11g Archetype I saw some cool things that I could add to my first draft. The use of properties and variables in file-names and inside files. So I changed some things here and there and there it was the perfect template for my OSB projects. The only thing that I have to do know is fill in some properties while I start the maven archetype and the OSB Project is 98% done. For this blog I created a similar example project that you can directly use.
I have added some extra features to the project like confluence plugin, maven release plugin and a SoapUI pom for starting automatic testing with SoapUI via maven.
I don’t want to bore you with details in the code that has already been written by three blog posts that I mentioned before.
All the code is licensed under the Apache License, Version 2.0.
The code can be found here:
OSB Maven archetype with deployment,