Las principales habilidades que necesita cualquier desarrollador web son las siguientes técnicas.
La tecnología para desarrollar aplicaciones web se ha vuelto más madura y compleja. Ahora, crear una aplicación web requiere más que simples técnicas HTML. El acceso a bases de datos, los lenguajes de programación y la administración son habilidades que un programador web debe tener. Echemos un vistazo a las habilidades necesarias para convertirse en un desarrollador web popular en el mercado.
Desde que el CERN (Instituto Europeo de Física de Partículas), un centro de investigación de física de altas energías cerca de Ginebra, lanzó la Web en 1991, la tecnología Web ha evolucionado desde el contenido estático y la Common Gateway Interface (CGI) hasta la tecnología de servlets y JavaServer Pages. Sin embargo, en esta sociedad más competitiva, un programador web necesita más conocimientos. Por ejemplo, si en la entrevista mencionas que estás familiarizado con XML y tienes cierta experiencia con JNDI (dos tecnologías que a primera vista pueden no parecer muy relacionadas con la programación web), dejarás una impresión más profunda en tu futuro jefe. impresión. Suponiendo que ya conoce el lenguaje de programación Java y la programación orientada a objetos, aquí hay dos conjuntos de tecnologías que un desarrollador web necesita en su trabajo diario. El primer grupo incluye técnicas que todo programador web debe poseer. El segundo grupo contiene las técnicas que debes dominar para convertirte en un programador avanzado.
Habilidades básicas Si quieres llamarte desarrollador web, estas son las habilidades que debes tener.
HTML (lenguaje de marcado de hipertexto)
HTML es el lenguaje para casi todo lo que se muestra en su navegador. No es de extrañar que HTML sea como el instinto de supervivencia de un programador web. Si aún necesita encontrar <tr> o <b> en su HTML, entonces realmente necesita mejorar sus habilidades en HTML. La versión actual de HTML es 4.01, puede obtener más información al respecto en http://www.w3.org/TR/1999/REC-html401-19991224/ .
Servlets y JSP
La tecnología de servlet Java es la principal tecnología para desarrollar aplicaciones web Java. Fue desarrollado por Sun Microsystems en 1996 y la versión actual es 2.3, pero la gente se está preparando para la versión 2.4.
JSP es una extensión de la tecnología de servlet y la versión actual es 1.2 (la versión 2.0 estará finalizada pronto). Algunas personas piensan que JSP es un sustituto de los servlets, pero no es así. Los servlets y JSP se utilizan juntos para aplicaciones web complejas.
Un buen comienzo para la programación web en Java es aprender la tecnología de servlets. Incluso si planea utilizar sólo páginas JSP en su aplicación web, aún necesita aprender la tecnología de servlet. En aplicaciones web más complejas, las páginas JSP se utilizan sólo para visualización, mientras que JavaBeans y bibliotecas de etiquetas personalizadas se utilizan para incorporar la lógica empresarial. Es decir: también debe dominar JavaBeans y bibliotecas de etiquetas personalizadas.
javascript
JavaScript es un lenguaje de programación que se ejecuta en todos los principales navegadores. Utiliza JavaScript para la programación del lado del cliente. La tarea más importante en la programación del lado del cliente es validar la entrada del usuario. El beneficio de utilizar la validación de entradas del lado del cliente es reducir la carga de trabajo del servidor y mejorar el tiempo de respuesta. Además, JavaScript se puede utilizar para redirecciones, manejo de cookies, control de subprogramas, creación de árboles de navegación, apertura de una nueva instancia de un navegador y más.
SQL (lenguaje de consulta estructurado) y JDBC (conectividad de base de datos Java)
Hoy en día, la mayoría de las aplicaciones web incluyen el acceso a datos en bases de datos relacionales. Como programador web, necesita saber cómo almacenar, recuperar y manipular datos en una base de datos. A veces, también es necesario diseñar la base de datos y crear tablas y otras estructuras en la base de datos. SQL es el lenguaje utilizado para manipular datos en la base de datos. Por lo general, necesita escribir sentencias SQL (a menudo de forma dinámica), pasarlas al servidor de la base de datos y recuperar los datos (si los hay).
Al utilizar el lenguaje Java, debe utilizar JDBC para ayudar a que la aplicación web se comunique con el servidor de la base de datos. JDBC tiene dos partes: JDBC Core API (Interfaz de programación de aplicaciones) y JDBC Opcional Package API. El primer grupo se utiliza para realizar operaciones de datos básicas, como crear una conexión o leer, actualizar y eliminar registros en una tabla. El segundo grupo proporciona funciones de conexión de bases de datos más avanzadas, como agrupación de conexiones, transacciones y RowSet. La versión actual de JDBC es 3.0 y la API está incluida en J2SE v. 1.4.
Gestión de contenedores web e implementación de aplicaciones Sus servlets y páginas JSP se ejecutan en un motor llamado contenedor de servlet/JSP o contenedor web. Necesita al menos saber cómo implementar sus recursos web para pruebas y ejecuciones de producción. Por ejemplo, si usa Tomcat, una cosa que necesita saber es cómo asignar la aplicación en el archivo de configuración (server.xml) para que Tomcat sepa cómo llamar a su página JSP. Además, necesita saber dónde guardar sus bibliotecas y cómo crear descriptores de implementación de aplicaciones.
XML (lenguaje de marcado extensible)
XML es una estrella en ascenso exitosa en el campo de la informática. Desarrollado por el World Wide Web Consortium en 1996, XML es ahora un estándar ampliamente reconocido para el intercambio de datos y estructuras de datos extensibles. XML juega un papel importante en el desarrollo web Java. Por ejemplo, el descriptor de implementación de cada aplicación está en formato XML. Además, si está desarrollando servicios web, utilizará SOAP (Protocolo simple de acceso a objetos), que se basa principalmente en HTTP y XML.
Además, en aplicaciones web, XML también se puede utilizar para almacenar datos jerárquicos.
La arquitectura del Modelo 2 es la tecnología más avanzada de su categoría. Esta estructura se recomienda para crear aplicaciones web Java bastante complejas. La estructura del Modelo 2 se basa en el paradigma de diseño Modelo-Vista-Controlador.
Técnicas avanzadas Las siguientes técnicas le diferenciarán de los principiantes.
JSTL (bibliotecas de etiquetas estándar JSP), proyecto Jakarta Taglibs y otras bibliotecas Para acelerar el desarrollo de aplicaciones, con frecuencia se debe reutilizar el código. En pocas palabras, la reutilización de código significa que si alguien ya ha escrito código para realizar determinadas funciones, es mejor que utilice ese código en lugar de escribirlo usted mismo. Por lo tanto, JSP le permite utilizar etiquetas personalizadas. Hay varias bibliotecas que puede utilizar, siendo las más populares las del proyecto Jakarta Taglibs de Apache. Este paquete se puede descargar desde http://jakarta.apache.org/taglibs/index.html y puede usar cualquier cosa que encuentre lista para usar en este paquete antes de comenzar a crear nuevas clases.
JSTL se ha convertido recientemente en un estándar. Otras bibliotecas de etiquetas están disponibles de forma gratuita o comercial.
Proyecto Apache Struts
Struts es un proyecto de recursos públicos patrocinado por Apache que proporciona un marco para crear aplicaciones web Java Modelo 2. Struts proporciona su propio componente Controlador para la estructura MVC, usa EJB, JDBC y JNDI para Model y usa JSP y otras tecnologías para View. Puede encontrar información más detallada sobre este proyecto en su sitio web: http://jakarta.apache.org/struts/index.html .
XHTML (lenguaje de marcado de hipertexto extensible)
XHTML es una tecnología que se esfuerza por combinar HTML y XML. Puedes pensar en XHTML como la próxima generación de HTML. Su versión actual es 1.0 (la segunda versión se lanzó el 1 de agosto de 2002). XHTML no es tan popular como HTML, pero desempeñará un papel más importante en el futuro. Según la experta en diseño web Molly Holzschlag, la razón principal que lleva a las empresas a cambiar a XHTML son las leyes estadounidenses sobre acceso público (accesibilidad). Para obtener más información sobre XHTML, consulte la entrevista de Holzschlag.
DHTML (HTML dinámico)
DHTML permite a las personas interactuar más en su sitio web. Por ejemplo, al utilizar DHTML, puede crear y mostrar fácilmente un submenú cuando el usuario mueve el mouse sobre un enlace. El mayor desafío al usar DHTML es la creación de páginas para varios navegadores. De hecho, en teoría, el diseño de páginas debería estar a cargo de artistas, donde el HTML dinámico se genera mediante el uso de una herramienta. Sin embargo, un programador web suele ser responsable de integrar todas las piezas y, si el código generado en la página no funciona, necesitarás entender DHTML para solucionarlo.
Programación de subprogramas
Los applets solían ser importantes para proporcionar interactividad, especialmente antes de la llegada de DHTML. Ahora, la función de los subprogramas se ha reducido y cada vez más programadores ya no los utilizan. La decisión de Microsoft de no proporcionar soporte predeterminado para subprogramas en su nuevo navegador reduce significativamente el papel de los subprogramas en las aplicaciones web. Sin embargo, los subprogramas no están muertos. Para ciertas tareas, como mostrar titulares de noticias, los subprogramas siguen siendo irremplazables y no crean el dolor de cabeza de la compatibilidad entre navegadores.
protocolo HTTP
Los programadores web Java suelen utilizar protocolos superiores a HTTP, como el uso de servlets y API JSP. Estas API ocultan la complejidad del protocolo HTTP. Por lo tanto, aún puedes crear aplicaciones importantes sin saber mucho sobre el protocolo HTTP. Sólo si necesita manejar datos sin procesar, como cargar o transmitir archivos como archivos adjuntos, necesita más conocimientos sobre el protocolo.
EJB (JavaBeans empresariales)
EJB es parte de J2EE y es importante cuando la escalabilidad y la potencia son los principales requisitos de su aplicación web. Hay tres tipos de EJB en la especificación actual (EJB 2.0): EJB de sesión, EJB de entidad y EJB controlados por mensajes. Se está diseñando una nueva especificación, la versión 2.1.
JNDI (interfaz de directorio y nombres de Java)
JNDI es importante cuando se desarrollan beans empresariales porque el acceso a un EJB se realiza a través del servicio de nombres JNDI. Utilice un servicio de nombres para buscar un objeto asociado con un nombre específico. En un contexto EJB, un servicio de nombres encuentra un bean empresarial, dado el nombre del bean. Por lo tanto, comprender JNDI es crucial para desarrollar una aplicación EJB. Además, JDBC puede utilizar JNDI para acceder a una base de datos relacional.
Otras herramientas Saber dónde encontrar herramientas de soporte específicas a menudo puede ayudar a que su carrera crezca. Por ejemplo, si se le asigna una tarea de evaluación comparativa, le alegrará saber que puede descargar Jmeter del Proyecto Jakarta de Apache. Además, si necesita enviar los resultados en formato PDF, se recomienda utilizar la biblioteca Java-PDF, que se puede descargar de forma gratuita desde http://www.lowagie.com/iText/ . La tecnología de Internet es amplia y se está desarrollando rápidamente. Esto significa que, como programador web, siempre debes prestar atención a las nuevas tecnologías que están surgiendo en la industria y a los eventos importantes que están sucediendo. No hay mayor recurso a este respecto que la propia Internet.
Sobre el autor:
Java para la Web
con Servlet, JSP y EJB
Budi Kurniawan es un consultor de TI que se especializa en Internet y programación orientada a objetos y enseña tecnologías Java y Microsoft. Es el autor del best-seller Java para la Web con Servlets, JSP y EJB: una guía para desarrolladores de soluciones escalables (New Riders), y desarrolló el Java Upload Bean más popular, que puede descargar desde BrainySoftware com. y muchas empresas importantes lo licenciaron y utilizaron en sus proyectos. Se puede contactar con Budi en [email protected] .