blog de willyxoft

Google App Engine

Como algunos han de saber Google ha puesto a disposición un entorno para aplicaciones web bajo la misma infraestrutura de sus aplicaciones llamado Google App Engine, el cual de momento sólo soporta python, pero existe la propuesta para que se soporte Java o Groovy en:

please add java or groovy support.

Favor de votar "marcando la estrella" (requiere autentificación) al lado del título del mensaje de la url anterior.

JDK 6 Update 4 con JAX-WS 2.1

Sun a liberado la actualización número 4 del JDK 6.0, el cual entre otras cosas incluye a JAX-WS 2.1 y JAXB 2.1, por lo que ya no será necesario utilizar el mecanismo de “endorsamiento” (Endorsed Standards Override Mechanism) de éstas APIs para utilizar Metro (WSIT).

Descarga de JDK/JRE 6.0 Update 4 en: Java SE Downloads.

Roadmap de Metro

Metro es un stack para servicios web propuesto por Sun, el cual contiene a JAX-WS (lo que incluye a JAXB, JAXP, StAX, SAAJ, etc.) y WSIT (WS-*). Se trata pues de una “ventanilla única” con todo lo necesario para construir servicios web, desde el más simple “hola mundo” hasta servicios web confiables, seguros y transaccionales que involucran a servicios WCF del . NET Framework.

Algunos puntos clave acerca de los futuros releases de Metro son:

Servicios Web con Java SE 6 (Parte 4)

Creando un Cliente muy simple para un Servicio Web muy simple

Ahora crearemos (en un directorio/proyecto distinto) el cliente para nuestro Servicio Web el cual debe estar publicado y en ejecución.

Primero necesitamos generar los artefactos cliente. Para ello utilizaremos la herramienta wsimport incluida en Java SE 6.0, a la cual le pasamos como argumento la ubicación del contrato del servicio, es decir el WSDL:

>wsimport http://localhost:8080/hello?wsdl

Esto generará las clases que encapsulan las operaciones para la invocación de los métodos del Servicio Web. En nuestro caso se generarán seis clases dentro del paquete ‘hello’, entre ellas estan las clases hello.HelloService y hello.Hello que utilizaremos directamente en nuestro cliente.

Una vez generados los artefactos cliente solo resta crear el cliente en sí, una simple aplicación de consola:

Servicios Web con Java SE 6 (Parte 3)

Con lo realizado en el post anterior ya tenemos un sencillo Servicio Web casi listo para ser desplegado en algún contenedor Java EE; no obstante podemos probarlo sin necesidad de uno si creamos un endpoint dentro de una aplicación que actuará como host del servicio web, tal como se ilustra en el siguiente código:

Listado de SimpleHelloWS.java

import javax.xml.ws.Endpoint;
import hello.Hello;

public class SimpleHelloWS {
  public static void main(String[] args) {
    String endpointAddress = “http://localhost:8080/hello”;
    Endpoint.publish(endpointAddress, new hello.Hello());
    System.out.println(”El Servicio Web Hello se está ejecutando…”);
    System.out.println(”WSDL: ” + endpointAddress + “?wsdl”);
  }
}

Servicios Web con Java SE 6.0 (Parte 2)

Creando un Servicio Web muy simple

Para ilustrar la creación de Servicio Web XML con el JAX-WS 2.0 incluido en Java SE 6.0 emplearemos el clásico ejemplo de Hola Mundo (posteriormente abordaremos otros ejemplos) el cual luce así:

Listado de Hello.java

package hello;
import javax.jws.WebService;

@WebService
public class Hello {
    private String message = new String(”Hola “);
    public String sayHello(String name) {
        String msg = message + name + “.”;
        System.out.println(msg);
        return msg;
    }
}

Servicios Web con Java SE 6.0

En Java SE 6.0 se incluye JAX-WS (Java API for XML Web Services). El siguiente listado muestra las APIs disponibles en Java SE 6.0 y sus paquetes correspondientes.

  • javax.xml.ws: Núcleo del API JAX-WS
  • javax.xml.soap: API para crear y construir mensajes SOAP
  • javax.jws: Metadatos para la creación de Servicios Web

La justificación para la inclusión de JAX-WS 2.0 como parte de Java SE 6.0 en lugar de en Java EE 5, es que la entrega de Servicios Web con JAX WS 2.0 no requiere de un contenedor de Servlet o EJB.

En próximas entradas se mostrará cómo utilizar las clases y herramientas de JAX-WS incluidas en Java SE 6.0 para fácilmente crear y publicar un Servicio Web así como su Cliente.

¡Hasta la próxima!

NOTA: Para una breve introducción a los Servicios Web leer: Guía Breve de Servicios Web.

¿Que es Java?

Podemos encontrar muchas respuestas a ésta pregunta por parte de colegas o en la misma Web. Las respuestas existentes seguramente involucren el hecho que además de ser un lenguaje de programación, Java es también una plataforma de desarrollo. También es posible que se mencionen cosas como Sun, JVM, Bytecode y Applets.

No obstante después de 10 años de Java ciertas cosas han cambiado. De modo que ahora la respuesta no debería centrarse en que Java sirve para hacer Applets, que su desarrollo depende únicamente de Sun, o incluir mitos sobre el bajo desempeño de la JVM.

Por ello Chris Adamson, en su artículo: What is Java?, publicado en ONJava.com, se propone responder la pregunta de acuerdo a los tiempos actuales, involucrando cosas como la compilación dinámica, Java EE, Open Source, GCJ, y el JCP: Java Community Process. Recomendado para aquellos quienes inician en Java así como para quienes aún piensan que Java sólo es para hacer applets...

ACTUALIZACION: Si deseas leer el artículo en español (castellano) puedes leer la traducción del mismo en javahispano.org: ¿Qué es Java?.

Distribuir contenido