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ó.
Un blog para todos, de Linux, PHP, Java, Python, Processing, .NET, Arduino, Rugby ,Electrónica, Robótica y Sistemas.
domingo, 25 de noviembre de 2012
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 ?>
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
Comité: http://ieee-colcom. org/comite-2/
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.
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.
Suscribirse a:
Entradas (Atom)
JS -2: Tricks and tips
El objecto global de JS es el window. una varaible vive dependiendo de su scope.
-
Hace poco un amigo me pregunto sobre un código para calcular el tiempo de una ejecución de un código en JAVA. Pues acordándome que hace algú...
-
El objecto global de JS es el window. una varaible vive dependiendo de su scope.
-
Call for Papers COLCOM 2020 IEEE Colombia has chosen Cali as the venue for the 13th IEEE Colombian Conference on Communications and Compu...




