Fork me on GitHub

Oracle Tools Oracle Tools

Version: 1.1.0-SNAPSHOT on 2013-10-14 07:51

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 (with Oracle Tools).

    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.

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.

The Runtime Module:

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

The Testing Support Module:

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

The Coherence Module:

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

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.