﻿<?xml version="1.0"?>
<!-- $Id$ -->

<?xml-stylesheet href="api-javascript.xsl" type="text/xsl"?>


<api.class
    name        = "api"
    base_dir    = "../"
    title       = "Application Programming Interface (API)" 
    author      = "$Author: jz $"
    date        = "$Date: 2012-06-12 21:42:49 +0200 (Di, 12 Jun 2012) $"
>

    <title>Overview<!--Übersicht--></title>

    <description>
        Supported Languages:
        <p/>
        <p>
            <table border="1" cellpadding="5" style="border-collapse:collapse;">
                <tr>

                    <th><b>Language</b></th>
                    <th><b>Call</b></th>
                    <th><b>Description</b></th>
                </tr>
                <tr>
                    <td>Java</td>
                    <td style="white-space:nowrap;">&lt;script language="Java"&gt;</td>
                    <td>Provides jobs in Java.</td>
                </tr>
                <tr>
                    <td>java:JavaScript</td>
                    <td style="white-space:nowrap;">&lt;script language="java:JavaScript"&gt;</td>
                    <td>Provides jobs in JavaScript. Usage of the "Rhino with Beans" implementation. Compatibility Syntax for Spidermonkey Syntax on 64Bit JobScheduler</td>
                </tr>
                <tr>
                    <td>javax.script:JavaScript</td>
                    <td style="white-space:nowrap;">&lt;script language="javax.script:JavaScript"&gt;</td>
                    <td>Provides jobs in JavaScript. Usage of Rhino engine (Java 1.7) / Nashorn engine (Java 1.8), that implements the "javax.script" scripting API.
                        Other script languages implementing the "javax.script" scripting API can be used with <nobr>&lt;script language="javax.script:<i>language</i>"&gt;.</nobr>
                    </td>
                </tr>
                <tr>
                    <td>Spidermonkey (32bit)</td>
                    <td style="white-space:nowrap;">&lt;script language="Spidermonkey"&gt;</td>
                    <td>Provides jobs in JavaScript. Usage of the "spidermonkey" Implementation. Only available on 32Bit.</td>
                </tr>
                <tr>
                    <td>PowerShell</td>
                    <td style="white-space:nowrap;">&lt;script language="PowerShell"&gt;</td>
                    <td>Provides jobs in PowerShell. Only available on Windows with Agents.</td>
                </tr>
                <tr>
                    <td>VBScript</td>
                    <td style="white-space:nowrap;">&lt;script language="VBScript"&gt;</td>
                    <td>Provides jobs in VBScript. Only available on Windows with JobScheduler Master.</td>
                </tr>
                <tr>
                    <td>Perl</td>
                    <td style="white-space:nowrap;">&lt;script language="Perl"&gt;</td>
                    <td>Provides jobs in Perl.</td>
                </tr>
                <tr>
                    <td>ScriptControl:VBScript</td>
                    <td style="white-space:nowrap;">&lt;script language="scriptcontrol:vbscript"&gt;</td>
                    <td>Provides jobs in VBScript 32Bit. Only available on Windows with JobScheduler Agent 32Bit.</td>
                </tr>

            </table>
        </p>
        <p/>
        <hr/>
        <p>
            Jobs which use the JobScheduler API may be implemented in Java, JavaScript
            (the Mozilla Spidermonkey implementation) and Perl
            (Perl 5.8 is supported for Unix and an ActiveState implementation is required for Windows).
            In addition, JScript, VBScript and Powershell scripting languages are available on Microsoft Windows systems.
        <!--Jobs, die die Programmschnittstelle des Schedulers nutzen,
            können in den Sprachen Java, JavaScript (Mozilla) und Perl implementiert werden
            (beachten Sie die Installationsvoraussetzungen).
            Unter Microsoft Windows stehen auch JScript, VBScript und Powershell zur Verfügung.-->
        </p>
        <p/>
        <hr/>
        <p style="color:red">
            Since JobScheduler Version 1.3.10 the javax.script package is supported. Using this plugin different
            implementations for a lot of script languages such as javascript (Rhino implementation), groovy and python
            are available. The Spidermonkey implementation for javascript is marked as "deprecated". 
        </p>
        <p/>
        <hr/>
        <p style="color:red">
            Since JobScheduler Version 1.5 the Spidermonkey implementation of javascript is available only on 32 bit.
            For using javascript on 64 bit choose the "Rhino with Beans" implementation.
            This implementation is available on 32 bit as well as on 64 bit.
            The "Rhino with Beans" implementation is an extension to rhino and it replaces the Spidermonkey implementation.
            The "Rhino with Beans" implementation suits the purpose to port already existing javascript jobs to 64 bit.
            The usage of both implementations differs slightly, see:
            <a href="http://www.sos-berlin.com/mediawiki/index.php/Differences_between_the_spidermonkey_and_%22rhino_with_beans%22_engines">
                Differences between the Spidermonkey and "Rhino with Beans" engines
            </a>
            <p/>
            <p/>
            The following table shows the used engine dependent on the language attribute in &lt;script language="..."&gt;
            <p>
                <table border="1" cellpadding="5" style="border-collapse:collapse;">
                    <tr>
                        <th><b>Language</b></th>
                        <th><b>Engine on 32 bit</b></th>
                        <th><b>Engine on 64 bit</b></th>
                    </tr>
                    <tr>
                        <td>Spidermonkey</td>
                        <td>Spidermonkey</td>
                        <td>---</td>
                    </tr>
                    <tr>
                        <td>java:JavaScript</td>
                        <td>Rhino with Beans</td>
                        <td>Rhino with Beans</td>
                    </tr>
                </table>
            </p>
            In the language attribute the values "Spidermonkey" and "JavaScript" are equivalent (Spidermonkey engine).<br/>
            Furthermore in the language attribute the values "java:JavaScript", "java:Rhino" and "java:ECMAScript" are equivalent ("Rhino with Beans" engine).
        </p>
        <p/>
        <hr/>
        <p style="color:red">
            In order to use the API in Powershell, a seperate download and installation of the
            JobScheduler Powershell Adapter is required. See
            <a href="http://sourceforge.net/apps/mediawiki/jobscheduler/index.php?title=JSApi_Powershell">
            http://sourceforge.net/apps/mediawiki/jobscheduler/index.php?title=JSApi_Powershell
            </a> 
        </p>
        <p/>
        <hr/>
        <p>
            Jobs are implemented according to the <scheduler_method class="Job_impl"/> interface.
            JobScheduler objects may be accessed using this interface either directly or indirectly.
        <!--Ein Job wird gemäß der Schnittstelle <scheduler_method class="Job_impl"/> implementiert.
            Die Objekte des Schedulers sind direkt oder indirekt über diese Schnittstelle zugreifbar.-->
        </p>
    </description>

</api.class>
