Creating a Pega Development Test Sandbox (Part 1)

My next few posts will outline a procedure which should permit you to create a Linux-based sandbox to test Pega. Note that you need to work out licensing for Pega with Pega Systems before doing this process. During my Pega training, I was provided a VM containing Pega 5.5sp1 (PRPC PVS) that had been prepared by Pega specifically for practice. This is great for such activities but I determined that I needed to create my own version to accomplish several goals:

  1. By installing my own version I could tailor the parameters of the VM to match my desired needs;
  2. Installation of my own version would give me experience in System Administration for Pega in a safe, non-destructive way;
  3. My installation can better mimic the setup used internally at work using Weblogic or Websphere rather than Tomcat or JBoss;
  4. I can experiment with the new versions (e.g. PRPC 6.1) in a safe manner and prepare for it before our systems at work are upgraded;
  5. My installation can include other items we are licensed for (e.g. SmartInvestigate) but which are not on the PRPC PVS barebones installation;
  6. Restoration of the environment can be done as easy as copying the image back over the runtime location (which is the procedure used on Pega’s training computers);
  7. The VM installation can be used to learn, teach, or demonstrate concepts in a safe and non-destructive manner; and,
  8. Finally, as a developer, I can choose use the sandbox version to test risky code before coding it in the main development environment.

There are a couple caveats to this procedure. First of all, do not expect support from Pega Systems for this configuration. It would not be fair to them in the first place since it is not a production-ready environment and this really is a best-effort build that you are doing. Second, you must consult your licensing for this process. Finally, do not even think of distributing this image except within the guidelines of your license agreement. Developers or System Administrators within your organization certainly can glean lots of benefits from having an environment they can beat to death with impunity, but this process is not a way to avoid Pega’s stringent licensing rules.

It goes without saying also that, should you leave the company where Pega is licensed, your copy of the VM should be destroyed. If you need something more permanent, then I suggest that you acquire the PRPC PVS.

What you will need

The following list outlines the components that you will need to corral together before you can start this procedure. If you do not own a copy of VMWare Workstation, you could start with a pre-loaded Linux image and install into it. I wanted the full experience from creation of the VM container through installing the Linux image and culminating with the Pega installation. Depending upon your level of experience, you could also make some decisions concerning alternate platforms (e.g. database, J2EE). Note, the following versions are the ones that I chose to use. Others can be chosen as long as they work together.

  VMWare Workstation 7 from here
  Ubuntu Linux 10.04 or later from here
  Oracle Express 10G
  PRPC 5.5 SP1 (or other)

The following optional components could also be acquired and installed:

  Pega SmartInvestigate
  JBoss, Weblogic, or Websphere

Creating a VM Container

The process of installation begins with the creation of a VM container using Workstation. In my case, I created a disk drive of 50G, memory allocation of 2G, and a single dual-core processor prepared for Ubuntu Linux. The following outlines some of the stages of the creation process.

VMWare Workstation

VM setup 1  VM setup 2 VM setup 3

I opted to install the Ubuntu as a separate step for the purposes of this article. It would have been easy to have pointed either to the DVD drive or the ISO image and had the install kick off immediately.

VM Setup 4 VM setup 5 VM setup 6

I chose to use NAT networking initially. The networking type can be changed at a later date and I might want to enable bridged networking to permit Ubuntu full access to the network as well as to permit me to test connectivity to my PRPC installation from other computers. Considering that I desire to demonstrate the container to others, it might make sense to configure it in this way.

Installing Ubuntu Linux

To kick off the install, merely insert the CD into the drive or point the VM to an ISO image on the local drive. Start/restart the VM and the image should boot directly into the installer. Ubuntu’s basic installation is extremely simple to navigate by answering several prompts which then kick off an install. Make sure that you note the login and password that you choose since it is this login that will initially permit you to run critical updates and installs through the sudo facility.

Ubuntu install 1 Ubuntu install 2 Ubuntu install 3

Once the installation has been completed and Linux has rebooted, it is imperative to select the “I Finished Installing” button at the bottom of the Workstation screen.

After reboot, first login

At this point, you need to make a few decisions. First, do you want to keep the X-Windows bootup or not? If you don’t, then you can run the following commands from a shell/terminal:

sudo vi /etc/default/grub

and comment out the line GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” with a # sign. Add a line below it which states GRUB_CMDLINE_LINUX_DEFAULT=”text” then save and exit the file. Finally, run the following command:

sudo update-grub2

Of course, if you ever want to kick off the graphical shell at a later date, you can merely run:

startx &

To reboot from the shell, simply execute the following command:

sudo /sbin/shutdown –r now

or to shut the virtual machine down change the –r to –h as follows:

sudo /sbin/shutdown –h now

Depending upon your system administrative preferences, you may choose to set a strong password on root. If so, you can do the following optional command:

sudo passwd root

and set it to a strong password. On the other hand, if you need to do a number of root-level commands and you prefer not to set a password to su to root, you can break a root shell by executing:

sudo bash

Just be careful of what you do in the root shell. The root user wields godlike powers in a unix install! On incorrect delete can cause a world of hurt. This is a good time to point out that if you have paid for VMWare Workstation that it offers a great feature for taking snapshots of your virtual machine so that you can restore it to that point later.

Taking Snapshot of VMWare Image

Ubuntu Update and Required Installations

Now that the core Ubuntu has been installed, we need to determine if the networking is configured and then springboard across the network to update and install Ubuntu components.

Once the Linux has booted, check that you have connectivity by typing ifconfig at the prompt and ensuring that the Ethernet has an assigned inet address. The first thing to do is to update any packages that have changed since the installation disk was created. To accomplish this goal run these commands:

sudo apt-get update
sudo apt-get upgrade

Having completed a full upgrade, you may then install the SSH server. SSH is helpful because you will be able to use a better shell to connect to your instance (for example, in Windows you can use Putty) and you can use an SSH-based file tool to move files in and out of your server instance (such as Putty’s pscp or WinSCP). The PuTTY project free programs are here. To do this operation, execute the following command:

sudo apt-get install openssh-server

The other required installation is Java. You can start by installing the version that ships with Ubuntu with the understanding that you may upgrade it later.

sudo apt-get install openjdk-6-jdk

This installs a version of OpenJDK (licensed from Sun) Java 1.6 which meets and exceeds the requirement for Pega which is defined as 1.5 or greater. If you prefer to download and install the Sun build of Java, you can find it here at Sun’s website.

Downloading Database and J2EE Engine installers

In my case, I opted to start with the JBoss implementation. Eventually, I plan to create a Weblogic version with PRPC 6.1, but since this is my first immersion in creating a VMWare image of Pega it makes sense to limit the complexity as much as possible. JBoss can be downloaded from their website. I know that PRPC 5.5 is definitely certified for JBoss 4 so I chose to download version 4.23.

PRPC lives and dies by its database. It is the beating heart that permits Pega to accomplish its tasks. It is fair to say that everything that makes Pega work is stored at some point within the DB. Pega works with several different databases including Oracle. For this buildout, Oracle 10g Express edition will be more than adequate. This can be downloaded directly from Oracle.

While you are at Oracle’s website, you might want to download a copy of their SQL Developer application. There are two versions, one with the Java engine and one without it if you already have an appropriate version of 1.5 or later installed. This tool will help you manipulate the database from Windows and is pretty full-featured for a free tool.

Where to from here?

At this point, it makes sense to save a snapshot of the VM container. It can serve as a springboard for other installations, such as the Pega 6.1 first look that I mentioned at the top of this article. The next step is to install the Oracle and configure it for Pega 5.5. Then JBoss will need to be installed afterwards as I follow the Pega installation guidelines.

About claforet

I have been photographing since my college days. My current gear is a Nikon D-700 along with a plethora of lenses. My first serious camera was a Canon EF back in the early 80s. A Canon A-1 soon followed. Since then, I also have had a Minolta Maxxum, Nikon FM, Nikon F4, and Nikon Point and Shoot in my film days. I have had and maintained a private full color and B&W lab on and off for much of that time. My photos can be found at https://www.flickr.com/photos/claforet/ Photography and painting are my "sanity breaks" that save me from my day-to-day software development existence! I host a group in Facebook called "Painting as a Second Language" for anyone who is interested in painting as an outlet for the day-to-day pressures. Please look it up and join if you think it will meet your needs. Recently, I have also branched into the video world and am learning how to shoot video better and how to edit compelling video sequences. My learning experiences will be part of this blog and my videos can be seen at http://www.vimeo.com/claforet I live in, and photograph mostly around, North Carolina. I love traveling so there are many shots from states around us, out West, and other places. My daughter has been bitten by the photography bug too. She has spent time in a B&W lab and loves the excitement generated by just the smell of the chemicals. Maybe one day she will take over where I leave off....
This entry was posted in Software architecture and development, System administration and tagged , , , , , , , , . Bookmark the permalink.