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 an Architect (an "IC6") in the Fusion Middleware Central Development Team at Oracle. Mark's job is to make Fusion Middleware easy to use in the cloud and at home, for developers and operations folks, with special focus on continuous delivery, configuration management and provisioning - making it simple to manage the configuration of complex environments and applications built with Oracle Database, Fusion Middleware and Fusion Applications, on-premise and in the cloud. Before joining this team, Mark 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 Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s