Tecnologías de la Sociedad de la Información

Servicios y Tecnologías que aportan valor añadido a la Sociedad de la Información

Artículos por j2ee

Para ahorrar tiempo a todos los que van a crear un servicio web teniendo que conectar desde un cliente en PHP que no utiliza el WSDL. Como no se utiliza el WSDL del servidor, la estructura de la comunicación SOAP la establece el cliente, en este caso el cliente en PHP.

El problema radica en varios puntos:

  1. Saber cual es el location del servicio y el uri para pasarlo como parametros a la clase de PHP
  2. Saber como es la estructura del mensaje SOAP del cliente PHP y aplicarla al wsdl para definir los tipos

continua leyendo…

Envers: Easy Entity Auditing
The Envers project aims to enable easy auditing/versioning of persistent classes. All that you have to do is annotate your persistent class or some of its properties, that you want to audit, with @Audited. For each audited entity, a table will be created, which will hold the history of changes made to the entity. You can then retrieve and query historical data without much effort.

http://www.jboss.org/envers

Ha pasado mucho tiempo desde el último post que escribí, pero realmente han sido unos meses duros. Ha habido cambio de ciudad y cambios profesionales, y no he tenido el tiempo suficiente como para sentarme a volver a escribir en el blog. Ya os adelanto que los cambios profesionales desembocarán en nuevos y (espero) interesantes tutoriales. En el proyecto en el que me encuentro, estamos utilizando seam, lucene, EJB3, JSF… en fin, mucho sobre lo que escribir. Pero de momento me centraré en cerrar el círculo que había quedado pendiente.

En este tutorial veremos como crear un web service a partir de un wsdl, y en el próximo (y último antes de cambiar de tema) veremos como crear un cliente a partir de un web service dado.

Como reza la entrada del post, utilizaremos JAXWS para crear nuestro WS de ejemplo. Vamos a ello, viendo los pasos que tendremos que realizar:

continua leyendo…

The Eclipse Persistence Services Project (EclipseLink) project’s goal is to provide a complete persistence framework that is both comprehensive and universal. It will run in any Java environment and read and write objects to virtually any type of data source, including relational databases, XML, or EIS systems. EclipseLink will focus on providing leading edge support, including advanced feature extensions, for the dominant persistence standards for each target data source; Java Persistence API (JPA) for relational databases, Java Architecture for XML Binding (JAXB) for XML, J2EE Connector Architecture (JCA) for EIS and other types of legacy systems, and Service Data Objects (SDO).

eclipselink-overview1

The EclipseLink project provides a runtime persistence solution focussed on leading standards and extended functionality needed for today’s enterprise Java and SOA application development. EclipseLink offers support for:

EclipseLink is a sub-project of the Runtime Project

Oracle TopLink 11g, an advanced object-relational persistence framework based on the open source EclipseLink project, introduces seamless integration with Oracle Coherence, flexible Object-XML binding, and provides out-of-the-box compatibility with Oracle WebLogic Server and Java frameworks including Oracle Application Development Framework (ADF) 11g.
Oracle will also now provide professional commercial support for EclipseLink.
EclipseLink is based on a previous version of Oracle TopLink, which Oracle contributed to the Eclipse Foundation in 2006.

Enlace a EclipseLink

jersey_yellow1 Jersey es un código abierto (bajo la doble licencia CDDL+GPL),  producida por Sun Microsystems, incluye la calidad de la producción, JAX-RS (JSR 311)  como Implementación de Referencia para construir Servicios Web RESTful. Pero, también es algo mas que una implementación de Referencia. Jersey proporciona un API que permite a los desarrolladores ampliar Jersey para alcanzar sus necesidades. La “governance policy” es la misma que la del proyecto GlassFish

¿Tiene alguna pregunta sobre JAX-RS o Jersey? Dejanos tu comentario 

Wiki

Puede unirse a la Comunidad Wiki para el Proyecto Jersey en http://wikis.sun.com/display/Jersey/Main. Estas paginas contienen una valiosa documentación sobre JAX-RS y Jersey. Contiene información sobre como empezar con Jersey, asi como información de desarrollo mas compleja de aplicaciones basadas en Jersey, con ejemplos y mucho mas. Es el lugar para todas las cosas de JAX-RS y Jersey

Versión

Jersey 1.0.2 utilizando JAX-RS 1.0.

Objetivos

  • Realizar un seguimiento del API de JAX-RS y proporcionar “releases” de la implementación de Referencia
  • Desarrollar una producción de calidad de la Implementación de Referencia
  • Obtener un API que permita ampliar Jersey
  • Construir una comunidad de usuarios y desarrolladores
  • Se suministra con GlassFish y finalmente..
  • Facilita la construcción de Servicios Web RestFul, utilizando JAVA y la maquina virtual de JAVA

Hola de nuevo a todos. Proseguimos con la serie de tutoriales sobre Web Services, y en esta ocasión veremos como crear un web service con JAXWS a partir de un POJO. En nuestro ejemplo haremos un WS que simulará una aplicación de servicio meteorológico. Permitirá consultar la previsión del tiempo de una ciudad para los próximos cinco días, así como el tiempo para una fecha en concreto. Omitiremos la parte de consulta a base de datos, para centrarnos en la parte que nos interesa, que es el propio web service. Para el desarrollo de nuestro WS utilizaremos Eclipse y la versión 2.1.2 de JAXWS.

Los pasos que realizaremos para crear el WS serán:

  • Creación de la clase java
  • Ejecución del wsgen
  • Modificación del fichero web.xml
  • Creación del fichero sun-jaxws.xml
  • Creación del fichero de despliegue de la aplicación (war)

continua leyendo…

Volvemos de nuevo con los tutoriales sobre Web Services, y empezamos a centrarnos en JAXWS.

JAXWS es el API java para el desarrollo de WS XML, forma parte de la distribución J2EE de Sun y al igual que otras APIs utiliza las anotaciones para el despliegue de las aplicaciones.

continua leyendo…

Los Web Services fueron pensados en un inicio para que no mantuvieran estados de las sesiones. Es lógico que si lo que estamos ofreciendo es un servicio, no sea necesario que se mantenga información de las consultas anteriores. Si por ejemplo tenemos un WS que sirve información de la bolsa, en cada consulta se mandará la información que se ha solicitado, pero no necesitamos saber cosas acerca de las consultas anteriores. El servicio es una consulta, y la respuesta es independiente de las anteriores.

Pero como siempre, las cosas evolucionan, y siempre hay gente que necesita darle una vuelta de tuerca a todo. Así que quizás estéis creando un WS y necesitáis que se guarde el estado de cada petición. De hecho a nosotros nos pasó. Teníamos que montar una capa intermedia para que conectara y consultara con un gestor documental, pero además una de las necesidades que había es que se mantuviese abierta la conexión durante un tiempo determinado. Son estas cosas que te vienen dadas, y que no otra que buscarte la vida para ver como lo implementas. continua leyendo…

En este nuevo tutorial vamos a ver como crear un Web Service a partir del wsdl con Axis2. El wsdl es un xml schema en el que se describe el WS, los métodos que son accesibles, y el formato de los mensajes SOAP que acepta. Tienes más información aquí.

Para crear un WS, siempre deberíamos empezar escribiendo el wsdl, para pasar después a picar el código de la lógica de negocio que estará en la clase java que recibirá los datos en el WS. De esta forma tendremos controlado los mensajes SOAP que se envían y reciben en nuestro WS, y nos evitaremos problemas a posteriori.

En nuestro ejemplo, vamos a hacer un webservice que permita realizar búsquedas de viajes. No vamos a tener conexión con ninguna base de datos, así que simularemos esta conexión mediante otra clase.

Los pasos que vamos a seguir para crear el WS serán los siguientes:

  • Escribir el wsdl.
  • Utilizar el script wsdl2java de Axis2 para crear las clases y el services.xml del WS a partir del wsdl.
  • Escribir la lógica de negocio.

continua leyendo…

En esta nueva entrada de nuestros tutoriales sobre Web Services, vamos a ver cómo crear un WS con Axis2 a partir de una clase Java que hemos creado previamente (POJO).

Para desplegar un WS con Axis2 necesitamos las librerías de Axis2, crear el fichero wsdl que define la estructura de los mensajes SOAP que aceptará el WS, y el fichero services.xml que le indicará a Axis2 las clases y métodos que serán accesibles desde el mismo. Las librerías ya las tenemos (suponemos que ya has instalado Axis2 en tu equipo, y si no es así puedes visitar este tutorial en el que explicamos los pasos para realizarlo), el services.xml tendremos que crearlo a mano, y el wsdl lo generaremos a través de un script que trae Axis2. Pero vayamos paso a paso:

continua leyendo…