Developer Setup for IPP

The standard setup for an IPP Lifecycle Management and Integration Runtime environment can be obtained in different ways:

However, developers may want to work on integration scenarios without any Lifecycle Management e.g. for "Proof of Concept" scenarios or to familiarize themselves with IPP.

The following is intended to be used only by Java developers familiar with Eclipse and Maven.

The IPP runtime setup is based on a simple IPP archetype that per default is defining Tomcat as application server and Derby as embedded Audit Trail. The following describes all steps required to set up such an initial IPP runtime for developers.

Pre-requisites

Artifact Repository Access and Maven

You need an account for the Artifact Repository. Also you need to download Maven, which is used as a scripting utility to download all required IPP artifacts and perform certain tasks during the installation. For details on the artifact repository, please refer to chapter Creating a Infinity Process Platform Runtime Environment with Apache Maven of the Installation Guide.

Maven Repository Configuration

After you followed the instructions on how to gain access to the artifacts repository, you can authenticate against the ipp-libs repository with the username and password you picked when registering. Further repositories such as Maven Central and JBoss public may be required. To access these repositories from Maven make sure they are configured in your Maven settings.xml as shown below.

<repositories>
   ...
   <repository>
      <id>ipp-libs</id>
      <url>https://infinity.sungard.com/repository/ipp-libs/</url>
   </repository>
   <repository>
      <id>isb-libs</id>
      <url>https://infinity.sungard.com/repository/isb-libs</url>
   </repository>
   <repository>
      <id>mavenCentral</id>
      <url>http://repo1.maven.org/maven2/</url>
   </repository>
   <repository>
      <id>public-jboss</id>
      <url>http://repository.jboss.org/nexus/content/groups/public-jboss</url>
   </repository>
   <repository>
      <id>maven2-repository.java.net</id>
      <url>http://download.java.net/maven/2/</url>
   </repository>
   ...
</repositories>

Also configure the correct credentials for the ipp-libs repository as shown here:

<servers>
   ... 
   <server>
      <id>ipp-libs</id>
      <username>YourUserName</username>
      <password>YourPlainTextPasswordOrPasswordHashFromRepository</password>
   </server>
   ...
</servers>

We recommend to encrypt your password in a hash before storing it in your local settings. Please refer to section Configuring the Maven Repository in chapter Creating a Infinity Process Platform Runtime Environment with Apache Maven of the Installation Guide for details.

Creating an IPP Project Template via Maven Archetype

The Maven command below creates an IPP runtime project template for Tomcat. The -DarchetypeVersion parameter has to be adjusted accordingly to the IPP release you are using. For the following release a 9.2.0-NIGHTLY-SNAPSHOT is assumed. The command asks for manual confirmation.

mvn archetype:generate -DarchetypeGroupId=com.infinity.bpm.archetypes -DarchetypeArtifactId=ipp-archetype-tc7-ipp-portal-war -DarchetypeVersion=9.2.0-NIGHTLY-SNAPSHOT 
   -DgroupId=org.eclipse.stardust.isb -DartifactId=portal-runtime-war -Dversion=1.0-SNAPSHOT

Adding IPP-specific Maven Dependencies

After the Maven command has been executed successfully, a project will be generated in the portal-runtime-war folder.

Building Project via Maven

Call

mvn clean package 

From within the newly created project (portal-runtime-war). All dependencies should be resolved and the IPP runtime is created within the target folder. The project itself can be imported into Eclipse and handled as dynamic web project based on the Rapid Application Development (RAD) approach. For details please refer to the Rapid Application Development handbook.

To import the project select File > Import… > Existing Maven Projects, browse to the project portal-runtime-war and finish the import process.

Run Project on Tomcat Server

Please follow the instructions in the Rapid Application Development handbook. Furthermore the Spring configuration regarding the Audit Trail data source based on Derby needs to be adjusted.

Replace the following bean

<bean id="carnotXaAuditTrailDataSourceLocalURL" class="org.apache.derby.jdbc.ClientXADataSource" lazy-init="true">
   <property name="serverName" value="localhost" />
   <property name="portNumber" value="1527" />
   <property name="databaseName" value="ipp" />
   <property name="user" value="carnot" />
   <property name="password" value="ag" />
</bean>

with

<bean id="carnotXaAuditTrailDataSourceLocalURL" class="org.apache.derby.jdbc.EmbeddedXADataSource">
   <property name="databaseName" value="carnot" />
   <property name="user" value="carnot" />
   <property name="password" value="ag" />
</bean>

within the carnot-spring-context.xml file under the WEB-INF/config/ipp/spring folder.

Testing the IPP Runtime Setup

To test the IPP runtime setup create a simple IPP process (keep defaults) with one process including one activity. Add below route to the camelContext section within the camel-spring-context.xml file, start the Tomcat server, deploy the process model and let any file drop into C:/temp/test. The file should be picked up by IPP and a process instance of process ProcessDefinition1 should be created and completed.

<route>
   <from uri="file://C:/temp/test" />
   <to uri="ipp:authenticate:setCurrent?user=motu&amp;password=motu"/>
   <to uri="ipp:process:start?processId=ProcessDefinition1" />
</route>