Fork me on GitHub

Oracle Tools Oracle Tools

Version: 1.2.0 on 2014-01-17 11:31

Overview

The Oracle Tools project consists of a collection of runtime developer tools, typically used for managing multiple application processes as part of developer written functional and integration tests.

While developed in Java the tools may be used for managing non-Java-based applications.

Oracle Tools provides a layer of abstraction over the usual runtime process management libraries, for example, those provided in core Java, the goal being to simplify the development and management of cross-platform and multi-process systems, especially those required for distributed application testing.

For the most part the Oracle Tools project was spawned from earlier work on process management in the Oracle Coherence Incubator, that specifically focused simplifying the development of functional tests for Oracle Coherence clusters and cluster-based applications.

In recent years however it became clear that such functionality was useful outside the scope of the Oracle Coherence Incubator, especially for managing non-Oracle Coherence based applications, and hence the core features were refactored and sanitized to produce the Oracle Tools project, that of which is now free of Oracle Coherence and other proprietary product dependencies.

Although the Oracle Tools project does include an Oracle Coherence specific module for use with Oracle Coherence, this is module optional and does not reduce the functionality or features of Oracle Tools.

Recommended Reading

To get started with Oracle Tools we recommend you read the following:

  • An Introduction to Deferred References.

    The concept of a Deferred Reference is central to large parts of the Oracle Tools project. Understanding their definition, use and adoption will dramatically improve the your ability to use Oracle Tools and the benefits it provides.

  • An Introduction to Application Management.

    The Oracle Tools project provides an expressive mechanism for starting, stopping, isolating, monitoring and managing application processes at runtime from other applications.

    Understanding how to use these features can dramatically simplify the process of developing concurrent and distributed applications tests, across platforms in an operating-system independent manner, without the need for scripting.

  • Using Oracle Tools with Coherence-based Applications.

    The Coherence Module for Oracle Tools provides several extensions to the out-of-the-box tools for managing applications at runtime. These extensions makes it effortless to develop unit and integration tests for Coherence-based applications, including establishing and tearing down clusters both in-process (container-mode) and natively (using local processes).

Project Modules

The following Apache Maven modules are defined by Oracle Tools.

The Core Module:

Defines the core interfaces, classes and resources for the Oracle Tools.

Download from maven.java.net: oracle-tools-core-1.2.0.jar

The Runtime Module:

Defines the interfaces, classes and resources for creating, managing, monitoring and controlling application processes, in particular, Java processes.

Download from maven.java.net: oracle-tools-runtime-1.2.0.jar

The Testing Support Module:

Defines extensions to JUnit for the purposes of testing processes and deferred results.

Download from maven.java.net: oracle-tools-testing-support-1.2.0.jar

The Coherence Module:

(Optional) Defines extensions to Runtime Module for the purposes of managing Oracle Coherence-based applications. (Requires Oracle Coherence)

Download from maven.java.net: oracle-tools-coherence-1.2.0.jar

Contributions

If you are interested in making contributions to the Oracle Tools, including defect fixes, documentation, new classes/interfaces/methods/packages or tests, you should read the section on Contributing to the Oracle Tools.