Crear un Web Service con Java + Spring + CXF + Maven

Que tal amigos, despues de larga ausencia … 2 años prácticamente!! cambios y mas cambios .. vuelvo a retomar la escritura de mi blog, esta vez va en serio! jejej. En esta ocasión he estado interesado en la tecnología de JAVA. Principalmente en el manejo y desarrollo de apllicación con el Framework de Spring .. sin duda, un framework muy poderoso y fácil de usar.. solo es cuestion de revisar conceptos básicos y listo! . En esta ocasión les traigo un video en donde muestro como crear Web Services con Spring 3.1, así mismo, usando otro poderoso framework de WS llamado CXF y facilitandonos la vida con la creación y administración de librerias por medio de MAVEN.

Espero les sea muy útil este video y puedan aprovechar el contenido!. Muchas gracias y esperen más videos. Estaré publicando como crear un Web Service con WCF , tambien una tecnología muy útil y poderosa.

Saludos!!

Web Services con CXF

Que tal amigos, despues de larga ausencia … 2 años prácticamente!! cambios y mas cambios .. vuelvo a retomar la escritura de mi blog, esta vez va en serio! jejej. En esta ocasión he estado interesado en la tecnología de JAVA. Principalmente en el manejo y desarrollo de apllicación con el Framework de Spring .. sin duda, un framework muy poderoso y fácil de usar.. solo es cuestion de revisar conceptos básicos y listo! . En esta ocasión les traigo un video en donde muestro como crear Web Services con Spring 3.1,  así mismo, usando otro poderoso framework de WS llamado CXF y facilitandonos la vida con la creación y administración de librerias por medio de MAVEN.

Espero les sea muy útil este video y puedan aprovechar el contenido!. Muchas gracias y esperen más videos. Estaré publicando como crear un Web Service con WCF , tambien una tecnología muy útil y poderosa.

Saludos!!

http://youtu.be/JWJYtmpH3rU

 

DIFERENCIAS ENTRE UN WEB SERVICE EN ASP.NET Y WCF

 

La mayoría de las veces buscamos algún tutorial de como levantar un servicio web, y el primero que nos topamos lo llevamos a cabo. Sin embargo, el framework .NET nos provee de diversas herramientas que nos facilitan la creación de Web Services, en este casó nos da la posibilidad de crearlos en dos de sus actuales tecnologías:

  • ASP.NET
  • WCF ( Windows Communication Foundations ).

Windows Communication Foundation (WCF) es la plataforma de última generación de Microsoft diseñada para la creación de sistemas distribuidos. Se lanzó al mercado como parte de .NET Framework 3.0 con la idea de consolidar y ampliar las API de versiones anteriores de Framework (por ejemplo, los servicios web ASP.NET, .NET Remoting, Enterprise Services (COM+) y Message Queuing).

Es por esto que les explicaré a continuación una breve descripción de algunas de las diferencias en utilizar alguna de ellas. Algo que debemos de tener claro es que ambas van a cumplir un mismo objetivo,  permitir el desarrollo de aplicaciones distribuidas, es decir, proveer de servicios que lleven a cabo la lógica de negocios, en este caso, a través de un componente de negocio; Web Service.

Se que esta definición de Web Service es un poco vaga, por lo que  les describiré un poco mas a detalle que es un Web Service de manera breve.

¿Qué es un Web Service?

Un servicio Web es un componente de negocio que proporciona una función útil a los clientes, o los consumidores. Un servicio Web puede ser pensada como un componente verdaderamente con accesibilidad global si se tiene los derechos de acceso adecuados, puede hacer uso de un servicio Web desde cualquier lugar en el mundo, siempre y cuando el ordenador está conectado a Internet. servicios Web utilizan un estándar, con el protocolo Hypertext Transfer Protocol (HTTP), para transmitir  datos y  formatos de datos portátiles que se basan en XML. HTTP y XML son a la vez tecnologías normalizadas que puedan ser utilizados por otros entornos de programación fuera de  Microsoft. NET Framework. Se pueden crear servicios Web utilizando Microsoft Visual Studio 2008. Las aplicaciones cliente se ejecutan en un entorno totalmente diferente, como Java, y también se puede crear servicios Web utilizando Java y escribir aplicaciones cliente en C #.

Con Visual Studio 2008, se puede crear servicios Web utilizando Microsoft Visual C + +, Microsoft Visual C # o Microsoft Visual Basic. Sin embargo, en cuanto a una aplicación de cliente se refiere, la lenguaje utilizado para crear el servicio Web, e incluso cómo el servicio Web realiza sus tareas, no es necesariamente importante. La opinión de la aplicación del cliente de un servicio Web es una interfaz que expone una número de métodos bien definida, conocido como métodos Web. Toda la aplicación cliente lo que necesita hacer es llamar a estos métodos Web utilizando los protocolos estándar de Internet, paso de parámetros en un formato XML y recibiendo también respuestas en un formato XML. Uno de los impulsores de las recientes liberaciones del sistema operativo Windows, el . NET Framework, y sus asociados las herramientas de desarrollo es el concepto de la programación " Web. "La idea es que usted puede construir sistemas mediante el uso de los datos y los servicios prestados por múltiples servicios Web. Los servicios web proporcionan los elementos básicos de los sistemas, la Web proporciona los medios para acceder a ellas.

¿En qué difiere ASP.NET y WCF ?

En el caso de los web services basados en ASP.NET , estos utilizan la clase de XmlSerializer , encargada de guardar o recuperar una representación Xml de un objeto, y de esta forma transformar los datos desde o hacia un servicio.

Sin embargo, este tiene algunas limitaciones como:

  • El XmlSerializer sólo tendrá en cuenta las variables y propiedades públicas de la clase.
  • El objeto debe ser de una clase que tenga un constructor por defecto (sin parámetros)
  • Las clases que implementan el interface IDictionary, como por ejemplo el HashTable, no se pueden serializar. Para ello hay que crear una que no implemente el interface.

En el caso de WCF usa los atributos DataContractAttribute y DataMemeberAttribute para transformar los datos a XML.

[DataContract]
public class Item
{
    [DataMember]
    public string ItemID;
    [DataMember]
    public decimal ItemQuantity;
    [DataMember]
    public decimal ItemPrice;

}

En cuanto a  su programación, en ASP.NET se utiliza el atributo WebService para definir a la clase del servicio, y el atributo WebMethod, para definir a cualquier método de la clase, como se muestra a continuación:

Ejemplo:

[WebService]
public class Service : System.Web.Services.WebService
{
    [WebMethod]
    public string Test(string strMsg)
    {
       return strMsg;
    }
}

En el caso de WFC,  el servicio se codifica de la siguiente manera:

[ServiceContract]
public interface ITest
{
    [OperationContract]
    string ShowMessage(string strMsg);
}
public class Service : ITest
{
    public string ShowMessage(string strMsg)
    {
        return strMsg;
    }
}

El atributo ServiceContract  especifica que una interface define el Servicio WCF y el atributo OperationContract  indica cual de los metodos de la interface define las operaciones del servicio de tipo Contract, en este caso, la interface.

Esta son algunas de las diferencias que podemos encontrar entre usar WCF y ASP.NET para la creación de un Web Service. Les comento que una de las características fundamentales de WCF es la robustez en cuanto a la seguridad del servicio, en donde el mismo framework en WCF ofrece las herramientas necesarias para la seguridad del servicio.

Instalar Windows XP desde un USB!

Que tal, bueno les informo que estoy por postear un mini Tutorial sobre como instalar windows XP desde un USB o Memoria Flash o cualquier dispositivo externo!. Cuantas de las veces tenemos a alguien conocido que tiene un PC que no dispone de una unidad de CD o que simplemente no le sirve, o las famosas mini Laps, que no cuentan con unidad de CD; en ocaciones un gran problema!.

Bueno espero les agrade, estoy trabajando en ello, y en cuanto lo tenga listo lo posteare!, mientras asegurense de tener un CD de Windows Xp original o que no sea modificado ( clasica versión unattended ).
Saludos!

Acelera Windows 7!

Como  es conocido, las caracteristicas principales o que destacan en la nueva generación de los sitemas operativos, es la velocidad con que el sistema inicia. Recordemos que Windows Vista presentaba un poco esta limitando ( segundos, minutos, horas xD) en cuanto al inicio del sistema. Ahora bien, Windows 7 ha mostrado una gran mejoria en cuanto ante esta problematica, sin embargo podemos acelerar aún mas la velocidad de inicio.

Para esto sigamos los siguientes pasos:

  1. Presiona el boton de inicio de Windows 7 ( circulo con emblema de Windows).
  2. Escribe  «msconfig»  sin las comillas y presiona enter.
  3. Dirigete a la pestaña «boot» y posteriormente da click en «opciones avanzadas».
  4. Ahora si, si nuestra computadora esta equipada con  mas de 2 procesaroes ( ya sea  Dual o Quad), tendremos que elegir el numero de procesadores que el sistema va a usar para iniciar al sistema. En mi caso selecciono 2  y acepto los cambios.

Como podemos ver, windows 7 tiene  un gran numero de opciones, que si sabemos aprovecharlas, tendremos un sistema operativo con un rendimiento al 100%.

SUMMIT 2010 !!!

Bueno como es  de costumbre y muy alentador! cada año se lleva acabo un evento llamada Summit , en donde los estudiantes mas  destacadas del país  conocidos como Microsoft Student Partners, se reunien para compartir ideas y nuevas experencias en el mundo de la tecnologia. Este año no fue la excepción,  pues dicho evento se realizó en el Estado de México, en  un lugar muy agradable y confortador  valle de bravo.

Fue muy motivante el asisitir y convivir con estudiantes de todas partes del país. Conocí a  compañeros de aguascalientes, oaxaca, guadalajara, tabasco, chiapas, etc. y pues obviamente una conviencia y  compañerismo  completamente satisfactorio.  Espero  en la siguiente entrada publicar completamante las actividades que realizamos durante nuestra estnacia de bravo ( mientras consigo todas las fotos jeje) y de esta forma darles a conocer las grandiosas oportunidades que Microsoft México y su equipo académico es capaz de brindarnos como grandes estudiantes y apasionados a su gran tecnología.