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...viernes, 29 de noviembre de 2013
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...
Publicado por
Marcelino Guerrero
en
6:17
0
comentarios
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
Publicado por
Marcelino Guerrero
en
16:48
0
comentarios
miércoles, 30 de octubre de 2013
Recursividad de una funcion de Postgres
Aqui algo que realizamos en la oficina y que me parece super interesante, Recursividad de una funcion en Postgres.
Lo que hace es buscar una fecha en una tabla, si no la encuetnra resta dias y continua la busqueda hasta que encuentra le fecha.
CREATE OR REPLACE FUNCTION general.get_tipo_cambio_recursivo(xc_empresa character varying, xfecha date)
RETURNS numeric AS
$BODY$
declare
xc_empresa alias for $1;
xfecha alias for $2;
rstemp record;
xtipocambio numeric;
xfecha_recursiva date;
begin
xtipocambio=0;
for rstemp in select venta_contable from maestros.tipo_cambio
where estado=1 and c_empresa=xc_empresa and f_tc=xfechaloop
xtipocambio=rstemp.venta_contable;end loop;
if (xtipocambio is null or xtipocambio=0) then
xfecha_recursiva=xfecha-1;end if;
xtipocambio=general.get_tipo_cambio_recursivo(xc_empresa, xfecha_recursiva);
return xtipocambio;
end
$BODY$
LANGUAGE plpgsql VOLATILEContinúa...
COST 100;
Publicado por
Marcelino Guerrero
en
15:30
0
comentarios
lunes, 15 de julio de 2013
Bailables (lista de reproducción)
Recontra anticuchas!!!!
Me acorde de mi chiquititud ...
Publicado por
Marcelino Guerrero
en
12:13
0
comentarios
jueves, 2 de agosto de 2012
Formatear un USB en Linux Debian
Aqui los pasos que segui para formatear un Disco USB, espero les sea de utilidad:
# aptitude update
# aptitude upgrade
# aptitude install dosfstools
# fdisk -l
mke2fs 1.41.12 (17-May-2010)
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
Stride=0 blocks, Stripe width=0 blocks
610800 nodos-i, 2441216 bloques
122060 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=2499805184
75 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8144 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Escribiendo las tablas de nodos-i: hecho
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho
Este sistema de ficheros se revisará automáticamente cada 36 montajes o
180 dÃas, lo que suceda primero. Utilice tune2fs -c o -i para cambiarlo.
Luego de esto ya podemo montar nuestro disco y utilizarlos de la forma que deseamos o necesitamos. Continúa...
Publicado por
Marcelino Guerrero
en
12:24
0
comentarios
sábado, 23 de junio de 2012
Una funcion en Postgres que trabaja con Array
Aqui un modelo de trabajo con Array de tipo integer
Select pasa_array2('{{0,1,2,3,4}, {100,101,102,103,104}, {201,202,203,204,205}}'::integer[][])
CREATE OR REPLACE FUNCTION pasa_array2(var1 integer[][])
RETURNS integer AS
$BODY$
DECLARE
I INTEGER;
F integer;
BEGIN
FOR F IN 1..3 LOOP
RAISE NOTICE 'Fila --> %', F;
FOR i IN 1..4 LOOP
RAISE NOTICE '% - VALOR: %', I, var1[F][I];
END LOOP;
END LOOP;
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
Publicado por
Marcelino Guerrero
en
11:26
0
comentarios