martes, 9 de octubre de 2007

Cliente -> Servidor

Poco a poco voy cogiéndole la estructura a esto. Los últimos programas que estoy implementando (o intentándolo por lo menos) son del tipo.

Un "servidor" móvil, que ofrece unos servicios, un "cliente" que busca esos servicios para obtener "algo".

Servidor.

El programa "servidor" debe encargarse de ofrecer unos servicios "al mercado", los programas servidores suelen ser simples, especificas los atributos y los servicios encapsulandolos en un ServiceRecord (que todavía me cuesta visualizar), ejecutas un hilo y en un método "run", pones tu servidor en marcha.

El programa cliente es más complicado, debe realizar la búsqueda de dispositivos, contemplar todos los casos, y a continuación, buscar los servicios de dichos dispositivos.

Un ejemplo simple pero bastante intuitivo.

Tenemos un "servidor" que tiene funciones de impresión, está conectado a una red de impresoras y ofrece esos servicios.
Cada impresora tiene sus características, pueden ser b/n, a color... pues en la especificación de los servicios del servidor, creamos atributos específicos para cada impresora. Ofrecemos un servicio por cada impresora, y estos servicios están caracterizados por sus atributos (blanco y negro, color, calidad de impresión).

Nosotros, como clientes, hacemos una búsqueda de servicios en este servidor, y nos quedamos con lo que nos interesa. Si vamos a imprimir un documento, pues nos da igual que la impresora es b/n o color, pero si vamos a imprimir una imagen nos interesaría más seleccionar la impresora de color.


En definitiva, esto es lo que estoy haciendo últimamente, creando "servidores" que ofrezcan servicios. Me está costando trabajo, solo por el echo de no llegar a comprender del todo el encapsulamiento y el tratado de los "serviceRecord"...aunque poco a poco lo vaya entendiendo mejor.

3 comentarios:

almendro dijo...

Muy interesante el blog.

Me interesaría saber si es posible hacer una aplicación cliente-servidor que posibilite ofrecer acceso a internet desde una PC a un dispositivo movil.

He visto un proyecto en Source Forge pero parece estar parado.

Mi idea es utilizar algún servicio bluetooth como el puerto COM o el envío de objeto (o el que se utilize para intercambiar mensajes) de manera tal que sea "bastante genérico", o sea, que se pueda usar con celulares con un bluetooth básico.
La aplicación servidor que estaría en la PC tendría acceso a internet (preferentemente una conexión por cable o ADSL) y la aplicación cliente en el móvil funcionaría como una especie de navegador.

No se si me he explicado, en todo caso gracias por la atención.

almendro dijo...

olvidé dejarte mi correo por si te interesa.

mmochoa@gmail.com

Jbeer dijo...

Buenas Martín.

Lo que me comentas es realmente interesante...lo he estado pensando a lo largo de la mañana y bueno, así con mis conocimientos básicos sobre el tema, parece ser algo complejo.

El esquema sería algo así como.

Desde el PC, obtengo la página que quiero ver. La envio (de alguna forma) al movil. Este lo visualiza. Si queremos interactuar con la página, habrá que enviar los comandos necesarios al PC y este se encargaría de hacer lo conveniente.


Problemas que se me plantean:
-Debes tener en el móvil un sistema que lea html y lo sepa interpretar, para poder ver las páginas...los móviles más nuevos incorporan la base, y bueno, supongo que habrá que programar "el navegador".

..uf, se me ocurren muchas dudas y lagunas...lo mismo investigando un poco más lo sacas..pero no lo veo algo trivial.

Por ahora yo me estoy peleando con la siguente chorrada:

Un chat movil-PC...