Académique Documents
Professionnel Documents
Culture Documents
Universidad Mariano Glvez de Guatemala Centro Universitario de Quetzaltenango Seminario de Tecnologas de la Informacin Cristian Caldern A continuacin describiremos cuales son estas capas: 1. 2. 3. 4. Capa del Cliente: sus componentes corren en la mquina del cliente. Capa Web: sus componentes corren sobre el servidor Java EE. Capa de Negocio: sus componentes tambin corren sobre el servidor Java EE. Capa de sistemas de informacin empresarial (EIS por sus siglas en ingls): que es el software que corre sobre un servidor EIS (Bases de Datos, Data Center, ERP, Sistemas Antiguos, etc.). 2
Universidad Mariano Glvez de Guatemala Centro Universitario de Quetzaltenango Seminario de Tecnologas de la Informacin Cristian Caldern
3 Componentes Java EE
Como habamos mencionado una aplicacin Java EE est dividida en componentes. Un componente es una unidad de software funcional e independiente que ha sido ensamblada dentro de una aplicacin Java EE. Los componentes que se definen en la especificacin de Java EE son los siguientes: Las aplicaciones del cliente y los Applets que corren del lado del cliente. Java Servlet, JavaServer Faces y JavaServer Pages que son componentes de la capa web y se ejecutan del lado del servidor. Enterprise JavaBeans que son componentes de la lgica de negocio que tambin se ejecutan del lado del servidor.
Todos los componentes son escritos en Java y son compilados de la misma forma que cualquier otro programa escrito en Java con la diferencia de que los componentes Java EE son ensamblados dentro de una aplicacin, adems estos son compilados y verificados segn la especificacin de Java EE.
3.1 Clientes
Cuando hablamos de un cliente nos referimos a una aplicacin que se ejecuta en el equipo del usuario, estos por lo general suelen ser navegadores web, aplicaciones que se ejecutan locamente o bien plugin's o mini aplicaciones en el navegador. 3.1.1 Clientes Web Cuando hablamos de un cliente web tenemos que tener en consideracin que estos estn conformados por las pginas web escritas en cualquier lenguaje de marcado como HTML y XML por ejemplo, todas estas son generadas por los componentes que corren en la capa web del servidor; y el navegador web propiamente dicho, que es el encargado de interpretarlas y mostrarlas al usuario. A veces a estos clientes se les suele llamar thin clients o clientes ligeros, debido a que no ejecutan consultas SQL o alguna funcin de la lgica del negocio. 3.1.2 Applets Un Applet es una pequea aplicacin cliente escrita en Java que se ejecuta en el navegador a travs de una mquina virtual instalada en el navegador (por lo general es un plugin). 3.1.3 Aplicaciones Cliente Una aplicacin cliente se ejecuta en el ordenador del usuario, estas proveen una interfaz ms rica para realizar las tareas de los usuarios que la que nos podra brindar un lenguaje de marcado. Generalmente estas aplicaciones acceden directamente a la capa de negocio de la aplicacin Java EE. Tambin si es necesario estas pueden abrir una conexin HTTP e interactuar con los servlet de la capa web. Cabe destacar que una aplicacin escrita en otro lenguaje tambin puede interactuar con un servidor Java EE.
Universidad Mariano Glvez de Guatemala Centro Universitario de Quetzaltenango Seminario de Tecnologas de la Informacin Cristian Caldern
4.1 MVC
Modelo Vista Controlador es un patrn o modelo de abstraccin de desarrollo de software que consiste en dividir una aplicacin clsica en la cual diferenciamos la interfaz de usuario y la lgica del negocio en tres partes distintas. Una breve descripcin de estas partes seria: Modelo: Es la representacin de la informacin del sistema. Vista: Es la presentacin del modelo en un formato adecuado para que el usuario interacte con la misma. Controlador: Recibe datos e instrucciones de la Vista o de la misma aplicacin, se encarga de procesar dichos datos y responder las peticiones que se le hacen.
Universidad Mariano Glvez de Guatemala Centro Universitario de Quetzaltenango Seminario de Tecnologas de la Informacin Cristian Caldern Resulta bsico comprender este patrn para facilitar la construccin una aplicacin en Java EE. Desarrollar una aplicacin bajo el patrn MVC consiste bsicamente en realizar una serie de pasos que nos facilitaran su construccin, estos pasos generalmente son: 1. Realizar un mapeo objeto-relacional, que consiste en a partir de una base de datos crear los modelos necesarios que representen las tablas o unidades de informacin que utilizaremos en la aplicacin. 2. Desarrollar la lgica del negocio, en este paso vamos a crear todas los mtodos y funciones que nos permitirn procesar de una forma adecuada las solicitudes del usuario, y hacer que las entidades persistan en la BD tambin cuando se solicite. 3. Disear las Vistas, en este paso vamos a crear una interfaz que permita al usuario interactuar con la aplicacin ya sea mostrando la informacin solicitada o permitiendo al usuario solicitar nueva informacin. 5
Para facilitar el mapeo, JPA usa el concepto de configuracin por excepcin. La configuracin por excepcin consiste en definir reglas de mapeo por defecto (por ejemplo el nombre de la tabla es el mismo que el de la entidad). Con esto solo tendremos que modificar o realizar las anotaciones con las que no estemos satisfechos y dejar al proveedor de persistencia (puede ser otra API como JDBC) el resto. A continuacin presentamos un cdigo de ejemplo:
Universidad Mariano Glvez de Guatemala Centro Universitario de Quetzaltenango Seminario de Tecnologas de la Informacin Cristian Caldern @Entity @Table(name="usuario") public class Usuario implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) @Basic(optional=false) @Column(name="id") private Integer id; @Basic(optional=false) @Column(name="nick", length=45) private String nombre; //Constructores, mtodos get y set } Toda entidad debe de tener la anotacin @Entity para considerarse una, tambin debe implementar la interfaz Serializable y por ultimo tener al menos un atributo con la anotacin @Id. Las etiqueta @Table personaliza el nombre de la tabla si este no es igual al de la entidad, @GeneratedValue especifica cmo se generara el Id, @Basic y @Column nos sirve para personalizar los atributos como podemos observar. 6
Universidad Mariano Glvez de Guatemala Centro Universitario de Quetzaltenango Seminario de Tecnologas de la Informacin Cristian Caldern @Stateless public class Usuario { @PersistenceContext(unitName = "aplicacionPU") private EntityManager em; public Usuario findUsuarioById(int id) { return em.find(Book.class, id); } public Usuario createUsuario(Usuario usuario) { em.persist(usuario); return usuario; } } Observamos primero la anotacin @Stateless que nos define dos cosas, la primera que es un EJB y la segunda que es un Bean de tipo Stateless. Luego declaramos un contexto de persistencia @PersistenceContext con el nombre de la unidad de persistencia, esta unidad la podemos crear con un archivo XML manualmente o bien en el caso de NetBeans la creara por medio de un asistente; tambin tenemos que declarar un EntityManager (variable em) que nos servir para manipular la entidad. Por ultimo observamos dos mtodos, uno que nos permitir buscar una entidad a partir de un id y el segundo que persistir al usuario que le proporcionemos al EJB. 4.3.2 ManagedBeans Un ManagedBean es una clase Java especializada que sincroniza valores con componentes, procesos de la lgica de negocios y administra la navegacin entre pginas. Un ManagedBean tambin puede manejar eventos como creacin de entidades, consultas, etc. Un ejemplo de un ManagedBean podra ser el siguiente: @ManagedBean public class UsuarioController { @EJB private UsuarioEJB usuarioEJB; private Usuario usuario = new Usuario(); public String crearUsuario() { usuario = usuarioEJB.createUsuario(usuario); return "listUsuario.xhtml"; } // Getters, setters } Una vez ms nos topamos ante un POJO con una anotacin, en este caso la anotacin @ManagedBean. Luego si observamos tambin posee una anotacin @EJB que hace referencia al Bean que se desea controlar. Por ultimo tenemos a una Entidad del tipo de Usuario y su respectivo mtodo para hacerla persistir por medio del EJB, este mtodo nos dirigir a una vista en este caso listUsuario.xhtml. 7
Universidad Mariano Glvez de Guatemala Centro Universitario de Quetzaltenango Seminario de Tecnologas de la Informacin Cristian Caldern