SOA 12c (version 12.1.3) has shipped now and there has been a lot of tweeting and blogging about it already, from lots of different folks, which is great!
In this post, I wanted to talk a bit about the new Maven support in SOA (and BPM) 12c. First, let’s start with a quick overview of what is included, then we will walk through some examples (over a number of posts).
Summary of Maven features in SOA/BPM and OSB 12c:
- Maven plugins for SOA/BPM and for OSB (ADF plugin continues to be available).
- Maven archetypes for SOA Application, SOA Project, OSB ‘Application’, OSB Project, and OSB System Project.
- Maven POMs for Oracle-supplied JARs that are needed for compilation, packaging, testing and deploying SOA/BPM (sar, mar, zip) and OSB (sbar) archives.
- Documentation in the Fusion Middleware documentation library.
- SOA Maven plugin allows you to compile (really validate, run scac), package (into a sar), deploy to a SOA Server, undeploy, and run SCA Test suites on the server. It supports all kinds of SCA components – BPEL, BPMN, Human Task, Rules, Adapters, Mediators, etc. And when you generate an ADF user interface project for a human task, a Maven POM is added to build that too.
- OSB Maven plugin allows you to package (into a sbar) and deploy (publish) to an OSB Server.
- Parent POMs provided for customisation purposes.
- Maven POM editors in JDeveloper.
- Ability to run Maven goals in JDeveloper or on the command line (or plug into Hudson, etc.)
Like all of our Maven support in Fusion Middleware, the first thing you need to do is go install Maven (or use the one we ship in oracle_common/modules/org.apache.maven_3.0.5), install the Sync Plugin, and run it (see this post for details).
When you run the Sync plugin’s push goal, you want to point it to your SOA (or BPM) Quickstart install directory. I installed my BPM Quickstart in c:\bpm1213. So I would do the following:
set PATH=c:\bpm1213\oracle_common\modules\org.apache.maven_3.0.5\bin:%PATH% cd c:\bpm1213\oracle_common\plugins\maven\com\oracle\maven\oracle-maven-sync\12.1.3 mvn install:install-file -Dfile=oracle-maven-sync-12.1.3.jar -DpomFile=oracle-maven-sync-12.1.3.pom mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=c:\bpm1213
After this, my Maven repository is now populated with everything I need to use Maven with SOA/BPM and OSB, and also ADF, WLS and Coherence.
In the next post, let’s talk about creating new applications/projects with the Maven archetypes.