The standard setup for an ISB Lifecycle Management and Integration Runtime Environment is provided either locally or obtained via Infinity on Demand. However, developers may want to work on ISB scenarios without any Lifecycle Management e.g. for Proof of Concept scenarios or to familiarize themselves with ISB.
The following is intended to be used only by Java developers familiar with Eclipse and Maven.
This kind of ISB runtime setup is based on a simple Stardust archetype that per default is defining Tomcat as application server and Derby as embedded Audit Trail. Some little adjustments allow extending this standard Stardust runtime with Infinity Service Bus artifacts by just adding further Maven dependencies. The following describes all steps required to setting up such an initial ISB runtime for developers.
You need an account for the Stardust Artifact Repository. You can use your INTERNAL account (without preceeding INTERNAL\) and password for it, but only after you have logged into www.infinity.com once (no further operation needed there). Please contact IPP.Enabling@sungard.com if further assistant is needed.
Maven is used as a scripting utility to download all required ISB artefacts and perform certain tasks during the installation.
Add M2_HOME/bin to your path.
More detailed installation instructions can be found in the corresponding section on the bottom of the download page.
While we are packaging up Stardust for Eclipse, you can get free access to the Stardust - the product Stardust originates from. After you followed the instructions on how to gain access to the Maven Repository, you can authenticate against the ipp-libs repository with the username and password you picked when registering. Further repositories Stardust builds may require are Maven Central, Java.net and JBoss public. 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>
If you do not want to specify your password in plain text, you can encode it in the repository web portal:
The Maven command below creates an Stardust runtime project template for Tomcat 7. The -DarchetypeVersion parameter has to be adjusted accordingly to the Stardust Release you are using. For the following Release 7.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=7.2.0-NIGHTLY-SNAPSHOT -DgroupId=org.eclipse.stardust.isb -DartifactId=isb-runtime-war -Dversion=1.0-SNAPSHOT
After the Maven command has been executed successfully the pom.xml within isb-runtime-war folder needs to be extended with ISB-specific dependencies.
Add the following entry to dependencyManagement section:
<dependency> <groupId>com.infinity.integration</groupId> <artifactId>camel-ipp</artifactId> <version>2.1.1</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency>
Add the following entries to dependency section:
<dependency> <groupId>org.eclipse.stardust.engine</groupId> <artifactId>stardust-engine-camel-module</artifactId> <version>2.1.1</version> <scope>runtime</scope> <type>pom</type> </dependency> <dependency> <groupId>com.infinity.integration</groupId> <artifactId>camel-ipp</artifactId> <scope>runtime</scope> </dependency>
Further Camel component specific dependencies may be required depending on used Camel endpoints.
Call
mvn clean package
from within the newly created project (isb-runtime-war). All dependencies should be resolved and the ISB runtime is created within the target folder. The project itself can be imported into Eclipse and handled as dynamic web project such as an Stardust project based on the Rapid Application Development (RAD) approach.
To import the project select File > Import > Existing Maven Projects, browse to the project isb-runtime-war and finish the import process.
Please follow the instructions under http://wiki.eclipse.org/Stardust/Knowledge_Base/Deployment/Tomcat/RAD_on_Tomcat. Before the Tomcat is started for the first time a valid Stardust license needs to be copied to src/main/resources folder. Furthermore the Spring configuration regarding the Audit Trail data source based on Derby needs to be adjusted.
Replace
<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-ds-context.xml file under src/main/webapp/WEB-INF/confing/ipp/spring folder.
To test the ISB runtime setup create a simple Stardust 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 ISB 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&password=motu" /> <to uri="ipp:process:start?processId=ProcessDefinition1" /> </route>