Chapter 4. Creating Deployment Packages

CoreMedia Blueprint is geared towards fast development and deployment round-trips. Most of CoreMedia's customers leverage open source technologies such as Tomcat on the local developers’ workstations, independent of the final deployment platform. To support an efficient development round-trip from within your IDE, the CoreMedia web applications are preconfigured to run in a Tomcat instance started by Maven using the tomcat7-maven-plugin. To create deployable packages for IBM WebSphere, the standard workspace artifacts need to be modified for the specific IBM WebSphere deployment environments.

By default, the CoreMedia Blueprint workspace supports a deployment process using RPMs for RHEL-based Linux distributions (for Microsoft Windows and other non RPM-based operating systems, a ZIP file based approach is provided). The workspace creates these deployment artifacts automatically within the Maven module hierarchy below the packages folder in the workspace.

Before these deployment packages are created, the applications themselves are packaged as standard web archives (WAR) and are ready for deployment within any Enterprise Java application server, including IBM WebSphere Application Server. The web archives are created by Maven modules below the modules folder in the workspace. The Maven modules that produce WAR archives are named *-webapp, for example, modules/studio/studio-webapp. For WAR file based deployment, the creation of artifacts underneath the packages folder, except for the Site Manager module which is located at packages/editor-webstart-webapp, can be skipped.

In order to deploy these artifacts to an application server, a new configuration layer needs to be created for your specific target environments. This includes the reconfiguration or replacement of local development configuration files with environment-specific versions. For web applications, you might need to exclude third-party libraries that conflict with the WebSphere Application Server from the web application's lib directory. Also do these exclusions in the extra configuration layer.