Programación y Estrategias de Negocios RSS 2.0
# Monday, March 01, 2010


Share

En IIS7 se pueden usar otros bindings como por ejemplo net.tcp y named.pipes para acceder a servicios de WCF (en IIS6 solo es posible usar http Binding, para usar uno de los otros se debe hostear el servicio en otro tipo de host como un servicio Windows o una aplicación de consola) y justo esto es una de las ventajas de IIS7, se utiliza todo lo bueno del mundo del IIS como el reciclaje de aplicaciones pero con protocolos muchos mejores para ciertos escenarios como net.tcp.

 

Para habilitar estos protocolos en IIS7 debe ir al panel de control, programs, turn Windows Features On/Off, y verificar que tenga seleccionadas por lo menos las opciones que aparecen en la imagen, en especial lo que tiene que ver con la activación de servicios sobre protocolos no HTTP.

 

WCF Activation

 

Con esta habilitado ya se puede ir al IIS y seleccionar los bindings y protocolos correctos como se muestra en las dos imágenes siguientes:

 

 

IISBinding

 

IISEnabledProtocols

 

 

Ahora puede Hospedar servicios de WCF con bindings como net.tcp que se usa para escenarios de red de área local o named.pipes que se usa para comunicaciones interprocesos en la misma máquina.

Monday, March 01, 2010 4:18:00 PM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
IIS7 | Software as a Service | WCF
# Monday, July 14, 2008


Share

Acabo de trasladar el sitio www.juanpelaez.com y otros sitios asociados a un nuevo proveedor de hosting, estuve un par de años con el anterior proveedor pero de repente decidieron migrar sus servidores de correo a un servidor Linux (sin notificar a los usuarios), como resultado de la migración estuve desde el 29 de junio hasta el 9 de Julio sin correo, llame en varias ocasiones a Servicio al Cliente, pero nunca pude obtener una solución, así que solo me quedo cambiarme de proveedor, curiosamente el proceso de retirarme del servicio si fue muy rápido, sin embargo no pareció importarle a nadie las razones por las que me estaba cambiando (nadie me pregunto nada).

Hosting

Pues bien me cambie a mosso (the hosting Cloud) un nuevo concepto de hosting realmente novedoso, no preguntan por servidores dedicados, compartidos, virtual servers ni nada de eso, es puro software como servicio (SaaS) o incluso servicios como servicios. (SsaaSs), así que me inscribo en el sistema, me crean una consola de gestión de mis sitios en 5 minutos y estoy listo para empezar a distribuir servicios de hosting:

 

 

· Puedo crear mis clientes

· Luego puedo crear uno o muchos sitios para cada cliente, incluidas cuentas de correo ilimitadas.

· Puedo establecer si a este cliente se le va a facturar (debería!) y el sistema genera las facturas por mí para que yo se las envíe a mis clientes.

· Puedo establecer si los sitios de mis clientes son en Windows (IIS7,.Net 3.5) o Php, Linux, incluso RubyonRails.

· Tengo buenos reportes de uso, de facturación, etc.

· Tengo un buen servicio de soporte por Mail, LiveChat y Telefono, 7x24.

· Todo esto desde la consola Web de administración del sistema.

· tengo 500GB de ancho de banda, 50GB de espacio en Disco y 3 Millones de peticiones web por Mes.

 

 

Si la anterior lista no le impresiona piense en esto, antes tenía un servidor Windows, si alguna vez quería montar una aplicación de pruebas en Linux con Apache, necesitaba otro servidor de hosting, así que estaba realmente limitado a lo que estaba pagando: Un servidor Windows. Ahora no importa si alguna vez necesito un website en Apache Php o en Ruby on Rails simplemente lo tengo, es un cambio de paradigma importante en vez de preguntarme por hardware o Sistemas operativos me preguntan por la necesidad que tengo: Sitios Web.

 

 

Yo mismo migre los apuntadores de los DNS desde mi antiguo proveedor al nuevo, empecé el proceso de registro en este nuevo proveedor a las 3 de la tarde y a las 5pm ya tenía mi correo nuevamente arriba. Apenas termine de cargar los archivos me conecte con el servicio al cliente (10pm) y rápidamente configure mis aplicaciones (básicamente un blog de DASBlog), la gente parecía saber de su tema. Así que en menos de 12 horas ya tenía desde cero mis sitios corriendo en un nuevo servidor.  En teoría solo pago lo que consumo (con un mínimo de 100 dólares) pero parece un buen trato.

Por cierto este servicio es un emprendimiento nuevo de RackSpace que es la compañía mejor clasificada para servicios de hosting de acuerdo con las revisiones de webHost Magazine

Software as a Service

Este es un tema interesante (mas allá de mi cambio de dominio) por que se habla mucho de computación en la nube (Cloud Computing)  y hay muchos rumores y realidades que van desde alquiler de Exchange y SharePoint por parte de Microsoft hasta inversiones gigantes de Microsoft en infraestructura (3 datacenters nuevos en USA, el de Chicago el más grande de USA, etc) hasta nuevo servicios de publicación de aplicaciones corporativas en Internet que serán anunciados en las próximas conferencias de Desarrolladores. Así que empezar a ver este tipo de servicios es realmente un aviso de cómo será el futuro de internet y de la computación.

 

 

En el software as a Service (SaaS) un tema muy importante es el aprovisionamiento (Provisioning) del servicio, es un concepto interesante porque un servicio NECESITA ser escalable y eso solo es posible con sistemas automáticos, por ejemplo en este servicio de hosting todo pasa sin intervención de humanos, creo los sitios, creo las cuentas, facturo, etc., el sistema de aprovisionamiento es clave para el éxito del software que será rentado.  

 

 

Y claro ahora que tengo otras preocupaciones como el espacio que uso y demás empiezo a replantearme la forma como estoy usando otros servicios de la Nube, por ejemplo: a partir de ahora todas las fotos las publicare en flickr.com y solo colocares los apuntadores en mis posts, de pronto es un poco más de trabajo desde Windows Live Writer al momento de publicar, pero seguro vale la pena. Todos los archivos los estoy publicando en skydrive.live.com y todos los videos los voy a poner en Silverlight streaming, de esta forma ahorro montones en ancho de banda, y espacio.

Y claro el toque final es poner todos mis RSS a apuntar a través de feedBurner, para que los que se suscriban al blog no gasten mi precioso ancho de banda.

 

 

Juan Carlos Peláez
Arquitecto de Software

Keywords: Software as a Service, Cloud Computing, Hosting, Juan Peláez, Juan Carlos Peláez, Windows Live Services, Blog, DasBlog.

Monday, July 14, 2008 7:53:00 PM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
Arquitectura | Blog | Gestion de Empresas de Software | IIS7 | SilverLigth | Software as a Service | Windows Live
# Tuesday, August 21, 2007


Share

Este post es una continuación del anterior sobre FastCGI y el IIS7, en Windows 2008 Beta 3 y Windows Vista, se incluye como soporte nativo FastCGI, lo que permite correr en maquinas Windows aplicaciones PHP y otros lenguajes de Script con altísimo rendimiento y estabilidad, incluso en ambientes en producción. El FastCGI CTP preview 2 también pueden montarse sobre IIS 5.1 y 6.0.

En este post, más allá de las instrucciones de cómo instalar una aplicación PHP en Windows Vista o Windows 2008, hablaré un poco de las razones por las que el rendimiento de las aplicaciones se incrementa al usar FastCGI.

Primero un poco de Antecedentes.

Common Gateway Interface (CGI)

El estándar de facto para aplicaciones en servidores web es CGI, que fue implementado inicialmente por el servidor NCSA. CGI tiene varios beneficios:

· Simplicidad. es fácil de entender

· Independencia del Lenguaje. Las aplicaciones CGI pueden ser escritas en cualquier lenguaje

· Independencia de Procesos. Ya que las aplicaciones corren en procesos separados, las aplicaciones con problemas no pueden dañar el servidor web o acceder al estado interno y privado del servidor.

· Estándar Abierto. Alguna forma de CGI ha sido implementada en todos los servidores web

· Independencia Arquitectónica. CGI no está atado a ninguna arquitectura particular de servidor 

CGI también tiene algunas deficiencias importantes. El problema principal es el rendimiento: debido a que se crea un nuevo proceso para cada request y este se elimina cuando el request se completa, la eficiencia es pobre.

CGI también tiene una funcionalidad limitada: solo soporta el Rol "responder", donde la aplicación genera la respuesta que es enviada al cliente, los programas CGI no pueden asociarse a otras partes del procesamiento del request como autorización o registro de errores.

 

APIs de Servidor

En respuesta a los problemas de rendimiento de CGI, diferentes compañías han desarrollado APIS para sus servidores. Los dos más relevantes son NSAPI de Netscape e ISAPI de Microsoft. El servidor Apache también tiene un API.

Las aplicaciones asociadas al API del servidor pueden correr mucho más rápido que los programas CGI. El problema del Inicio / iniciación se ha mejorado, ya que la aplicación corre en un proceso dedicado de servidor y se persiste entre las solicitudes. Las API del servidor Web, ofrecen mucha más funcionalidad que CGI, cada persona puede escribir extensiones que realizan control de accesos, acceder a los archivos de registro del servidor, y pueden conectarse en otras etapas del procesamiento del request. 

 

Entonces que es  FastCGI?

La interface FastCGI combina los mejores aspectos de CGI y las APIs propietarias. Como CGI, las aplicaciones FastCGI corren en procesos separados e independientes. Las ventajas de FastCGI's incluyen:

· Rendimiento. Los procesos FastCGI son persistentes –se re usan en manejar múltiples solicitudes. – Esto resuelve los problemas de rendimiento de CGI de crear nuevos procesos para cada request.

· Simplicidad, fácil migración desde CGI. La librería de aplicación FastCGI simplifica la migración de las aplicaciones CGI existentes. Las aplicaciones construidas con FastCGI pueden correr programas CGI para compatibilidad con Web Servers antiguos.

· Independencia de Language. Como CGI, las aplicaciones FastCGI pueden ser escritas en cualquier lenguaje.

· Independencia de Procesos. Una aplicación FastCGI con errores no puede corromper el core del servidor web o alguna otra aplicación. Una aplicación FastCGI no puede robar ningún secreto (como las llaves de sesión para encripción) del servidor Web.

· No-propietario. FastCGI es soportado por todo los productos del Open Source del Mercado, incluyendo apache, NCSA y ahora es soportado por servidores comerciales de Microsoft y Netscape.

· Independencia Arquitectónica. La interface FastCGI no está atada a ninguna arquitectura particular de servidor. Cualquier servidor puede implementar la interface FastCGI. De igual manera, FastCGI no impone ninguna arquitectura a la aplicación: las aplicaciones pueden ser single o multi-threaded, sin importar la arquitectura de hilos del servidor web.

· Soporte para computación distribuida. FastCGI prove soporte para correr aplicaciones remotamente, lo cual es útil para distribuciones de carga y manejo externo de web sites.

 

La interface FastCGI

La funcionalidad que provee la interface FastCGI es muy similar a la que provee CGI. Para entender mejor el protocolo FastCGI. El procesamiento de peticiones CGI es así:

1. Para cada Request, el servidor crea un nuevo proceso y el proceso se inicializa por sí mismo.

2. El servidor web pasa la información del request( como host remoto, nombre de usuario, encabezados HTTP, etc) a las variables  de entorno del programa CGI.

3. El web server envía cualquier input del cliente  (como valores entrados por el usuario en un formulario HTML) al estándar input del programa CGI.

4. El programa CGI escribe cualquier output para que sea retornado al cliente como salida estándar. La información de error es escrita por el web server.

5. Cuando el proceso CGI se cierra, la solicitud queda completa.

FastCGI es conceptualmente muy similar a CGI, con dos diferencias principales:

· Los procesos FastCGI son persistentes: después de finalizar una solicitud, los procesos quedan en espera en vez de finalizar. 

· En vez de usar variables de ambiente del sistema operativo y pipes,  el protocolo  FastCGI multiplexa la información del ambiente, el input  estándar, el output estándar y error sobre una conexión full-duplex. Esto permite a los programas FastCGI correr en maquinas remotas, usando conexiones TCP entre el servidor web y las aplicaciones FastCGI.

El procesamiento de una solicitud en una aplicación single-threaded FastCGI ocurre así :

1. El Web server crea la aplicación FastCGI para manejar las solicitudes al servidor. El proceso puede ser creado en el inicio o creado por demanda.

2. El programa FastCGI seinicializa  por sí mismo, y espera una nueva conexión con el web server.

3. Cuando llega una solicitud de un cliente, el servidor  web abre una conexión a los procesos FastCGI. El servidor envía la información de ambiente y el input estándar sobre la conexión.

4. el proceso FastCGI envía la salida estándar y la información de errores de regreso al servidor sobre la misma conexión. 

5. Cuando el proceso  FastCGI cierra la conexión, la solicitud se completa. El proceso FastCGI queda a la espera de otra conexión desde el servidor web.

Las FastCGI pueden correr localmente  (en la misma máquina que el web server) o remotamente. Para aplicaciones locales, el servidor usa un  full-duplex pipe para conectarse con el proceso de la aplicación  FastCGI . Para aplicaciones remotas, el servidor usa conexiones TCP.

Las aplicaciones FastCGI pueden ser  single-threaded or multi-threaded. para aplicaciones  single threaded, el servidor web mantiene un pool de procesos  (si la aplicación corre localmente) para manejar las solicitudes de los clientes. El tamaño del Pool es configurable por el usuario. Las aplicaciones FastCGI Multi-threaded pueden recibir múltiples conexiones del web server y manejarlas de forma simultánea en un solo proceso.  (De esta forma lenguajes, con soporte para multi thead, garballe collection, entre otros, lo hacen lenguajes naturales para implementar aplicaciones multithread usando FastCGI)

 

Roles de Aplicación.

Un problema importante con CGI es su funcionalidad limitada: los programas CGI solo proveen respuestas simples al request.  FastCGI provee funcionalidad ampliada con soporte para tres diferentes roles de aplicación: 

· Responder. este es el rol básico en  FastCGI y corresponde a la funcionalidad básica ofrecida por CGI hoy. 

· Filter. las aplicaciones FastCGI filtran los archivos solicitados al web server antes de que sean enviados al cliente. 

· Authorizer. El programa FastCGI realizan una decisión de control de acceso para el request ( por ejemplo realizando una búsqueda a la base de datos del tipo Usuario/password).

Otros roles serán definidos en el futuro. Por ejemplo,  un rol "logger" podría ser útil, donde el programa FastCGI podría recibir el registro del log del servidor para procesamiento y análisis en tiempo real. 

 

Que tan rápido es FastCGI?

La respuesta depende de la aplicación, algunas pruebas hechas en internet muestra lo siguiente:

En esta medición se usa un archivo, una solicitud CGI y una fastCGI, usando una aplicación que retorna un número fijo de bytes. 

Archivo  

21ms + 0.19ms per Kbyte

FastCGI

22ms + 0.28ms per Kbyte

CGI

59ms + 0.37ms per Kbyte

Con este dato podemos trata de calcular la velocidad después de migrar una aplicación típica CGI de base de datos a FastCGI, asumiendo que la aplicación toma 50ms para inicializar las conexiones a las bases de datos y genera 5k de datos. Los resultados finales pueden calcularse así: 

CGI

59ms + 50ms + (0.37ms)(5) = 111ms

FastCGI

22ms + (0.28ms)(5) = 23ms

En esta prueba, FastCGI tuvo una ventaja de rendimiento de 5x sobre CGI, más que nada debido a no tener que crear e iniciar un nuevo proceso para cada solicitud.

 

En resumen

FastCGI es un protocolo estándar que permite a ejecutables que usen Frameworks CGI interactuar con un Web Server.

La mayor diferencia con el Protocolo CGI Estándar es que FastCGI rehúsa los Procesos CGI para múltiples peticiones, lo que incrementa el rendimiento en comparación con CGI.

El soporte de IIS para FastCGI permite a IIS hospedar programas CGI normales como PHP, o Ruby On Rails, usando el protocolo FastCGI, ofreciendo alto rendimiento y estabilidad en ambientes de producción

Para usar el soporte  FastCGI en IIS se requieren tres elementos:

· El web server IIS (IIS5.1, IIS6, and IIS7).

· El componente FastCGI para IIS

· EL programa CGI que será hospedado.

Como funciona?

El servidor web despacha las solicitudes http que se han realizado a su aplicación usando el componente FastCGI, este a su vez lanza el programa ejecutable CGI y reenvía el request para que sea procesado. Una vez la solicitud se procesa y la respuesta se finaliza y es retornada al servidor y al cliente, el proceso CGI es usado para llamadas siguientes. Esto permite evita las penalidades de alto rendimiento de iniciar un nuevo proceso para cada solicitud, lo que resulta en mucho mejor rendimiento y escalabilidad en ambientes de producción.

El protocolo FastCGI es estándar si quiere tener más información sobre FastCGI puede ver más aquí. http://www.fastcgi.com/devkit/doc/fcgi-spec.html.

El paquete FastCGI es totalmente compatible con la distribución actual y oficial  PHP 5.x disponible para Windows desde  www.php.net/downloads. También puede usar el preview de Fast CGI con la instalación existente de  PHP 5.x (sin embargo usar la versión ThreadSafe incrementa el rendimiento hasta un 30%)

La versión 5.2.3 también contiene las mejoras desarrolladas por Zend para mejorar el rendimiento del motor de PHP sobre Windows.

Espero que sea de Ayuda

Juan Carlos Peláez

MCTS

Miembro del Microsoft Speaker Group Andino  

Miembro del Microsoft Influencers Group de Colombia.

Keywords: PHP, FastCGI, Windows Vista, Windows 2008, IIS7, Arquitectura.

Tuesday, August 21, 2007 9:20:38 AM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
Arquitectura | Articulos de Desarrollo | FastCGI | IIS7 | PHP | Windows Server 2008 | Windows Vista
# Thursday, August 16, 2007


Share

Con el lanzamiento de Windows 2008 Beta3 (del que Gattaca es Early Adopter gracias a Invitación de Microsoft Colombia) hemos comenzado la fase final de la migración de nuestras aplicaciones para esta plataforma. Sin embargo hay algunas cosas nuevas en este servidor que merecen verse con atención, una de ellas es el soporte nativo de PHP y otros lenguajes de Script como IronRuby a través de una iniciativa conjunta de Microsoft y Zend para desarrollar algo llamado FastCGI que es una nueva forma mejorada para multiprocesamiento de CGI.

 

En este post comentaremos sobre la experiencia de instalar y correr aplicaciones de PHP sobre IIS7 usando FastCGI.

 

El Ambiente.

 

Esto puede hacerse en Windows 2008 Beta3 que tiene el soporte FastCGI nativo ó

En una maquina corriendo Windows Vista con IIS7, en este caso debe instalarse el soporte FastCGI CTP 2 disponible en este link

 

También hay que contar con PHP, este puede descargarse de http://www.php.net/ , aunque hay gente corriendo esto con php4, yo lo hice con la versión 5.2, en esta página pueden descargarse diversas versiones pero la recomendación es bajar la que se llama PHP 5.2.3 Non-thread-safe Win32 binaries [9,523Kb] - 01 June 2007, esta versión está optimizada para correr con IIS7 y FastCGI. (Las otras también corren y muy bien, pero esta tiene un rendimiento 30% superior según las pruebas realizadas por Microsoft y Zend)

 

La Instalación

 

El PHP

 

Descomprimir el PHP en una ruta sin espacios en el nombre, por ejemplo c:\php o d:\php, renombrar el archivo php.ini-recomended por php.ini, abrir el archivo php.ini y cambiar las siguientes variables:

 

Redirect cgi a falso (cgi.force_redirect = 0), modificar la ruta de las extensiones (extension_dir = "D:\PHP\ ext") (o la ruta en donde haya puesto el PHP),

También debe crear las variables de Entorno (En Panel de Control, Sistema, Configuración Avanzada del Sistema, Opciones Avanzadas, Variables de Entorno) Agregar la variables de Usuario “PHPRC = d:\php\php”, agregar en la variable del Sistema Path la ruta: “d:\php\php”

Con eso el PHP debería estar listo para correr en el modo anterior de PHP y también en el modo nuevo. Algunas Variables opcionales que hemos configurado que podían ser de utilidad (short_open_tag = On, error_reporting = E_ALL & ~E_NOTICE, upload_max_filesize = 10M, session.save_path = "D:\PHP\TempSessions")

Finalmente hay que darle permisos en la carpeta PHP al usuario del IIS Process.

 

El FastCGI

 

Descomprimir el archivo que descargo en alguna ruta del Disco, por ejemplo D:\FastCGI

En el archivo de readme.txt vienen las instrucciones muy sencillas que son básicamente:

Instalar FastCGI corriendo desde la consola de comandos con permisos de administrador:

fcgisetup.exe /install

Relacionar el Php con el FastCGI:

fcgisetup.exe /add d:\php\php-cgi.exe PHP, (La ruta donde dejo el PHP)

Listo, esto debería crear los módulos y handlers necesarios en el IIS 7.0, para verificar que quedo correctamente instalado debería encontrar algo como esto en su consola de administración del IIS7.

En la lista de Módulos (por vista de Características) un modulo nativo llamado iisfcgi apuntando a C:\Windows\system32\inetsrv\iisfcgi.dll,

En la lista de asignaciones de controladores (Handlers) una asignación de Script llamada PHP-iisfcgi apuntando a su PHP (por ejemplo: D:\PHP\php-cgi.exe) con una ruta de acceso de solicitudes apuntando a los archivos PHP (*.PHP).

Si tienen otros manejadores apuntando a *.PHP seguramente ya tenia php corriendo o trato de hacer algo similar a esta instalación. En nuestra instalación eliminamos los modulos y controladores asociados a PHP que no eran FastCGI. (Pero antes de hacer esto usted debe entender correctamente que es lo que hacen los módulos y controladores que está eliminando y por que los elimina).

 

Si llego hasta aquí, toda parece está bien instalado y configurado, puede crear una aplicación apuntando a un directorio y crear una página PHP sencilla como esta para probar (modinfo.php que contiene unicamente "<?php phpinfo(); ?>", esta página vista desde el browser debería mostrarle el status del PHP y en la línea Server Api indicar :

 

Server API : CGI/FastCGI

 

La Aplicación.

 

Ahora que ya está corriendo aplicaciones PHP en IIS7 y con el nuevo soporte mejorado de alto rendimiento de PHP FastCGI puede ejecutar sus aplicaciones PHP, nosotros corremos Sugar CRM versión 4.5.1 sobre SQL Server. (Como distribuidores y consultores de Sugar CRM es muy útil poder ofrecer a nuestros clientes el producto sobre IIS7 y estar listos para cuando vayan a los nuevos servidores Windows 2008, pero otra razón importante de escoger esta aplicación es que Sugar ha venido trabajando desde hace más de un año  con Microsoft para ofrecer lo mejor del mundo open source sobre la plataforma Microsoft, esto es soporte mejorado para IIS, optimización para integración con el Directorio Activo, y soporte para SQL Server (incluyendo Express, Standard y Enterprise) y Soporte para el Modelo de Licenciamiento Microsoft Community License. (Parte de la iniciativa Microsoft Shared Source Initiative) entre otros aspectos.

 

En otro post hablaremos de por que esto funciona mejor que antes (las razones) y como correr Ruby o algun otro lenguaje de Scripting usando FastCGI.

Nota: Tengo que agradecer a Ivan Suárez y German Cárdenas del Grupo Commercial Open Source de Gattaca quienes son expertos en PHP, y me han ayudado mucho en la instalación, configuración y comprensión de los conceptos propios de PHP. Gracias Muchachos.

Espero que sea de Ayuda.

 

Juan Carlos Peláez

MCTS

KeyWords: PHP, Windows Vista, IIS7, Windows Server 2008 Beta 3, FastCGI, Sugar CRM, Juan Peláez

Thursday, August 16, 2007 12:41:06 PM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
Articulos de Desarrollo | FastCGI | IIS7 | PHP | Sugar CRM | Windows Server 2008 | Windows Vista
Contácteme
mail: jpelaez at juanpelaez.com
Actualizaciones en Twitter
FeedBurner
Maps
Locations of visitors to this page
Blogroll
[Feed] Eugenio Pace
Arquitecto del grupo Software as a Service en Microsoft
[Feed] Juan Diego Velazco
El mejor diseñador gráfico conocido y un gran tipo
[Feed] Scott Hanselman
Sponsors
Estadísticas
Total Posts: 93
This Year: 3
This Month: 1
This Week: 0
Comments: 42
Archivo
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Acerca de...

Aviso Legal
Las opiniones expresadas en este sitio representan el punto de vista de Juan Peláez sobre diferentes temas y no representan la posición de 3Metas Corp, Microsoft, Studiocom.com.Inc. o de cualquier otra compañía que haya contratado los servicios de consultoría de Juan Peláez

© Copyright 2010
Juan Carlos Peláez
Sign In

Technorati Profile
All Content © 2010, Juan Carlos Peláez
El tema 'Business' para DasBlog fue creado por Christoph De Baene (delarou) y modificado para español por Juan Peláez
Powered by FeedBurner