feed twitter facebook LinkedIn facebook

Eventos » SOA World 2007

Noviembre 2, 2007 por Víctor Cuervo . 3601 visitas Sin Comentarios Imprimir Imprimir

Los próximos dias 12 y 13 de Noviembre, 2007 se celebra en San Francisco el SOA World 2007.

Las sesiones se dividen en varios temas:

  • Web 2.0/AJAX y SOA
  • Estandares y servicios de interoperabilidad
  • SOA en el mundo real
  • Tecnoligia SOA
  • Virtualización

En las sesiones se hablará sobre multitud de temas: mashups, soa y la web 2.0, SOBA, patrones y anti-patrones, governance soa, RIA y SOA, wikis, Complex Event Processing,...

Los precios de un "Golden Pass" es de $1895: Puedes realizar tu inscripción.

Puedes ver más información en: web de SOA World 2007

Eventos » BEA World 2007

Septiembre 18, 2007 por Víctor Cuervo . 9623 visitas 2 Comentarios Imprimir Imprimir

BEA Entre los próximos días 2 y 4 de Octubre se celebra en Barcelona el BEA World 2007.

Continue reading BEA World 2007...

Eventos, WebServices » JSWeb 2007

Septiembre 10, 2007 por Víctor Cuervo . 4823 visitas Sin Comentarios Imprimir Imprimir

El 12 y 13 de septiembre se celebra en Zaragoza las III Jornadas Científico-Técnicas en Servicios Web y SOA. Conocido como JSWeb 2007.

Continue reading JSWeb 2007...

Eventos, Software » Eclipse Summit Europe

Septiembre 10, 2007 por Víctor Cuervo . 9812 visitas 4 Comentarios Imprimir Imprimir

EclipseEl 10 y 11 de Octubre se celebra en Ludwigsburg (Alemania) el Eclipse Summit Europe.

Continue reading Eclipse Summit Europe...

Java » Servlet que devuelve XML

Noviembre 2, 2006 por Víctor Cuervo . 12660 visitas 2 Comentarios Imprimir Imprimir

Ahora que los desarrollos se están moviendo a arquitecturas SOA empezamos a ver que nos aparecen servicios por todos los lados. Es cierto que no se habla mucho de cómo se desarrollan dichos servicios, ya que las presentaciones de arquitectura SOA suponen que "estaban ahí".

Supongo que los sistemas legados de hace años ya estaban pensando en SOA y dejando sus interfaces lo más correctos posibles. Que no tenian datos en los interfaces de contrato datos relativos a la pantalla en la que se ejecutaban (esos terminales verde marciano) y que solo devolvían negocio.

Ahora que yo todavía no me he encontrado ningún "servicio del pasado" que solo maneje negocio. Y es por ello que tienes que acabar maleandolo para que deje unos datos lo suficientemente claros cómo para que sean consumidos en un entorno SOA.

En esta evolución nos encontramos que los servicios de los servidores ya no devuelven presentación, sino que ahora, en bastantes casos, devuelven solo negocio. Y qué mejor que utilizar el XML para describir dicho negocio.

Una de las posibilidades en estos casos es ir a un enfoque de Webservices. Posiblemente la más puritna. Si bien, es verdad que, los Webservices todavía no se encuentran en su punto más algido y tienen ciertas cosas que mejorar: velocidad, versionado, transaccionalidad,...

Un enfoque más sencillo es el de montarse un Servlet que nos devuelva un contenido XML.

Para poder hacer esto, lo primero que tenemos que hacer es crearnos una clase que extienda de HttpServlet.

  1. public class RespuestaXML extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {...}

Como todos sabemos los servlets tienen dos métodos para procesar las peticiones, dependiendo de como sean estas (GET o POST). Estos métodos son doGet y doPost. Podemos coger cualquierda de los dos para implementar nuestro ejemplo.

Dentro del método de procesado de la petición lo primero que tenemos que hacer si queremos devolver XML es establecer el tipo de contenido que devolverá elServlet. Para ello utilizamos el método .setContentType del objeto HttpServletResponse.

  1. Response.setContentType("text/xml");

Con esto le estamos diciendo al cliente receptor de la petición que el contenido que le va a llegar en dicha petición es XML.

Una vez tenemos definido el tipo de contenido lo siguiente es volcar contenido XML a la salida. Para ello deberemos de obtener un PrintWriter sobre el objeto HttpServletResponse.

  1. PrintWriter out = response.getWriter();

Y ahora empezar a volcar datos XML sobre la salida...

  1. out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?><nombre>Linea de Codigo</nombre>");

En nuestro caso solo estamos devolviendo una etiqueta con el nombre de la web.

Es importante en este punto el recordar que los documentos XML empiezan con la siguiente cabecera:

  1. <?xml version="1.0" ?>

Aunque no extrictamente necesaria es buena práctica incluirla antes de nuestro contenido XML.