<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
    <head>  
        <title>NetBeans IDE - Java EE Development</title>
        <meta http-equiv="content-language" content="en">
        <meta name="description" content="DESCRIPTION HERE">
        <link rel="stylesheet" type="text/css" href="../../features.css">
        <link rel="stylesheet" type="text/css" href="/images_www/js/colorbox/colorbox.css">
    </head>
    <body>
        <script type="text/javascript" src="/images_www/js/colorbox/jquery.colorbox-min.js"></script>

        <script type="text/javascript">
            $(document).ready(function(){
                $('a.cbox').colorbox({rel:'cbox',opacity:0.7});
            });
        </script>
        <div style="margin:10px 20px 0px 0px;">
            <h1>Java Enterprise Edition Support</h1>
            <p><a href="../../images_www/v7/1/screenshots/web-app.png"><img
                        alt="Java Enterprise application development in the NetBeans IDE"
                        src="../../images_www/v7/1/screenshots/web-app-cut.png" border="0"><br/>
                    <span class="font-11">Click image for fullscreen preview</span></a><br/></p>
            <p class="intro">
                NetBeans IDE delivers excellent support for developing Web and server side applications
                that utilize the Java EE application framework. The IDE support has been developed in close 
                cooperation with the Java EE and GlassFish teams to provide the tightest integration and 
                easiest possible use of the Java EE specification. Concequently, if you are new to the
                Java EE specification and framework, using NetBeans IDE is the best way to quickly learn and 
                become productive in Java EE programming.
            </p>
            <div class="line">&nbsp;</div>

            <!-- left text section start -->
            <a name="o1"></a>
            <span id="im1" class="overview-right"><a href="../../images_www/v7/3/features/java-ee-6-full.png" class="cbox" title="Full Java EE 6 Support"><img src="../../images_www/v7/3/features/java-ee-6-full-cut.png" width="320" height="253" alt=""  /></a></span>
            <h2>Full Support for Java Enterprise Edition 6</h2>
            <p>
                NetBeans IDE provides complete support for
                the latest Java EE 6 standards, including support for JSF 2.1 (Facelets), 
                Java Persistence 2.0 and Contexts and Dependency 
                Injection 1.0, as well as the Java EE 5, and J2EE 1.4 platforms.<br/><br/>
                The support provided in the IDE ranges from 
                wizards that can be used to quickly create the application, 
                editor support in generating Java EE artefacts and consuming them, 
                configuring the applications, and 
                build, deployment, execution and testing support.
                With all of these capabilities, your efforts will be 
                focused on implementing the business logic aspects of your application.<br/><br/>
                <a href="web-app.html" class="arr-link">Web application development 
                support in NetBeans</a><br/>
                <a href="../../kb/docs/javaee/javaee-gettingstarted.html" class="arr-link">
                    Getting Started with Java EE 6 Applications</a>
            </p>
            <div class="line">&nbsp;</div>
            <!-- left text section end -->

            <!-- right text section start -->
            <a name="o2"></a>
            <span class="overview-left" id="im2"><a href="../../images_www/v7/3/features/ejb-dev.png" class="cbox" title="Create EJB Components"><img src="../../images_www/v7/3/features/ejb-dev-cut.png" width="320" alt="" /></a></span>
            <h2>Simplified EJB Development</h2>
            <p>
                The IDE supports EJB 3.1, including in web application projects. 
                The EJB project file wizard provides options for creating Session beans
                including Singleton session beans,
                Message Driven beans for processing asynchronous messages, 
                as well as Timer session beans for working with timed notifications.
                You can use a wizard to easily create a Session Bean for an entity class including
                the appropriate annotations and commonly used default methods.
                Beans can be exposed with a local interface or a no-interface view. There is support
                also for calling EJB beans using code-insertion wizards in the editor<br/><br/>
                <a href="../../kb/docs/javaee/javaee-entapp-ejb.html" class="arr-link">Creating an Enterprise Application with EJB 3.1</a>
            </p>
            <div class="line">&nbsp;</div>
            <!-- right text section end -->

            <!-- left text section start -->
            <a name="o3"></a>
            <span id="im3" class="overview-right"><a href="../../images_www/v7/3/features/cdi-support.png" class="cbox" title="CDI Code Completion"><img src="../../images_www/v7/3/features/cdi-support-cut.png" width="320" alt=""  /></a></span>
            <h2>Context and Dependency Injection Support</h2>
            <p>
                Use the New Project wizard or new File wizard to create files
                that are ready for Contexts and Dependency Injection (CDI). CDI allows
                Java EE components such as servlets, enterprise beans, and JavaBeans to
                exist within the lifecycle of an application with well-defined scopes.
                Right-click any injection point to trigger Go To Injectables and
                Inspect Injectables menu actions. Use the code completion and java doc help
                support in the editor to easily annotate your code.<br><br/>
                <a href="../../kb/docs/javaee/cdi-intro.html" class="arr-link">Getting started with CDI and JSF 2.0</a>
            </p>
            <div class="line">&nbsp;</div>
            <!-- left text section end -->

            <table>
                <tr>
                    <td class="valign-top"><h2>Java Persistence</h2></td>
                    <!--<td></td>-->
                    <td class="valign-top"><h2>Server Deployment</h2></td>
                    <!--<td></td>-->
                    <td class="valign-top"><h2>Deploy on Save</h2></td>
                </tr>
                <tr>
                    <td class="valign-top" style="width:33%;padding-right:10px;"> 

                        <p>                             
                            The IDE provides tools to work with the Java Persistence API 2.0. Wizards enable 
                            you to generate entity classes from a database, and a JavaServer Faces CRUD 
                            (Create Retrieve Update Delete) application from entity classes. The IDE supports 
                            all types of entity relationships (one-to-one, one-to-many, many-to-one, and 
                            many-to-many) and all types of primary keys (single-column, composite, and 
                            generated). The IDE also provides templates and graphic editors for creating and 
                            maintaining persistence units. The IDE now has a stand alone jpql editor where 
                            you can run your jpql from the ide directly.
                        </p>
                    </td>
                    <!--<td>&nbsp;</td>-->
                    <td class="valign-top"  style="width:33%;padding-right:10px;">

                        <p>
                            <span class="overview-centre" id="im8"><img src="../../images_www/v7/1/features/javaee-serverdeploy.png" width="200" alt="" /></span><br/>
                            The IDE works with any standard Java Enterprise Edition (Java EE) container, 
                            and was tested with GlassFish Server Open Source Edition 3.1.2, WebLogic 12c 
                            and 11g, Apache Tomcat 7.0 and 6.0, JBoss 6.1, and others.
                        </p>
                    </td>
                    <!--<td>&nbsp;&nbsp;&nbsp;</td>-->
                    <td class="valign-top"  style="width:33%">

                        <p>
                            The IDE instantly redeploys any running Java EE application when a change is 
                            made to the project. Deploy on Save is available for web, EJB and EAR 
                            applications, and supported for GlassFish 3.x, WebLogic and Tomcat 
                            (directory-based deployment is prerequisite).
                            <br/><br/>

                        </p>
                    </td>
                </tr>
            </table>

            <h2>See Also</h2>
            <ul class="bigger">
                <li><a href="/community/releases/73/index.html">NetBeans IDE 7.3  Release Page</a> for a list of specific features in the latest stable release.</li>
                <li>Get more details about features of the latest stable release on the <a href="http://wiki.netbeans.org/NewAndNoteworthyNB73">NetBeans IDE 7.3 New and Noteworthy page</a>.</li>
                <li><a href="../../kb/trails/java-ee.html">Java EE and Java Web Learning Trail</a> for tutorials that will help you get started.</li> 
            </ul>

        </div>
    </body>
</html>
