septiembre 22, 2011

Using the Back-End Java+MySQL : Getting Started


Recuerde que..
Este blog esta desarrollado en idioma español pero utilizando Google Traductor puede adecuarlo al lenguaje de su preferencia.. Favor utilice la opcion del recuadro superior derecho... y Bienvenido a Integracion Google.

y empecemos ahora con el Back-End Java+MySQL, y su manejo no es por supuesto igual al de los servidores HTTP Apache que hemos venido utilizando.. y nuestra idea es presentar del entorno de desarrollo Web de Java de una manera practica, pues al tratarse de un lenguaje de programación orientado a objetos bastante especializado tanto para aplicaciones de escritorio, en sistemas de servidor (con las especificaciones Servlets y JSP, los que son de uso muy difundido), e incluso como aplicaciones "applets" incrustadas en código HTML.. estamos entonces frente a un lenguaje muy potente no solo orientado a aplicaciones Web.. pero es también bastante polémico respecto a la comunidad opensource, pues desde Abril del 2009, Oracle adquirió Sun Microsystems, lo que ocasionó el temor de las posibles y probables variaciones del licenciamiento GNU/GPL de Java, las cuales desde la versión 6 del lenguaje, ya se encuentran bajo el completo control de Oracle.. aunque Oracle aún mantiene el licenciamiento GNU/GPL de sus productos (incluído JDK 7 y del llamado OpenJDK).

Trabajar con el entorno Java para desarrollo Web, además de un servidor HTTP convencional, requiere que dispongamos de un contenedor y compilador de servlets y páginas JSP (ó servidores de aplicaciones tipo JBoss), y uno de los servidores más utilizados es el servidor Apache Tomcat, que es un servidor Web con soporte a objetos servlets y JSP, que ha sido desarrollado por supuesto en Java e incluye el compilador Jasper, que compila JSPs convirtiéndolas en servlets... vale decir, hablar de Tomcat es hablar de un contenedor de servlets que denominan catalina.

1er paso:
Instalar Nuestro Servidor Tomcat
(Nota : recomendamos lea primero completamente los dos primeros pasos y luego recien proceda a realizar las instalaciones que correspondan)


lo primero que debemos de tener en cuenta es que un servidor Apache Tomcat o jakarta Tomcat (como también suelen llamarlo), no es lo mismo que nuestro servidor HTTP Apache que hemos venido trabajando.. Tomcat es también un servidor Web y al instalarlo al igual que tenemos una carpeta "www", con Tomcat tendremos una carpeta "ROOT" contenido dentro de otra denominada "webapps" donde podremos poner nuestros archivos con extensión "jsp", los que serán interpretados y lanzados a nuestro navegador de preferencia (o por defecto).. pero para nosotros desarrolladores como ya debemos tener instalado un servidor HTTP Apache en el puerto 80, pues la instalación de Apache Tomcat la tendremos que hacer sobre otro puerto para evitar conflictos (uno recomendable puede ser 8080, 8090, etc. o realmente el que queramos pero que no sea utilizada por alguna otra opción o servicio web, proxy, etc; incluyendo por supuesto los puertos que utilizaremos con nuestro launcher de Google AppEngine (GAE).

Instalar Tomcat es realmente como instalar Apache con Appserv u otro similar (Wamp, Xamp, etc); pero es imprescindible indicar que primero debe haberse instalado el JDK de Java, para ello puede resultar conveniente revisar primero esta tabla requerimientos de JDK dependiendo de nuestra version Tomcat:

http://tomcat.apache.org/whichversion.html,

y como siempre, podemos elegir y trabajar con las ultimas versiones, las que como pueden ver ya son bastante estables: Otra cosa que debemos de tener en cuenta es que al instalar, Tomcat, a diferencia de HTTP Apache, el servicio no se carga en automático, excepto lo hayamos configurado expresamente para ello, por eso, concluída la instalación del servidor el primer paso imprescindible seleccionar en "Todos los programas", la opción Apache Tomcat, configurar Tomcat, y arrancar el servidor; y configurarlo en "automatico" si deseamos que siempre se cargue al inciar nuestro sistema operativo.

Para instalar Tomcat sobre window puede tener algunas peculiaridades (como tambien las tiene sobre Linux y Unix, pues varias cosas se tienen que ingresar comandos de consola, especialmente para dar atrbutos a nuestras carpetas y desempaquetar los archivos tar requeridos),..pero realmente trabajar sobre Linux tiene sus ventajas respecto a la perfomance de nuestro servidor Web, realmente es más rapido, lo que es conveniente si lo vamos a utilizar Tomcat en un ambiente de producción; pero si vamos a hacer nuestras pruebas, y siendo a este nivel indiferente que trabajemos sobre Linux o Windows, entonces les paso un enlace de como hacer la instalación sobre Window7, que como es característico Microsoft siempre pone algunas restricciones de "seguridad" que debemos de tomar en cuenta.

http://profesor.antonio.com.mx/?p=129

Solo basta reiterar que no utilicemos para la instalación el puerto 80 que probablemente la estemos utilizando para nuestro servidor HTTP Apache, ni tampoco del 20 al 25 /FTP y otros), ni 1433 no 3306 (de SqlServer y MySQL respectivamente); podemos utilizar  puertos mayores a 8000 por poner un ejemplo, ó de 5 digitos que tambien puede hacerse, tamién pueden utilizar un scaner de puertos on-line si tienen dudas que algunos puertos puedan estan siendo utilizados, es decir, si tienen equipos o servicios como proxys instalados en su equipo que requieran conexiones a puertos; ó mejor aún, hacer un monitoreo de los puertos en uso y así seleccionar puertos que no estén siendo utilizados (en Windows podemos utilizar CurrPorts v2.02 el cual es bastante práctico y eficiente, y solo requiere ser desempaquetado para ejecutarlo)... asimismo, es conveniente tener presente que tanto el JDK de Java como nuestro Tomcat esten instalados sobre una carpeta raiz de alguna de nuestras unidades de disco, pues hay varias cosas del mundo Java que pueden configurarse directamente sobre archivos específicos (server.xml, context.xml, user.xml, entre otros), y es necesario que estos sean fácilmente identificables y accesibles...

Vale también indicar que un servidor Tomcat es en varios aspectos mucho mas flexible y configurable que un servidor Apache HTTP, en el sentido por ejemplo que no necesariamente un "proyecto" deba estar grabado en la carpeta ROOT (equivalente a nuestra carpeta "www" que hemos venido trabajando); e inclusive es factible configurar a Tomcat para que directamente llamando a http://localhost/myproject por ejemplo (y este sea un proyecto JSP-Java, este corra automáticamente sin indicar el puerto de escucha al que ha sido direccionado nuestro servidor Tomcat... esto por supuesto es muy útil y necesario si nuestro servidor Web es un servidor de producción (pueden revisar el siguiente link al respecto), pero como no es nuestro caso no ahondaremos sobre las diferentes opciones de configuración que puede brindarnos un servidor Tomcat, que realmente son interesantes pero basta por el momento que sepamos que, aún trabajando con un servidor Apache HTTP y un servidor Tomcat en forma simultanea, es posible que, dentro de un ambiente intranet tengan acceso a nuestra aplicación ingresando directamente la IP de nuestro servidor y el nombre de nuestra aplicación: por ejemplo 192.1681.100/myproject; (o también el nombre de nuestro dominio interno configurado); y en el caso de un ambiente internet, indicando nuestro dominio y la aplicación, como por ejemplo: www.mydominio.com/myproject; no importando en ningún caso las indicaciones respecto al puerto que utilicemos y donde se encuentre grabada la carpeta que contiene a nuestro proyecto.

2do. paso:
Instalar Netbeans y trabajar con Apache Tomcat.



Cabe mencionar también que cuando instale por primera vez Netbeans (que es un IDE bastante eficiente para realizar nuestros desarrollos sean estos Java, PHP, Phyton, C++ o Groovy, etc.), este solo incluía un servidor de aplicaciones llamado Glassfish (similar al Tomcat), y que luego había que indicarle que trabajase también con Tomcat; pero observo como una agradable sorpresa que ahora Netbeans 7 incluye como servidores tanto a Glassfish 3.x como Tomcat 7.0.x; y que incluso es posible instalar todo el paquete (Netbeans, los servidores Glassfish y Tomcat y el JDK de Java en un unico paquete, como cuando instalamos Appserv o Xamp -pero con el adicional de tener un IDE completamente integrado y listo para su uso en nuestros proyectos... estas son ventajas del desarrollo opensource y de la vigencia y actividad de esta plataforma que podemos disfrutar ahora.. como siempre, mi única recomendación al respecto es que hagamos toda la instalación en una carpeta directamente en la raíz de una de las unidades de disco de nuestro ordenador (para facilitar la identificación y ubicación de los componentes del servidor).

Download Netbeans : http://netbeans.org/downloads/
(elegir la opcion JavaEE ó All, o sigamos este enlace para descargar el JDK de Java junto con el IDE NetBeans en un solo paquete.


pero antes la aclaración a una pregunta importante... Porque utilizar un IDE como Netbeans, Eclipse u otro asociado al mundo Java? ..y porque Netbeans en particular? ...no pretendo dar una explicación de las ventajas de trabajar con un IDE en paticular porque eso creo que depende bastante de la pericia y experiencia del programador con uno u otro entorno de desarrollo... pero trabajar en Java con un IDE especializado es particularmente util porque nos facilita herramientas para la configuración, manipulación, modificación, mejora y/o adición de nuevas opciones a nuestros proyectos (especialmente si son proyectos "grandes")... y la idea de nuestros "codelabs" es que dispongamos de ellos para que lo adaptemos y mejoremos de acuerdo a nuestras necesidades... pues planteado así, Netbeans nos permite "cargar" directamente las "fuentes" de cualquier proyecto JavaWeb como un "proyecto Netbeans", y luego utilizando las pantallas de edición de sus componentes, se nos facilitará su revisión, depuración y adecuación; pero sobre todo, para ejecutar el proyecto (y lanzarlo a nuestro navegador por defecto), sencillamente debemos seleccionar nuestro proyecto e indicar la opción Run y listo.. si todo esta correcto el proyecto se lanzara a nuestro navegador... y si nuestro servidor fuera de producción internamente el IDE hace las configuraciones necesarias y nuestro proyecto podrá ser accesible directamente desde el navegador de preferencia de los "usuarios" que accesen a nuestro proyecto , ya sea a nivel intranet o internet... y eso si es para tomar en cuenta..

3er. paso:
Hablemos sobre Java y como trabaja...


Como ya les indique anteriormente, trabajar con código Java tiene una curva de aprendizaje mas compleja que utilizar HTML, CSS, Javascript, PHP, etc. (y bastante similar a otros lenguajes "compilados" como Phyton, esto por supuesto si queremos llegar a dominar todas sus posibilidades), pero no perdamos animos por ello, solo miremos a este entorno de desarrollo como un "paquete" asociado al mundo de desarrollo Web que podemos incluso integrar a nuestros proyectos, y poco a poco, y con la experiencia que ya debemos haber desarrollado al haber investigado y hacer uso de HTML, CSS, Javascript, PHP, las API de Google, de Facebook, de Twitter, etc.. pues mas rápido de lo pudiera pensarse se lograrán despejarán nuestras dudas e incomprensiones.. debiendo tener presente primordialmente que, como en el caso de PHP, para tener acceso a los comandos e instrucciones de dicho lenguaje utilizabamos las etiquetas del tipo : "<?php -my-codePHP- ?>", pues ahora con Java, en nuestros archivos JSP, para hacer referencia a nuestros codigos y variables utilizamos la etiqueta <% --my-codeJava-- %> ..y con esta rápida introducción creo ya estamos listos para empezar nuestras investigaciones respecto a este entorno "profesional" de desarrollo.

Nuestro Hello World en Java?

<html>
<body>
<h1><% out.println("Hola mundo"); %></h1>
<p>This is my first test</p>
</body>
</html>

..observan mucha diferencia a nuestro Hello World de nuestro servidor HTTP Apache? ..pues realmente no (excepto que hemos colocado nuestra "Hola Mundo" dentro de las etiquetas <% %> que indica que lo contenido es un código Java, y el servidor "compilará" esa instrucción, lo ejecuta y mostrará en nuestro navegador) .. solo basta grabar este código en un archivo tipo texto con el nombre prueba.jsp, y ejecutarlo en nuestro servidor Tomcat, una vez lo tengamos instalado y puesto en servicio por supuesto, digitando en la barra de direcciones de nuestro navegador de preferencia : http://localhost:8090/prueba.jsp, (nótese que indicamos el puerto con que hemos configurado a nuestro Tomcat al realizar nuestra instalación; y tambien por supuesto, debe resultarnos claro que ya todo lo que manejamos con HTML, CSS, e incluso con Javascript, también lo podremos usar en el mundo Java.. algo similar es con el "mundo Phyton",..y también con el mundo "Microsoft" (que plantea el uso de otro tipo de servidores -el IIS- y otro lenguaje por el back-end -ASP.Net en este caso- y que detallo por cuanto hemos tomado conocimiento del lanzamiento de WebMatrix 2.0 beta, un entorno de desarrollo que junta diversas herramientas opensource y de Microsoft para hacer desarrollos Web que involucra las herramientas mencionadas, y otras todas integradas con HTML, CSS, Javascript e incluso PHP, lo que le permite el manejo e instalación de varios proyectos sociales tambien opensource muy conocidos como Wordpress, Drupal, Joomla, etc.. incluye su propio editor y "lanzador" de aplicaciones (de una manera similar al "launcher" de Appengine), así que tenemos otro entorno de desarrollo por revisar...

Otro de los temas que tocaremos mas adelante es que también podemos utilizar PHP en entornos Java (y mantener el mismo acceso a los servicios sociales y otros desarrollos opensource como los indicados pero ahora desde el entorno Java, con el uso de Netbeans IDE y de servidores como Tomcat ó Glassfish.. y volviendo a nuestro tema, vale destacar que por supuesto esto es solo el principio, pero con este sencillo ejercicio "Hola Mundo" creo que podemos llegar a tener una idea real de como funciona Java en nuestros desarrollos Web, el resto es hacer nuestras pruebas e investigaciones personales, y para ello les presento este link de un curso bastante completo e interesante de Java EE hecho por Abraham Otero, del portal Javahispano.org; el cual además de mostrarnos todo lo básico de desarrollo Web (como es el manejo de HTML y CSS), pues nos detalla todos los secretos de Java de manera bastante práctica, y no dudo que comprensible para todos los interesados... de hecho, no solo detalla los "secretos" de Java sino que nos explica y muestra porque resulta recomendable trabajar con el IDE Netbeans para facilitar nuestros desarrollos en esta plataforma -y las que soporte Netbeans-, utiliza videos bastante apropiados, y esta en español... tal vez el único "inconveniente" es que los videos estan colgados en Parleys.com (que es una plataforma e-learning free asociada a Adobe), pero para optimizar el uso de esta plataforma basta con que instalemos "Parleys Desktop" (que instala un SDK y baja los videos a nuestro ordenador, y agiliza la presentación y calidad de ejecución de los mismos), para ello revise el "Home" de la pantalla de Parleys cuando accedamos a los enlaces de video indicados; lo que le permitirá también revisar con mas detalle y dar una mirada a otros videos y cursos de Javahispano.org, y tambien de otros expositores disponibles en esta plataforma

Curso Basico de JavaEE : http://www.javahispano.org/articulos/JavaEE.pdf
ó mejor aún, revisar el Tutorial JavaEE de JavaHispano completo.
(language = spanish)

4to. paso
Instalando nuestro primer proyecto JavaWeb

...empecemos con armar nuestro primer proyecto Web con Netbeans... es realmente sencillo...

si ya hemos instalado nuestro servidor Tomcat y Netbeans con cualquiera de las formas antes indicadas, solo basta que elijamos la opción File, New Project y en la pantalla de indicación de proyectos nuevos verifiquemos que esten seleccionados Java Web y Web Application, y luego elijamos Next (hay unos ejemplos alli que podremos revisar también); luego la pantalla nos solicitará el nombre y la ubicación de nuestro proyecto (por defecto una carpeta de Mis Documentos en Windows), podemos indicarle un nombre apropiado como "myHello" así como cualquier carpeta, lo más adecuado a nuestros intereses... el resto de opciones de esta pantalla las podemos dejar como están...

Luego pasamos a la configuración de nuestro servidor, y allí indicamos que utilizaremos Tomcat (si hubiésemos instalado Glassfish aparecerá esa opción por defecto); la versión de JavaEE indicada la dejamos por defecto, y podemos cambiar el Context Path a uno adecuado ("myHello" en este caso para referirnos al nombre de nuestro proyecto), teniendo presente que ese nombre es que corresponde al que utilizaremos como dirección en nuestros navegadores.. y con toda esta información nuestro proyecto "vacío" será creado..  Netbeans creará nuestro proyecto con todas las carpetas MVC requeridas para un proyecto Java Web, y asimismo observaremos al archivo index.jsp creado por defecto que solo tiene en HTML el mensaje "Hello World"...

Revisemos con detalle alguna de las carpetas creadas por el Netbeans, especalmente los archivos contenidos en WEB-INF (web.xml), y META-INF (context.xml); que han sido creadas con lo indicado al "armar" nuestro proyecto y que vamos a tener que utilizar y manipular cuando carguemos cualquier proyecto que tengamos sus fuentes.. y listo.. seleccionemos nuestro proyecto, botón derecho del mouse e indiquemos Run.. Netbeans procederá a construir y lanzar nuestro proyecto a nuestro navegador de preferencia y allí debe aparecer nuestro Hello World...


Instalando nuestros proyectos Integracion Google 1ra y 2da parte en Netbeans:

Aun cuando nuestros proyectos Integración Google 1ra. y 2da. parte son desarrollados exclusivamente con HTML y Javascript (recuerde que usamos ExtJs que es un framework de Javascript), puede entonces cargarse estos trabajos como proyectos del Netbeans pero acondicionando su presentación para que respete la distribución de archivos convencional de un proyecto "Java Web"... y las condiciones son faciles de implementar, y se resumen en este caso en crear una carpeta "web" que contenga todo nuestro proyecto ( no estamos utilizando ningún código Java que efectúe alguna operación por el lado del servidor en este caso), y asimismo que dentro de esta carpeta pondremos nuestra versión "liviana" del framework (carpeta Ext-3.4.0 en este caso); y además 02 carpetas denominadas META-INF y WEB-INF, quienes alojarán a los archivos "context.xml" y "web.xml" respectivamente (y en donde se indicará el nombre de nuestro "context-path" y archivo de arranque del proyecto, que en este caso es index.html)...

Material de Apoyo : 
( do click on blue icons to download )

IntGoogle-01.rar, que nos muestra Visualizaciones Google sobre ExtJs (la versión Ext-3.4.0 en este caso) correpondiente a dicho codelab, ahora adecuados a un formato "Java Web" para poder cargarlos como un proyecto de Netbeans. Puede revisar nuestra entrada Integracion Google 1ra parte para mayores detalles.

IntGoogle-02.rar, que nos muestra Visualizaciones Google y ExtJs de nuestro documento "Spreadsheet Productos": correspondiente a dicho codelab (adjuntamos también nuestro modelo de hoja de calculo en formato xls para que puedan realizar pruebas con un documento propio, cargando este archivo a Google Docs)... Puede revisar nuestro codelab Integracion Google 2da. parte para mayores detalles.


Integracion Google Parte No.1 corriendo sobre Netbeans-Tomcat :



Integracion Google Parte No.2 corriendo sobre Netbeans-Tomcat :


NOTA IMPORTANTE :

Resulta que el sistema de autorización "AuthSub for JavaScript" de Google ya no se encuentra disponible (pueden revisar el siguiente enlace), por lo que nuestro botón "Login" de nuestro codelab no permite el acceso a nuestro ejercicio; asimismo, la documentación de Google nos recomienda que utilicemos ahora "OAuth 2.0 for client-side applications", vale decir, tendremos que utilizar Google API Javascript Client para poder acceder a nuestras aplicaciones (u otra API cliente según la plataforma back-end que utilicemos, tal como PHP, Java, .NET, entre otros), pero en nuestro caso, como solo estamos trabajando aplicaciones por el lado del cliente, tendremos que recurrir a la librería cliente para Javascript indicada.

Por lo que, mientras adecuamos nuestro código, resulta conveniente que NO CONSIDEREN el proceso de acceso a la aplicación de la siguiente manera:

function activando(auth) {
  var c = Ext.getCmp('center');
  //google.accounts.user.login('http://www.google.com/m8/feeds/');
  auth = true;
  c.enable();
  c.update('');
  if (auth) {
    vistree.enable();
  };
};

within from : MenuGVisualization_01.js / MenuGVisualization_02.js where appropiate!


TRABAJANDO CON OAUTH 2.0 :

por supuesto, a la brevedad actualizaremos todos nuestros códigos para que trabajen con el protocolo OAuth20, y les presentamos en esta oportunidad el código y su demo de nuestro codelab que hemos cargado a la plataforma GAE (Google App Engine), pero que usted también puede probar en su servidor local de pruebas utilizando el SDK para Java de Google App Engine..

 ..now you can test our IntGoogle01-Oauth demo  (New!) .
the demo may prompt popup window (you must enable it)

IntGoogle02-OAuth20.rar ( 3.14Mb ), Este código corresponde a nuestro codelab pero adecuado al protocolo OAuth version 2.0, utilizando la "Google API Javascript Client", la cual en esta versión, incluso nos permite acceder directamente al email de nuestros usuarios.

 ..now you can test our IntGoogle02-Oauth demo  (New!) .
the demo may prompt popup window (you must enable it)

IntGoogle02-OAuth20.rar ( 3.14Mb ), Este código corresponde a nuestro codelab pero adecuado al protocolo OAuth version 2.0, utilizando la "Google API Javascript Client", la cual en esta versión, incluso nos permite acceder directamente al email de nuestros usuarios.


Es importante indicar que la documentación de Google nos indica que ahora debemos trabajar con OAuth 2.0 que se esta convirtiendo en el estándar de autenticación y autorización para acceder a nuestras cuentas y poder utilizar todas las API de Google, por ello hemos adecuado nuestro codelab a dicho estándar debiéndose tener en cuenta lo siguiente:

  • Crear un nuevo proyecto en el Google API Console, con el nombre mas adecuado que queramos
  • Crear una "OAuth 2.0 Client ID" en la opción API Access de la consola.. allí podremos indicar el nombre de nuestra aplicación y la URL de un logo que la represente ..a continuación debemos indicar el tipo de nuestra aplicación ("web application" en nuestro caso), y la URL de nuestra aplicación (acepta http://localhost ó http://localhost:8080 para trabajar con nuestro servidor local de pruebas, debiendo verificar que se elija correctamente el protocolo "http ó https" y la ruta completa de acceso a nuestra aplicación para que todo funcione correctamente); por lo que al crear nuestra API Access se nos indicará la carpeta "Redirect URI" donde se realizará el proceso de autenticación y autorización OAuth 2.0 solicitado (si no ha sido creada debemos editar la configuración y registrar manualmente la carpeta donde se realizará el proceso, puede ser cualquiera dentro de "www" o crear la carpeta "oauth2callback" indicada)..
  • ..y finalmente, en la misma "Google API Console" debemos seleccionar a la opción "Services" y activar la "Google+ API" (debe estar "ON" y de color verde), lográndose con ello finalmente crear nuestra "API key" en forma automática.
  • y todo ya está listo! ..ahora al volver a la opción "API Access" de nuestra aplicación, ya tendremos disponible nuestro "Client ID" y la "API Key" (dentro de "Simple Access API"), estos datos son las que debemos utilizar y reemplazar en el archivo "index.html" de nuestra aplicación para que todo pueda funcionar correctamente.

    Conviene también revisar las diferentes opciones que nos presenta la "Google API Console" pues nos puede ser necesarias como crear, modificar, renombrar, eliminar proyectos principalmente.

  • ..y ahora a probar nuestra aplicación IntGoogle01-Oauth20 e IntGoogle02-Oauth20 como JavaWeb projects corriendo sobre un servidor Tomcat !
  • y una ultima indicación.. Como estamos trabajando con la Google Maps API v2, tenemos que activar el servicio "Google Maps API v2" en la API consola, y registrar nuestra API Key al importar la API en nuestro proyecto antes de subirlo a un servicio de hosting con un dominio personalizado y así puedan funcionar los mapas de nuestro proyecto sin mayores inconvenientes (aunque la Google Maps API v2 solo estará activa hasta Marzo 2013, por lo que debemos programar nuestras actualizacion a la API v.3)..por supuesto, al trabajar con nuestro servidor local "localhost" no se presentan problemas.. el asunto es, como indicamos, al cargar nuestros proyectos a un servicio de hosting externo cualquiera.. como sobre la plataforma GAE (Google App Engine), que es donde esta corriendo nuestra demo)


Pasos para realizar el Codelab..

Descargados estos proyectos en la carpeta de proyectos de Netbeans (en Mis Documentos en caso de Windows, u en otra crapeta que creamos conveniente), hay que cargar estos proyectos a Netbeans; para ello, debemos seleccionar la opción File, New Project; y en ella debemos seleccionar Java Web y Web Application with Existing Sources; luego al seleccionar Next, se nos indicará que ingresemos la carpeta que contiene nuestro proyecto (Int-Google01 por ejemplo), y al seleccionarla, Netbeans nos pondrá como nombre de nuestro proyecto y su ubicación las de nuestra fuente que estemos cargando, pero que podemos cambiar si estimamos necesario (no en este caso); luego indicando Next nuevamente, Netbeans nos pedirá los datos de configuración del proyecto, el servidor a utilizar (Tomcat en este caso), la versión de JavaEE (que dejaremos la indicaba pues no estamos utilizando Java en este caso); y nuestro "Context-Path", que tendrá el nombre del proyecto que estemos cargando...y al indicar Next nuevamente, ahora Netbeans nos solicitará la configuración de nuestro "codigo fuente", vale decir, la ubicación de nuestra carpeta web que debe aparecer ya predeterminada (sino debemos ubicarla y seleccionarla), la ruta de nuestra carpeta WEB-INF, que tambien debería aparecer ya predeterminada, sino habra que realizar el mismo proceso indicado.. y listo; en este caso, al ser nuestro proyecto exclusivamente un proyecto "web" (y que no contiene nada de código Java), no es necesario indicar librerías complementarias ni otros datos, luego entonces al indicar "finish", Netbeans creará nuestro proyecto con una estructura similar al de nuestro primer proyecto... luego solo basta seleccionar al proyecto, hacer click derecho con el mouse y seleccionar Run, y Netbeans construirá y lanzará nuestro proyecto a nuestro navegador de preferencia... Debemos hacer lo mismo con nuestro proyecto Int-Google02, y con esto veremos corriendo nuestros ejercicios  (si han seguido todos los pasos de nuestro proyecto),  hasta en 03 plataformas distintas: sobre un servidor HTTP Apache, sobre AppEngine como proyecto Python, y ahora sobre un servidor Apache Tomcat como proyecto JavaWeb; y con lo que podemos sacar como una clara conclusión que dentro del mundo Web no hay problemas de compatibilidad si trabajamos con sus elementos básicos: refiriéndonos a HTML, CSS y Javascript, y de manera simultanea, ahora ya tenemos mas claro como cargar proyectos a Netbeans con "códigos existentes".. que es el caso del proyecto sdsimple que detallamos en nuestro siguiente codelab ó cualquier otro proyecto JavaWeb..

Nota Importante: No realizamos lo mismo con nuestro proyecto Integración Google 3ra. parte, que describe un modelo CRUD de una tabla utilizando como Back-End PHP y la base de datos MySQL. En este caso no existe ningún problema respecto a trabajar y manejar la base de datos MySQL - y cualquier otra, como PostgresSQL, SQL Server, Oracle, Acces, etc.- el problema esta por el lado del lenguaje que utilizamos para "comunicarnos" con ella, que en este caso es PHP; pues nuestro servidor de servlets Tomcat no viene preparado para trabajar con PHP, pero vale mencionar que si es posible hacer que nuestro entorno Java reconozca PHP, pero hay que trabajar con un "paquete" complementario a nuestro proyecto para así ocurra ( y eso escapa los alcances del presente codelab ), pero es bueno tenerlo en cuenta si se nos presenta el caso de proyectos que involucren códigos java, y soluciones y códigos PHP... pues ya habrán podido darse cuenta, en el mundo Web todo se puede configurar, interconectar y utilizarse en forma conjunta de alguna u otra manera..

Asimismo cabe destacar que, usualmente los proyectos "Java Web" se inician con un archivo "index.jsp" (y que por supuesto, probablemente debe y puede contener códigos y variables java; pero en este caso, como hemos indicado, no estamos tocando nada de ese entorno por el lado del back-end, y en el caso de nuestro codelab Integracion Google 2da. parte, pues nuestro "back-end" es una hoja de cálculo de Google Docs que es externa a nuestro entorno de Desarrollo, y nos estamos conectando a ella utilizando únicamente código javascript (el API Ajax Javascript de Google para ser mas exactos, cuya biblioteca resumen de ejercicios para muestra podemos consultar en el llamado Google Palyground); y es así como también podemos trabajar en nuestros proyectos personales... conectando nuestros aplicativos a bases de datos externas grabadas en la nube (internet), sean propias o de terceros que nos proporcionen un API de conexión y enlace, o también conectandonos a otros equipos en forma remota, para lo que debemos tener nuestro correspondiente usuario y password de acceso con los derechos necesarios, utilizando internet por supuesto...

Saludos
@Mlaynes