sábado, 14 de diciembre de 2013

Hacer Ping en una sola línea a todo un rango de IP (Utilizando lDOS)

La forma sencilla es la siguiente:


FOR /L %i IN (2,1,254) DO ping -n 1 192.168.1.%i | FINDSTR "TTL" >> ping.txt

Luego podemos abrir el archivo ping.txt

El modelo lo tomé del siguiente Link:

http://www.taringa.net/posts/hazlo-tu-mismo/17227530/Ping-a-toda-una-red-en-una-sola-linea-cmd.html

Continúa...

viernes, 6 de diciembre de 2013

NetBeans 6.9: Creando un servicio RESTful

Vídeo demostrativo de cómo crear un servicio RESTful usando NetBeans 6.9. Se asume que existe una conexión a una base de datos. En este caso es la base de datos Sample de Apache Derby. Aparecen ciertos mensajes de error, ya que la versión del IDE utilizada es la de desarrollo. Termina la creación del Service REST creando un acceso desde el NetBeans vía el .wadl El video aqui

Continúa...

martes, 3 de diciembre de 2013

Servicio REST y el uso de JSON

A continuación mostraremos el uso de json para codificar y decodificar información en el proyecto usando el servicio rest.
public function busca()
{
if ($this->_verificaSesion() == FALSE OR $this->session->userdata('opc_cotizacion') == FALSE)
{
redirect(base_url(),'refresh');
}
else
{
$xdato1 = $this->input->post('xdato1');
$xdato2 = $this->input->post('xdato2');
$xdato3 = $this->input->post('xdato3');
$xcontrol = $this->input->post('xcontrol');
$xpagina=$this->input->post('xpagina');
$xnum_reg_por_pagina=15;

$xreg_inicio_busqueda=($xpagina-1)*$xnum_reg_por_pagina;
if ($xcontrol == '1')
{
$c_empresa=$this->session->userdata('xc_empresa');
$this->load->model('venta/cotizacion_modelo');
$xdatobusq=$this->cotizacion_modelo->lista_por_pagina($c_empresa,
$xdato1,$xdato2,$xdato3,$xnum_reg_por_pagina,$xreg_inicio_busqueda);
$jasonxdatobusq=json_encode($xdatobusq);
// Se codifica el resultado obtenido para comunicar con la grilla
echo $jasonxdatobusq;
}
else
{
redirect(base_url(),'refresh');
}
}
}

Esta función sirve para guardar, se convierte la grilla en una cadena JSON para su posterior uso y decodificación.


$('#guarda').click(function(){
var xRpta=valida_grabar();
if (xRpta=="OK")
{
var xGridDataServicio=$("#gridServicio").jqGrid('getRowData');
var xGridDataServicioJson=JSON.stringify( xGridDataServicio);
$('#x_cotizacion_det').val(xGridDataServicioJson);

$('#x_control').val('1');
$('#myForm').submit();
}
else
{
alert(xRpta);
}
});
Declaración de la grilla Jqgrid que trabaja con la data en formato JSON string.
// Retorna la información en forma de JSON y la grilla lo interpreta para ser llenada.
var xdataGrid={"page":"1","total":1,"records":"3", "rows": [{"c_informe":"000000000016","c_empaque":"6P","x_empaque":"COMPOSITE PACKAGING, GLASS RECEPTACLE","peso":"2500.000","volumen":"63.000","q_bultos":"8"}] };

$("#gridServicio").jqGrid({
datatype: "jsonstring",
datastr: xdataGridServicio,
colNames:['c_articulo','Articulo','Cantidad','V.Unitaria','IGV','Total'],
jsonReader : {
repeatitems:false
},
rowNum:1000,
rowList:[10,20,30],
pager: jQuery('#gridpager'),
sortname: '',
viewrecords: true,
sortorder: "asc",
caption:"Articulos",
hidegrid: false,
height:150,
cellEdit: true,
cellsubmit: 'clientArray',


Para obtener la presentacion hacer clic aqui

Continúa...

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...

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=xfecha
loop
xtipocambio=rstemp.venta_contable;
end loop;
if (xtipocambio is null or xtipocambio=0) then
xfecha_recursiva=xfecha-1;
xtipocambio=general.get_tipo_cambio_recursivo(xc_empresa, xfecha_recursiva);
end if;

return xtipocambio;

end
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;

Continúa...

lunes, 15 de julio de 2013

Bailables (lista de reproducción)



Recontra anticuchas!!!!
Me acorde de mi chiquititud ...

Continúa...