Sitio Web del poderoso ChicoDotNet es el lugar donde puedes aprender todo lo nuevo sobre desarrollo de aplicaciones para Windows, ASP .NET, SmartClient y adquirir los súper poderes que te da la mejor plataforma de creación de programas: Microsoft .NET
InformaciónSecciones
Acerca de mí
Otros blogs de tecnología que escribo
Otros Chicos y Chicas Dot Net
|
20070530Microsoft SurfaceEl día de hoy se presentará en la conferencia D el nuevo producto de Microsoft, que es la plataforma más novedosa desde el invento de la PC, su nombre: Microsoft Surface, anteriormente conocido (bien poco) con el Code-name Milan. Una mesita para café, tan sencillo como eso, pero sin cables que conectar, drivers que instalar, mouse, teclado ni nada que se le parezca, simplemente una pantalla touch-screen sobre la superficie de la mesa, de ahí su nombre. En el siguiente diagrama se pueden ver las partes del Microsoft Surface:
Microsoft Surface acepta la entrada de dedos múltiples y de los usuarios múltiples simultáneamente, teniendo en cuenta gestos complejos, incluyendo agarrar, estirar, girar sobre un eje y resbalar objetos virtuales a través de la tabla. Y la superficie tiene la ventaja agregada de una pantalla horizontal, así que varias personas pueden sentarse alrededor y utilizarla juntos. Lo interesante de todo esto para los desarrolladores es que principalmente ahora tenemos más campo para explorar opciones de interfases de usuario, que puedan disparar múltiples eventos multi-hilos y manejar multiusuarios en espacios públicos por ejemplo. Éste súper juguete rondará el precio de 10,000 USD y por el momento no se tiene fecha de salida al mercado, a ver si al rato. Etiquetas: Experiencia de usuario », Novedades tecnológicas, Windows Vista » Escrito por Alfonso Lara Ramos @ 11:30 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070527Los 10 errores de seguridad más comunes en ASP .NETA continuación les enumeraré los 10 errores más comunes que se cometen cuando desplegamos una aplicación ASP.NET, les explico la razón por la que esos errores pueden ser peligrosos y les indico la manera más adecuada de corregirlos. Espero que les sea de utilidad:
Etiquetas: .NET Básico, Aplicaciones Web », Arquitectura de software », Buenas prácticas, Fiabilidad y manejabilidad », Hacking, Pruebas de software », Seguridad Informática, VB Escrito por Alfonso Lara Ramos @ 06:25 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070526patterns & practices Web Client Software Factorypatterns & practices Web Client Software Factory es un kit que sirve a arquitectos y desarrolladores como base para la implementación de buenas prácticas en el desarrollo de aplicaciones Web ASP.NET que tengan flujos de página o flujos de trabajo complicados, que sean desarrollados por equipos de trabajo distribuídos, que obtengan información de diversas fuentes en interfases de usuario integradas y que soporten transacciones de negocio, todo ello con la posibilidad de desplegar la aplicación en forma modular. Las ventajas de usar estas plantillas es que al integrar la interfase de usuario en múltiples módulos que desarrollen varios equipos de desarrollo se unifica la experiencia de usuario, esto reduce la complejidad del uso de diferentes aplicaciones para los usuarios finales, además como se pueden desplegar las aplicaciones modularmente las actualizaciones o nuevas características se pueden fácilmente actualizar independientemente de los tiempos en que los requerimientos de los usuarios son atendidos por los equipos de desarrollo. Incluye módulos de autenticación, bitácoras, manejo de excepciones, autorización y plantillas de ambiente que a fin de cuentas parecen desarrollados por la misma persona o equipo independientemente de que no sea así. Aprovecha las tecnologías de SiteMaps, el ASP.NET role manager, la Enterprise Library Security Application Block y crea los bloques de pruebas, además de que incluye un diseñador de flujos de páginas por lo que cada desarrollador se puede enfocar en programar únicamente la lógica de negocio una vez ajustadas las plantillas iniciales. Las descargas de documentación y el kit de desarrollo son gratuitas. Incluye librerías, plantillas, diseñadores de flujos, una implementación de ejemplo, guía para arquitectos, patrones y tópicos de cómo hacer las cosas. Etiquetas: Administración de proyectos », Aplicaciones Web », Arquitectura de software », Automatización, Buenas prácticas, Experiencia de usuario », Herramientas, Novedades tecnológicas Escrito por Alfonso Lara Ramos @ 13:28 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070524Patrones y antipatrones de arquitectura: SingletonEn esta ocasión iniciaré una serie de artículos acerca de patrones y antipatrones de arquitectura. Espero que les sea útil. Ejemplificaré utilizando VB.NET y C# en cada uno de los patrones. Tipo de patrón Creador de objetos Objetivo Asegura que una clase determinada únicamente tenga una instancia y da acceso global a ella. Motivación Es importante en muchos casos que una clase tenga una instancia única, esto por ejemplo aplica a manejadores de ventanas, sistemas de archivos y de manera más sencilla clases que tienen propiedades y métodos que se utilizan durante todas las actividades de un sistema una y otra vez llamadas desde muchas otras instancias, por ejemplo un proveedor de acceso a datos. Un mecanismo adecuado para lograr esto es que la clase por si misma se construya, se exponga globalmente a todo el ensamblado y evite que otras clases la puedan construir nuevamente. Aplicación Debe usarse el patrón Singleton cuando deba haber una sola instancia de una clase y esta pueda ser accedida desde un punto conocido por sus clientes y cuando esta instancia deba ser extendida por sub clases sin modificar su programación. Estructura Participantes Singleton Colaboración Los clientes accesan al singleton solamente a partir de su operación Consecuencias Los beneficios del uso del patrón Singleton son los siguientes:
Implementación Un ejemplo de implementación puede ser un proveedor de acceso a datos multi-base de datos, este se extiende por medio de la implementación de interfases para incluir nuevas sub clases que acepten nuevos proveedores en el caso de nuevas versiones o cambios de plataformas, la lógica de negocio siempre trabajará con la instancia Singleton Datos y toda la operación nueva o modificada se podrá implementar fácilmente sin modificar el resto de la programación, además de encolar los procesos transaccionales. Código de ejemplo VB.NET
C#
Usos conocidos Un ejemplo de usos conocidos es la relación entre las clases y sus respectivas metaclases y las interfases únicas en los patrones de fábrica abstracta, constructor y prototipo. Patrones relacionados Fabrica abstracta, Constructor, Prototipo Etiquetas: .NET Básico, Arquitectura de software », Buenas prácticas, C Sharp », Fiabilidad y manejabilidad », VB Escrito por Alfonso Lara Ramos @ 18:03 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070523Configuración de SSL con certificados autofirmados en IIS 7.0SSL proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se garantiza su identidad) mientras que el cliente se mantiene sin autenticar; la autenticación mutua requiere un despliegue de infraestructura de claves públicas (o PKI) para los clientes. Los protocolos permiten a las aplicaciones cliente-servidor comunicarse de una forma diseñada para prevenir escuchas (eavesdropping), la falsificación de la identidad del remitente (phising) y mantener la integridad del mensaje. SSL implica una serie de fases básicas:
Durante la primera fase, el cliente y el servidor negocian qué algoritmos criptográficos se van a usar. Las implementaciones actuales proporcionan las siguientes opciones:
Toda la información sensible debería transportarse por medio de SSL o TLS (su sucesor), sin embargo muchas veces esto no se probaba en desarrollos caseros porque era un auténtico lío configurar certificados en IIS y normalmente quienes aprendíamos a hacerlo es porque recibíamos certificados de nuestros clientes que por norma los implementaban. Bueno pues con la nueva versión de IIS esto se ha facilitado muchísimo. Con IIS 7.0 el procedimiento para habilitar una Web segura es muy fácil: Paso 1: Crea un certificado de servidor, das click en el elemento raíz (el que dice CHICODOTNET en la imágen) Paso 2: Seleccionas Certificados de servidor, clic derecho y seleccionas "Crear certificado autofirmado", le asignas nombre, Aceptar y listo. Paso 3: Vas y creas un sitio Web de la manera tradicional, o sea click derecho en Sitios Web, seleccionar Agregar sitio web y llenar los datos, nótese en la imágen que elijo https como tipo de enlace y el certificado que acabo de crear, comúnmente usaremos el puerto 443. Paso 4: Podemos apuntar tanto las conexiones seguras como las normales al mismo sitio Web y ya solo nos encargaríamos de enlazar al protocolo correcto dentro de nuestra aplicación, recordemos que no todo puede estar por https porque el proceso de cifrado y certificados harían muy lento el desempeño, pero todo aquello que transmita comunicación sensible debe ir por Web segura. Nótese en la imágen que podemos usar distintos puertos a los que se utilizan por defecto. Paso 5: Una vez configurado todo seguramente querremos probarlo, cabe aclarar que el certificado que creamos en este ejemplo está a nombre de nuestra máquina, por lo que IE 7 nos muestra un mensaje de antiphising, le damos en entrar de todos modos y nos encontramos con el resultado final que hemos publicado en la Web segura. Paso 6: De cualquier modo la forma más adecuada de entrar a hacer nuestras pruebas es en el nombre de la máquina (que por lo general en un certificado que sale a producción corresponde al dominio). Ahora sí, felíz codificación de Webs seguras. :-D Etiquetas: Seguridad Informática, Windows Vista » Escrito por Alfonso Lara Ramos @ 09:52 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070522Reunión de la Comunidad .NET D. F. Mayo 2007El martes 29 de mayo de 2007 se realiza la reunión mensual de la Comunidad .NET del D. F. En esta ocasión están confirmadas las siguientes ponencias:
El lugar donde se reúne la comunidad es: Intersoftware Learning Solutions La cita es de 19:00 a 21:50 horas aproximadamente. La entrada como siempre es gratuita, puedes llegar en Metrobus y bajarte en la estación Poliforum o si vienes en automóvil llegas por Insurgentes, como a 4 cuadras del Viaducto Miguel Alemán con dirección hacia el sur. Si es tu primera vez en la Comunidad .NET es bueno que sepas que en el WTC te piden identificación a la entrada así que no la olvides. Etiquetas: .NET Básico, C Sharp », Comunidad, Seguridad Informática Reunión de la Comunidad .NET D. F. Mayo 2007 Escrito por Alfonso Lara Ramos @ 22:30 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070521Microsoft Silverlight VS. Adobe Flash. Comparativa de característicasEmpecé mi carrera en el desarrollo de software creando aplicaciones interactivas con Macromedia Flash , la mayoría de los ejemplos de integración con aplicaciones Web en aquél entonces eran con ASP 3.0 y Action Script así que mi primer acercamiento a las aplicaciones Web que se ejecutaban del lado del servidor luego de CGI con C, Perl y Phyton afortunadamente tendieron a los lenguajes Microsoft, que son sencillos de usar y poderosos, aunque pasé por Java y PHP efímeramente. Hoy haré una comparativa entre la tecnología de Flash con la que mi hermano Arturo y yo iniciamos la aventura y Silverlight que está brindando nuevos caminos que empiezo a explorar recientemente. Primeramente, la documentación desde la época de Flash 4 era un poco pobre, la mayoría de las aplicaciones solían utilizar eventos "On" y en muchas ocasiones podíamos ver el menú completo de aplicaciones Flash que no evitaban que aplicaras zoom en una animación de tamaño fíjo en tu sitio Web favorito o que tardaban mucho en bajar, esto sucedía porque la mayoría de los desarrolladores que implementaban Flash no conocían mucho del lenguaje ActionScript, ¿El resultado? aplicaciones muy pesadas que se tenían que distribuír en CD's interactivos pudiendo hacerlo vía Web si se hubiera documentado el lenguaje un poco mejor y los desarrolladores hubieran programado por ActionScript sus aplicaciones Flash como lo han hecho los grandes sitios que tuvieron éxito. La documentación y el SDK fueron mejorando gradualmente pero luego Macromedia aparentemente abandonó el esfuerzo por lo que el SDK y la documentación de Flash pasaron a formar parte del lado oscuro de la fuerza: a pesar de su poder de crear aplicaciones de negocios poderosas se ha limitado su uso a la creación de animaciones y encapsulado de multimedia. Microsoft y la comunidad de desarrolldores han documentado bastante de Windows Presentation Foundation Everywere, ahora conocido como Silverlight, además su integración completa como parte de .NET 3.0 con las clases que venimos manejando los desarrolladores .NET desde la primera versión de .NET hacen que Silverlight sea una plataforma más natural para el manejo de aplicaciones de negocios que Flash . Independientemente de la documentación y los SDK's las diferencias entre ambas plataformas en sus puntos más notorios son las siguientes:
La conclusión es que Flash es una excelente plataforma de desarrollo de aplicaciones pero que su implementación no es tan sencilla como Silverlight, que además de ser visualmente igual de poderoso está soportado por una gran base de conocimiento que crece día con día, está basado en texto, se integra fácilmente con las aplicaciones .NET y es más barato de implementar. ¿Mi veredicto? Me cambio a Silverlight. Etiquetas: Experiencia de usuario », Interoperabilidad, Silverlight, Windows Presentation Foundation » Escrito por Alfonso Lara Ramos @ 14:52 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070520Como encriptar tus conexiones de SQL Server 2005En SQL Server 2005 las conexiones entre cliente y servidor pueden ser encriptadas utilizando SSL incluso si un certificado X.509 no se ha instalado. Cuando este es el caso SQL Server creará uno automáticamente. Por defecto el certificado revisará que una entidad de confianza raíz esté enlazada (Por ejemplo eTrust o Verisign) cuando no es encontrada una entidad superior de confianza la conexión fallará con un mensaje como este: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed) Puedes solicitar en la cadena de conexión que la verificación del certificado no se realice utilizando el parámetro TrustServerCertificate en tu cadena de conexión, quedando tu cadena de conexión de la siguiente forma (en C#): string connectionstring = “Server=(local);Database=AdventureWorks; Integrated Security=SSPI;Encrypt=true;TrustServerCertificate=true”; Es mejor instalar un certificado válido y reconocido, sin embargo es mejor utilizar uno que no lo sea que transmitir datos sensibles en texto plano por la red. Etiquetas: Bases de Datos », Buenas prácticas, Seguridad Informática, SQL Server » Escrito por Alfonso Lara Ramos @ 19:27 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070519Microsoft PopFlyMicrosoft PopFly es un sitio que presentó Microsoft basado en Silverlight que tiene como principal característica en que puedes crear y compartir mezclas de servicios de Internet, tales como Flickr, Twitter, Virtual Earth, gadgets y aplicaciones. Todas ellas pueden construírse directamente desde el sitio de PopFly ya que la aplicación te permite utilizar todas las herramientas necesarias en una interface Windows Presentation Foundation. Está formado de dos partes principalmente:
Mashup Creator tiene por el momento las siguientes herramientas:
Por otro lado, las características de Web Page Creator son las siguientes:
Finalmente, la comunidad PopFly Space incluye herramientas de colaboración, tales como:
Etiquetas: Aplicaciones Web », Comunidad, Expression Studio », Herramientas, Interoperabilidad, Novedades tecnológicas, Silverlight, Visual Studio », Windows Presentation Foundation » Escrito por Alfonso Lara Ramos @ 23:45 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070518Certificación Microsoft para desarrolladores: Requisitos para especialista en Aplicaciones Web .NET 2.0La certificación Microsoft Certified Technology Specialist: .NET Framework 2.0 Web Applications (MCTS: .NET Framework 2.0 Web Applications) indica conocimientos y habilidades en desarrollo de aplicaciones Web y acceso a datos en aplicaciones Web. Este tipo de certificación es la indicada si eres un desarrollador Web. Los requisitos son dos exámenes, el 70–536: TS: Microsoft .NET Framework 2.0 - Application Development Foundation y el 70–528: TS: Microsoft .NET Framework 2.0 - Web-Based Client Development Para pasar estos exámenes te recomiendo investigar y practicar los siguientes tópicos:
Los libros que te recomiendo leer son los siguientes:
Etiquetas: .NET Básico, Aplicaciones Web », Arquitectura de software », C Sharp », Certificación Microsoft », Servicios Web », SQL Server », VB Escrito por Alfonso Lara Ramos @ 09:30 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070517IronPhytonIronPython es una implementación del poderoso lenguaje Python que corre en .NET. Funciona en una consola interactiva que se compila por completo dinámicamente. Se integra con el resto del .NET Framework y permite a los programadores Phyton acceder a las librerías .NET en forma natural mientras mantiene compatibilidad completa con el lenguaje Phyton original. Desde mi punto de vista si estas explorando las ventajas de los lenguajes dinámicos IronPhyton es una excelente opción en lo que llegan las nuevas versiones de C# 3.0 y VB 9.0. Silverlight soporta IronPhyton y ASP .NET Futures también está incluyendo el soporte completo para este lenguaje dinámico. A continuación algunos enlaces útiles para utilizar IronPhyton:
Etiquetas: .NET Básico, Comunidad, Herramientas, Interoperabilidad, Novedades tecnológicas, Silverlight Escrito por Alfonso Lara Ramos @ 11:39 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070516patterns & practices Guidance Explorerpatterns & practices Guidance Explorer es una herramienta que te permite aprovechar consejos y ejemplos de buenas prácticas de desarrollo de software con .NET. Está integrado con la librería de patrones y prácticas que viene con útiles consejos acerca de seguridad y rendimiento para .NET, ASP .NET y ADO .NET, los consejos cubren lstas de verificación, guías de diseño, guías de implementación y guías de despliegue de aplicaciones que te pueden resultar útiles en muchas ocasiones. Incluye un cliente inteligente que te permite navegar librerías locales o remotas de buenas prácticas que se sincroniza automáticamente con el sitio de buenas prácticas además de permitirte suscripción con otras guías para publicar u obtener nuvs documntos y ejemplos de buenas prácticas. Puedes personalizar las recomendaciones para distribuírlas a tu equipo de trabajo filtradas según lo que utilizarás en tus proyectos. Puedes descargar el patterns & practices Guidance Explorer y mejorar el desempeño de tu equipo de trabajo desde el sitio de GotDotNet. Etiquetas: .NET Básico, Arquitectura de software », Buenas prácticas, Herramientas, Interoperabilidad, Seguridad Informática patterns & practices Guidance Explorer Escrito por Alfonso Lara Ramos @ 13:39 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070515Mobile Line of Business Solution AcceleratorCuando desarrollas por primera vez para dispositivos Windows Mobile es curioso ver como la mayoría de los desarrolladores utilizan el emulador para probar su primer "Hola Mundo" y se distraen utilizando las características del sistema, luego ven los controles y desisten rápidamente de desarrollar para esta útil plataforma. Y es que con ese espacio a primer vista no tienes mucho que hacer y es dificil pensar de primera instancia en aplicaciones que puedan adaptarse a una PDA y que sean productivas en el mundo real, fuera del entorno desconectado. Sin embargo esto es posible y de hecho se está haciendo cada vez más popular y se difunde rápidamente con soluciones de todo tipo en todos los negocios. Es para darte nuevas ideas que Microsoft lanzó el año pasado un kit llamado "Mobile Line of Business Solution Accelerator", que es un SDK de ejemplo de lo que puedes hacer con una aplicación móvil desde el punto de vista de tres roles de usuario: un vendedor, un almacenista y un conductor de reparto. El kit contiene más de 100 páginas de documentación, ejemplos, una base de datos de ejemplo en SQL y todos los componentes necesarios para ejecutar la aplicación, es una excelente opción si eres alguien que desde hace tiempo tiene ganas de probar el Compact Framework pero no sabe por donde empezar, también lo es si ya tienes experiencia en desarrollo para dispositivos móviles y quieres aprender sobre las mejores prácticas de implementación. Puedes bajar el kit desde la página de descarga de Mobile Line of Business Solution Accelerator, el desarrollo de ejemplo está en C#. Etiquetas: .NET Básico, .NET Compact Framework », C Sharp », Herramientas, Windows Mobile » Mobile Line of Business Solution Accelerator Escrito por Alfonso Lara Ramos @ 13:20 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070514Nuevos límites matemáticos en Excel 2007Microsoft Excel 2007 amplía sus capacidades de manejo de información, una pregunta común cuando integramos aplicaciones Microsoft Office System con nuestras aplicaciones .NET es por ejemplo cúantas celdas debemos soportar (vaya que tipo de número es adecuado para manejarlas en un array por ejemplo) cuando hacemos una importación de archivos Excel a nuestra base de datos SQL 2005, el objetivo del presente artículo es dar algunas luces al respecto de las capacidades de Microsoft Excel 2007 y de las versiones anteriores de paso tales como Microsoft Excel 97, Microsoft Excel 2000, Microsoft Excel XP, y Microsoft Excel 2003:
Etiquetas: .NET Básico, Bases de Datos », Excel, Interoperabilidad, Microsoft Office System » Escrito por Alfonso Lara Ramos @ 09:08 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070513WebCasts de Silverlight en españolDurante esta semana y la siguiente habrán tres WebCasts dedicados a Silverlight en la lengua de Cervantes, la información de dichos Webcasts la comparto a continuación:
Etiquetas: Comunidad, Podcasts, Silverlight, Webcasts, Windows Presentation Foundation » Escrito por Alfonso Lara Ramos @ 09:58 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo Invitación al evento de comunidad SharePoint del DF y Comunidad.NET del DFLa comunidad SharePoint del DF y la Comunidad .NET del DF tiene el agrado de invitarlos a un evento conjunto para mostrar características de MOSS 2007 y las capacidades de Visual Studio 2005 y el .NET Framework 3.0 para extender la funcionalidad de aplicaciones de colaboración basadas de SharePoint. La ubicación del evento será en: Sobre la ubicación y la manera de llegar, pueden consultarla en: http://www.itam.mx/es/ubicacion/ubicacion.php El registro se realizará en el sitio de eventos de Microsoft en la siguiente liga: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032340023&Culture=es-MX El evento no tiene costo, solo trata de llegar temprano para ocupar un buen lugar. Los esperamos por allá. Saludos... Alfonso Lara Nota: Este post fue casi completamente fusilado del blog de Octavio Tellis, sólo cambia en que puse mi nombre, no olviden registrarse para asistir al evento, va a estar muy interesante. Etiquetas: Comunidad, SharePoint, Windows Workflow Foundation » Invitación al evento de comunidad SharePoint del DF y Comunidad.NET del DF Escrito por Alfonso Lara Ramos @ 09:15 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo Xml Notepad 2007XML Notepad 2007 provee una interfase de usuario simple para navegar y editar documentos XML. Entre sus nuevas características tiene:
Está muy bien si no te quieres complicar con la escritura de documentos XML, una de las cosas más útiles es lo de la validación de esquemas, cualquier formato XML existente en una especificación de esquema tiene IntelliSense de inmediato. Puedes descargar XML Notepad 2007 en forma gratuita. Etiquetas: Herramientas, Novedades tecnológicas, XML Escrito por Alfonso Lara Ramos @ 08:13 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo La clase SystemInformationUna de las clases que casi no veo en aplicaciones de negocios es SystemInformation y eso que es una de las más útiles para muchas aplicaciones de negocios de misión crítica. Por ejemplo imagínate que tienes un servidor de base de datos del que depende una aplicación muy importante, de pronto se va la luz del site y entra en modo de batería, queda una hora para hacer el respaldo de la información y son las 3 de la mañana, hora en la que recibes un montón de transacciones del otro lado del mundo, necesitas un mail al servicio de pager del encargado de los servidores y disparar el respaldo por si la batería se termina. O no seamos tan dramáticos, supón que haces una aplicación de transmisión FTP que se tiene que enterar de que se cayó la red y notificarlo para pausar la descarga o transmisión de un archivo que están enviando por bloques. Es ahí donde esta clase es realmente útil. El caso es que la clase SystemInformation te puede dar precisamente eso: información acerca del esado del sistema, que puedes aprovechar en tus aplicaciones de muchas maneras distintas. Algunos ejemplos de lo que puedes encontrar en dicha clase y algunas ideas de uso son los siguientes:
En general es una clase muy interesante porque en base a la información básica del sistema puedes hacer muchas cosas que pueden ser muy útiles o simplemente divertirte un rato. Por cierto, esta clase la encuentras en el espacio de nombres System.Windows.Forms ¡Feliz codificación! Etiquetas: .NET Básico, Hacking, Windows Forms » Escrito por Alfonso Lara Ramos @ 07:20 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070512eConnect Enterprise Application Integration (EAI)eConnect Enterprise Application Integration (EAI) 9.0 conecta Microsoft Dynamics GP 9.0 (Antes conocido como Great Plains) con nuevas transacciones de documentos del lado del servidor, tales como carritos de compras, aplicaciones previas y sistemas de punto de venta. Para nosotros los desarrolladores lo importante de eConnect es que se puede conectar con las transacciones nuestras aplicaciones .NET y explotar los datos y la lógica de negocios de Dynamics GP sin tantas complicaciones para crear nuevas aplicaciones a la medida que amplíen la funcionalidad sin tener que reescribirlo todo. eConnect corre dentro de un SQL Server y viene con una serie de herramientas de conectividad que cumplen con los estándares de la industria para acceder a el sistema de contabilidad de Dynamics GP desde nuestras aplicaciones. Las herramientas de eConnect incluyen el servicio, basado en .NET que es un mecanismo de transporte para Message Queuing (MSMQ) entre el back office y nuestras aplicaciones, los esquemas de transacción y ejemplos de XML para hacer las conexiones, un adaptador para BizTalk, una librería COM para Visual Basic 6 y pues la documentación, que no podía faltar. El SDK no estoy seguro de si puede descargarse de Internet, por lo pronto lo que si sé es que viene con el disco de instalación de Dynamics GP, pero si me entero de que Microsoft lo publicó en algún lado actualizaré este post además de avisar en uno nuevo. Etiquetas: BizTalk, Dynamics GP », Interoperabilidad, Novedades tecnológicas Escrito por Alfonso Lara Ramos @ 09:17 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070511Guidance Automation Extensions y Guidance Automation ToolkitLas Guidance Automation Extensions (GAX) expanden las capacidades de Visual Studio 2005, permitiendo a los arquitectos y desarrolladores la ejecución de paquetes de guía, como los que se incluyen en las fábricas de software que automatizan las tareas de desarrollo clave desde el ambiente de desarrollo de Visual Studio. El Guidance Automation Toolkit (GAT) es una extensión de Visual Studio 2005 que permite a los arquitectos crear experencias de usuario para reutilizar entornos de trabajo, componentes y patrones, los paquetes resultantes están compuestos por plantillas, asistentes y recetas lo cual hace que los desarrolladores trabajen en forma consistente con la guía que les da el (la) arquitecto (a). Las recetas automatizan actividades que los desarrolladores realizan manualmente siguiendo instrucciones, las recetas se pueden usar para garantizar "errores de dedo" en actividades muy repetitivas, por ejemplo si vas a desplegar un sitio Web de 500 documentos en los que el título de los 300 que usan la plantilla ejemplo.master deben tener el formato Nombre del Sitio - Titulo del documento. Las recetas se pueden ejecutar sobre elementos particulares de la solución, o con elementos que compartan ciertas características. Las acciones son unidades atómicas de trabajo llamadas en una secuencia definida por las recetas, la secuencia dada recibe incluso parámetros obtenidos de las recetas o de otras acciones realizadas durante la secuencia. Las plantillas de transformación de texto de plantillas (si, así tan redundante) son conjuntos de texto y scriptlets. Los scriptlets son expresiones en Visual Basic o C# que al ejecutarse generan una cadena que se inserta en la salida de la plantilla, así es como las plantillas tradicionales se expanden gracias al motor de transformación de plantillas que se incluye con el Guidance Automation Toolkit. Los asistentes generan acciones de desarrollo a partir de los parámetros que se les vayan dando, la idea es que los desarrolladores puedan generar código acorde a la arquitectura propuesta simplemente adaptando los patrones dados por medio del uso de los asistentes. Los convertidores de tipos validan el valor de un campo y lo convierten de su representación de interfase de usuario a su representación de tipo. Las Plantillas de Visual Studio se escriben en XML y se utilizan para crear soluciones completas, proyectos con ciertos elementos predefinidos o conjuntos de elementos predefinidos a soluciones nuevas o existentes, si bien eso ya se puede hacer directo con el Bloc de Notas lo bueno en el Guidance Automation Toolkit es que las puedes asociar con recetas para que se ejecuten cuando crees un proyecto en base a tus plantillas, las puedes asociar con los asistentes para que cada plantilla se ajuste a parámetros y a realizarse acciones que sean importantes antes de empezar a tirar código. Por supuesto cuando instalas todo tienes un Guidance Package que te permite aprovechar esta tecnología para crear tus propios Guidance Packages de forma rápida y sencilla. también viene muy bien documentado todo. Si eres un arquitecto de software o un líder de proyecto técnico seguro que son herramientas que te va a servir mucho, puedes descargarlas de las siguientes ligas: No se te vaya a pasar que hay que instalar primero las Extensions y luego el Toolkit para que todo salga bien. Las descargas requieren que te registres con tu cuenta de Passport. Etiquetas: Arquitectura de software », Automatización, Buenas prácticas, Novedades tecnológicas, Visual Studio » Escrito por Alfonso Lara Ramos @ 17:30 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070510Enterprise Library 3.0 LiberadaEl mes pasado se liberó la versión 3.0 de la Enterprise Library que es una colección de librerías que permiten resolver los problemas comunes con los que te encuentras como desarrollador empresarial utilizando las mejores prácticas recomendadas por Microsoft, y que se pueden agregar a las aplicaciones .NET rápidamente, por ejemplo Data Access Application Block agrupa las características más usadas de ADO .NET 2.0. La versión 3.0 de abril de 2007 incluye herramientas para los siguientes escenarios de implementación:
Hay mucha gente que no se acomoda a la Enterprise Library y otra a quien le encanta, en lo particular yo considero que es una buena opción si entiendes en que escenario utilizar sus herramientas y no tratas de implementarla toda sin estudiarla. No está disponible su equivalente en Mono. La Enterprise Library 3.0 se compone como tradicionalmente lo ha hecho de binarios, código fuente, pruebas unitarias para sus herramientas, inicios rápidos y toda la documentación necesaria para utilizarla. Más información en los siguientes enlaces útiles: Descargas:
Webcasts:
Presentaciones:
Etiquetas: .NET Básico, Arquitectura de software », Buenas prácticas, Generalidades, Novedades tecnológicas Escrito por Alfonso Lara Ramos @ 16:43 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070509Entendiendo la arquitectura de BizTalk Server 2004Microsoft BizTalk Server 2004 es principalmente una plataforma para mensajería de negocios y aplicaciones basadas en procesos que funciona por medio de servicios Web de publicación y suscripción de contenidos, pero no solo de eso sino de distintas descripciones de los mismos. Básicamente lo que se hace con esta plataforma es definir que información deseamos compartir con otras aplicaciones de negocios y publicarla, o en su caso consumirla. Un mensaje es recibido en una ubicación definida en un puerto de recepción dado, este mensaje es procesado y enviado a la base de datos MessageBox, que es el mecanismo de persistencia y ubicación. La base de datos evalúa las suscripciones existentes y enruta el mensaje hacia las orquestaciones y puertos de envío que le corresponden a la suscripción. La Base de datos MessageBox es una de las bases de datos que instala Biztalk Server, de las cuales hablaré en otras ocasiones pero que ennumero a continuación para que puedan investigar mientras:
Cada mensaje de BizTalk se compone de cero o varias partes, cuando se tiene al menos una parte una de ellas se identifica como cuerpo del mensaje. Cada una de las partes es un bloque binario que puede representar un documento XML, un archivo plano, una clase serializada de .NET o cualquir otro tipo de flujo de datos. El cuerpo del mensaje se utiliza para identificar la parte del mensaje que se usa para enrutar. Algo que es muy importante es que un mensaje de BizTalk es inmutable, o sea que no puede ser cambiado una vez que se ha creado en la base de datos MessageBox. Para hacer una modificación tendrías que copiar el mensaje en otro nuevo del mismo tipo y modificarlo antes de mandarlo a la base de datos. Los puertos de recepción y envío son la combinación de canales (pipelines), adaptadores y ubicaciones en el caso de los de recepción que funcionan por medio de SOAP para efecto de información y de FTP para efecto de transferencia de archivos, estos puertos también pueden hacer el trabajo de cifrado y descifrado de la información que transmitirán. Entre los puertos de recepción y envío existe una orquestación, que es el proceso de transformación, suscripción y publicación de los mensajes, que a su vez hace el trabajo de grabación en la base de datos MessageBox. Además existe un servicio de agente que controla el flujo de información de la base de datos, que funciona en un servidor SQL Server. Los puertos de recepción funcionan de la siguiente manera: Primero que nada se crean ubicaciones y mapas, las ubicaciones son las fuentes de información y los mapas son hojas de estilo XSLT que transforman dicha información. La información es así enviada a un canal en el cual se lleva a cabo una serie de procesos como decodificación, desensamblado, validación, y resolución de paridad. La decodificación convierte el mensaje recibido en información útil, el desensamblado se encarga de dividir el mensaje en varios mensajes mas pequeños para eficientar el proceso, la validación verifica que el objeto enviado sea integro conforme a lo que se intenta recibir y la resolución de paridad se encarga de que no existan objetos duplicados. En cuanto a los puertos de envío el proceso es al contrario, primero se leva a cabo un pre-ensamblado, un ensamblado y una codificación. Los primero dos crean el mensaje a partir de un objeto dado y la codificación se encarga de describir el contenido, cifrarlo y prepararlo para su transmisión. Cuando un mensaje es recibido por un adaptador de petición y respuesta, BizTalk Server publica la petición en la base de datos, luego, este mensaje es recibido por un suscriptor adecuado, que publica la respuesta en el servidor de igual forma, avisando al agente que publique el envío de lo que se esta solicitando para que la aplicación solicitante pueda obtenerlo. Luego entonces, el flujo es el siguiente:
Etiquetas: Arquitectura de software », BizTalk, Interoperabilidad, Servicios Web » Entendiendo la arquitectura de BizTalk Server 2004 Escrito por Alfonso Lara Ramos @ 12:58 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070508Microsoft XNA Studio ExpressXNA Game Studio Express es una solución de desarrollo de juegos que Microsoft promueve como enfocada a estudiantes, aficionados a la programación y desarrolladores de juegos independientes. A continuación se aclara el por qué. Está basado en Visual C# Express y permite crear juegos tanto para Windows como para XBox 360. Incluye el XNA Framework, que son las bibliotecas de clases que se utilizan como base para el desarrollo de videojuegos, el XNA Framework Content Pipeline que facilita el manejo de elementos 3D y una serie de ejemplos, instrucciones y kits para principiantes. XNA no son siglas, es como decir DNA pero de XBox, si bien la suite de desarrollo es gratuita tienes que tener una suscripción a Xbox Live, que cuesta entre $49 y $99 USD dependiendo del tiempo de vigencia. Otros requisitos para desarrollar en XNA es que tengas C# Express (No se integra con Visual Studio 2005), la última actualización de DirectX y que tu tarjeta de video pueda correr la versión 1.1 de Shader por lo menos , aunque muchos de los kits de inicio requieren que puedas correr la 2.0. Para correr tus juegos necesitas que tu XBox 360 sea la versión con disco duro, estas son restricciones bastantes, sin embargo otra que me parece preocupante es que aún no hay soporte de XNA en Windows Vista, por lo que si eres un early adopter necesitarás además de lo mencionado Virtual PC 2007 con una máquina virtual de Windows XP SP-2, claro, con su respectiva licencia. Fuera de ello, si cumples con los requisitos el desarrollo es bastante sencillo y puedes distribuír tus juegos con otros usuarios de XBox Live. Como tradicionalmente sucede, las ventajas de desarrollar para XBox 360 no son del todo claras si no eres una casa especializada en videojuegos, pero por ejemplo las empresas tradicionales pueden beneficiarse del despliegue de juegos temáticos enfocados a la publicidad de sus productos, capacitación en versión vídeojuego, tarjetas de felicitación interactivas y otras que se aprovechan actualmente en los desarrollos de juegos, principalmente con Flash y posiblemente ya con Silverlight. Para la distribución también hay restricciones, los usuarios potenciales de tus juegos deben tener XBox Live con una suscripción al XNA Creators Club, tener instalado el Framework de XNA en su XBox 360, el XNA Studio Express instalado en su propia máquina de desarrollo y debes compartir todo tu código fuente. En realidad esto parece ser una estrategia de evangelización de desarrolladores para llevarlos de entrada o de regreso al mundo de los videojuegos y a el mayor uso de C# que es el verdadero lenguaje con "sangre pura" .NET por sobre VB .NET, ojalá que la distribución de juegos se simplifique en el futuro ya que hay un gran mercado como mencioné anteriormente. De hecho se planea una versión Professional para el 2008 que permitirá la distribución comercial y contará para las certificaciones de Partners si pasan las tradicionales pruebas de calidad. Sin embargo una de las ventajas es que puedes compilar tus juegos para correr en tu computadora, por lo cual puedes utilizarlos sin los múltiples requisitos que se tienen para su implementación en consolas XBox 360. lo único que debes hacer es compilarlos para Windows. No soporta Windows Mobile ni Pocket PC desafortunadamente. El audio es soportado por el XNA Framework por medio de XACT y los controles de tu consola por medio de XINPUT. Más información de esto en futuros posts de esta bitácora y en el centro de desarrollo de XNA. Etiquetas: Novedades tecnológicas, Vídeojuegos, Visual Studio », Xbox 360 », XNA Studio » Escrito por Alfonso Lara Ramos @ 04:48 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070507¿Qué es Microsoft Silverlight (antes WFP/E)?Respuesta rápida: Silverlight es un plug-in multi plataforma y multi navegador que permite entregar la siguiente generación de experiencias basadas en medios y aplicaciones altamente interactivas para la Web con Microsoft .NET. Detallando más a fondo lo que podemos decir de Silverlight, antes llamado WPF/E (Windows Presentation Foundation / Everywere) incorpora video, animaciones, interactividad y -aunque suene poco importante para algunos programadores y ejecutivos de ISV's- interfases de usuario más bonitas y agradables. Desplegar sitios y aplicaciones Web con Silverlight es sencillo, ya que simplemente publicas tu contenido y cuando el usuario entra a la página que publicaste puede descargar el plug-in, que mide como 2 megabytes y que corre con los navegadores más populares, como Firefox, Safari y claro, Internet Explorer, las aplicaciones aprovechan el poder computacional del cliente que las consume porque utiliza .NET 3.0 como si fuera una aplicación Windows pero con el detallito de que lo llamas desde tu navegador Web. Como posiblemente ya sabes, WPF utiliza el lenguaje de marcado XAML, por lo que los contenidos que descargan tus usuarios es texto XML que con el uso de Silverlight se convierte en gráficos, medios, textos y animaciones que se integran sin problemas con Ajax. Otra cosa que es importante es que lo integras con toda tranquilidad en tus aplicaciones PHP, Java, Javascript o XHTML estático y aunque se trata de aplicaciones .NET 3.0 lo puedes desplegar en Apache o IIS. El lenguaje en el que desarrollas aplicaciones Silverlight tampoco es un problema ya que puedes hacerlo con Javascript, Java, Ruby, Phyton, C#, Visual Basic .NET y todo lo que se te ocurra que pueda usar XML. Como todo lo demás de WPF tienes la ventaja de separar y delegar el trabajo de desarrollo de tus aplicaciones, para el caso de los diseñadores Microsoft Expression Studio, para los programadores nuestro buen compañero Microsoft Visual Studio. La misma aplicación puede correr como Windows Application o como contenido Web sin tener que desarrollar dos versiones. Respecto a los multimedios, Silverlight soporta los formatos WMV (Windows Media Video), SMTPE VC-1 (la especificación de Vídeo de la Society of Motion Picture and Television Engineers), WMA (Windows Media Audio) y MP3. Los gráficos y demás elementos son vectoriales, el costo de transferencia mensual de tu hosting se reduce significativamente al transmitir medios por transportarse los contenidos en un formato reducido y Microsoft anunció que habrá mejoras extras con el Media Pack que vendrá con el IIS de Windows Server Codename "Longhorn". Silverlight soporta acceso a datos basado en LINQ y LINQ-to-XML además de los protocolos JSON, RSS, POX y REST. Para los SEO, la buena noticia es que a diferencia de Adobe Flash, todas tus aplicaciones Silverlight pueden ser indexadas por los robots y buscadas por los motores como Google, MSN Search y cualquier otro que base su indexación en texto, sin trucos que te arriesguen a ser banneado. Microsoft anunció también que Silverlight tendrá servicios de streaming por medio de un nuevo servicio llamado Silverlight Streaming by Windows Live. La versión 1.0 Beta (para usuarios) y la 1.1 Alpha (para desarrolladores) las puedes descargar de la página de descargas de Silverlight, por lo pronto disponible para Windows y Mac OS X, no se ha liberado una versión que corra en UNIX o en Linux pero no sería mala idea que los incluyeran en la lista. En el sitio de Silverlight también encontrarás una página de recursos para desarrolladores. En mi caso la instalación del SDK fue de lo más sencillo y se hizo en 10 segundos aproximadamente, les dejo la captura de pantalla de la instalación que hice en mi lap (segunda instalación para sacar la captura, no pensé que fuera tan veloz): Etiquetas: Aplicaciones Web », Expression Studio », Novedades tecnológicas, Silverlight, Visual Studio », Windows Presentation Foundation » ¿Qué es Microsoft Silverlight (antes WFP/E)? Escrito por Alfonso Lara Ramos @ 02:15 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070506Arquitectura de .NET 2.0 y .NET 3.0Mucha gente se saca de onda con eso de la compatibilidad de la arquitectura de las aplicaciones .NET 3.0 con respecto a las de .NET 2.0. Primero que nada hay que explicar que en realidad el Framework 3.0 es una extensión de las aplicaciones 2.0 que incluye nuevas características que se pueden aprovechar tanto en Windows XP como en Windows Vista. Ambas son totalmente compatibles, o mejor dicho la 3.0 es completamente cmpatible con la 2.0. Así que siguiendo el ejemplo de Héctor Obregón aquí les pongo el diagrama de la arquitectura de ambas versiones y a continuación les explico brevemente de que se trata cada una:
Etiquetas: .NET Básico, Arquitectura de software », Windows CardSpace », Windows Communication Foundation », Windows Presentation Foundation », Windows Workflow Foundation » Arquitectura de .NET 2.0 y .NET 3.0 Escrito por Alfonso Lara Ramos @ 04:40 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo 20070505El depurador de Visual Studio 2005Algunas de las cosas interesantes que puedes aprovechar de Visual Studio 2005 cuando estás depurando tus aplicaciones son las siguientes:
Depurar es lo que más hacemos cuando desarrollamos aplicaciones, afortunadamente esto se ha simplificado mucho con Visual Studio 2005. Espero que este artículo les sea útil. ¡Feliz codificación! Etiquetas: Novedades tecnológicas, Pruebas de software », Visual Studio » Escrito por Alfonso Lara Ramos @ 10:30 0 comentarios Contenidos relacionados: Google, Live Search, Tafiti, Yahoo
|
Entradas anteriores
Archivo de artículos200705 200706 200707 200708 200709 200710 200711 200712 200801 200802 200803 200901 Enlaces en español
Links in english
Mashups hechos en PopFlyBúsquedaApoya el proyecto ChicoDotNet |
Lecturas recomendadas
|