New Maven Support in SOA 12c

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.

About Mark Nelson

Mark Nelson is a Developer Evangelist at Oracle, focusing on microservices and messaging. Before this role, Mark was an Architect in the Enterprise Cloud-Native Java Team, the Verrazzano Enterprise Container Platform project, worked on Wercker, WebLogic and was a senior member of the A-Team since 2010, and worked in Sales Consulting at Oracle since 2006 and various roles at IBM since 1994.
This entry was posted in Uncategorized and tagged , , , , , , , . Bookmark the permalink.

Leave a comment