¿Cómo lo harían uds?

170 views
Skip to first unread message

nmar...@gmail.com

unread,
Jun 8, 2012, 7:35:24 PM6/8/12
to Grupo ALTNET Hispano
¿Cómo lo harían ustedes? Si tuvieran que encarar un proyecto con las siguientes caracteristicas:
- Sistema modular.
- Algunos módulos deben continuar funcionando aunque se encuentren momentaneamente desconectados.
- Para el caso de los módulos con funcionamiento desconectado se deben sincronizar al reconectar.
- Aproximadamente 60 puestos de trabajo. Distribuidos en 2 LANs interconectadas, pero con itermitencias en la conexión.
 
Les comento un poco como es el proceso general. Actualmente hay dos plantas de acondicionamiento y acopio de semillas, ubicadas a 70 kms una de la otra, la conexión entre ellas es intermitente.
En cada planta llegan y se retiran camiones con semillas, el material entrante puede ser sometido a diferentes procesos (por ejemplo secado, clasificado, curado, etc etc) y luego es almacenado (como semilla a granel, bolsas o bolsones) en diferentes sectores hasta su posterior despacho. Cada proceso está automatizado y controlado por SCADAS.
 
El sistema fue creciendo a partir del desarrollo de SCADAs autonomos e independientes en cada planta y se fue expandiendo, ajustando e integrando en un sistema compuesto por muchas aplicaciones que comparten sus datos en un servidor SQL (cada planta tiene su servidor SQL). Cada nueva funcionalidad que se fue agregando fue haciendo del sistema algo insostenible.
 
La idea actual es rehacer todo el sistema, para que cada modificación no sea un dolor de cabeza.
 
Me gustaría saber cómo encararían ustedes algo así.
 
Muchisimas Gracias.
Nicolás.

Miguel Angel Jimenez Perez

unread,
Jun 8, 2012, 8:15:36 PM6/8/12
to altnet-...@googlegroups.com
Conectalos por un AMQP como rabbitMQ, si usas un ORM como Nhibernate puedes crear interceptors, que cuando se modifique un dato este se replique enviando un mensajes por el AMQP a una cola de mensajes  donde este conectado el otro modulo y reciba estos mensajes, los tome de la cola de mensajes y los procese para replicarlos en la base de datos. La ventaja con un AMQP es que si se cae la conexion, los mensajes que se creen por transacciones van a quedarse encolados, y cuando se reestablezca la conexion van a ser enviados al destino sin problemas(a mi me funciona en un JMS actualmente y con zeromq).

Como vas a tener entornos desconectados puedes usar una base de datos local como sqlite, que sea donde ser guarden los datos, de esta manera no necesitas instalar sql server o algun servidor de base de datos, y tambien replicarlo a una base de datos centralizadora con el esquema que te comente anteriormente.


Es una idea, y en mi caso la replicacion usando un sistema de colas de mensajes me ha resultado bastante bien para entornos desconectados donde la conexion es intermitente(plataformas marinas) y fue una alternativa a las replicas transaccionales de SQL server, ya que estas cuando se cortaba la conexion fallaban o corrompian la base de datos.

Angel Java Lopez

unread,
Jun 9, 2012, 6:14:44 AM6/9/12
to altnet-...@googlegroups.com
Hola gente!

Nicolas, muy interesante, y bravo que hayan elegido rehacerlo, en vez de modificarlo!

Primera recomendacion: escribirlo con TDD
Segunda recomendacion: escribirlo con TDD
Tercera recomendacion: escribirlo con TDD
;-)

Se me escapa:

- Que es para un modulo estar desconectado? de la red interna? de Internet? de la base SQL? de la otra LAN? de una capa de servicios que esta en un servidor de la sucursal?
- Los modulos no son sistemas web, por lo que entendi son desktop, no?
- Si son desktop, van del programa desktop a la base? o van a ir a un servidor que exponga servicios?
- Que aporta SCALA? datos como? Algun modulo tiene que enviar algo a SCALA? O solo reciben?
- Por sistema modular, entiendo: maniana hacemos un nuevo modulo: control y estadistica de pirifilar rembos ;-) y no tenemos que cambiar todo, sino lo menos posible
- Hay una sola base de datos SQL en cada sucursal? Digo, hay Base.Cereales? O hay BaseVentas.Cereales, BaseCompras.MasCereales, BasePorLasDudas.OtrosCereales (son nombres de tabla)?

Nos leemos!

Angel "Java" Lopez

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.

nmar...@gmail.com

unread,
Jun 9, 2012, 7:04:50 PM6/9/12
to altnet-...@googlegroups.com
Gracias Angel y Miguel por tomarse el tiempo para responder.
 
Miguel, voy a investigar las AMQP, por lo que me comentas es un proceso de encolamiento de mensajes. Y sí, la idea es usar NHibernate como ORM, dado que ya lo he utilizado en algunos proyectos y me ha dado grandes resultados.
 
Angel, te respondo entre lineas.
 
- Que es para un modulo estar desconectado? de la red interna? de Internet? de la base SQL? de la otra LAN? de una capa de servicios que esta en un servidor de la sucursal?
Actualmente estár desconectado es quedar fuera de la LAN, por ende sin acceso al servidor SQL. Quizá con el nuevo diseño que surja de estas ideas sea quedar desvinculado de una capa de servicios.
 
- Los modulos no son sistemas web, por lo que entendi son desktop, no?
Si, actualmente los sistemas son desktop, pero sería interesante realizar algunos WEB, por ejemplo para obtener una vista de las plantas o poder emitir reportes.
 
- Si son desktop, van del programa desktop a la base? o van a ir a un servidor que exponga servicios?
A la fecha los sistemas son desktop, que trabajan con una base de datos local y sincronizan sus datos contra un servidor SQL directamente.
 
- Que aporta SCALA? datos como? Algun modulo tiene que enviar algo a SCALA? O solo reciben?
Por SCALA quisiste decir SCADA?? Un SCADA es un sistema de control supervisado y adquisición de datos de variables de procesos a distancia. En criollo, es un sistema que se comunica con sensores y/o automatas y controla un proceso y recopila información del mismo (datos de las variables de proceso – temperatura, humedad, velocidad, presion, etc etc –, alarmas, eventos). En general el SACADA es generador de datos, pero debe obtener de otros módulos cierta información necesaria para iniciar el control de un proceso. Por ejemplo debe bajar del servidor ciertos parametros que le indicaran que o como controlar un proceso según las especificaciones de un cliente.
 
- Por sistema modular, entiendo: maniana hacemos un nuevo modulo: control y estadistica de pirifilar rembos ;-) y no tenemos que cambiar todo, sino lo menos posible
Exacto, es justamente eso. Y tambien, poder quitar algunos módulos. Por ejemplo si una planta no tiene un determinado proceso/modulo, poder determinar los modulos a utilizar. Y si mañana pueden crear ese proceso en la planta agregar el modulo.
 
- Hay una sola base de datos SQL en cada sucursal? Digo, hay Base.Cereales? O hay BaseVentas.Cereales, BaseCompras.MasCereales, BasePorLasDudas.OtrosCereales (son nombres de tabla)?
Hay un solo Servidor SQL central en cada planta con n bases de datos, una con los datos de usuarios y la información de la campaña (por ejemplo inicio y fin) , y la base de datos de cada campaña. Cada base de datos por campaña pesa aproximadamente 200 MB.
 
Espero no haber complicado mucho más las cosas... jajaja
 
Muchisimas gracias por compartir sus experiencias y dar sus recomendaciones.
Saludos, Nicolás.


2012/6/8 <nmar...@gmail.com>
Para anular tu suscripción a este grupo, envía un correo electrónico a mailto:altnet-hispano%2Bunsu...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.

Angel Java Lopez

unread,
Jun 10, 2012, 10:51:29 AM6/10/12
to altnet-...@googlegroups.com
Hola gente!

Nicolas, gracias por el detalle. Si, habia querido decir SCADA ;-)

Bien, seria interesante tener un servicio o conjunto de servicios remotos (digo, remotos al desktop, pero siguen estando en la LAN) por modulo. Mi unica duda seria si alguna operacion en el desktop necesita ingente cantidad de datos del SQL.

Como esos servicios se tienen que exponer por alguna tecnologia (no es un servicio, digamos, unos metodos en un(os) objeto(s)/clase(s) en una DLL in proc), veria el tema REST. Habria que resolver el tema seguridad/autenticacion desde la aplicacion desktop a esos servicios.

Se podria replicar (no exactamente quizas) esos servicios remotos, como una DLL local. Algo asi:

Projecto Desktop --> referencia y usa Projecto de Clases local a el, que contiene los metodos que necesita

y

Ese proyecto de clases local llama al servicio expuesto remoto, Seria como la primer figura de
(aunque discutiria el resto del texto ;-)

La parte local (para seguir el vocabulario de ese articulo, el service gateway), no necesariamente llama al remoto en cada llamada local. Por ejemplo, local.getProvincias() quizas trae las provincias del remoto, pero luego, ante otras llamadas, bien puede entregar una copia local, para no ir a cada rato al remoto.

Si no existe conexion con el remoto, local.getProvincias() tratara de resolverlo con la base local. Pero aca no me queda claro: que operaciones hace tu aplicacion actual, para sobrevivir, seguir funcionando aun sin conexion? No hay operaciones que hace el operador, que quedan pendientes de confirmacion? Ejemplo, si fuera una aplicacion bancaria, y el operador transfiere plata de una cuenta a otra, el sistema DEBERIA avisarle que, bueno, si, todo bien, se lo acepta, PERO QUE LA OPERACION esta pendiente. Hay  operaciones asi en tu aplicacion actual y futura? No veo que con una replicacion de datos se pueda resolver eso.

Al aparecer un nuevo modulo, aparece un nuevo servicio expuesto en algun servidor de la LAN. Y aparece una nueva aplicacion desktop que tiene acceso a eso.

O quizas, necesitas que la aplicacion desktop SEA UNA, y cada modulo se "cuelgue" como una opcion mas del menu?

Bueno, me tocan los ravioles ahora ;-)

Nos leemos!

Angel "Java" Lopez

Miguel Angel Jimenez Perez

unread,
Jun 10, 2012, 4:24:49 PM6/10/12
to altnet-...@googlegroups.com
No necesariamente necesitas que sean desktop, con app webs pueden funcionar sin problemas. En caso de que requieras que estas apps no se hosteen en IIS y tener cierta autonomia, podrias usar NancyFX + kayak o si vas a poner muchas cosas en REST podrias analizar el usar ServiceStack para proveer los servicios REST.

por otro lado si requieres que estuviera "centralizado" el acceso a datos, podrias utilizar como comenta ajlopez un service Gateway con REST o alguna otra tecnologia, ahi por ejemplo yo he utilizado zeroMQ para comunicar app clientes con un server central que procesa peticiones de los clientes usando contratos de Protocol Buffers, un ejemplo puedes verlo aqui: https://github.com/majimenezp/DistAppLog  que es una app para centralizar logs que emiten mis aplicaciones y usa precisamente ese esquema para juntar los datos y en este caso no regresa respuestas, pero con otras apps que tengo lo unico que se cambia es el tipo de request(REP en el server y REQ en el cliente) para que intercambien informacion.

Igual la idea es que sea lo mas simple posible,por que si te complicas mucho, la dificultad de mantenimiento por no tenerlo modularizado se cambiaria por la dificultad de mantener muchos puntos de quiebre con las tecnologias.

saludos.

Nicolás Marzoni

unread,
Jun 10, 2012, 5:54:25 PM6/10/12
to altnet-...@googlegroups.com
Aca estamos de nuevo. Veo que tengo muuuuuuucho para estudiar/trabajar!!!
 
Angel,
Una aplicacion que debe continuar "viva" es por ejemplo una secadora de maíz en espigas que toma cierta información -del SQL- generada por otras aplicaciones y con ello crea una orden de proceso. Desde el momento que se crea la orden de proceso, cómo ya tiene la información que necesita en forma local, puede continuar ejecutandose "normalmente". El usuario realizará ciertas tareas, la orden irá pasando por n etapas del proceso y se iran guardando registros de temperatura, humedad, presion, etc, etc. Siempre y cuando haya conexión con el servidor SQL la aplicación debe exportar toda la información generada, quedando esta disponible para otras aplicaciones que continuan el circuito de operaciones, por ejemplo una desgranadora y posteriormente una embolsonadora.
Muchas gracias nuevamente a los dos.
Saludos.
 

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/altnet-hispano/-/MOW3gtGtV7kJ.

Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.



--
Nicolás Matías Marzoni

cibrax

unread,
Jun 11, 2012, 9:24:05 AM6/11/12
to AltNet-Hispano
Yo veo dos problemas que tendrias que solucionar. Por una lado veo que
tenes workflows (por las tareas que va haciendo el usuario) y por otro
lado tenes que sincronizar datos. Para la sincronizacion de datos, el
Sync framework de Microsoft te puede llegar a ayudar. Basicamente
tendrias base de datos locales, que viene podrian ser de SQL CE si las
queres deployear en distintas partes sin instalar nada, y base de
datos centrales que sincronizan con el resto. Microsoft propone una
solucion similar con Data Sync en Windows Azure. Por otro lado, si es
que quisieras persistir el estado de los workflows y resumirlos cuando
hay conexion disponible u otra condicion, tenes Workflow Foundation,
que en la version 4.0 realmente lo han mejorado mucho.

Saludos
Pablo.

On 10 jun, 18:54, Nicolás Marzoni <nmarz...@gmail.com> wrote:
> Aca estamos de nuevo. Veo que tengo muuuuuuucho para estudiar/trabajar!!!
>
> Angel,
> Una aplicacion que debe continuar "viva" es por ejemplo una secadora
> de maíz en espigas que toma cierta información -del SQL- generada por otras
> aplicaciones y con ello crea una orden de proceso. Desde el momento que se
> crea la orden de proceso, cómo ya tiene la información que necesita en
> forma local, puede continuar ejecutandose "normalmente". El usuario
> realizará ciertas tareas, la orden irá pasando por n etapas del proceso y
> se iran guardando registros de temperatura, humedad, presion, etc, etc.
> Siempre y cuando haya conexión con el servidor SQL la aplicación debe
> exportar toda la información generada, quedando esta disponible para otras
> aplicaciones que continuan el circuito de operaciones, por ejemplo una
> desgranadora y posteriormente una embolsonadora.
> Muchas gracias nuevamente a los dos.
> Saludos.
>
> El 10 de junio de 2012 17:24, Miguel Angel Jimenez Perez <
> darkzen....@gmail.com> escribió:

Nicolás Marzoni

unread,
Jun 11, 2012, 9:39:54 AM6/11/12
to altnet-...@googlegroups.com
Pablo, buen día. Intenté utilizar Sync framework de Microsoft en un proyecto con NHibernate, SQL CE y SQL Express, y me dio algunos dolores de cabeza. Sobre todo al tener que modificar una tabla.
Quizá tenga que ponerme a estudiar un poco más a fondo. Voy a darle una mirada a DataSync de Windows Azure.
 
Muchas gracias.

Lester Quintero

unread,
Jun 11, 2012, 11:51:24 AM6/11/12
to altnet-...@googlegroups.com
Creo que si utilizas el Microsoft Sync Framework Toolkit, se facilitar el trabajo ya que cuenta con una herramienta visual con la cual generar un archivo xml, el cual utiliza para crear las configuraciones en la BD y hasta genera el codigo cliente o servidor para replicar los datos.

Nicolás Marzoni

unread,
Jun 11, 2012, 2:35:24 PM6/11/12
to altnet-...@googlegroups.com
Miguel estuve mirando RabbitMQ, según entendí, por cada puesto de trabajo debería tener un servidor RabbitQM para encolar los mensajes de los datos que deseo enviar al servidor cuando la applicacion está desconectada y un cliente para tomar los mensajes de otros módulos. Lo cual me hace pensar en dos enfoques, 1) conocer los servidores de cada puesto y saber a quien encuestar para consumir los mensajes o bien 2) centralizar (probablemente donde está el servidor SQL) los mensajes en diferentes colas (cada una por modulo). Para el segundo de los casos debería hacer un cliente que encueste las colas de todos los servidores instalados, procese cada mensaje, y genere un nuevo mensaje (de ser necesario) en cada cola de cada modulo.
 
¿Así sería el funcionamiento? O se me hizo una ensalada con lo que leí??

Miguel Angel Jimenez Perez

unread,
Jun 14, 2012, 5:45:03 PM6/14/12
to altnet-...@googlegroups.com
No entendi nada. Pero la idea seria que cada uno de tus server donde tienes tu aplicacion(desktop o una web donde se conectan varios clientes) tenga su propia base de datos y un servicio de rabbitmq(no son grandes y ocupan pocos recursos) y este cada vez que se realice un insert, update o delete, ademas de mandarlo a la base de datos, se mande a una cola de mensajes.

Esa cola de mensajes(de nombre "EnviosServer1" por ejemplo, ahi van a estar todas las transacciones que ocurran, a esa cola de mensajes va a estar suscrito el servicio de rabbitMQ en el servidor central, cuando se deposite un mensaje, el servidor central con una aplicacion de despacho lo va a tomar, y va a verificar quien lo origino, ok.

Entonces de un listado de servidores, va a poner en cada uno de los otros servidores (servidor2 y servidor3) en una cola llamada "RecepcionTransacciones" les va a poner un mensaje con la informacion que deben insertar en la base de datos (o actualizar o borrar segun sea el caso), logicamente no tiene caso que el despachador lo ponga en la cola de mensajes de "RecepcionTransacciones" del servidor que lo origino,por que el ya tiene el registro. Quizas en este paso intermedio te interese tambien llevar un registro de los datos y hasta registrar si fueron o no entregados.


SI en dado caso no quisieras tener RabbitMQ instalado en tus server en cada uno de tus areas(la idea es que sea un server por area aislada y que pierde la conexion a la red) o que necesitas que este en una aplicacion dekstop y que cada uno de los clientes tenga esta funcionalidad. Podrias usar ZeroMQ en lugar de RabbitMQ y usar sqlite en lugar de sqlserver, donde el concepto de server se aplicaria a tu aplicacion y ella tendria que por la cola de mensajes a un central y este central repartir a cada una de las aplicaciones la informacion.  La realidad que hacer este tipo de cosas siento que no son nada triviales pero interesantes y teniendo la solucion se vuelve muy dificil que fallen tus aplicaciones si esta fuera de operacion la infraestructura de red.

Otra cosa importante, en el caso de rabbitMQ, si pones un mensaje en la cola, y si no hay conexion a la red, el server central no va a poder leer el mensajes(no se va a poder suscribir a la cola) y los mensajes van a estar encolados, lo cual es nuestro objetivo, pero si usas ZeroMQ, la cola de mensajes vive mientras la aplicacion esta operando y en memoria, si cierras la aplicacion o falla, se pierden los mensajes, en el caso de RabbitMQ tiene cierta persistencia de los mensajes, por lo cual tambien es importante decidir que tecnologias usarias y que se adecue a tus necesidades.

Te dejo un diagrama algo feo de como podrias implementarlo. Espero te sea de ayuda. Saludos








nmar...@gmail.com

unread,
Jun 15, 2012, 7:01:30 AM6/15/12
to altnet-...@googlegroups.com
Yo sí te entendí, je!. Es lo que intenté expresar en el otro mail.
La persistencia de los datos en las colas es algo necesario, las aplicaciones están funcionando las 24 hs todo el año y en algun momento alguna puede apagarse estando desconectada. Voy a empezar a jugar un poco con RabbitQM, para ver si con esto soluciono la sincronización de datos entre aplicaciones. Ya voy a volver con dudas respecto de la arquitectura del sistema, pero con esto tengo para entretenerme un buen rato.
 
Muchisimas gracias.
 
Sent: Thursday, June 14, 2012 6:45 PM
--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.

Kiquenet

unread,
Jun 19, 2012, 4:50:47 PM6/19/12
to altnet-...@googlegroups.com
La VAN de ZeroMQ de Miguel Jiménez fue muy interesante

Estaría bien otra de RAbbitMQ + .NET de tal calidad.

Son temas de arquitectura de alto nivel.

Saludos.

Nicolás Marzoni

unread,
Jun 19, 2012, 6:54:54 PM6/19/12
to altnet-...@googlegroups.com
Voy a mirar la VAN.
Muchisimas gracias.

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/altnet-hispano/-/24_R_K8lhrIJ.

Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.



--
Nicolás Matías Marzoni

Miguel Angel Jimenez Perez

unread,
Jun 20, 2012, 2:22:39 PM6/20/12
to altnet-...@googlegroups.com
Pos hechale un ojo, igual y viendola te das una idea de que podrias aplicar a tu problema en particular, en mi opinion se me hace mas flexible zeroMQ pero si la persistencia es un tema importante para ti, mejor ve por un MQ mas tradicional.

nmar...@gmail.com

unread,
Jun 20, 2012, 9:14:53 PM6/20/12
to altnet-...@googlegroups.com
Miguel, estuve mirando la VAN, no tuve tiempo de verla completa pero me sirvio para ir entrando más en el tema y adquirir ciertos conceptos importantes. Voy a terminar de verla en cuanto pueda.
A mi parecer la persistencia es algo importante para el problema. Pero quizá a alguno de uds se les ocurre alguna manera de no depender tanto de los mensajes para la sincronización de los datos.
 
Yo necesito que cada módulo o aplicación parcialmente conectada envie y sepa que hay que buscar datos nuevos en el servidor para sincronizar sus datos locales. Mi idea era encolar mensajes que en su contenido me permita identificar la información a importar ( Por ejemplo Clase-Identificador ) y así ir a buscarlo al servidor, o bien utilizando json para serializar los objetos (aquí estoy tocando de oido nunca hice nada con json).
 
Agradezco enormemente el tiempo que están dedicando para darme sus opiniones.
Saludos, Nicolás.
Sent: Wednesday, June 20, 2012 3:22 PM
Subject: Re: [altnet-hispano] Re: ¿Cómo lo harían uds?
 
Pos hechale un ojo, igual y viendola te das una idea de que podrias aplicar a tu problema en particular, en mi opinion se me hace mas flexible zeroMQ pero si la persistencia es un tema importante para ti, mejor ve por un MQ mas tradicional. --
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.

Miguel Angel Jimenez Perez

unread,
Jun 22, 2012, 11:19:42 AM6/22/12
to altnet-...@googlegroups.com
Para serializar en binario, te recomiendo messagePack( http://msgpack.org/ ) o Protocol Buffers, son mas rapidos que la serializacion binaria del mismo .Net framework, otra es serializarla con el serializador binario nativo del framework,que cumple con el objetivo.

Para la persitencia lo que haciamos era guardar en un registro en sqlite un blob con una copia de los binarios enviados, el byte array se guardaba directamente y se ponia la fecha/hora, con el nombre del destinatario, eso si lo que haciamos era dispararlo en un thread para no afectar los tiempos de envio(quizas en tu app no seria necesario hacerlo,pero si le pega en los tiempos de entrega de los mensajes,otra es hacerlo despues de que se envia). Cuando se enviaba, esperabamos un response del cliente, que nos confirmara si lo recibio, si lo recibia, en nuestra db lo marcabamos como entregado(igual lo puedes borrar para que no ocupe espacio).

aparte de esto teniamos una tarea con Quartz.Net que se disparaba en la madrugada y checaba la db, y borraba los registros ya confirmados de envio y que habian sido enviados el dia de ayer, para no aumentar el tamaño de la db.

Usar los mensajes para sincronizacion era una idea que yo he estado usando pero igual es demasiado complejo para lo que necesitas(una sobreingenieria) entonces podrias usar el microsoft Sync( http://msdn.microsoft.com/en-us/sync/bb736753.aspx ) yo nunca lo he usado, asi que habria que ver si alguien conoce sobre esa tecnologia y te puede dar unos puntos importantes a tomar en cuenta para su implementacion.

Nicolás Marzoni

unread,
Jun 22, 2012, 11:44:45 AM6/22/12
to altnet-...@googlegroups.com
Syn framework era mi idea desde un principio, pero lo poco que estuve probando me dio dolores de cabeza cuando necesitaba agregar una columna a alguna tabla. Alguien del grupo comento que habia un toolkit con la nueva version del sync framework. Voy a investigar un poco más antes de descartar la idea.

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/altnet-hispano/-/BKbj3SLtdQkJ.

Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.



--
Nicolás Matías Marzoni

Preguntón Cojonero Cabrón

unread,
Jan 3, 2018, 6:50:09 PM1/3/18
to AltNet-Hispano
Ahora toca la pregunta, Cómo lo hiciste? Puedes compartir las experiencias en una VAN de año nuevo si te parece.
Reply all
Reply to author
Forward
0 new messages