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
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 configurar apache y iis en un mismo equipo.
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.
- 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)
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