Introduccion a Java EE

Componentes y servicios Java EE

Internet y WWW representan el fundamento sobre los cuales se está construyendo la economía de la información.

La meta de JEE es definir un estándar que ayude a suplir los retos tecnológicos en esta nueva era.

JEE soporta aplicaciones distribuidas que toma ventajas de las tecnologías existentes y en desarrollo simplificando el proceso a través de un modelo de aplicaciones basados en componentes.

JEE soporta aplicaciones desde las C/S corporativas hasta e-commerce con Web en Internet.

Defines estándares que son implementados por distintos proveedores y fabricantes, no fuerza a emplear ningún producto específico.

Máxima interoperabilidad (Web services, IIOP, RMI, etc.).

“Conjunto de especificaciones y prácticas coordinadas que juntas permiten soluciones para el desarrollo, despliegue y gestión de aplicaciones multicapa centradas en servidor”.

En conclusión…

La plataforma de Java EE es un conjunto de especificaciones en el API que te permiten construir aplicaciones web.

Las funcionalidades de Java EE están basadas en Contenedores y componentes

Los componentes web

  • Java Servlets
    • Clases escritas en Java que procesan peticiones HTTP y construyen respuestas
  • JavaServer Pages (JSP)
    • Documentos basados en texto que contienen dos tipos de texto
      • una plantilla de datos estática que puede expresarse en un formato como (X)HTML o XML
      • elementos JSP que determinan cómo la página construye el contenido dinámico
  • JavaServer Faces (JSF)
    • Componentes de interfaz de usuario para aplicaciones web

Los componentes de negocio

  • Lógica que resuelve las necesidades de un determinado dominio de aplicación
  • Enterprise beans (EJBs)
    • Pueden procesar datos recibidos del lado cliente y enviarlos al nivel de sistema de información para su almacenamiento
    • Pueden recuperar datos del sistema de información, procesarlos y enviarlos al cliente
    • Tipos de EJBs
      • Bean de sesión
        • Una conversación con un cliente
      • Bean dirigido por mensajes
      • Permite que un componente de negocio pueda recibir mensajes asíncronamente, normalmente con el Java Message Service (JMS)

Los clientes en Java EE son

  • Clientes web: navegadores web, páginas web, applets
  • Aplicaciones de cliente

Estructura de una aplicación web

Denominamos aplicación web a las herramientas que los usuarios pueden utilizar accediendo a un servidor; ya sea en Internet o en Intranets

La estructura más habitual para este tipo de aplicaciones es de tres niveles, aunque podemos verla también como cuatro niveles

  • Nivel Cliente: Proporcionado por un navegador o una aplicación cliente, Corre en la máquina del usuario.
    • Si es un navegador, esperara recibir HTML, CSS, Javascript, …..
    • Si es una aplicación, puede esperar mensajes con un formato definido….
  • Nivel Vista: Se compone de un conjunto de objetos orientados totalmente a controlar la presentación de la información. Se encargan de generar los mensajes que se enviaran al cliente, por ejemplo, el HTML, y el CSS, si nuestro cliente es un navegador.
    • Podemos utilizar JSF, Java, PHP, ASP,
    • Nosotros nos centraremos en utilizar JSP
  • Nivel Capa de Negocio. Contiene toda la lógica de la aplicación, se encarga de resolver el trabajo que debe hacer la aplicación
    • Podemos utilizar Java, Perl, PHP,
    • Nosotros lo realizaremos con Servlets de Java
  • Nivel de Persistencia. Contiene las herramientas para acceder a la base de datos para obtener o guardar la información
    • Nosotros utilizaremos Java y MySQL

Si nos paramos a pensar un momento, vemos que el nivel vista y el nivel cliente es el mismo, ya que en el servidor esta como vista, y se envia al cliente…luego, de lo que estamos hablado, es de construir aplicaciojnes siguiendo el patron MVC del que ya habiamos hablado anteriormente, solo tenemos que asumir que la capa de negocio está resuelta en los controladores y servicios, y la capa de persistencia está tambien resuelta en los modelos y servicios (de repositorio)

Ventajas:

  • Ahorra tiempo: Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar ningún programa.
  • No hay problemas de compatibilidad: Basta tener un navegador actualizado para poder utilizarlas.
  • No ocupan espacio en nuestro disco duro.
  • Actualizaciones inmediatas: Como el software lo gestiona el propio desarrollador, cuando nos conectamos estamos usando siempre la última versión que haya lanzado.
  • Consumo de recursos bajo: Dado que toda (o gran parte) de la aplicación no se encuentra en nuestro ordenador, muchas de las tareas que realiza el software no consumen recursos nuestros porque se realizan desde otro ordenador.
  • Multiplataforma: Se pueden usar desde cualquier sistema operativo porque sólo es necesario tener un navegador.
  • Portables: Es independiente del ordenador donde se utilice (un PC de sobremesa, un portátil, un movil) porque se accede a través de una página web (sólo es necesario disponer de acceso a Internet). La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones para asegurar la continuidad del mismo.
  • Los virus no dañan los datos porque éstos están guardados en el servidor de la aplicación.

Desventajas:

  • Ofrecen menos funcionalidades que las aplicaciones de escritorio. Las funcionalidades que se pueden realizar desde un navegador son más limitadas que las que se pueden realizar desde el sistema operativo. Tenemos que reconocer que cada vez este problema se va reduciendo, gracias al empleo de Javascript y Ajax.
  • La disponibilidad depende de un tercero, el proveedor de la conexión a internet o el que provee el enlace entre el servidor de la aplicación y el cliente. Así que la disponibilidad del servicio está supeditada al proveedor.

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Desarrollo Web, Divulgacion, Java y etiquetada , , , . Guarda el enlace permanente.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.