|
|
Gente de la Comunidad TJ.NET
|
|
Muchas veces necesitas llamar o recuperar los parámetros en la aplicación en C# que estés desarrollando. Lo más sencillo es usar el Environment.GetCommandLineArgs() que nos regresa un arreglo con los parámetros que están mandándonos.
Lo que es importante tomar en cuenta es que si se está enviando una cadena que contiene espacios, por ello mismo nos coloca cada parámetro en distinta posición del arreglo y sólo es suficiente armando de nuevo ese argumento:
static void Main() { string[] args = Environment.GetCommandLineArgs(); if (args.GetUpperBound() > 1) { string sArg = args[1] + " " + args[2] + " " + args[3] + " " + args[4]; } }
Twitter popularizo el microblogging a través del Internet así como por medio de mensajes SMS, el ser un sitio popular puede pensarse que es algo positivo, pero en caso de Twitter parece ser lo contrario. Twitter se ha convertido en una necesidad de expresión para sus usuarios, que en tan solo 140 caracteres nos dejan saber que ocurre con ellos, pero también se ha convertido en una frustración diaria, con las fallas en el servicio, mensajes de que esta sobrecargado, deshabilitacion de funcionalidad y limites para poder acceder a Twitter mediante su API. El problema con Twitter ha sido a tal grado que existe un blog para conocer el estatus de Twitter: http://status.twitter.com/; inclusive Ruby on Rails, que es el software con el esta programado Twitter ha recibido parte de las criticas de la fallas de Twitter, implicando que Ruby on Rails no es la herramienta adecuada para sitios de alto trafico. El problema de Twitter, en lo personal, creo que es de arquitectura y no de las herramientas que hacen que Twitter funcione (o medio funcione), creo también que en buena parte es que para realizar cambios en la arquitectura es necesario "romper" buena parte de la funcionalidad actual y los arquitectos de Twitter no están dispuestos a hacer eso, en su lugar están batallando con código "legacy" mientras se mueven a una nueva arquitectura. De hecho existe un post donde se de se admite que el Twitter fue diseñado como un sistema de administración de contenido en lugar de como lo que es, un sistema de mensajería. Pero aun y con todos estos problemas que hace que los usuarios se queden en Twitter?. Durante todo este tiempo han salido un buen numero de clones de Twitter buscando aprovecharse de la mala reputación de este, pero no han podido desbancarlo como el servicio mas utilizado. En buena medida se debe a que la mayoría de los usuarios aun siguen en Twitter, y si alguien se mueve a otro servicio, es posible que no todas las personas a las que siga se muevan a mismo servicio que el, por lo tanto aun y cuando algunos han probado otros servicios a final de cuentas regresa a Twitter. El soporte de clientes para Twitter es otra gran ventaja que le ha permitido mantener su base de usuarios, ya que muchos usamos clientes que corren es nuestras PC's para "Twittear". Por lo general esos clientes no soportan otros servicios de microblogging. Pero la pregunta importante es, cuanto tiempo mas podrá soportar así?, antes de ocurra una desbandada de usuarios a algún otro servicio con mejores perspectivas. Como mencione anteriormente muchos aun estamos en Twiter, porque ahí esta la gente a la que seguimos, o por los clientes que nos permiten hacer uso de Twitter en nuestra PC's o por el envío de mensajes SMS o IM; pero que pasaría si existiera otro clon de Twitter con la misma funcionalidad, sin problemas y que la misma comunidad pueda dirigir? Pues bien esa es la idea detrás de un nuevo servicio que acaba de ser lanzado: Identi.ca. Identi.ca actualmente es un servicio de microblogging con capabilidades inferiores a Twitter, ya que solo permite el "twittear" pero no cuenta con forma de buscar a amigos, no cuenta con API para escribir clientes, no tiene servicio SMS, aunque si permite "twittear" con Jabber o GTalk. Pero como Identi.ca con apenas la funcionalidad mínima puede desbancar a Twitter? La respuesta puede ser simple, es Open Source. Si, Identi.ca carece de funcionalidad, pero es Open Source, y algunos de los primeros usuarios son programadores Open Source, así que realmente espero que Identi.ca dentro de poco tiempo alcance la misma funcionalidad de Twitter, ademas prometen un API compatible con Twitter, lo cual lograra que los clientes para Twitter puedan funcionar en Identi.ca sin cambios. Pero que pasa si todos saltan del barco de Twitter a Identi.ca?, tendrá los mismos problemas de fallas en el servicio y sobrecarga?, bueno aquí es donde esta una de las fortalezas de Identi.ca, al ser Open Source cualquiera puede tomar el código y montar su propio servidor con lo que se vuelve en una solución distribuida, pero esperenme, esto causaría fragmentación del servicio con usuarios en alguno de los servidores, pero no en todos ... bueno no realmente, ya que Identi.ca seria un servicio federado, es decir que existen enlaces de comunicación entre los servidores del servicio, lo que permitirá el envío de mensajes a cualquier sistema de microblogging - no únicamente Identi.ca igual y hasta Twitter puede ser parte de la federación - que se una a la federación, por lo tanto no importaría que servidor de Identi.ca estemos utilizando. Aunque esto no deja ser en este momento mas que especulación, habra que esperar algunas semanas para poder apreciar como Identi.ca evoluciona son la ayuda del Open Source. Por lo pronto mi cuenta de Identi.ca es http://identi.ca/mariochavez. Por cierto hoy Twitter amaneció con mejor salud http://twitter/mario_chavez
Hace ya algunas semanas adquirí - bueno es un decir, di el enganche y me autorizaron el crédito - un nuevo vehículo de la VW que recientemente introdujeron al mercado de México, es como una especie de SUV pequeño y todo terreno, el auto es un VW Crossfox.
En lo personal la forma el vehículo me gusta, es cómodo y económico, ademas de que el precio del vehículo es muy accesible. Poco a poco veo como el numero de vehículos de este tipo empiezan a aparecer cada vez mas en Tijuana.
El caso, es que actualmente estoy en Estados Unidos, en la ciudad de Oxnard California, a trescientos millas al norte de la frontera con México, muy cerca a la ciudad de Santa Mónica.
Llegue manejando aquí y precisamente me viene en el Crossfox, el cual es un auto que tengo entendido esta solo en los mercados de México y Brasil, por lo tanto en esta área el Crossfox no común de ver.
Definitivamente a llamado la atención, desde el conductor que esta al lado mío en el semáforo volteando a ver el auto con curiosidad, hasta el que le toma fotos con el celular y los que se me han acercado con preguntas como: ¿Que auto es?, ¿Lo venden aquí en US?, ¿Que tal el consumo de gasolina?, y también comentarios como ¨Esta bonito el auto, me gusta¨,¨Ojala lo vendan aquí en US tambien¨.
En lo general estoy contento con el auto y me agrada el que cause, aunque sea un poco de expectación, por lo menos aquí donde me encuentro ahora.
Hace un par de días se acabo otro semestre mas en el ITT, el séptimo para mi, para ser mas exactos. En general no me gusto el semestre mucho que digamos, en buena parte por algunos maestros, que definitivamente dejaron mucho que desear; sobre todo en materias como Simulación e Inteligencia Artificial que eran de las mas interesantes del semestre y al final fueron un fiasco.
Este semestre a diferencia de otros se caracterizo por la cantidad de proyectos que se tuvieron que realizar:
Evaluación y formulación de un proyecto para monitoreo y localización de unidades, por ejemplo automóviles, camionetas y/o camiones de reparto, por medio de GPS y redes telefónicas - tringulacion -, ademas de que con el uso de redes 3G es posible obtener información detallada sobre el vehículo, como velocidad, imágenes exteriores e interiores, audio; también es posible controlar ciertas funciones del vehículo, como el encendido, puertas, etc.
Generador de números pseudoaleatorios y pruebas de aleatoriedad, así como algunas aplicaciones de simulación para predecir situaciones mediante la repetición de cientos de experimentos, lo interesante aquí es que LINQ fue de gran ayuda para reducir la complejidad del proyecto.
Monitor de movimiento, Este proyecto consiste en colocar una o varias cámaras de video en lugares que deseamos monitorear, las cámaras publican las imágenes tomadas, las cuales son consumidas por un programa de monitoreo, el cual analiza las imágenes para detectar movimiento, marca en la imagen el área donde detecto movimiento, activa una alarma visual, registra la secuencia de imágenes donde se detecto movimiento, finalmente envía notificaciones de este evento.
Análisis de un proyecto para el registro de votos en forma electrónica, el proyecto consiste en un sistema central para despliegue de la elección y recolección de datos de las casilla de votación electrónica. Las casillas consisten en un monitor "touchscreen" para recibir los votos, los cuales son almacenados en una base de datos - encriptados -, ademas de impresión del voto en un rollo interno de una impresora, con la finalidad de dejar evidencia física del voto. La casilla mediante redes 3G envía los votos recolectados cada cierto tiempo.
Me toco trabajar con Joomla y PHP, experiencia horrenda, por lo menos Joomla no lo vuelvo a tocar mientras pueda.
Finalmente tuve otro proyecto con PHP, porque así se requirió, en lo personal no me gusta PHP, pero en este proyecto utilice CakePHP, el cual es un Framework MVC para PHP, el cual hizo la experiencia bastante agradable. No he cambiado mi opinión de no gustarme PHP, pero bueno CakePHP lo hizo interesante
Today someone ask me how to add code to SharePoint aspx page so I point it to this post on Andrew Connell Blog. It's not what you wanted as an ASP.NET developer but if you really love SharePoint development this would be useful.
Cheers!
Pues sí que ha sido verdaderamente extenuante el día. Es muy interesante vivir desde la experiencia teched desde la perspectiva de staff, ya que sin entrar a ninguna plática al menos este día he podido toparme con dudas y escenarios que realmente son estimulantes. Así mismo, ver como los program managers abordan y resuelven dudas técnicas sin duda no deja de impresionar.
Hoy restando con Eric Carter en el boot de VSTO estuvimos platicando de algunos de los issues más recurrentes cuando construimos soluciones para el cliente de Office. Y una de las recomendaciones que dio fue que siempre que construyamos un addin para cualquier producto office en el evento StartUp agreguemos un bloque try-catch para que en caso de existir un error podamos identificar plenamente que es, así mismo recomendó que no usemos el throw en el manejador de la excepción ya que esto causa que el add in no sea cargado y office lo ignore completamente.
La gente constantemente pregunta donde puede capacitarse o aprender SharePoint Designer 2007 y bueno uno de los principales recursos que tenemos disponibles en la actualidad es una serie de videos que la empresa Total Training ha construido para permitir a desarrolladores o site owners construir aplicaciones sin código para SharePoint. El material esta aquí.
Por otro lado, en el pabellón de partners si que hay acción. Muchas empresas han utilizado su creatividad para hacer que la gente se acerque. Desde regalar camisetas, libros, copias de productos de evaluación hasta utilizar tómbola y juegos de azar tipo las vegas. Por ahí entre la multitud me encuentro con amigos MVPs de Latam.
Andrew Connell el guru de Web Content Managament en SharePoint estuvo regalando y firmando su más reciente publicación disponible al fin llamada Professional SharePoint 2007 Web Content Management Development: Building Publishing Sites with Office SharePoint Server 2007 y tuve la oportunidad de mostrarle una implementación de SharePoint que acabamos de liberar en donde gracias a algunos de sus posts pudimos resolver algunos issues técnicos.
También quien anda a todo lo que da es el buen Rodrigo Díaz estaremos al pendiente de su plática.
El siguiente post es una traduccion del post original en Ingles "Entities, Value Objects, Aggregates and Roots" de Jimmy Bogart (Con el permiso de Jimmy), acerca de conceptos de basicos de Diseño Conducido por Dominio (Domain-Drive Design, DDD).
Entidades Objetos por valor Agregados y Raíces
Para un entendimiento mas profundo de estos elementos recomiendo los capítulos 5 y 6 del libro Domain-Driven Design de Eric Evans.
Entidades De acuerdo con la descripción de Evans: “Muchos objetos no son fundamentalmente definidos por sus atributos, si no por un elemento que les proporcione identidad”
En el diseño tradicional orientado a objetos, se podría iniciar modelando a partir de verbos y sustantivos. En el modelado DDD, preferentemente nos enfocamos en términos provenientes del lenguaje común que exhiben elementos de identidad.
Por ejemplo, vamos a considerar el concepto Persona. Si tenemos dos objetos Persona, con el mismo nombre, acaso son la misma persona? Juan Pérez de Ciudad de México y Juan Pérez de Guadalajara no van a esta de acuerdo. Que pasa cuando conocemos a alguien con nombre igual a algún famoso? ambos tienen diferentes identidad. Entonces que distingue a dos personas si su nombre no es un atributo distintivo?, acaso su dirección? o numero de CURP?
En estos ejemplo, una Persona es identificada por algo mas que sus atributos, como el nombre, su dirección, su teléfono, etc. Una Persona tiene una identidad única que se manifiesta en diferentes formas a través de diferentes sistemas. Cada sistema tiene sus propios atributos sobre los cuales tiene interés, pero la Persona es siempre la misma entidad (no la misma clase, eso es algo diferente).
Para determinar si un objeto es una entidad, podemos hacernos la siguiente pregunta: si dos instancias de un objeto con valores diferentes en sus atributos, tienen el mismo valor en su atributo de identidad, indica que son la misma entidad?
Si la respuesta es si, y nos interesa su identidad, entonces es una entidad. Se pueden modelar las entidades en forma de clases en C#, agregando una identidad sustituta (Surrogate key) (la cual puede ser un entero o un GUID). Adicionalmente la clase modelada debe de contener información acerca que que significa tener la misma identidad, esto por ejemplo realizar un “override” al método Equal para que evalúe únicamente nuestra identidad y no los demás atributos para determinar si dos objetos son iguales.
Objetos por valor Evans menciona: “Muchos objetos no cuentan con una identidad. Estos objetos generalmente describen una característica de algo”
Cuando no nos interesa acerca de la identidad de un objeto, es recomendable considerar el que este objeto lo diseñemos como un objeto por valor.
Por ejemplo, si tenemos un sistema el cual modelo cubetas de pintura, el objeto Color seria un buen candidato para ser un objeto por valor. A nosotros nos interesaría poder identificar un objeto CubetaPintura de otro, ya que al irlos utilizando la pintura de cada objeto eventualmente se acabara.
Pero cuando revisamos el Color de una CubetaPintura especifica, Color no tiene una identidad propia. Si tengo dos objetos Color exactamente con los mismos valores de pigmentación, simplemente consideramos que ambos son el mismo objeto.
Cuando diseñamos objetos por valor, es importante mantenerlos alejados de la dinámica de los ciclos de vida de las entidades, por lo tanto es recomendable asignarles la característica de inmutables y remover cualquier concepto de identidad. Adicionalmente, - si estamos programando den .NET - hay que realizar un “override” al método Equal para que realice la comparación sobre los valores de sus atributos.
Al configurar un objeto por valor como inmutable, muchas operaciones se simplifican, por ejemplo no tenemos un puñado de propiedades de escritura-lectura, todos los atributos los asignamos por medio de un constructor y reafirmamos la equidad de los atributos.
Los objetos por valor, como cualquier otro patrón, pueden ser sobre utilizados, si buscamos oportunidades para ello. Este tipo de objetos deben de representar conceptos en nuestro lenguaje normal, y un experto en dominio deberá de poder reconocerlos en nuestro modelo.
Agregados y Raíces En la vida real, muchos conceptos tienen relación entre ellos. Si se tiene varias cuentas bancarias, y esas cuentas tienen un propietario. Cada cuenta esta manejada por un banco, y cada banco tiene un grupo de cuentas. Si deseamos representar todos estos conceptos como clases, ¿cual debería ser la relación entre ellas?.
¿Deberíamos representar cada relación identificable posible en nuestro modelo de objetos? ¿En donde marcamos nuestra linea sobre crear o no una referencia? Si contamos con una referencia entre dos objetos, ¿Como debemos manejar su persistencia? ¿Actualizaciones en cascada?. Supongamos que Empleado tiene una referencia a Gerente directamente. Si modificamos Empleado.Gerente.Nombre, y guardamos empleado, ¿Acaso el nombre del Gerente se modificara en la base de datos?
El modelado de objetos es una tarea compleja. Los invariantes necesitan ser reforzados no solo por la entidad, si no por todas las entidades referenciadas también.
Agregados nos permite definir una linea frontera alrededor de una o mas entidades. Un agregado refuerza invarinates para todas la entidades en cada operación soportada. Un agregado cuenta con una identidad raíz, la cual es el único miembro del agregado que al que se permite que un objeto fuera del agregado mantenga una referencia a el.
La reglas, de Evans, que debemos reforzar son:
- La entidad raíz cuenta con una identidad global y es la única responsable de verificar sus invariantes.
- Entidades dentro de los limites tienen una identidad local, única solo dentro del agregado
- Nada fuera del agregado puede mantener una referencia a algo dentro del agregado que no sea la entidad raíz. La entidad raíz si puede pasar referencias a las entidades internas a otros objetos, pero solo para su uso transitorio (por ejemplo usarlas solo dentro de un solo método)
- Solo los agregados raíz pueden obtenerse directamente de consultas a la base de datos. Objetos dentro de un agregado pueden mantener referencias a otros agregados raíz.
- La operación de eliminación debe de eliminar todo lo que este dentro de los limites del agregado al mismo tiempo
- Cuando se modifica un objeto dentro de los limites del agregado y posteriormente se guarda, todos los invariantes del agregado se deben de satisfacer.
¡Son demasiadas reglas!. Todas ellas se originan de la idea de crear limites o fronteras en nuestros agregados. Estas frontera simplifican nuestro modelo, y nos obliga a considerar cuidadosamente nuestras relaciones de objetos, bajo una reglas bien definidas.
El mantener asociaciones bidireccionales es muy difícil sin considerar nuestro modelo de persistencia, así que modelando nuestras relaciones alrededor de casos de uso del mundo real, podemos simplificar enormemente nuestro modelo.
No todas las relaciones necesitan ser representadas a través de asociaciones. En la relación Empleado-Gerente, podemos eliminar la propiedad Gerente de Empleado, y para obtener el Gerente al que se reporta un empleado, llamamos un método a nuestro repositorio de empleado (EmpleadoRepository). Debido a que Empleado es un agregado raíz, esta bien el que empleado mantenga una referencia a su Gerente.
Modelado y simplificación Una cita del libro del Evans: “La traducción nubla la comunicación y la vuelve anémica”
Para evitar la traducción, representaremos conceptos del mundo real en nuestro modelo conceptual, y nuestro modelo conceptual lo representaremos a través de entidades y objetos por valor (y servicios). Para simplificar nuestros modelos, es importante usar agregados raíz y reforzar invariantes en cada operación. En todos los casos, debemos de poder representar nuestro modelo conceptual en nuestro código, y este debe de tener sentido para nuestro experto del dominio, ya que ellos va a ver la representación de nuestro lenguaje cotidiano.
Cuando nuestro modelo conceptual esta correctamente expresado en nuestro código, encontraremos que no únicamente la refactorizacion técnica se facilita, si no también las mejoras a nuestro modelo. Entidades y objetos por valor son solo una parte del mundo DDD, pero son un concepto importante sobre el cual otras ideas están construidas.
Referencias
Lanzamiento virtual de Visual Studio 2008, Windows Server 2008, SQL Server 2008
29 de abril de 2008
Evento virtual
Como siempre es un placer compartir experiencias e ideas con compañeros MVPs y que mejor que sean de otras latitudes donde a pesar de la distancia son notorias las similitudes en cuanto a ánimos y deseos de hacer las cosas. El primer día estuvo estupendo, el formato de las conversaciones Open Space permitían precisamente eso, aportar e intercambiar ideas con MVPs de todo el mundo en las tecnologías de las que somos apasionados. En este mismo formato tuvimos una reunión donde por fin alguien más hablaba español y pudimos comentar de lo que en Hispanoamérica acontece y como hacemos frente a los retos en nuestras comunidades. Los siguientes días resultaron muy provechosas en el sentido de poder intercambiar impresiones con los Product Managers de los productos que usamos a diario. Estas sesiones se daban en el Microsoft Corporate Campus y resultaba bastante curioso oir a otros MVPs realmente quejarse de cierta característica o denunciando la falta de respuesta de Microsoft en otras áreas, y es que el espacio daba para ello y más. El último día fue una conversación donde MVPs formulaban preguntas a Ray Ozzie y a Steve Ballmer, una oportunidad única. En la que por supuesto se habló de Open Source, Yahoo! y la visión de Microsoft. Steve Ballmer es todo un personaje, sin pelos en la lengua mencionaba y reconocía los aciertos y fallos de la compañía y se dejó ver muy comprometido con las demandas y peticiones de los MVPs.  Y eso fue el MVP Global Summit 2008, esperamos vernos el próximo año.
Ya mañana 24 de Abril es el Lanzamiento de: - Windows Server 2008
- Visual Studio 2008
- SQL Server 2008
El evento es gratuito y te puedes registrar en esta página. Ven y participa, no pierdas la oportunidad de ganar licencias de Visual Studio 2008, SQL Server y otros premios mas. La agenda es la siguiente: 2:00 Bienvenida 2:15 Introducción a Visual Studio 2008 3:00 LINQ aplicado 3:40 Visual Studio Team System 4:20 Visual Studio Team System y estándares de calidad 5:00 Silverlight en acción 5:50 Premios y despedidaY el evento se llevará a cabo en: Teatro Calafornix Instituo Tecnológico de Tijuana Calzada Tecnológico S/N, Fracc. Tomás Aquino Tijuana, B.C. 22414 México
Fiesta Inn Tijuana
Mayo 15 2008
Evento Gratuito
Quería darme el tiempo de digerir la noticia del jueves 21 de febrero de 2008 por la mañana, donde Steve Ballmer, CEO de Microsoft y Ray Ozzie, Chief Software Architect, anunciaron un nuevo enfoque al que Microsoft apuesta a partir de ese día, la interoperabilidad. Esto es dar poder a los usuarios de sus productos de alto volumen (como lo llaman ellos, a Windows Vista, .NET Framework, Windows Server 2008, SQL Server 2008, Office 2007, Exchange 2007 y Sharepoint Server 2007) de poder usar y manipular a su antojo la información contenida en ellos. Esta iniciativa de interoperabilidad se describe en estos principios: I: Conexiones abiertas en productos de alto volumen Microsoft se asegurará de mantener protocolos y APIs abiertos de sus productos ¿cómo se asegurarán de ello? Los protocolos y APIs usados en los productos mencionados serán ofrecidos de manera abierta a la comunidad de desarrolladres publicando su documentación para beneficio de todos. II: Soporte a Estándares Microsoft soportará los estándares asegurando así interoperabilidad. Esto se logra participando en los órganos rectores de estándares contribuyendo en el desarrollo de los mismos y mejorando los existentes. Se guiará en su base de usuarios y la comunidad actual para priorizar estándares a soportar en cada liberación. Publicando la manera en como se soportan estos estándares de la industria, es como se pretende tener mayor compatibilidad en sus productos. En los casos donde algún estandar implementado donde se haya requerido hacer algún tipo de extensión, Microsoft publicará las especificaciones de estas extensiones y en su momento las ingresará a las organizaciones de estándares para su consideración. III: Portabilidad de datos Los usuarios de los productos de software que almacenan sus datos deben poder acceder a esos datos en la forma que se le permita su uso en otros productos de software. Microsoft diseñará sus productos de alto voluemen para propiciar esta portabilidad de datos y proveerá la documentación necesaria. Se logrará esto usando formatos estandar de acuerdo al principio II, propiciando formatos abiertos (ya sea admitidos por órganos de revisión de estándares o liberados publicamente para su implementación), proveerá la importación y exportación de datos, y permitará a los usuarios la selección de los formatos por defecto a utilizar en sus productos. Esto último no sólo implica poder guardar en Office 2007 en formato 2003 por default, sino también permitir la inclusión de otros formatos a manera de plugins. Para ello se hará valer de la Iniciativa de Interoperabilidad de Documento para informar y entrenar la implementación de estos formatos IV: Compromiso abierto Microsoft incrementará sus comunicaciones con las comunidades de clientes, T.I. y de código abierto. Esto se logrará con foros de interoperabilidad donde se fomenten el diálogo y discusión en los temas de importancia para usuarios y compañías de tecnologías de información y con la Iniciativa de Interoperabilidad con Código Abierto donde se busca el acercamiento con la comunidad Open Source para incrementar interoperabilidad y facilitar oportunidades de participación en desarrollo cooperativo. Cabe destacar que en los casos en los que los protocolos, formatos o especificaciones que sean patentes de Microsoft, se indicará apropiadamente junto con sus términos y tarifas de uso. A notar es que Microsoft se compromete explícitamente a no demandar a desarrolladores de código abierto por desarollos o implementaciones no comerciales de estos protocolos o formatos abiertos y de hecho no implicará un pago de regalías o de algún otro tipo. No, no es Open Source, es abrir los formatos y protocolos de sus productos para consumo de terceros. A final de cuentas, como alguna vez lo discutió Mario Alberto Chávez, la información que uno alimenta a los sistemas es propiedad de los usuarios, no del creador del sistema. Lo veo más como una oportunidad más de entrar al juego de una creciente demanda por incluir plataformas de trabajo más abiertas. Es una delicia para los desarrolladores poder saber exactamente los protocolos y formatos utilizados en los llamados productos de alto volumen y poder consumir sus datos y explotarlos. Esto a final de cuentas es un beneficio para todos, para tí como desarrollador de soluciones, para tus clientes que buscan mayor integración en sus aplicaciones y para sus otros desarrolladores que quieren aprovechar esta interoperabilidad con sus datos. Mario Alberto Chávez adivina que podría pasar en la comunidad Open Source Antonio Ortiz tiene un punto de vista interesante sobre las razones Mariano Amartino cree que la culpa la tiene Ray Ozzie Enrique Dans piensa que el infierno se ha congelado El anuncio de prensa con el anuncio (en inglés) El sitio oficial de interoperabilidad de Microsoft
Con un buen sabor de boca concluyó la participación de la Comunidad .NET Tijuana en el Tour Tecnológico 2007 celebrado el 15 de noviembre en CESUN Universidad. Las condiciones del día quizás no fueron las mejores para que la pantalla pudiera ser apreciada correctamente pero realmente agradezco a los asistentes la paciencia, el interés y el entusiasmo mostrado a lo largo del evento. Al rededor de unas 120 personas (a quienes se les entregó Reconocimiento firmado por personal de Microsoft) fueron las asistentes. Una pequeña parte eran estudiantes con quien tuve oportunidad de platicar con ellos y me comentaban sus inquietudes con la carrera que eligieron y con quienes pude aprovechar el vínculo para lograr mayores cosas. También coordinadores de carrera como Cynthia Rentería de UNIVER quien también desde temprano estuvo acompañándonos. Y algo que fue bastante agradable fue saludar a colegas que ahora están en la industria trabajando muy duro y compartiendo sus experiencias con la plataforma de desarrollo de Visual Studio como Jehu Hernández. Por ahí también me comentaron que entre los directivos de empresas, desarrolladores independientes y empleados de diversas empresas quienes sus patrones les permitieron asistir al evento surgieron oportunidades de negocio que aunque no es un fin primordial de la Comunidad .NET Tijuana, sí son bienvenidas. Muchas gracias a todos los asistentes, al equipo de colaboradores de CESUN universidad que aunque no les gustaba salir en la foto estuvieron al pie del cañón en todo momento, a Eduardo Kórnegay de CESUN, a Johnathan de APC, a Mario Alberto Chávez, Haarón González y Román Lozano por su estupenda participación. También cabe señalar que no pudo haber sido posible el evento sin el apoyo de Jahdiel Vargas del Cluster de Tecnologías de Información de Baja California quien se encargó de la logística, enlace con CESUN Universidad, renta de equipo y soporte con las llamadas que hacía cada media hora. Aprovecho también para agradecer a todos los que se acercaron a mí con la inquietud de participar en la comunidad y hacerla más grande.
|
|
|
|
|
 |
|