// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Camí d'aprenentatge de Java EE &amp; Java Web
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Camí d'aprenentatge de Java EE &amp; Java Web - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Camí d'aprenentatge de Java EE &amp; Java Web


== Què és una aplicació Java Web?

Una aplicació Java Web genera pàgines web interactives que contenen diversos tipus de llenguatges de marcatge (HTML, XML, i d'altres) i contingut dinàmic. Aquest està típicament contingut en components web, com les pàgines JavaServer (JSP), servlets i JavaBeans, per modificar i emmagatzemar temporalment les dades, interactuar amb bases de dades i serveis web, i subministrar contingut en resposta a peticions de clients.

Degut a que algunes tasques involucrades en el desenvolupament d'aplicacions web poden ser repetitives o poden necessitar un excés de codi que fàcilment es pot re-aprofitar, es poden aplicar els frameworks web per alleugerar la sobrecàrrega associada a activitats comuns. Per exemple, alguns frameworks, com JavaServer Faces, proporcionen biblioteques per a l'acomodament de pàgines i gestió de sessions, i de vegades difonen la reutilització del codi.

=== *Què és Java EE?*

Java EE (Edició Empresarial) és una plataforma extensament utilitzada que conté un conjunt de tecnologies coordinades que signifiquen la reducció de costos i la complexitat del desenvolupament, desplegament, i gestió multi-tutelada d'aplicacions centralitzades al servidor. Les construccions de Java EE estan per damunt de la plataforma Java SE i proporcionen un conjunt d'APIs (Interfícies de Programació d'Aplicacions) per al desenvolupament i l'execució d'aplicacions en el cantó del servidor portables, robustes, escalables, de confiança i segures.

Alguns dels components fonamentals de Java EE inclouen:

* JavaBeans Empresarials(EJB): una arquitectura de component gestionada en el cantó del servidor, utilitzada per a encapsular la lògica de negoci d'una aplicació. La tecnologia EJB permet un desenvolupament ràpid i senzill d'aplicacions distribuïdes, transaccionals, segures i portables, basades en tecnologia Java.
* API Persistència Java (JPA): un framework que permet als desenvolupadors gestionar dades mitjançant el mapeig relacional d'objectes (ORM) en aplicacions construïdes en la plataforma Java.

== Getting Started

* link:../docs/web/quickstart-webapps.html[+Introduction to Developing Web Applications+]
* link:../docs/javaee/javaee-intro.html[+Introduction to Java EE Technology+]
* link:../docs/javaee/javaee-gettingstarted.html[+Getting Started with Java EE 6 Applications+]
* link:../docs/web/jsf20-intro.html[+Introduction to JavaServer Faces 2.0+]
* link:../docs/web/ajax-quickstart.html[+Introduction to Ajax+]

== Tutorials and Articles

=== NetBeans E-commerce Tutorial

* link:../docs/javaee/ecommerce/intro.html[+Introduction+]
* link:../docs/javaee/ecommerce/design.html[+Designing the Application+]
* link:../docs/javaee/ecommerce/setup-dev-environ.html[+Setting up the Development Environment+]
* link:../docs/javaee/ecommerce/data-model.html[+Designing the Data Model+]
* link:../docs/javaee/ecommerce/page-views-controller.html[+Preparing the Page Views and Controller Servlet+]
* link:../docs/javaee/ecommerce/connect-db.html[+Connecting the Application to the Database+]
* link:../docs/javaee/ecommerce/entity-session.html[+Adding Entity Classes and Session Beans+]
* link:../docs/javaee/ecommerce/manage-sessions.html[+Managing Sessions+]
* link:../docs/javaee/ecommerce/transaction.html[+Integrating Transactional Business Logic+]
* link:../docs/javaee/ecommerce/language.html[+Adding Language Support+]
* link:../docs/javaee/ecommerce/security.html[+Securing the Application+]
* link:../docs/javaee/ecommerce/test-profile.html[+Testing and Profiling+]
* link:../docs/javaee/ecommerce/conclusion.html[+Conclusion+]

=== Contexts and Dependency Injection

* link:../docs/javaee/cdi-intro.html[+Getting Started with Contexts and Dependency Injection and JSF 2.0+]
* link:../docs/javaee/cdi-inject.html[+Working with Injection and Qualifiers in CDI+]
* link:../docs/javaee/cdi-validate.html[+Applying @Alternative Beans and Lifecycle Annotations+]
* link:../docs/javaee/cdi-events.html[+Working with Events in CDI+]

=== Developing Java Web Applications

* link:../docs/web/jsf-jpa-weblogic.html[+Developing an Enterprise Application for Oracle WebLogic Server+]
* link:../docs/web/mysql-webapp.html[+Creating a Simple Web Application Using a MySQL Database+]
* link:../docs/web/jsf20-crud.html[+Generating a JavaServer Faces 2.0 CRUD Application from a Database+]
* link:../docs/web/applets.html[+Integrating an Applet in a Web Application+]
* link:../docs/web/security-webapps.html[+Securing a Web Application+]
* link:../docs/java/profile-loadgenerator.html[+Using a Load Generator in NetBeans IDE+]

=== EJB Technology and Java Persistence

* link:../docs/javaee/javaee-entapp-junit.html[+Using the Embedded EJB Container to Test Enterprise Applications+]
* link:../docs/javaee/javaee-entapp-ejb.html[+Creating an Enterprise Application with EJB 3.1+]
* link:../docs/javaee/maven-entapp.html[+Creating an Enterprise Application Using Maven+]
* link:../docs/web/hibernate-webapp.html[+Using Hibernate in a Web Application+]
* link:../docs/javaee/entappclient.html[+Creating and Running an Application Client on the GlassFish Server+]
* link:../docs/javaee/secure-ejb.html[+Building Secure Enterprise Beans+]
* link:../docs/javaee/profiler-javaee.html[+Profiling an Enterprise Application+]

=== Web Frameworks

* link:../docs/web/jsf20-intro.html[+Introduction to JavaServer Faces 2.0+]
* link:../docs/web/jsf20-support.html[+JSF 2.0 Support+]
* link:../docs/web/quickstart-webapps-spring.html[+Spring Web MVC+]
* link:../docs/web/quickstart-webapps-struts.html[+Struts+]
* link:../docs/web/grails-quickstart.html[+Grails+]

=== JavaScript and Ajax Development

* link:../docs/web/js-toolkits-jquery.html[+Using jQuery to Enhance the Appearance and Usability of a Web Page+]
* link:../docs/web/js-toolkits-dojo.html[+Connecting a Dojo Tree to an ArrayList using JSON+]

== Screencasts

* link:../docs/javaee/weblogic-javaee-m1-screencast.html[+Video of Deploying a Web Application to the Oracle WebLogic Server+]
* link:../docs/javaee/javaee-gettingstarted-screencast.html[+Video of Getting Started with Java EE 6 Applications+]
* YouTube: link:http://www.youtube.com/OracleWebLogic#p/u/13/Dh87ENWnSy8[+WebLogic Server - Java EE 6 Web Profile Demo+]
* YouTube: link:http://www.youtube.com/watch?v=vaOpJJ-Xm70[+Type-safe injection of OSGi dynamic services with GlassFish 3.1 and CDI+]
* YouTube: link:http://www.youtube.com/watch?v=wcg2SCgTL-4[+HTML5 and Web Sockets in Glassfish+]

=== OSGi-enabled Java EE Applications by Arun Gupta (YouTube)

* YouTube: link:http://www.youtube.com/watch?v=X7GwN4XSzfU[+Parent POM Project (Part 1 of 6) +]
* YouTube: link:http://www.youtube.com/watch?v=eBdLqdvOF_8[+API and Service OSGi Bundle (Part 2 of 6) +]
* YouTube: link:http://www.youtube.com/watch?v=TWRt_cFDRHE[+Client OSGi Bundle invoking an OSGi Service (Part 3 of 6) +]
* YouTube: link:http://www.youtube.com/watch?v=bSX89JjQoRM[+WAB client invoking an OSGi service (Part 4 of 6) +]
* YouTube: link:http://www.youtube.com/watch?v=6WexZAUeFWM[+Client OSGi bundle invoking EJB service (Part 5 of 6) +]
* YouTube: link:http://www.youtube.com/watch?v=IU4UMTnifhw[+Conclusion and other possible extensions (Part 6 of 6) +]

=== Java EE 6 Video Tutorial by Arun Gupta (YouTube)

* link:http://www.youtube.com/watch?v=pwBNmAhtqk8[+ JSP + Servlets + EJB: Java EE 6 &amp; GlassFish 3 using NetBeans 6.9 (Part 1 of 5) +]
* link:http://www.youtube.com/watch?v=_D_vphsAM-Y[+ Java Persistence API 2: Java EE 6 &amp; GlassFish 3 using NetBeans 6.9 (Part 2 of 5) +]
* link:http://www.youtube.com/watch?v=-Q25P-oSUJ8[+ Facelets and JSF 2: Java EE 6 &amp; GlassFish 3 using NetBeans 6.9 (Part 3 of 5) +]
* link:http://www.youtube.com/watch?v=D1fyKOTO5rw[+ CDI with JSF 2: Java EE 6 &amp; GlassFish 3 using NetBeans 6.9 (Part 4 of 5) +]
* link:http://www.youtube.com/watch?v=qf2Jxwpbsuo[+RESTful Web services using JAX-RS: Java EE 6 &amp; GlassFish 3 using NetBeans 6.9 (Part 5 of 5) +]

== Sample Applications

* link:../samples/pet-catalog.html[+Pet Catalog - Java EE 6 Sample Application+]
* link:../samples/scrum-toys.html[+Scrum Toys - The JSF 2.0 Complete Sample Application+]
* link:../samples/jsfjpa.html[+User Authentication Web App Using Java EE+]
* link:../samples/webjpa.html[+Using the Java Persistence API in a Stand-Alone Web App+]
* link:../samples/javaee-crud.html[+JSF CRUD Web Application with Java Persistence API+]
* link:../samples/javaee-stateless.html[+Dependency Injection with Stateless Session Beans+]

== Community-Contributed Docs

* link:http://wiki.netbeans.org/DevelopAjaxJSF2App[+Develop Ajax-based JSF2 applications with PrimeFaces using Netbeans 6.8+] by Christopher Lam
* link:http://wiki.netbeans.org/DevelopJavaEE6App[+Develop JavaEE 6 application with JSF2, EJB3 and JPA+] (also at link:http://netbeans.dzone.com/articles/develop-java-ee-6-app-jsf2[+dzone+]) by Christopher Lam
* link:http://wiki.netbeans.org/SecureJavaEE6App[+Securing JavaEE 6 application with JavaEE Security+] by Christopher Lam
* link:http://netbeans.dzone.com/news/generation-jsf-20-crud-in-netbeans-68[+Let NetBeans IDE 6.8 Generate JSF 2.0 Pages from Database+] by David Konecny
* link:http://wiki.netbeans.org/CreateReverseAjaxWebAppsWithDWR[+Create Reverse Ajax Web-Applications with DWR, GlassFish and NetBeans+] by Siegfried Bolz
* link:http://wiki.netbeans.org/wiki/view/MavenAndNetBeansForGlassFish[+Developing Enterprise Applications for GlassFish using Maven and NetBeans+] by Wouter van Reeven
* link:http://wiki.netbeans.org/SpringMVConNetBeansGlassFish[+Developing a Spring Framework MVC application using GlassFish+] by Arulazi Dhesiaseelan
* link:http://wiki.netbeans.org/MavenSpringEJBsOnGlassfish[+EJB development for Glassfish using Maven2 and Spring+] by Kristian Rink
* link:http://www.adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_13[+Simplest Possible EJB 3.1/REST (JSR 311) Component+] by Adam Bien

== Other Resources

=== FAQs

* link:http://wiki.netbeans.org/NetBeansUserFAQ#section-NetBeansUserFAQ-WebFrameworks[+NetBeans Web Framework FAQs+]
* link:http://wiki.netbeans.org/NetBeansUserFAQ#section-NetBeansUserFAQ-JavaEEDevelopment[+Java EE Development FAQs+]

=== Tutorials and Other Docs

* link:http://java.sun.com/javaee/6/docs/tutorial/doc/[+The Java EE 6 Tutorial+]
* link:http://java.sun.com/javaee/5/docs/tutorial/doc/[+The Java EE 5 Tutorial+]
* link:http://glassfish.dev.java.net/[+Join the GlassFish Community +]
* link:http://www.mysql.com/why-mysql/java/[+MySQL and Java - Resources +]
* link:http://www.andygibson.net/blog/index.php/2009/12/16/getting-started-with-jsf-2-0-and-cdi-in-jee-6-part-1/[+ Getting Started with JSF 2.0 and CDI in JEE 6, Part 1+], link:http://www.andygibson.net/blog/index.php/2009/12/22/getting-started-with-cdi-part-2-injection/[+Part 2+]
* link:http://technology.amis.nl/blog/?p=2613[+Integrating Seam with Maven, NetBeans and GlassFish +]
* link:http://technology.amis.nl/blog/?p=2610[+Combining Hibernate and Facelets with Maven, NetBeans and GlassFish+]
* link:http://buttso.blogspot.com/2011/02/using-jax-rs-with-weblogic-server-1034.html[+Using JAX-RS with WebLogic Server 10.3.4+]

=== Weblogs

* link:http://www.java.net/blogs/edburns/[+Ed Burns+]
* link:http://www.java.net/blogs/driscoll/[+Jim Driscoll+]
* link:http://blog.arungupta.me/[+Arun Gupta+]
* link:http://www.java.net/blog/6034[+Cay Horstmann+]
* link:http://blogs.oracle.com/vkraemer/[+Vince Kraemer+]
* link:http://www.java.net/blogs/caroljmcdonald/[+Carol McDonald+]
* link:http://blogs.oracle.com/jrubinoff/[+Jeff Rubinoff+]
* link:http://blogs.oracle.som/geertjan/[+Geertjan Wielenga+]
* link:http://blogs.oracle.com/theaquarium/[+The Aquarium+]
* link:http://buttso.blogspot.com/[+The Buttso Blathers+]

