jump to navigation

Windows Live Writer 2011 agosto 21, 2010

Posted by xibian in Hobbies.
add a comment

Hola, retomando el blog , a los tiempos… espero que todos esten pasando bien y en este tiempo sin leernos, independiente de la tecnologia que estudian hayan aprendido mucho.

Ahora estoy escribiendo desde Windows Live Writer 2011 , es un producto interesante, se conecta directamente con mi espacio en Windows Live Spaces y ademas tiene conexion con otros proveedores de blogs, eso esta muy bueno si quieres conectarlo con WordPress , Blogger, Joomla ,etc.

La interfaz de usuario esta muy bien, guarda relacion al diseño de los productos office , con ribbon y toda la experiencia de usuario que nos ayuda a realizar nuestras tareas de manera inteligente.

Punto a favor, tiene integracion con Bing maps, puedes insertar un mapa con tu ubicación, dando 2 simples clicks a insertar…

 

Tienes muchos emoticones:

etc

Ademas es extensible y puedes agregar plugins…

Tienes también las opciones de Edición,, puedes ver un preview o si deseas puedes ver el codigo HTML,,, si tu gusta bloggear, esta herramienta de microsoft te va a ayudar , no la pierdas de vista , Windows Live Writer Beta.

Descargalo aqui explore.live.com/windows-live-writer

Hasta la próxima,

Diego.

Jornadas Tecnologicas en Chone octubre 13, 2009

Posted by xibian in General.
add a comment
Hola a todos,
 
Estamos en las jornadas en CHone y todo va muy bien.

Servicios Web WCF con PHP julio 18, 2009

Posted by xibian in General.
1 comment so far

Hola, si bien días atras habiamos definido NuSoap como la herramienta para consumir el servicio web WCF, debido a incovenientes que teniamos con los tipos de datos , por ejemplo si en el WCF devolviamos un string en php al mostrar el resultado nos mostraba un  char.

Este hecho motivo a iterar el plan de desarrollo con una nueva herramienta que es la extensión soap nativa de php , la cual soporta especificaciones SOAP 1.1 , SOAP 1.2 y WSDL 1.1 según su página oficial.

Instalación de las extensiones SOAP php

Cabe mencionar que estamos usando Windows 7 con IIS7 corriendo en el puerto 80 para el WCF service y Wamp 2.0 cuyo Apache corre en el puerto 88, en esta entrada del blog aprendimos como .

1. Abrimos la consola del wamp y nos dirigimos a PHP > PHP settings >  allí encontraremos todas las extensiones disponibles por wamp, entre las cuales está la extensión SOAP que deseamos habilitar.

 

2. Buscamos y habilitamos dando click sobre php_soap , el wamp2.0 automaticamente se reiniciará para cargar la nueva configuración.

Tendremos instalada la extension SOAP en PHP.

 

Escribiendo el Servicio WCF

Escribiremos un servicio que reciba dos parámetros numéricos y luego retornará la suma de ambos números.

1. Abrimos Visual Studio como administrador, seguiremos en el ejemplo trabajando con el TestService que creamos en un post anterior.

2. Dando click derecho sobre la solución TestService agregamos un nuevo item de tipo WCF Service y le llamamos Operaciones.svc.

 

3. Visual Studio nos creará lo siguiente, un archivo Operaciones.svc, el archivo IOperaciones.cs interface que contiene la declaración de nuestro método sumar y Operaciones.cs que es la clase que implementa la interface IOperaciones.cs.

4. Abrimos IOperaciones.cs y declaramos el método sumar como [OperationContract], definiendo que devuelve un double y que recibe dos parámetros.

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Linq;
   4: using System.Runtime.Serialization;
   5: using System.ServiceModel;
   6: using System.Text;
   7:  
   8: // NOTE: If you change the interface name "IOperaciones" here, you must also update the reference to "IOperaciones" in Web.config.
   9: [ServiceContract]
  10: public interface IOperaciones
  11: {
  12:     [OperationContract]
  13:     double Sumar(double parametro1,double parametro2);
  14:  
  15: }

 

5. Abrimos Operaciones.cs e implementamos la interface IOperaciones.cs.

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Linq;
   4: using System.Runtime.Serialization;
   5: using System.ServiceModel;
   6: using System.Text;
   7:  
   8: // NOTE: If you change the class name "Operaciones" here, you must also update the reference to "Operaciones" in Web.config.
   9: public class Operaciones : IOperaciones
  10: {
  11:    
  12:     public double Sumar(double parametro1, double parametro2)
  13:     {
  14:         return parametro1 + parametro2;
  15:     }
  16:     
  17: }

6. En el Web.config cambiamos a basicHTTPBinding , por defecto tiene wsHttpBinding.

   1: <service behaviorConfiguration="OperacionesBehavior" name="Operaciones">
   2:     <endpoint address="" binding="basicHttpBinding" contract="IOperaciones">
   3:      <identity>
   4:       <dns value="localhost" />
   5:      </identity>
   6:     </endpoint>
   7:     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
   8:    </service>

7. Construimos la Solución con F6 , vemos que la solución no tiene errores y vamos al navegador a la dirección.

http://diegotoala-xi/TestService/Operaciones.svc

Si queremos ver el wsdl que genera el vs accedemos a:

http://diegotoala-xi/TestService/Operaciones.svc?wsdl

Consumiendo el Servicio WEB WCF con PHP

Antes que nada , gracias a Gunnar Peipman, cuyo blog me sirvio de mucho para hallar la solución, y agregar que estoy utilizando para los ejemplos en PHP el Visual Studio, gracias al componente VS.PHP de jcx software.

  1. Vamos al C:/wamp/www/ y creamos un archivo que se llame proxy.php y escribimos el siguiente código:
   1: <?php
   2:  
   3: header('Content-Type: text/plain');
   4:  
   5: echo "Prueba WCF  \r\n\r\n";
   6:  
   7: //Instanciamos el objeto de tipo SoapClient pasando la direccion wsdl del servicio Operaciones
   8: $client = new SoapClient('http://diegotoala-xi/TestService/Operaciones.svc?wsdl');
   9:  
  10: //Establecemos que la codificacion sea en UTF-8 que soporta caracteres especiales
  11: $client->soap_defencoding = 'UTF-8';
  12:  
  13: //PHP no es fuertemente tipado,  eso nos permite tener la siguiente declaracion en la cual
  14: //el objeto $obj debe tener una propiedad parametro1 que se llame igual al nombre del parametro que espera
  15: //el Operation Contract declarado en el servicio Operaciones
  16: $obj->parametro1 =2.5;
  17:  
  18: //Segundo parametro
  19: $obj->parametro2 =3.5;
  20:  
  21: echo "Sumar: {$obj->parametro1} + {$obj->parametro2} \r\n";
  22:  
  23: //Llamamos al metodo Sumar y pasamos el objeto $obj que tiene los parametros
  24: $retval= $client->Sumar($obj);
  25:  
  26: //El resultado de la suma se devuelve en la variable $retval->SumarResult
  27: echo "Resultado: $retval->SumarResult";
  28:  
  29: ?>

2. Revisamos el resultado en http:/localhost:88/soap.php

Hemos consumido el servicio WCF en PHP, ahora nos falta agregarle seguridad para que solo puedan consumirlo sistemas autorizados.

Hasta la próxima.

Apache y IIS Pueden Coexistir en un Mismo Equipo Cambiando el Puerto de Apache julio 17, 2009

Posted by xibian in General.
2 comments

Hola , estoy trabajando en Windows 7 y ahora que tengo el Servicio WCF Corriendo en IIS necesito probarlo consumiendolo desde un cliente PHP, para lo cual tengo instalado el wamp server 2.0 , bien como sabrán wamp trae con él un servidor web llamado Apache, que realiza la misma función y por defecto escucha las peticiones por el puerto 80, así que para que´puedan coexistir hay que cambiar el puerto que viene por defecto en apache.

En nuestro caso usaremos el puerto 88 para Apache , ojo tenemos que tener apagado el wamp.

1. Primero hay que localizar el archivo httpd.conf ,el cual en wamp se encuentra en:

C:\wamp\bin\apache\apache2.2.8\conf

2. Dentro del archivo buscar ”listen 80” y cambiarla por el nuevo puerto listen 88, en nuestro caso porque vamos a usar el puerto 88 para apache.

 

3. Buscamos “ServerName” y cambiamos de ServerName localhost:80  por   ServerName localhost:88.

  

 

4. Iniciamos el wamp server.

 

Listo, tenemos IIS corriendo en http://localhost    conjunto con Apache corriendo en http://localhost:88/  en un mismo equipo Windows 7.

IIS7 corriendo en http://localhost (puerto 80)

 YO TENGO WINDOWS 7  Y TÚ?

 

HomePage de Wamp corriendo con Apache en http://localhost:88 ( se necesita especificar el puerto 88)

  Hasta la próxima.

Solución al HTTP Error 404.3 – Not Found Hosteando un Servicio WCF en Windows 7RC julio 17, 2009

Posted by xibian in General.
add a comment

Hola, empezando a utilizar WCF, primero abrí el Visual Studio como administrador, luego al querer crear un WCF service, fuí a Archivo > Nuevo Web Site y elejí WCF Service.

 

Elejí que sea http debido a que estará hosteado en un IIS7, y le coloque el nombre de TestService, (en el gráfico tiene el nombre WCFService).

Luego en el Solution Explorer tendremos lo siguiente, que es la plantilla de ejemplo básica de un servicio.

 

 

El archivo que nos interesa llamar es Service.svc , el cual es el archivo que define la implementación del servicio y debemos llamarlo en el browser de esta forma:

http://localhost/TestService/Service.svc

Pero cuando los hacemos desde el browser tenemos un error

HTTP Error 404.3 – Not Found

 

 

La solución al error es la siguiente:

 

1. Abrimos el cmd en modo de administrador:

2. Escribimos en el cmd lo siguiente:

cd "c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation"

3. Escribimos "ServiceModelReg -i" y presionamos Enter y comenzará a instalar lo que necesitamos.

Nos dirigimos a http://localhost/TestService/Service.svc en el browser y listo, tenemos configurado el WCF Service.

Hasta la próxima.

Web Services julio 15, 2009

Posted by xibian in General.
2 comments

Hola, esta semana estamos realizando el plan para el desarrollo e implementación de un servicio web que conecta una aplicación java con mysql, corriendo en un SO Windows con otro servidor corriendo Linux con Apache y Php en otra parte del mundo.

Hemos definido que el cliente en PHP se lo realizará utilizando la clase NuSoap, debido a que es simple de utilizar e instalar, existe otra herramienta muy buena que se llama WSO2 WSF/PHP pero que debido a su instalación muy complicada en windows decimos no utilizarla; hace uso de librerias libxml2 y bueno encontré poca documentación al respecto.

 

NuSoap es gratuita y no necesitan instalar nada para ponerla a funcionar, simplemente la pegan en el directorio en donde se escribirá el código del cliente.

En siguientes post tendrán más documentación al respecto de este interesante tema, así como código de ejemplo.

Nos Vemos.

Lugares julio 11, 2009

Posted by xibian in General.
add a comment

Hola, estos son algunos lugares que he tenido la oportunidad de conocer, aquí las fotos.

NYC-Manhattan, el puente que se ve es el Williamsburgh Bridge que une a Brooklyn con Manhattan.

 

NYC – Flushing Meadows Park es un parque muy popular en nyc, queda  en Queens junto a el se encuentra el Shea Stadium donde juegan los Mets.

NYC – Broadway y la Calle 48, Edificios inmensos y muchas muchas luces.

NYC-Entrada al New York Hall of Science

 

China – Nishidouru St

perdón China no es , es el Barrio Chino en NYC

NYC -Zona 0 , aquí estan construyendo las nuevas torres.

Hasta la proxima.

Interfaces y Arrays Tridimensionales julio 5, 2009

Posted by xibian in General.
2 comments

Hola quisiera compartir unas preguntas y respuestas que surgieron en el curso de C# por parte de una compañera pilas:

Interfaces

¿Una interfaz puede acceder a  todos los miembros de una clase, sin restricción?
Una interfaz es la declaración de los métodos , propiedades, eventos que debe cumplir e implementar la clase que la hereda, es decir que las interfaces no tienen código operativo, su función es la de establecer declaraciones que cumplan las clases, como una especie de contrato y la accesibilidad de sus métodos , propiedades, eventos y demás la establecen los modificadores de acceso que le coloquemos public, private, internal, protected..

¿Una clase puede implementar un número ilimitado de interfaces?
Si, una clase puede implementar N interfaces, lo cual es bueno porque te permite establecer y extender funcionalidad de diversas clases que implementas esas interfaces.

¿Si dos o más  interfaces implementadas en una clase tienen métodos con nombres  iguales o parametros iguales  no se crearía un conflicto?
No se crearia conflicto debido a lo siguiente:
Existen dos maneras de implementar un interfaz Explicita e Implicita.

Forma Implicita——
Si dos interfaces tienen una propiedad llamada color y una clase implementa dichas interfaces, entonces se crea una sola propiedad llamada color, y evitarias el error por repetir la propiedad color dos veces.

Ejemplo:

   1:  public int color
   2:          {
   3:              get
   4:              {
   5:                  throw new NotImplementedException();
   6:              }
   7:              set
   8:              {
   9:                  throw new NotImplementedException();
  10:              }
  11:          }

 

Forma Explicita—–
Si la primera interfaz se llama Avion y la segunda Barco y ambas tienen la propiedad color, lo que se hace es tener ambas propiedades especificando el tipo, de la siguiente forma:

   1:  int Barco.color
   2:          {
   3:              get
   4:              {
   5:                  throw new NotImplementedException();
   6:              }
   7:              set
   8:              {
   9:                  throw new NotImplementedException();
  10:              }
  11:          }
  12:   
  13:    int Avion.color
  14:          {
  15:              get
  16:              {
  17:                  throw new NotImplementedException();
  18:              }
  19:              set
  20:              {
  21:                  throw new NotImplementedException();
  22:              }
  23:          }

 

Array Tridimensional

Al momento  de asignar por valor  un array he encontrado una asignación asi:
string [, , ] nomtri ={ {"a", "b"}, {"c", "d"}}, {{"e", "f"}, {"g", h"}}
Console.Writeline (nomtri [0,0,0];  //a
Console.Writeline (nomtri [0,0,1]; // b
Bueno el punto es que no entiendo por que [0,0,0] matematicamente es fila y columna pero aca hay tres indices…

Respuesta:

El array del cual nos indicas es un array de tipo tri-dimensional, en fisica creo deben haber visto en la parte de vectores las dimensiones X,Y,Z el modelo es el mismo para el array.

Generalmente trabajamos en dos dimensiones X,Y(filas,columnas), pero en este array se manejan 3 y verdaderamente es un poco dificil de manejar, mas que nada al momento de entender el código y más aún hay que cambiar algo.

La forma más simple de declararlo es esta:

   1:  int[,,] galaxia = new int[4,5,3];

Un ejemplo sería algo así:

   1:      // Crear Galaxia
   2:      int[,,] galaxia = new int [10, 5, 3];
   3:   
   4:      // Crear dos elementos galaxia con nivel de luminosidad 3 y 9(valor)
   5:      galaxia[1, 3, 2] = 3;
   6:      galaxia[4, 1, 2] = 9;
   7:   
   8:      // Mostrar el numero de dimensiones y elementos
   9:      Console.WriteLine("galaxia.Rank (numero de dimensiones) = " + galaxia.Rank);
  10:      Console.WriteLine("galaxia.Length (numero de elementos) = " + galaxia.Length);
  11:   
  12:      // Mostrar elementos
  13:      // QUe tengan luminosidad diferente a 0
  14:      for (int x = 0; x < galaxia.GetLength(0); x++)
  15:      {
  16:        for (int y = 0; y < galaxia.GetLength(1); y++)
  17:        {
  18:          for (int z = 0; z < galaxia.GetLength(2); z++)
  19:          {
  20:            if (galaxia[x, y, z] != 0)
  21:            {
  22:              Console.WriteLine("galaxia[" + x + ", " + y + ", " + z +"] = " +
  23:                galaxia[x, y, z]);
  24:            }
  25:          }
  26:        }

 

Saludos.

Podrías ser estrella de rock, pero eres Certificable? junio 22, 2009

Posted by xibian in General.
add a comment

 

 

Hola geeks, muchos estamos estudiando o hemos escuchado hablar acerca de las certificaciones, para quienes aún no se han enterado del tema, una certificación puede servir muchisimo ya que es una prueba del conocimiento que tienes sobre una herramienta o una tecnología.

Una certificación te puede servir de mucho si estás pensando estudiar algo en otro país y a la vez trabajar  y necesitas una prueba de peso de que eres una personas que conoce una tecnología, ya que te dan un número que te identifica como persona certificada y puedes incluirlo en tu curriculum en cualquier parte del mundo,sí , tiene validez mundial y sirve mucho cuando sales porque así cuentes con un título profesional en otros paises ese título tiene que ser revalidado y lleva tiempo y dinero, se puede hacer pero…

Pero igual es super importante el título profesional de tercer nivel porque es el paso anterior y habilitador para seguir un postgrado y además es más fácil ascender en un trabajo teniendo un título profesional que aquel que tiene certificaciones, desde mi punto de vista.

Ahora estoy estudiando para la certifiación en MCTS 3.5 ASP.Net Application Development y para tomar la ZCE en php5, para la certificación de MCTS primero tengo que pasar el examen de las bases del framework 70-536 y luego el de ASP.NET es decir dos examenes, para la ZCE es un solo examen.

El examen del framework tiene un costo de $80 dolares/cada uno y se lo puede tomar en Guayaquil o Quito en Maint, o en la ESPOL o en New Horizonts.

El examen ZCE tiene un costo de $150 según consulte en la web de Zend y tambien pueden darlo en quito o guayaquil.

La ESPOL tiene una academia en la que pueden hacer los cursos o solo dar el examen , esta es la dirección http://academias.espol.edu.ec/microsoft/ .

Hay otro link muy bueno, es un aplicación hecha en silverlight, es un juego en el cual vas respondiendo preguntas de certificación en varios aspectos, y vas ganando puntos y obteniendo niveles, es como una trivia.

Es muy útil si piensas adquirir alguna certificación microsoft y si no pues puedes probar tu expertisia en herramientas microsoft.

El link es:

www.microsoft.com/click/areyoucertifiable/

 

Si quieres ir por el lado de PHP aqui tienen un link para un self test de la certificación de PHP5.

http://www.zend.com/store/education/certification/self-test.php

Saludos.

Ahora viajamos en el tiempo… ERRATA junio 21, 2009

Posted by xibian in General.
add a comment

 

Miiiiiiiiiiil disculpas , en el artículo de emprendedores tuve un error , las fechas exactas del evento fueron 18 y 19 de Junio, ya que estamos 21 de Junio y el 25 y 26 aún ni llegan.

Muchas gracias edgardo por la corrección , http://twitter.com/edgardopanchana