lunes, 31 de enero de 2005

Subasta de Consultores de Primer Nivel para Beneficio a Asia

Vean esta subasta en eBay.



Si ganan obtienen consultoría de varios de los mejores (ahem) expertos en tecnología Microsoft (MSDN) a un costo muy reducido.



Esto lo organizamos un grupo de MSDN Regional Directors y todo el dinero ganado será para beneficiencia del Tsunami en Asia.



Chéquenlo.

sábado, 29 de enero de 2005

Manejo Programático del PivotTable de OWC

Estoy trabajando en un proyecto que requiere un manejo programático de las tablas pivote de los OWC. Los OWC (Office Web Controls) son muy útiles en proyectos de inteligencia de negocios, ya que te permiten navegar una fuente de datos OLAP (también relacionales) de una manera sencilla.



Sin embargo, ¿cómo extraer los datos de la tabla pivote? En primera instancia, parecería que el control ActiveX tiene propiedades justo para eso como XMLData y Recordset. Sin embargo, encontré que XMLData únicamente guarda los parámetros de configuración del control y no los datos que muestra. Por otro lado, la propiedad Recordset nos da los datos, pero sin ninguna organización sobre como mostrarlos.



En este caso, lo que quiero es publicar la vista actual de un PivotTable de tal forma que esta sea consumible y básicamente manipulable en una PDA por una aplicación hecha en el .NET CF.



Para hacerlo, tuve que echarme un clavado dentro del modelo de objetos de los OWC. La verdad sea dicha, la documentación de estos controles deja mucho que desear por lo que hay que experimentar bastante.



Finalmente encontré como iterar las filas y columnas del control para obtener los datos celda por celda. Por suerte el performance es bastante decente.



Un problema mayor surgió cuando quise iterar sobre vistas que sólo tenían definidas filas, ya que aparentemente no existen columnas. Sin embargo, la propiedad ColumnAxis.ColumnMember permite acceder a la columna "oculta".

lunes, 24 de enero de 2005

¿Cómo desarrollar un dispositivo?

Una vez determinadas nuestras necesidades, podemos iniciar el diseño de nuestro dispositivo. Este diseño normalmente incluirá un chasis, una tarjeta controladora con memoria, y dispositivos de entrada/salida según nuestras necesidades.

Si contamos con experiencia en ingeniería mecánica y electrónica, es posible llevar a cabo nuestro propio diseño. De no ser así, como puede ser para muchos desarrolladores de software, podemos recurrir a empresas especializadas en el diseño y manufactura de este tipo de dispositivos. Estas empresas se conocen como ODM´s (por sus siglas en inglés, Original Design Manufacturer). Existen múltiples proveedores con esta capacidad, encontrando buenas opciones en mercados como Taiwán.

Es muy probable que existan ya dispositivos probados que se adapten a nuestra necesidad. De no ser así, estas empresas nos cobrarán normalmente un cargo por diseño y, para que nuestro proyecto sea económicamente viable, debemos ordenar un volumen de unidades que al menos involucren algunas centenas.

Una vez que contamos con un dispositivo de pruebas que se asemeje en lo esencial a nuestro dispositivo deseado, podemos trabajar en desarrollar o adaptar nuestra aplicación para este.

sábado, 22 de enero de 2005

Desarrollo Embedded

Un dispositivo empotrado podemos entenderlo como un aparato que incluye una computadora dentro para cumplir con alguna función específica.

Una forma sencilla de entenderlo es con ejemplos:







Image Hosted by ImageShack.us



En América Latina es común que se utilicen PCs para resolver necesidades para las cuales estas no fueron diseñadas, provocando que se incurra en costos innecesarios. Esto sucede en muchos casos por desconocimiento de las alternativas disponibles, más que por una falta de conocimiento estrictamente técnico. Muchas veces las opciones basadas en PCs pueden parecer económicas en cuanto a la inversión inicial debido al bajo costo de estas. Sin embargo, el costo total de propiedad de una PC es alto cuando consideramos su durabilidad, el software necesario y, sobre todo, el mantenimiento y soporte que implica.

Para dispositivos de aplicación específica, en muchos casos es preferible desarrollar una combinación hardware/software específica para nuestras necesidades. El costo total de propiedad en nuestra experiencia será mucho menor y, además, la inversión inicial es competitiva siempre que conozcamos las opciones disponibles en el mercado.

La siguiente tabla puede ayudarnos a identificar que tipo de dispositivo es mejor para nuestra aplicación:





Image Hosted by ImageShack.us



Esta gráfica es únicamente una referencia. En general, no se requiere que todos los criterios tiendan a las cajas de abajo para que un dispositivo empotrado sea una buena opción. De hecho, normalmente con alguno de ellos es suficiente.



Por ejemplo, un sistema de punto de venta, aunque muy similar a una PC en cuanto a el lugar donde se utiliza, puede ser susceptible de este tipo de dispositivos ya que normalmente estaremos usando una única aplicación.



martes, 18 de enero de 2005

Bienvenidos a MSDNFanBlog

Yo me dedico al desarrollo de software. Me he especializado en esto desde que tengo uso de razón (programaba en Atari 800) y decidí crear este espacio para compartir con la comunidad de desarrollo diferentes ideas sobre este tema.



Encontrarán que el foco de este blog se orienta mucho al uso de herramientas Microsoft ya que hace varios años que tomé la decisión de hacerlo debido a las mejores perspectivas de negocio que ofrecen. (Por eso MSDNFan)



Sin embargo, también tocaré temas relacionados con el proceso de software y desarrollo embedded.