<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>NetBeans Platform Runtime Container Tutorial for NetBeans Platform 7.1</title>
        <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css"/>
        <meta name="AUDIENCE" content="NBUSER"/>
        <meta name="TYPE" content="ARTICLE"/>
        <meta name="EXPIRES" content="N"/>
        <meta name="developer" content="tboudreau@netbeans.org"/>
        <meta name="indexed" content="y"/>
        <meta name="description"
              content="A short guide to the NetBeans runtime container."/>
        <!--      Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->
        <!--     Use is subject to license terms.-->
    </head>

    <body>

        <h1>NetBeans Platform Runtime Container Tutorial</h1>

        <p>This tutorial covers the most fundamental concept in the NetBeans Platform&#8212;the runtime
            container. The runtime container is the execution environment for the modules that define
            a NetBeans Platform application. It consists of 6 modules provided by the NetBeans Platform.
            In this tutorial, we will look at these 6 modules, and use them in a very simple modular
            application.</p>

        <p>Before going further, you can watch this video series, which covers 
            the same material as the
            rest of this tutorial: <a href="nbm-10-top-apis.html">Top 10 NetBeans APIs</a></p>

        <p><strong class="notes">Note: </strong>This document uses NetBeans Platform 7.1 and
            NetBeans IDE 7.1. If you
            are using an earlier version, see <a href="../70/nbm-runtime-container.html">the previous version
                of this document</a>.</p>

        <p><b>Contents</b></p>

        <p><img src="../../images/articles/71/netbeans-stamp.png" class="stamp" width="114" height="114" alt="Content on this page applies to NetBeans IDE 7.1" title="Content on this page applies to NetBeans IDE 7.1"/></p>
        <ul class="toc">
            <li><a href="#intro">Introduction to the Runtime Container</a></li>
            <li><a href="#setup">Setting up the Runtime Container</a></li>
            <li><a href="#add">Loading a New Module into the Runtime Container</a></li>
        </ul>

        <p><b>To follow this tutorial, you need the software and resources listed in the following table.</b></p>

        <table>
            <tbody>
                <tr>
                    <th class="tblheader" scope="col">Software or Resource</th>
                    <th class="tblheader" scope="col">Version Required</th>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a></td>
                    <td class="tbltd1">version 7.1 or above</td>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp">Java Developer Kit (JDK)</a></td>
                    <td class="tbltd1">version 6 or above</td>
                </tr>
            </tbody>
        </table>

        <h2 class="tutorial"><a name="intro"></a>Introduction to the Runtime Container</h2>

        <p>The "NetBeans runtime container" is the collective name for these 
            NetBeans Platform modules:</p>

        <p><img src="../../images/tutorials/runtime-container/maven-minimal-nb-dep-graph.png"/></p>

        <p>Brief overview of each of these 6 modules:</p>

        <ul>
            <li>Startup (org-netbeans-core-startup)&#8212;Provides the main method of your application, as well
                as all the code needed for starting it up.</li>
            <li>Bootstrap (org-netbeans-bootstratp)&#8212;Enables the runtime container to understand what
                a module is and how to load and compose them into one application.</li>
            <li>Filesystem API (org-openide-filesystems)&#8212;Gives your application a virtual filesystem.</li>
            <li>Module System API (org-openide-modules)&#8212;Gives
                you access to the lifecycle of
                the modules in your application.</li>
            <li>Lookup API (org-openide-util-lookup)&#8212;Provides a generic communication mechanism
                for inter-modular interaction.</li>
            <li>Utilities API (org-openide-util)&#8212;Includes several utility classes shared
                between the other modules in the runtime container.</li>
        </ul>

        <h2 class="tutorial"><a name="setup"></a>Setting up the Runtime Container</h2>

        <p>In this section, we will create an absolutely minimal NetBeans Platform application.
            It will consist of only those modules that every NetBeans Platform application must
            have&#8212;the 6 modules that make up the runtime container. Once we have created
            an application that consists of nothing more than these 6 modules, we will run it.
            There will be no specific output from this application. However, it will build and
            run successfully because all the fundamental requirements of a NetBeans Platform
            application will have been met.</p>

        <ol>
            <li><p>Go to File &gt; New Project. In the New Project dialog, choose
                    NetBeans Modules &gt; NetBeans Platform Application:</p>
                <p><img src="https://platform.netbeans.org/images/tutorials/htmleditor/new-nb-app-wiz-65.png"/></p>
                <p>Click Next.</p></li>
            <li>Name your application 'Hello World'. Click Finish.</li>
            <li>Right-click the main project node in the Projects window,
                choose Properties, and go to the Libraries tab. There you can
                see all the modules that are part of this application.</li>
            <li>In addition to the runtime container, many other modules are
                included. Exclude them now. Make sure that ONLY the 6 modules that make
                up the runtime container are included.</li>
        </ol>

        <p>Run the application and notice that the application successfully
            executes.</p>

        <h2 class="tutorial"><a name="add"></a>Loading a New Module into the Runtime Container</h2>

        <p>In this section, we add one new module to the NetBeans runtime container. The new
            module will do nothing special. The only reason for adding it will be so that you
            can see that it will be an equal partner to the other modules in your application.
            You will have 7 modules instead of the 6 that you
            already have, you will also have your custom module.</p>

        <p>Next, we will influence the module's lifecycle. When it is loaded into the
            runtime container, we will use one of the module's lifecycle methods to send
            a 'Hello World' message to the Output window.</p>

        <ol>

            <li>Right-click the application's Modules node and choose 'Add New...'.
                Click Next.</li>

            <li>Give your module a project name and a code name base.
                Click Finish. You now have a new module.</li>

            <li>Right-click the module, choose New &gt; Other, and then choose
                Module Development &gt; Installer/Activator.
                Click Next and then complete the wizard. You now have a new
                class that extends 'ModuleInstall', which is from the Module
                System API.</li>

            <li>Add a new 'System.out.println' message in the 'restored' method of
                the Installer class.</li>

        </ol>

        <p>Run the application again and notice the 'Hello World' message in the application's
            output. One place where you can see the application's output is in the
            IDE's Output window.</p>

        <br>
            <div class="feedback-box"><a href="https://netbeans.org/about/contact_form.html?to=3&amp;subject=Feedback:%20Runtime%20Container%20API%20Tutorial%207.1%20NetBeans">Send Us Your Feedback</a></div>
            <br style="clear:both;" />

            <a name="next_steps"></a><h2>Next Steps</h2>
            <p>For the next steps in the "NetBeans Platform Fundamentals"
                series, see:</p>
            <ul>
                <li><a href="nbm-selection-1.html">NetBeans Selection Management Tutorial I&#8212;Using a TopComponent's Lookup</a></li>
                <li><a href="nbm-10-top-apis.html">Top 10 NetBeans APIs</a></li>
                <li><a href="http://dvbcentral.sourceforge.net/netbeans-runtime.html">NetBeans Runtime Container Manifesto</a></li>
                <li><a href="http://blogs.oracle.com/geertjan/entry/mavenized_netbeans_platform_runtime_container">Mavenized NetBeans Platform Runtime Container</a></li>
            </ul>

    </body>
</html>
