lunes, 18 de diciembre de 2017

Conceptos Básicos Java Enterprise Edition

En la entrada anterior vimos una introducción rapida y general de la especificación JEE, en esta entrada veremos algunas de sus principales carácteristicas o conceptos básicos, conceptos fundamentales para el trabajo JEE.


servlet

Los servlets llegan con la especificación j2ee y básicamente son un componente web escrito en java que se usa para extender la funcionalidad del protocolo http, es una clase java que extiende de httpServlet y hace uso de los métodos doGet y doPost para procesar peticiones y respuestas.



Dentro del código de la clase creábamos código html embebido y lo hacíamos mediante un string que luego se retornaba y se transformaba en la página web, lo que claramente era un poco desorganizado pues se mezcla código java con código html.
 

JSP

Los java server pages son páginas que permiten vincular parte de lógica java, si en los servlet tenemos una clase y metemos código html aquí es lo contrario, estas permiten crear contenido web dinámico que luego se procesa traduciendo el jsp a un servlet que es compilado y ejecutado

JSF

Java server faces es un framework para la capa de presentación, puede usar páginas jsp o xhtml para la construcción de las páginas web y se crea como solución para independizar la lógica de negocio de la capa de presentación gracias al patrón MVC pues como se mencionó tanto los servlets como los jsp permitían esta mezcla de códigos.

Jsf permite la reutilización de componentes de la interfaz de usuario, hace uso de etiquetas jsf para vincular diferentes componentes gráficos así como validaciones a formularios directamente desde la página. 


Beans / java beans

Un bean es una clase java compuesta por un constructor vacio, métodos set y métodos get, los típicos pojos que alguna vez hemos escuchado,  estos permiten ser la referencia directa de nuestras páginas, si por ejemplo tengo un formulario para el registro de personas, podría tener mi clase PersonaBean que haga referencia a los diferentes campos con el fin de que el sistema los pueda procesar.

EJB

Un Enterprise java bean es un componente del servidor que encapsula la lógica de negocio de una aplicación.


Es el eje central del concepto de componentes ya que estos pueden ser portables, reutilizables, escalables, pues como se menciona encapsulan comportamientos de la lógica de negocio que luego son desplegados en un contenedor para proveer servicios.

En la especificación j2ee  se debían crear interfaces remotas y locales para poder darle vida al ejb pero en jee5 con la nueva versión se vuelve mas fácil el desarrollo de esta lógica de negocio gracias al uso de anotaciones, de esta manera podemos convertir un bean normal en un ejb al que le daremos una nueva implementación o uso dentro de nuestro sistema, permitiendo características como seguridad, procesos asíncronos, trabajo con webservices, inyección de dependencias, mensajería entre otros.

Anotaciones.

Ya antes hemos usado anotaciones, cuando heredamos o implementamos métodos encontramos la anotación @override lo cual nos indica que estamos sobreescribiendo algo por ejemplo, esta y otras anotaciones son incluidas por defecto en java, para la parte web y principalmente desde jee5 las anotaciones forman parte activa de todo el proceso ya que nos proporcionan un contexto adicional a nuestro sistema, gracias a estas podemos podemos reducir bastante procesos que se realizaban antes.


Por ejemplo Como se mencionó anteriormente en la j2ee debíamos hacer uso del descriptor de despliegue y reglas de navegación para poder comunicar nuestras páginas con los ejb ahora este proceso es opcional ya que gracias al uso de anotaciones se puede hacer directamente ahorrándonos tiempo considerable en desarrollo, otro ejemplo ya mencionado es el tema de las entidades, podemos anotar una clase como entity y con esto indicamos que hace referencia a una entidad de la base de datos, lo que no ahorra tener que implementar el patrón DAO.

Contenedor

Cuando trabajamos con jse y compilamos un proyecto java normal, estamos haciendo uso de los servicios que nos provee la máquina virtual de java, en entorno web es igual, además de la máquina virtual hacemos uso de un contenedor, siendo este  lo que conocemos como un servidor de despliegue, el que nos permite instalar nuestro sistema y desplegarlo, básicamente esa instalación consiste en la ejecución de los archivos empaquetados los cuales son hubicados dentro del contenedor que proporciona el entorno necesario para que los componentes ejb puedan vivir y ejecutarse sin problema.


¿Donde encuentro más?

Existen muchas mas características y elementos a tener en cuenta en torno a java web, sin embargo quise contar solo la generalidad y a medida que vamos avanzando iremos conociendo muchas mas.

En los próximos videos y entradas empezaremos a configurar nuestro ambiente de desarrollo para poder crear un primer proyecto web.

 
En mi blog y en mi canal les he venido compartiendo material en torno a este gran lenguaje de programación, pueden encontrar muchos artículos y vídeos desde cero, les muestro como descargar las herramientas necesarias para empezar a programar, vamos subiendo cada vez más por los conceptos básicos, pasando por los conceptos de programación orientada a objetos, patrones, hilos, estructuras de datos, acceso a bases de datos entre otros,  hasta construir aplicaciones con interfaces grafías de usuario.

Además podrán encontrar un curso desde cero donde les enseño a crear aplicaciones móviles en android mediante una secuencia de vídeos paso a paso que constantemente se está actualizando.


Y ahora iniciaré la secuencia también desde cero donde nos adentraremos al mundo del java Enterprise edition, les mostraré como configurar el ambiente de desarrollo y como crear sus primeras aplicaciones web con java.


Por eso los invito a que visiten a codejavu.blogspot.com, que visiten mi canal Cristian Henao y que estén muy pendientes de las nuevas secuencias


Y Tu!!!... Que otras ventajas o Desventajas conoces? Anímate y comparte tu opinión....


También te podría Interesar. 

¿Hay algo que quieras anexar o comentar sobre esta entrada?  no dudes en hacerlo.....y si te gustó, te invito a compartir y Suscribirte ingresando al botón "Participar en este sitio" para darte cuenta de mas entradas como esta ;)

 

2 comentarios:

  1. This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting.
    artificial intelligence internship | best final year projects for cse | internship certificate online | internship for mba finance students | internship meaning in tamil


    ResponderEliminar
  2. Casino City: New Jersey - Dr.MCD
    Casino City, New Jersey is home to some of 여주 출장안마 the 진주 출장샵 hottest casinos 속초 출장안마 in the nation. We 용인 출장마사지 offer a variety of table 김해 출장안마 games, progressive jackpots, video poker,

    ResponderEliminar

Eres libre de realizar cualquier comentario, desde que pueda ayudar con gusto lo atenderé, y si es un critica, bienvenida sea!!!