
Me ha dado hoy la tonteria de plantearme que, dado que este próximo curso voy a hacer mi segundo proyecto fin de carrera (PFC para los anales), el de la ingeniería superior en informática, podría ir contanto en la bitácora todo lo que me acontecta o al menos un resumen de lo más interesante (que será poco, seguramente).
Poniendo en situación, mi proyecto debería involucrar las tecnologías de Bluetooth y Servicios Web. Como soy un fan de .NET tras mi primer proyecto, programado íntegramente con esta tecnología (y con resultados inmejorables, al menos a nivel de evalución académica porque el proyecto en sí era una mierda…), voy a construir este segundo también con .NET, mezclando las versiones 2.0 y 3.0.
¿2.0 y 3.0? Me explico. Para los servicios web voy a usar Indigo (Windows Communication Foundation), del cual ya he hablado antes en algún post. Resulta que WCF es parte de lo que antes era conocido como WinFX pero que algún genio del marketing en Microsoft ha decidido denominar, a partir de ahora, como .NET 3.0. Por otro lado, la parte de programación de Bluetooth se hace con el Compact Framework 2.0 del lado del cliente (PDA o SmartPhone) y Framework 2.0 del lado del servidor. Si luego me quedara tiempo (y ganas) intentaría programar un cliente para móvil normal, es decir, con Java. Habría que comprobar la viabilidad, pero oficialmente debería ser posible porque Bluetooth, hasta donde yo se (que es poco ahora mismo) define una serie de perfiles para la interacción entre dispositivos.
Hasta aquí la teoría. En la práctica, resulta que lo único que tengo Bluetooth es un Motorola V3 que no me sirve para nada. Si acaso, será el móvil que programe en caso de que finalmente haga un cliente en Java. Pero a día de hoy, necesito un conector Bluetooth para el sobremesa y un cliente, que podría ser un SmartPhone o una PDA. Para el sobremesa, me valdría con el típico adaptador Bluetooth-USB (creo), pero hay un problema: existen varias implementaciones de la pila BT para Windows. El software que, en principio, tenía pensado usar para programar tanto el cliente como el servidor (usaré OpenNetCF y 32Feet) sólo funciona con la pila de protocolos implementada por Microsoft, por lo que me tengo que asegurar que el adaptador que compre funcione bien con dicha pila y no utilice otra (los adaptadores de Energy Sistem, por ejemplo, usan la implementación de Toshiba). Conclusión: visita a PcBox (les odio) y ensayo y error.
Una vez solventado el tema de la conectividad del servidor, queda la peor parte. ¿Qué hago con el cliente? Evidentemente no me quiero comprar ni un SmartPhone ni una PDA porque no les encuentro utilidad a ninguno de los dos. A la PDA tal vez cuando sea un ejecutivo estresado, pero a día de hoy… Además, que no son precisamente baratas. Y los SmartPhone no tienen casi penetración en el mercado de los móviles españoles, excepción hecha de algún modelo de Motorola. He pensado hacer un apaño, pero no se si funcionará. Tal vez podría comprar otro adaptador USB para el portatil y después utilizar el emulador de PDA que viene instalado con Visual Studio 2005 para hacer creer al servidor que mi portatil es realmente una PDA. La razón por la que quiero que parezca que es una PDA (en lugar de hacer que se comuniquen dos ordenadores “normales”) es porque aspiro a, cuando esté acabada la aplicación, poder instalarla en una PDA de verdad y que todo funcione. No creo que sea una aspiración tan ambiciosa si consigo utilizar el emulador de PDA porque ya hice una prueba hace tiempo con una aplicación de “escritorio” para PDA que, tras desarrollarla entera en el emulador, la copié a una PDA auténtica y funcionó como la seda.
En fin, éstas son mis diatribas con este nuevo proyecto. Siempre he intentado huir del proyecto típico “Página Web, Base de Datos y Controlador en Medio” que tanto les gusta a mis compañeros de Ingeniería. Tal vez, esta vez me esté complicando demasiado la vida. Ya se verá
PD: Si alguien tiene alguna duda, sugerencia o comentario vario, ¡por favor mandadlo!