domingo, 25 de noviembre de 2012

Faltan ingenieros y programadores bilingües - El Colombiano

Faltan ingenieros y programadores bilingües - El Colombiano


Una muy buena mirada al mundo de la programación en el país, solo una perqueña correción a la información suministrada: Steve Jobs nunca programó.

Como hacer web services con Zend

 
Zend es un Framework para el desarrollo en PHP, lo que permite el desarrollo de la estructura permítiendo el desarrollo de aplicaciones Modelo-Vista-Controlador. De una forma eficiente.

Lo primero que se debe hacer es instalar Zend Framework, se puede descargar de: http://www.zend.com/en/products/server/downloads hay varios blogs que muestran como hacer este proceso, algunos usan xampp o zend server. Los links los dejo al final.
  
Luego de tener instalado y probado el zend, pasamos a la creación de un web service y un consumidor. Para esto primero debemos entender un poco de que se trata esto. Los web services permiten de forma estandar la integración de aplicaciones web mediante el uso de SOAP, XML, WSDL, UDDI entre otros. Esto permite la interacción de diferentes tecnologias sin necesidad de que sean iguales. Los WSDL son usados como descripciones de los servicios de los servicios web, SOAP se ocupa de la transferencia de los datos y XML es usado para la descripcion de los datos.

Para este ejemplo no es necesario hacer toda la estructura MVC, solo tener la librerias necesarias.

Empecemos:

Vamos a utilizar el componente Zend_Soap que permite la creación de los web services. 
Nuestro ejemplo se divide en tres partes:
myws.php → Tiene la implementación de los métodos
ws.php → genera el wsdl
client.php → invoca el wsdl y llama a los métodos con parámetros válidos

Lo primero es crear en nuestro directorio htdocs una carpeta llamada testSOAP la cual contendrá nuestros tres archivos anteriores y nuestra carpeta Zend con las librerias.

Lo primero es crear los métodos del web services: myws.php

 
1    <?php
2       
3      
/**
4       * Web service methods
5       */
6      
class myws
7      
{  
8          
/**
9           * Get the add of two numbers
10           *
11           * @param   int  $one   The first number
12           * @param   int  $two   The second number
13           * @return  int
14           */
15          
public function sumita($one$two)
16          {
17              
$add $one+$two;
18       return 
$add;
19          }
20  
21          
/**
22           * Get the add of two numbers
23           *
24           * @param   int  $one   The first number
25           * @param   int  $two   The second number
26           * @return  string
27           */
28          
public function restica($one$two)
29          {
30              
$minus $one-$two;
31       return 
sprintf('%d - %d = %d',$one,$two,$minus);
32          }
33            
34          
/**
35           * Get the add of all the numbers of array
36           *
37           * @param   array  $numbers  Array with numbers
38           * @return  int
39           */
40          
public function vectoAdd($numbers)
41          {
42              foreach(
$numbers as $actual)
43       {     
44            
$val $val+$actual;               
45       }
46            return 
$val;
47          }               
48       }
49  
?>


 
Luego de tener listo esto, vamos a crear nuestro ws.php



1    <?php
2      require_once('myws.php');
3   
4      if (
$_SERVER['QUERY_STRING'] == 'wsdl'
5       {
6          require_once(
'/../Zend/Soap/AutoDiscover.php');
7   
8          
$auto = new Zend_Soap_AutoDiscover();
9          
$auto->setClass('myws');
10          
$auto->handle();
11      }
12      else 
13       {
14          require_once(
'Zend/Soap/Server.php');
15   
16          
$wsdl sprintf(
17              
'http://%s%s?wsdl',
18              
$_SERVER['HTTP_HOST'],
19              
$_SERVER['SCRIPT_NAME']
20          );
21   
22          
$soapServer = new Zend_Soap_Server($wsdl);
23          
$soapServer->setClass('myws');
24          
$soapServer->handle();
25      }     
26  
?>


Ahora por último creamos el cliente al que llamaremos en el navegador: localhost/testWS/client.php

1   <?php
2      
require_once('Zend/Soap/Client.php');
3   
4       
$url 'http://localhost/testSOAP/ws.php?wsdl';
5   
6              
$client = new Zend_Soap_Client($url);
7  
8       echo 
$client->sumita(3,27);
9       echo 
"<br />\n";
10       echo 
$client->restica(10,3);
11       echo 
"<br />\n";
12       
$vect = array(3,2,5,1,5);
13       echo 
$client->vectoAdd($vect);
14  
?>



Para comprobar que todo funcione de manera correcta, primeros lanzamos:
http://localhost/testSOAP/ws.php?wsdl el cual en el navagador nos debe mostrar el wsdl que tiene la descripción de los servicios del web services.





-->
Asi pues vemos como construir un web services y su consumidor.
Links:

 

Como conectar Oracle con PHP


1. Instalar Oracle, PHP o zend server
2. crear BD en Oracle y tener el tsnames.ora
3. script php:

error_reporting (E_ALL);
$tnsName     = '//tnsNamedelaBD';  
$username     = 'usuario';
$password     = 'contraseña';
$conector = oci_connect($username, $password, $tnsName);

if (!$conector) 
{
      $e = oci_error();
echo 'Falla la conexión:'.htmlentities($e['message']);
} else 
{
    echo 'Conecto OK!';
    oci_close($conector);
}
?>

lunes, 12 de noviembre de 2012

Calabazas electrónicas Halloween 2012

Con los compañeros de la empresa nos pusimos en la tarea de crear nuestras calabazas para adornar nuestros respectivos lugares de trabajo para el Halloween 2012. 

El resultado :


sábado, 20 de octubre de 2012

Nuevas monedas Colombianas



Estas son los nuevos formatos de las monedas de 500, 200, 100 y 50 pesos que circulan en el mercado colombiano  y el  retorno de la momeda de 1000 pesos que había desaparecido debido a su facilidad para su falsificación.

domingo, 14 de octubre de 2012

COLCOM 2013 - IEEE Colombian Conference on Communications and Computer

Invitación: CALL FOR PAPERS

COLCOM 2013 - IEEE Colombian Conference on Communications and Computer
Mayo 22 al 24 de 2013, Medellín, Colombia
Página del evento: http://ieee-colcom.org/


Apreciados integrantes IEEE Colombia, 

El presente es con el fin de invitarlos a enviar sus trabajos, artículos a la 6ta Conferencia Colombiana de Comunicaciones y Computación (COLCOM 2013 - IEEE Colombian Conference on Communications and Computer). COLCOM 2013 es la conferencia IEEE más importante en Colombia que busca mostrar los avances y desarrollos de la comunidad académica, científica e industrial en las diferentes áreas de las telecomunicaciones y la computación. En esta versión el tema principal son “TIC para el desarrollo”, las Tecnologías de la Información y la Comunicación – TIC – son consideradas el motor impulsor del desarrollo de una región o país, permitiendo disminuir la brecha digital. Para lograr esto se hace necesario ampliar la cobertura de las redes de transporte y acceso y proveer servicios y aplicaciones que permitan acercar la tecnología cada vez más a la sociedad. Motivamos la presentación de trabajos técnicos, especialmente en temas relacionados con este tema.

Los trabajos serán revisados por un comité técnico internacional de acuerdo con el procedimiento estándar de IEEE. Los trabajos aceptados serán presentados en sesiones orales y serán publicados en las memorias de la conferencia (base de datos IEEExplore, incluyendo ISBN).
 

Temas de interés (Topics of interest)
 
Los temas de interés son los siguientes (aunque no limitados):

TIC sostenibles y eficiencia energética
Smart grids
Arquitecturas y modelos
Seguridad de información en Smart grids
Pruebas y experiencias de implementación
Integración de Smart grids a las redes actuales

Aplicaciones TIC para el desarrollo de las regiones
Atención de desastres
E-salud, E-commerce, E-health
Internet of things
Software de comunicación, servicios y aplicaciones multimedia
Técnicas de simulación
Modelamiento de redes

Próxima generación de redes e internet
Redes inalámbricas y cableadas
Comunicaciones y seguridad de la información
Switching and routing 
Redes de fibra óptica y de alta velocidad
Redes de acceso
Internet del futuro
Sistemas de comunicación y procesamiento de señales 
Diseños cross-layer
QoS 
 
Envío de trabajos
Los artículos deben ser originales y enviados en versión digital (formato PDF), usando el enlace respectivo en este sitio web. Los artículos deben tener el formato estándar de doble columna para conferencia de IEEE. Se permite un máximo de seis (6) páginas por artículo (en fuente de 10 puntos), incluyendo las ilustraciones y referencias. Si el artículo está escrito en español, el título y resumen (abstract) deben estar en inglés, para poder incluir el artículo en la base de datos IEEExplore.

Fechas importantes
Fecha límite para recepción de artículos: 29 de Marzo de 2013
Notificación de aceptación: 20 de Abril de 2013
Fecha límite de artículo definitivo: 27 de Abril de 2013

domingo, 9 de septiembre de 2012

arduino Duemilanove + ethernet shield

Hace un tiempo habia estado con ganas de conectar los robots y diferentes dispositivos que realizo a internet. Una de las opciones que mas me gusto fue la tarjeta ethernet para arduino que vende I+D Electronica.

Esta tarjeta cuenta con un chip Ethernet w5100 de Wiznet el cual provee IP para nuestro (cliente/servidor). Muy importante para tener encuenta es no utilizar los pines 10,11,12,13 porque estos son los que usa Arduino para comunicarse con la tarjeta Ethernet.

Inicialmente pude observar que la tarjeta trae 4 pines adicionales y que mi Arduino Duemilanove no los tiene. Pero estos pines no afectan para las pruebas que realice.

Lo primero que debemos hacer antes de conectar las dos placas, es revisar la tarjeta ethernet en la parte trasera, ya que ahi esta la dirección MAC. Luego si : arduino concetado al computador y la tarjeta al router.

Después debemos abrir el Arduino, vamos a Archivo->Ejemplos->Ethernet->DhcpAddressPrinter, este programa nos permite obtener la IP de la tarjeta. Quemamos el programa y abrimos el Monitor Serial. El mensaje que salio para mi caso es My IP address: 192.168.1.15

Ahora vamos a ver nuestro arduino como un servidor: Esto permitira obtener datos del arduino y mostrarlo en una pagina web cuando se invoque la ip dada anteriormente.
Vamos a Archivo->Ejemplos->Ethernet->WebServer y cambiamos el arreglo definido como mac y la dirección ip, por nuestros valores.

Luego quemamos el programa, e ingresamos a un navegador, escribimos la ip y debe aparecer algo así:

analog input 0 is 367
analog input 1 is 355
analog input 2 is 333
analog input 3 is 319
analog input 4 is 289
analog input 5 is 326

La próxima es prender un led enviando información en la url.




JS -2: Tricks and tips

El objecto global de JS es el window. una varaible vive dependiendo de su scope.