Dukes Bank J2EE examples
From ControlTier
These examples are designed to provide a feel for what you can do with ControlTier and the role it plays in relation to other development or operations tools in the context of an enterprise. For shorter, more focused and simple examples see others in this category Category:Examples.
Some of the features that these examples highlight:
- Deploying packages (EARs and JBoss)
- Importing build artifacts
- Service management (JBoss and Hypersonic RDB server instances)
- Integration with a CI server (CruiseControl)
The examples all use a sample application called Dukes Bank. Dukes Bank runs on JBoss and Hypersonic RDB. The Dukes Banks setup will automatically fetch the packages for Dukes Bank and the example scenarios will automatically deploy, configure, and control the entire Dukes Bank stack.
Looking for instructor led training? See Training and Sample Question Papers.
Prerequisites
These examples have been designed for and tested assuming that you have the following dependencies:
Dependencies
- JDK 1.5. See Dependencies#Java
- ControlTier Installer. See: Installation
- Subversion client. You can download a binary distribution from Collabnet
- Dukes Bank system requirements (Linux or Mac OS X operating system)
Setup the Dukes Bank Sample Application
The examples use a sample J2EE application called Dukes Bank.
You will need to Building Dukes Bank Project before proceeding with the examples.
Basic Examples
Once you have setup Dukes Bank you can try the following examples. These are all single node examples that assume you are deploying Dukes Bank to the same node on which the ControlTier server was installed. If you are new to ControlTier, it's recommended that you try the examples in the order listed.
Short on time? Each example can be watched in less than 5 minutes by following the video links below.
1. Provisioning an application server
| Scenario: | You're an administrator and you need an automated way to deploy, configure, and start an empty JBoss server |
|---|---|
| Try it: | Automated provisioning of JBoss instances |
| Video: | Watch now |
2. Coordinating the build process for the application packages
| Scenario: | You're a developer or a release manager and you need an automated way to checkout the sourcecode, build the Dukes Bank .ear, and stage the package in the release repository (ready for deployment) |
|---|---|
| Try it: | Automated checkout, build, and staging of application packages |
| Video: | Watch now |
3. Deploying a release of the application
| Scenario: | You're a developer or a release manager and you need an automated way deploy the latest release of the Dukes Bank application (including its dependencies) |
|---|---|
| Try it: | Automated updating of applications |
| Video: | Watch now |
4. End-to-end build and deployment process
| Scenario: | You're a developer and after you make a source change you need an automated way run both the build and the deployment process as one coordinated end-to-end process so you can deploy your changes to a development testing server. |
|---|---|
| Try it: | Automated end-to-end build and deployment |
| Video: | Watch now |
5. Migrating an application release to a different environment
| Scenario: | You're an release manager and you need to migrate application changes that have been made and tested in development to a staging environment |
|---|---|
| Try it: | Migrating a Release from Development to Staging |
| Video: | Watch now |
6. Using Jobcenter as a centralized management console
| Scenario: | Whether it's to enable self-service (allowing others to safely run deployment and service management processes) or tracking ongoing activity, the Jobcenter webapp is a very useful centralized console for safely running key processes |
|---|---|
| Try it: | Using Jobcenter as a management console |
| Video: | Watch now |
Advanced Examples
The following are considered advanced examples because they require a multi-node environment, address scenarios that require integration with other tools, or address scenarios found in production use of ControlTier.
1. Making config changes at deployment time
| Scenario: | You're an administrator and you need to change the set of ports during the deployment of Dukes Bank |
|---|---|
| Try it: | Making_config_changes_at_deployment_time |
2. Deploying the Dukes Bank application across multiple nodes
| Scenario: | You're an administrator and you need to migrate and deploy Dukes Bank to a new environment that requires it to be run across multiple nodes |
|---|---|
| Try it: | Automated deployment across multiple nodes |
3. Managing the Dukes Bank application in different single and multi-node scenarios
| Scenario: | You're in operations and you need to start, stop, restart, and check the status of either one of the various parts of the Dukes Bank application or the entire application as a whole |
|---|---|
| Try it: | Managing Dukes Bank in various operations scenarios |
4. Automatic deployment as part of a continuous integration loop
| Scenario: | You're a build engineer and you need to automatically deploy, configure, and start up the latest release of Dukes Bank in a test environment as soon as a new .ear comes out of CruiseControl |
|---|---|
| Try it: | Automatic deployment as part of a continuous integration loop |
For example's of common maintenance commands for managing the ControlTier package repository see:
| ||||||||||||||