Sunday, August 27, 2006

Comunidad.Net DotNetLaguna

En la comarca lagunera nos hemos reunido un grupo de programadores dispuestos a mantenernos al dia y compartir nuestos conocimientos y experiencias en desarrollo de aplicaciones con .Net.

Gracias al apoyo de Microsoft, orgullosamente inauguramos la comunidad compartiendo una serie de conferencias y talleres para que conozcas y te especialices en las tecnologias .Net y formes parte de esta nueva y gran comunidad.

Ayer se presento oficialmente la comunidad de .Net, el evento se realizo en Tec de Lerdo. Por la mañana iniciamos con la inauguracion donde se presentaron a los integrantes y se explico un poco acerca de cual es el fin de esta comunidad. Despues iniciamos con las conferencias, se plantearon 2 tracks uno para nivel basico y otro para avanzados. Estuve presente en las 2 conferencias de nivel avanzado.

La primera fue expuesta por benjamin romero, quien nos hablo un poco acerca de Atlas, presentro y mostro la manera de utilizar algunos controles. La segunda conferencia fue expuesta por miguel madero quien presento algo de lo que hemos estado utilizando en el desarrollo de los proyectos para PocketPC, precisamente acerca de Mobile Client Software Factory del cual les hable en un post anterior.

Las 2 conferencias estuvieron bastante interesantes, sin embargo la primera duro muy poco por que se nos vino el tiempo encima. Por la tarde se llevaron a cabo talleres, tambien separandolos en nivel basico y avanzado de igual manera estuve en nivel avanzado donde se presento una aplicacion basica de Hola mundo utilizando remoting. Basicamente se explico la manera de desarrollar el cliente, servidor, configuracion de ambos y como dar de alta el servidor como un servicio en windows. Con esto se dio por terminado el primer evento de la comunidad .Net en la laguna.


Esperemos que cada vez mas gente se de cuenta de la necesidad de actualizarse y que las escuelas se acerquen a conocer acerca de estas tecnologias ademas de pensar un poco en cambiar sus planes de estudio para adaptarlos a los nuevos paradigmas de desarollo. =)

Saturday, August 19, 2006

Que son Software Factories?

Un "nuevo" paradigma de desarrollo de software. El concepto de Software Factories se refiere en pocas palabras a la Industrializacion del Desarrollo de Software. Muchos desarrolladores construyen sus aplicaciones con la idea erronea de que es la primera en su tipo. Apoco no? jajaj.

Un Software Factory basicamente es una linea de productos de software que configura algunas herramientas de desarrollo extendibles tal como es el caso de Visual Studio con DSLs, patrones, frameworks y guias, basadas en "recetas" para la construccion de tipos especificos de aplicaciones.

Como un ejemplo tenemos MCSF (Mobile Client Software Factories) la cual cuenta con patrones, instrucciones paso a paso, How to's, una aplicacion de ejemplo con codigo fuente, documentacion de la arquitectura y application blocks, ademas de un Guidance Automation toolkit el cual automatiza las tareas mas comunes al desarrollar aplicaciones moviles en Visual Studio. De esta manera, los arquitectos pueden utilizar esta propuesta para crear una arquitectura base para su aplicacion, de acuerdo a lo que dice microsoft y despues dejar que los desarrolladores utilicen esta arquitectura base para crear las apliaciones de una manera agil y predecible.

Con MCSF, tanto arquitectos como desarrolladores pueden incorporar muchas de las practicas y patrones ya probados en el desarrollo para moviles.

Beneficios de utilizar Software Factories:

Arranque agil: Ya que provee a los arquitectos y desarrolladores una forma efectiva de crear una linea base inicial de alta calidad para sus soluciones. Esta linea base incluiria codigo y patrones que son tipicamente descubiertos en las fases de incepcion y elaboracion de un proyecto, asi que con un poco de sentido de logica sabemos que tendra un nivel de madurez mucho mayor a una aplicacion desarrollada sin una guia o codigo base.

Reduccion de Riesgos: Esta etapa creo que es a veces la que nos pega en tiempos en desarrollo de proyectos. A quien no le ha sucedido que ha tenido que desarrollar en un campo en el que jamas habia imaginado? Pues creo que a todos nos pasa. Y si queremos que el proyecto sea exitoso hay que realizar investigaciones, pruebas y cosas como administracion y control de riesgos. (Esto deja abierto el tema para un proximo post de Moprosoft o CMMI). Pero el hecho de tener esta linea base la cual nos proveen las factories ayudan a mitigar estos riesgos.

Mayor calidad: Debido que nos provee de componentes reusables y guias que ya se han probado en este caso directamente por gente de microsoft, estamos seguros de que existe un alto nivel de calidad. O conocen a algun cliente a quien no le importe que el producto sea de buena calidad?.

Mayor Productividad. En el caso en el que incluya una serie de herramientas que automaticen las tareas mas comunes dentro del mismo IDE de desarrollo, por supuesto que hara las cosas mas faciles. Para el caso de MCSF la creacion de vistas, presenters, controllers con solo dos clicks (uno derecho y uno izquierdo jaja) del mouse. Despues de haber hecho todo esto a pie, creanme que es un alivio poder realizarlo asi.

Facil de adoptar: Esta abierto, es customizable, arquitectos y lideres de desarrollo pueden meterle mano para que cumpla con necesidades especificas ayudados de la completa documentacion que lo acompania.

Que les parece? mas o menos se entendio? Van a seguir programando a ciegas o van a empezar a buscar su factory hasta para el hello world? Ahi se los dejo de tarea.

Saludos.

Por cierto, a quien ayude este post me gustaria que dejara algun comentario incite a seguir con la motivacion de escribir este tipo de posts. Nada satisface mas que 1 hora y media de mi vida sirvio para algo jajajaja. :)

Thursday, August 17, 2006

Bloggeando con Word2007

Por fin se ha integrado a esta herramienta una funcionalidad extra para todos aquellos aficionados a estar bloggeando. Si alguna vez llegaron a escribir un post, o a tratar de crear una pagina web en word se habran dado cuenta de la cantidad de codigo html basura ke se generaba.

Al parecer para esta version esto ha quedado atras por que el equipo de desarrollo de word 2007 se puso las pilas y se propuso corregirlo. Ustedes podrian preguntarse: De que me sirve utilizar word para postear si ya lo hago desde mi propio proveedor de blogs?. No les ha pasado alguna vez que extrañan la funcionalidad de word como el corrector horrografico? O simplemente querer usar la misma aplicacion que utilizan como procesador de palabras?

La nueva interface que utiliza, esta enfocada especificamente a las necesidades a la hora de postear como comandos especiales utiles para la administracion de nuestras cuentas de blog y comandos para publicacion.
Otra de las caracteristicas interesantes es la capacidad de especificar un sitio para subir imagenes, de esta manera word se encarga de hacer el upload de cualquier imagen insertada en el post.

Ademas... Que les pareceria crear un nuevo post simplemente con ir al menu archivo y dar click en "Nuevo Blog post" o crear uno nuevo apartir de un documento ya creado usando el menu Publish?

Pues a bloggear con Word2007!!!

Sunday, August 06, 2006

Padre Neo?

Curioseando por ahi me encontre con un articulo bastante interesante acerca de la iglesia. No es que me llamen la atencion ese tipo de cosas, pero al ver la imagen que tienen aqui a su izquierda a cualquiera le interesaria.

La archidiocesis de indianapolis lanzo recientemente una campaña promoviendo una buena imagen del catolicismo. La campaña presenta una imagen de un joven sacerdote parecido a Keanu Reeves de la pelicula matrix, con la frase "The Catholic Priesthood, coming to a parish near you".

El padre Jonathan Meyer quien fue el modelo para la imagen, hablo de la campaña. Menciono que esta idea provino de la juventud, especificamente de un niño de segundo de secundaria que asiste a la escuela ubicada en su iglesia. "Me empezaron a llamar Padre Neo". El padre Meyer reconocio no haber visto la pelicula hasta este momento, y se dio a la tarea de saber como presentaba el filme a los jovenes la imagen de un heroe.
Una de las principales labores de la archidiocesis es limpiar la imagen del sacerdocio. "La gente cree que este tipo de vida es aburrida y usando el personaje de neo en matrix es una manera ideal de limpiar esa mala imagen".

Para finalizar meyer agrego que el crecimiento del interes en la vocacion seria el resultado perfecto para la campaña.

Monday, July 24, 2006

Instalando Windows Vista

Voy a presumirles que acabo de instalar Windows Vista Beta 2. Tuve algunos problemas durante el proceso de instalacion. Intenté instalarlo 2 o 3 veces y siempre me salia el error 80070241 hasta ke decidí buscar ese issue en foros. Esto me llevo a algunas soluciones donde decian que el problema se debia a que el iso que se habia descargado para la instalacion venía probablemente corrupto y que debería descargar algun otro ISO. Decidi no irme por esa solucion ya que el dvd que utilizo para la instalacion es original y segui buscando hasta encontrarme con un post donde decia ke habia ke copiar el contenido del dvd a algun directorio de raiz.

Primero hay que iniciar el proceso de instalacion, y en lugar de dar click en instalar, nos vamos a ir por el lado de system recovery. Una vez en esta pantalla vamos a abrir 1 terminal . vamos a crear un nuevo directorio, en c:. vamos a llamarle Vista. (para crear un nuevo directorio basta con ejecturar md nombre_del_directorio).
ya que hayamos creado el directorio, vamos a cambiarnos a E: (o la unidad de DVD que esten usando). Ejecutamos el comando xcopy /E /T *.* c:\vista y a continuacion xcopy /E /H *.* c:\vista y por ultimo attrib -r c:\vista\*.* /s . El primero es para copiar la esturcutra de directorios el el segundo para copiar los archivos y el tercero le cambia el atributo de lectura a los archivos. La ejecucion del segundo comando va a tardar alrededor de 15 o 20 minutos. Cuando haya finalizado la copia de archivos, vamos a irnos a c:\Vista\Sources y vamos a ejecutar setup.exe. Retiramos el Dvd de la unidad, y continuamos con una instalacion normal. como los archivos ya estan en el HD el proceso de copia de archivos no va a tomar mas de 1 minuto.

Cuando termine la instalacion les va a preguntar lo mismo de siempre que si el usuario y blabla bla ustedes nomas denle siguiente, hasta ke salga finalizar jajaja.

Con esto ya estamos listos para probar el nuevo SO de nuestro amigo billy.

Aqui les dejo el link que me ayudo a resolver mi problema
http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=477579&SiteID=17

Por cierto. Los requerimientos del Operativo son algo altos, eviten instalarlo si no cuentan con el hardware apropiado. Al parecer la misma instalacion tiene 2 versiones una donde instala algunas caracteristicas de video que requieren de Aero y para las cuales es necesaria una tarjeta de video minimo de 128 Mb. Y la otra version donde no lo instala. Mi maquina es una P4 a 3.0 con 1Gb de ram y aun asi el procesador esta corriendo a un 30 % en promedio, aveces elevandose hasta un 85%.

Espero que les haya sido de ayuda. :D

Thursday, April 20, 2006

Consumiendo WebServices usando HTTPS(SSL)

Este post es para compartir con ustedes esta experiencia que tuve al estar realizando pruebas sobre un WebService que estamos desarrollando.

Cuando se utilizan WebServices algo primordial es la seguridad, estoy debido a que los mensajes SOAP son transmitidos en texto plano por la red, asi que cualquiera con un sniffer pudiera interceptar el mensaje SOAP y leerlo. Claro que esto pudiera suceder tambien con informacion transmitida en modo binario pero requiere un poco mas de habilidades de "Hacker".

Asi que una solucion a esto es utilzar HTTPS (SSL) en lugar de HTTP, de esta manera la información viaja encriptada. Para lograr esto es necesario conseguir e instalar un certificado en el WebServer. En ambiente de produccion lo mas seguro es que se requiera comprar un certificado de alguna autoridad como Verisign. Si solo deseamos hacer nuestros primeros pininos con HTTPS, SSL y certificados o nuetro proyecto aun se encuentra en desarrrollo pudieramos crear nuestro propio certificado usando la herramienta MakeCert.exe la cual se encuentra incluida en el SDK de .NET

Despues de todo este desmoder se agrega el certificado a algun website en el IIS, y se establece un puerto el cual va a ser utilizado por HTTPS.
Al navegar hacia un sitio HTTPS, normalmente se recibe un cuadro de dialogo donde se te pregunta si confias en el certificado proveido por el webserver al que estas contactando. Asi que la responsabilidad de aceptar dicho certificado es responsabilidad del usuario.

Ahora, si desearamos invocar un WebService que se encuentre en un webserver que utilice SSL y HTTPS habria un problema. Si hacemos la llamada desde codigo no va a haber ningun cuadro de dialogo que nos pregunte si vamos a confiar o no en el certificado.
Asi que normalmente obtendriamos una excepcion del tipo System.Net.WebException ( no se puede establecer una conexion segura con el servidor remoto).

Ahora les voy a presentar la solucion a este pekeño problemilla. La manera de resolver esto es creando nuestra propia clase de políticas la cual implementaria la interface ICertificatePolicy. Lo uniko que tenemos ke hacer es implementar el metodo CheckValidationResult la cual regresa un valor de tipo booleano, asi como si estuvieramos presionando el boton de "Si, confio en el certificado"

Con fines de muestra, la clase siguiente solo regresa un true de manera que acepta tooooodos los certificados

public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy{ public TrustAllCertificatePolicy() {}public bool CheckValidationResult(ServicePoint sp, X509Certificate cert,WebRequest req, int problem) { return true; }}

Si keremos hacer mas segura se pueden agregar algunas otras validaciones usando el parametro del certificadoX509.

Ah, por cierto. hay que usar esta linea de codigo:

System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();

Solo una vez durante el ciclo de vida de la aplicacion para indicar el uso de nuestra clase.


(Articulo traducido del blog de Jan Tielen)
Thank You Jan for such a useful and interesting post.

Sunday, April 02, 2006

Muy Interesante!!!

Esta vez voy a escribir rapido
solo para recomendarles un sitio muy muy interesante y entretenido
se trata de un juego en linea de vampiros, hombres lobo y muertos uuuuyyyyyyyy

pero creanme ke no se van a arrepentir de entrar

=)
Dar click en laimagen para ir directamente al sitio