JavaServer Faces (JSF) es una tecnología y framework para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE. JSF usa JavaServer Pages (JSP) como la tecnología que permite hacer el despliegue de las páginas, pero también se puede acomodar a otras tecnologías como XUL (acrónimo de XML-based User-interface Language, lenguaje basado en XML para la interfaz de usuario) JSF incluye: Un conjunto de APIs para representar componentes de una interfaz de usuario y administrar su estado, manejar eventos, validar entrada, definir un esquema de navegación de las páginas y dar soporte para internacionalización y accesibilidad. Un conjunto por defecto de componentes para la interfaz de usuario.… Continuar leyendo


RMI (Java Remote Method Invocation) es un mecanismo ofrecido por Java para invocar un método de manera remota. Permite que un objeto ejecutándose en un JVM llame a métodos de otro objeto que esta en una JVM diferente. Para plataformas diferentes se necesitaría SOAP o CORBA. RMI se caracteriza por la facilidad de su uso en la programación por estar específicamente diseñado para Java; proporciona paso de objetos por referencia (no permitido por SOAP), recolección de basura distribuida (Garbage Collector distribuido) y paso de tipos arbitrarios (funcionalidad no provista por CORBA). A través de RMI, un programa Java puede exportar un objeto, con lo que dicho objeto estará accesible a… Continuar leyendo


Una de las prácticas habituales en los desarrollos, es la creación de script sql incrementales. Con lo que comenzamos con script de creación de tablas, script de inserción de datos etc etc … y, a medida que avanza el desarrollo, cada uno de los desarrolladores va creando scripts con las modificaciones oportunas que le exige la tarea que está llevando a cabo. Esta práctica hace del proceso de cambios de base de datos un proceso totalmente manual, que puede llevar a confusiones, sobre todo debido a que es muy posible no saber que scripts se han ejecutado y cuales faltan… Continuar leyendo


En éste artículo vamos a ver como utilizar Jersey con las mismas funcionalidades que ya creamos con RESTEasy (suma dos números y devuelve el resultado), por ese motivo, recomiendo que primero lean todo éste artículo:  Web Service Rest (RESTEasy) con Java EE Antes de empezar, veamos unos ejemplos de anotaciones que podemos usar con Jersey: @GET: Indica que el método anotado corresponde a una petición HTTP GET. @POST: Indica que el método anotado corresponde a una petición HTTP POST. @HeaderParam: Enlaza una cabecera http al parámetro de un método. @HttpMethod: Asocia un método con el nombre de un método HTTP .… Continuar leyendo


En el artículo anterior (éste) describí como crear y utilizar un servicio web SOAP, que suma dos números y devuelve el resultado. En este nuevo artículo vamos a crear un sistema similar, pero esta vez haciendo uso de la otra alternativa por excelencia a la hora de crear servicios web, y no es otra de utilizar servicios web tipo REST. Las famosas APIs que publican muchos de los sitios web actualmente no son más que servicios web de este tipo, aunque en la mayoría de los casos con medidas de seguridad adicionales tales como autenticación OAuth o similares. Dado el auge u omnipresencia que están… Continuar leyendo


SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Este protocolo deriva de un protocolo creado por Dave Winer en 1998, llamado XML-RPC. SOAP fue creado por Microsoft, IBM y otros. Está actualmente bajo el auspicio de la W3C. Es uno de los protocolos utilizados en los servicios Web. Como caso de ejemplo, vamos a crear una aplicación sencilla capaz de realizar una suma. La librería a utilizar es Metro, que es una implementación de Java: JAX-WS. Requerimientos de software  Java Software Development… Continuar leyendo


Maven es una herramienta de software para la gestión y construcción de proyectos Java creada por Jason van Zyl, de Sonatype, en 2002. Es similar en funcionalidad a Apache Ant (y en menor medida a PEAR de PHP y CPAN de Perl), pero tiene un modelo de configuración de construcción más simple, basado en un formato XML. Estuvo integrado inicialmente dentro del proyecto Jakarta pero ahora ya es un proyecto de nivel superior de la Apache Software Foundation. No voy a entrar en detalle con las funcionalidades, base de datos utilizada, y demás de la aplicación web ya que lo… Continuar leyendo


Parte II del tutorial. Ahora continuamos creando los controladores. Para comenzar deben de crear un nuevo package que se llame controller. Una vez que lo creen hacer click derecho en dicho package -> nuevo -> Servlet -> Siguiente -> Marcar la opción Add Information a (web.xml) -> Terminar. Se deben de crear los siguientes controladores: CiudadController y ClienteController. CiudadController .java ClienteController .java – Ahora solamente nos queda crear las vistas (Páginas JSP): La vista index.jsp hay que editarla y dejarla así – Para crear nuevas vistas se necesita hacer click derecho -> web -> JSP en la carpeta Web Pages, ya que… Continuar leyendo


Introducción En éste tutorial utilizaremos el patrón MVC, donde las páginas JSP actúan como vistas, la base de datos como el modelo y los Java Servlets que manejan todos los eventos actúan como controladores. Usaremos  Hibernate como herramienta ORM para el acceso de datos. Aunque esta es una explicación muy simplificada, espero que les pueda servir para que puedan iniciarse. Requerimientos de software  Java Software Development Kit: JDK IDE: NetBeans (preferentemente, con todas las características y con Tomcat Application Server) Base de datos: PostgreSQL JDBC Driver para PostgreSQL: JDBC Nota: Hibernate y PostgreSQLConnector vienen con Netbeans, es posible que no tenga que descargar nada… Continuar leyendo