(It doesn’t work, too bad)

OSM documents on this topic is quite scattered and difficult to link from one to another.  So I just make one based on OSM 7.2.0, however, this should work with any OSM cartridges.

Build Solution Cartridge
Requirement
– Apache Ant 1.8+ (I’m using 1.9.0)
– Oracle Enterprise Pack for Eclipse with Design Studio Plugin
– OSM SDK
– sample_build_scripts in Design Studio tools
– OSM Cartridges
Step 1
Edit build.bat or build.sh (sample_build_scripts )
Update ECLIPSE_HOME, JAVA_HOME and ANT_HOME according to your environment
for example

if "%ECLIPSE_HOME%" == "" set ECLIPSE_HOME=C:\Users\KZ\Documents\Eclipse_DS
if "%JAVA_HOME%" == "" set JAVA_HOME=C:\jdk1.6.0_45
if "%ANT_HOME%" == "" set ANT_HOME=C:\Users\KZ\Documents\lib\apache-ant-1.9.0

Step 2
Edit build-studio.xml under scripts folder. This file keep all the configuration of our cartriges. For example, Central Order Management Cartridges (COM) has the following cartridges

OracleComms_OSM_O2A_COM_Base
OracleComms_OSM_O2A_COM_SalesOrderFulfillment
OracleComms_OSM_O2A_RecognitionFallout
OracleComms_OSM_O2A_ControlMap
OracleComms_OSM_O2A_COM_Billing
OracleComms_OSM_O2A_COM_Provisioning
OracleComms_OSM_O2A_COM_Shipping_Sample
OracleComms_OSM_O2A_COM_Install_Sample
OracleComms_OSM_O2A_FulfillmentPatternMap_Sample
OracleComms_OSM_O2A_BBVoIPFulfillmentPatternDanubeFlow_Sample
OracleComms_OSM_O2A_BBVoIPFulfillmentPatternNileFlow_Sample
OracleComms_OSM_O2A_BBVoIPFulfillmentPatternNileFlowDcn_Sample
OracleComms_OSM_O2A_SimpleTopology_Sample
OracleComms_OSM_O2A_TypicalTopology_Sample
OracleComms_OSM_O2A_COM_Recognition_Sample
OracleComms_OSM_O2A_COM_SimpleSolution
OracleComms_OSM_O2A_COM_TypicalSolution
OracleComms_OSM_O2A_COMSOM_Recognition_Sample
OracleComms_OSM_O2A_COMSOM_SimpleSolution
OracleComms_OSM_O2A_COMSOM_TypicalSolution
OracleComms_OSM_O2A_SalesOrders_Sample

Each of the cartridges must be specify under these target (stage, import, build and verify) in order of dependencies (Ex. OracleComms_OSM_O2A_COM_Base amust come before OracleComms_OSM_O2A_COM_TypicalSolution)

dep

And all of these cartridges must exists under projects folder

<antcall target=”stageProject”>
<param name=”project.name” value=”OracleComms_OSM_O2A_TypicalTopology_Sample”/>
<param name=”project.source” value=”${project-dir}”/>
</antcall>

<antcall target=”importProject”>
<param name=”project.name” value=”OracleComms_OSM_O2A_TypicalTopology_Sample”/>
</antcall>

<antcall target=”buildProject”>
<param name=”project.name” value=”OracleComms_OSM_O2A_TypicalTopology_Sample”/>
</antcall>

<available file=”${staging-dir}/prj/OracleComms_OSM_O2A_TypicalTopology_Sample/cartridgeBin/OracleComms_OSM_O2A_TypicalTopology_Sample.par” property=”isArchivePresent”/>

Step 3

Copy OSM workspace (Eclipse) to template/workspace (all preference settings must be correct)

call build.bat or build.sh to build the solution cartridge which is a .par file under build/prj/OracleComms_OSM_O2A_COM_TypicalSolution/cartridgeBin

Deploy Solution Cartridge

requirement

– Apache Ant 1.8+

– cartridge_management_tools.jar (From Design Studio Plugin)

– Solution jar (Typical Solution.par)

Step 1

extract cartridge_management_tools.jar

Step 2

edit build.properties. Mostly, you just need to edit the credentials, url, cartridge information and the most tedious one is model.*

You have to specify all the model variables (see above figure) in this properties file

username=sceadmin
password=password
url=http://localhost:7001/cartridge/wsapi
cartridgeFile=OracleComms_OSM_O2A_COM_TypicalSolution.par
cartridgeName=OracleComms_OSM_O2A_COM_TypicalSolution
cartridgeVersion=1.0.0.0.0
cartridgeType=OSM

model.DEFAULT_AUTOMATION_USER=oms-automation
model.DEFAULT_REQUEST_QUEUE=osm_event
model.DEFAULT_RESPONSE_QUEUE=osm_event
model.ACTIVATION_ENVIRONMENT_ID=ENV1
model.OSM_WEBSERVICE_QUEUE_JNDI=oracle/communications/ordermanagement/WebServiceQueue

deploy.PURGE_CARTRIDGE_BEFORE_DEPLOY=false
deploy.ENTITY_CONFLICT_ACTION_ON_DEPLOY=replace
deploy.PURGE_ORDER_ON_UNDEPLOY=true
deploy.BUILD_DEPLOY_MODE=optimized

Step 3

Copy solution jar to the same location as build.xml or wherever you specify in property

cd to build.xml location and

Deploy by calling ant -lib lib/ deploy-cartridge

That’s it. Quite simple but tedious.

For more information please look under Design Studio System Administrator’s Guide