Desarrollo de Sistemas ERP/CRM y Software Libre, Linux, Desarrollo de Proyectos, Programación OpenSource. Web

sábado, diciembre 03, 2005

ISocketObject, la interfaz fantasma y Documentacion de comunicaciones SIG

Decidido a migrar mis metodos de comunicacion, llevandolos a mejorar el rendimiento me encuentro que en un ejemplo de un articulo del sitio MSDN, hacen uso de la interfaz ISocketObject que especifica un metodo para serializacion manual de datos, pero no se decia si esta era una interfaz de algun namespace ya creado como System.Net, pues no lo es, ni de ningun otro namespace, por lo que aquel que quiera imitar el metodo de serializacion manual debera crear la citada interfaz ISocketObject, quedando:

public interface ISocketObject {
void Send (BinaryWriter bw);
}

No es dificil entonces tambien incorporarle a la clase en particular que implementa esta interfaz un constructor que reciba un BinaryReader para construir un objeto a partir de la serializacion manual recibida por el Stream del Socket, quedando algo como lo que sigue:

public class MiObjeto : ISocketObject {

public MiObjecto (BinaryReader br) {
...
}

public void Send (BinaryWriter bw) {
...
}

}

Mucho mas facil, la migracion cuando se tienen dos clases Request y Response que hacen las veces de mensajes entre el Servidor y el Cliente.

La migracion y documentacion del protocolo de mensajeria es:
  • DataQuery, INPUT (string sql, int rpp, int page) OUTPUT (string xml)
  • DataObjectQuery, INPUT (string sql, int rpp, int page) OUTPUT (int page, int from, int total, int results, object[] data)
  • UpdateQuery, INPUT (string sql) OUTPUT (int rows)
  • BinaryUpdateQuery INPUT (string sql, int binParams, int param1Len, byte[] param1,...,int paramNLen, byte[] paramN) OUTPUT (int rows)
  • BinaryDataQuery, INPUT (string sql) OUTPUT (int len, byte[] data)

Con estos metodos se pueden construir cualquier conjunto de operaciones para gestionar datos de cualquier tipo en la base de datos, aunque podrian no ser definitivos.



No hay comentarios:

Datos personales

Licenciado en Ciencias de la Computacion, Facultad de Matematicas y Computacion, Universidad de la Habana, 2004. Telefono: 45-3619, Cel: 282-8661