viernes, 29 de noviembre de 2013

Que es XML?

XML, de las siglas en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. Provienes del lenguaje SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones se deben comunicar entre sí o integrar información. (Bases de datos Silberschatz). XML no ha nacido sólo para su aplicación para Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable. XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil. Ventajas Es extensible: Después de diseñado y puesto en producción, es posible extender XML con la adición de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicación alguna. El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML. Esto posibilita el empleo de cualquiera de los analizadores disponibles. De esta manera se evitan bugs y se acelera el desarrollo de aplicaciones. Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla. Mejora la compatibilidad entre aplicaciones. Podemos comunicar aplicaciones de distintas plataformas, sin que importe el origen de los datos, es decir, podríamos tener una aplicación en Linux con una base de datos Postgres y comunicarla con otra aplicación en Windows y Base de Datos MS-SQL Server. Transformamos datos en información, pues se le añade un significado concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos. Considero apropiado mencionar que actualmente trabajo con archivos XML para la transferencia de información con Aduanas, estos archivos contienen información de la carga de exportación. Si bien esta en periodo de pruebas, la ley indica que esta transferencia será obligatoria desde el 01 de enero del próximo año. Ejemplo de respuesta XML de la SUNAD 5 Para este caso lo que nos importa es el dato contenido en el TAG , el 5 indica que el Manifiesto Maritimo no ha sido encontrado.

Continúa...

Servicios con bajo acoplamiento

Servicios con bajo acoplamiento: hace referencia al nivel de dependencia entre servicios, entre el proveedor y el consumidor. Cuanto menos acoplamiento se logra una mayor independencia para el diseño del servicio y su posterior evolución Considero que este es el que mas se aplica a mi organizacion y a la forma en que trabajo , esto debido a que independiza a cada Servicio y da libertad para la implementacion de cada uno o nuevos servicios. Ejemplo de uso: Al ser estos procesos distintos y con requerimientos independientes por parte de Aduanas, considero necesario contar con dicha independencia. Por ejemplo, las transmisiones de las Importaciones tienen un limite de tiempo, 48 horas, al arribo dde la nave y en Exportaciones el tiempo es mayor y varia del destino. Asi mismo, un Consignatario en exportaciones no es de gran importancia para Aduanas, sin embargo, en la importacion es el principal a manifestar. Con un ejemplo, indique como un Servicio implementado podria no cumplir con el servicio elegido. Quizas podria aplicarse en los Servicios o Cargos que se cobran en la Impo o Expo, si bien hay un estandar de servicios dependera del origen, las restricciones y ciertas exigencias de cada puerto o pais. Por poner un ejemplo, en EEUU no permiten el ingreso de madera, aun que sea en las paletas, si no han cumplido ciertas normas de desinfeccion.

Continúa...

WS-Security (Seguridad en Servicios Web)

1.- Resumen de la especificación WS-Security (Seguridad en Servicios Web) es un protocolo de comunicaciones que suministra un medio para aplicar seguridad a los Servicios Web. Utiliza dos mecanismos esenciales: La integridad y confidencialidad de los mensajes y Autenticación de un mensaje individual. 2. Describa con un ejemplo en que caso aplica el uso de la especificación. Es muy utilizado para tokens de seguridad combinados con firma digital. Esto se utilizan generalmente para operaciones bancarias. 3. Investigue con que tecnologías puede desarrollar una solución que cumpla con la especificación. Considero que se requiere como minimo el siguiente entorno: - Máquina Virtual Java - Servidor Web: Apache Tomcat - Motor de servicios web Apache Axis2 1.4.1 con el módulo de Rampart 1.4 - El IDE de su preferencia

Continúa...

miércoles, 27 de noviembre de 2013

RESTFUL - en que consiste?

En que consiste?
Es un software de estilo arquitectonico, que consiste en un conjunto de reglas de diseño que identifican los tipos de componentes y conectores que puedan usarse para componer un sistema o subsistema; en el mundo de los servicios web REST es un lenguaje de diseño clave que abarca una arquitectura cliente-servidor sin estado en el que los servicios web son vistos como recursos y se puedan identificar por su URL. REST es una descripcion analitica de la arquitectura web existente, por lo que la interaccion entre el estilo y el protocolo HTTP subyacente parece perfecta, a diferencia de los servicios web basados en SOAP,que tienen un vocabulario estandar para describir la interfaz de servicio web basado en SOAP, que tiene un vocabulario estandar para describir la interfaz de servicio web a traves de WSDL, servicio web RESTfull actualmente no tienen gramatica.
Como implementarlo?

Para poder implementar un servidor web rest se tienen que tener presente los siguientes puntos:
1.-Utilizar los metodos HTTP de manera explicita.- Los servicio web REST es el uso explicito de los metodos HTTP, se defince como un metodo productor de datos. REST hace que los desarrolladores usen los metodos HTTP explicitamente de manera que resulte consistente con la definicion del protocolo. Este principio de diseño basico establece una asociacion one-on-one entre las operaciones de crear, leer, actualizar y borrar los metodos HTTP. De acuerdo a los protocolos POST, GET, PUT, DELETE
2.-No mantiene estado.- Los servicios sin estado son muchos mas simple de diseñar, escribir y distribuir através de multiples servidores. Un servcio sin estado no solo funciona mejor, sino que ademas mueve la responsabilidad de mantener el estado no solo funciona mejor, sino que ademas mueve la responsabilidad de mantener el estado al cliente de la aplicacion. En un servicio web Rest, el servidor es responsable de generar las respuestas y proveer unainterfaz que le permita al cliente mantener el estado de la aplicacion por su cuenta.
3.- Expone URL con forma de directorios.- La URI determina que tan intuitivo va a ser el web service REST, identifiquemos a las URI como una interfaz auto-documentada que necesita de muy poca o ninguna explicacion o referencia para que un desarrollador pueda comprender a lo que apunta, y a los recursos derivados relacionados.
4.- Transfiere XML, JavaScript Object Notation (JSON), o ambos.
Tenologia y especificaciones relacionadas:
Se puede implementar en Ruby y .Net
Referencias:
www.oracle.com/technetwork/articles/javase/index-137171.html

Continúa...