1.1 What You Should Know

This section includes the following information:

1.1.1 Prerequisite Knowledge

This guide assumes you have the following background:

  • Sound understanding of networks, operating environments, and system architectures.

  • Familiarity with the Python development language. For more information, see the following online references:

    • Python Development Environment (PyDEV): The PyDEV plug-in enables developers to use Eclipse* for Python and Jython development. The plug-in makes Eclipse a more robust Python IDE and comes with tools for code completion, syntax highlighting, syntax analysis, refactoring, debugging, etc.

    • Python Reference Manual: This reference describes the exact syntax and semantics but does not describe the Python Library Reference, which is distributed with the language and assists in development.

    • Python Tutorial: This online tutorial helps developers get started with Python.

    The PlateSpin Orchestrate Job Development Language (JDL) incorporates compact Python scripts to create job definitions to manage nearly every aspect of the PlateSpin Orchestrate grid. For more information, see Section B.0, PlateSpin Orchestrate Job Classes and JDL Syntax.

  • Knowledge of basic UNIX shell commands or the Windows command prompt, and text editors.

  • An understanding of parallel computing and how applications are run on PlateSpin Orchestrate infrastructure.

  • Familiarity with the PlateSpin Orchestrate Development Client layout and use, as explained in the PlateSpin Orchestrate 2.5 Development Client Reference.

  • Familiarity with basic administrative tasks, as explained in the PlateSpin Orchestrate 2.5 Administrator Reference and in the The zosadmin Command Line Tool section of the PlateSpin Orchestrate 2.5 Command Line Reference

  • Familiarity with on-line PlateSpin Orchestrate API Javadoc as you build custom client applications. For more information see Section A.0, PlateSpin Orchestrate Client SDK.

  • Assumption of both PlateSpin Orchestrate administrative and end-user roles while testing and debugging jobs.

1.1.2 Setting Up Your Development Environment

To set up a development environment for creating, deploying, and testing jobs, we recommend the following procedure:

  1. Initially set up a simple, easy-to-manage server, agent, and client on a single machine. Even on a single machine, you can simulate multiple servers by starting extra agents (see Installing the Orchestrate Agent Only in the PlateSpin Orchestrate 2.5 Installation and Configuration Guide.

  2. As you get closer to a production environment, your setup might evolve to handle more complex system demands, such as any of the following:

    • An Orchestrate Server instance deployed on one computer.

    • An Orchestrate Agent installed on every managed server.

    • An Orchestrate Development Client installed on your desktop machine.

      From your desktop machine, you can build jobs/policies, and then remotely deploy them using zosadmin command linetool. You can then remotely modify the jobs and other grid object through the PlateSpin Orchestrate Development Client.

  3. Use a version control system, such as Subversion*, to organize and track development changes.

  4. Put the job version number inside the deployed file. This will help you keep your job versions organized.

  5. Create make or Ant scripts for bundling and deploying your jobs.

By leveraging the flexibility of the PlateSpin Orchestrate environment, you should not have to write jobs targeted specifically for one hypervisor technology (Xen, VMware, etc.).