Hola a todos. Hace mucho que quiero escribir este mensaje pero la verdad no me
animaba pues me va a costar mucho explicarme. Lo intentaré de todas formas
Estoy trabajando en un proyecto persona cuyo contexto es el del desarrollo de
aplicaciones web en donde el usuario escribe su aplicación en su lenguaje
orientado a objetos de escritorio preferido (java, python, smalltalk, igual da)
y un traductor genera el código javascript, html y css necesario para
representar la aplicación en forma web.
Como pasa con todos los traductores, hay formas, conceptos o tecnicas que no son
naturalmetne traducibles. En mi caso el problema es con los mensajes a objetos
remotos, es decir qué ofrecerle al usuario para el envío de mensajes a objetos
remotos de forma tal que le sea lo más natural posible.
El problema es que, en un LOO como java o smalltalk, el envío de mensajes a
objetos es hace síncronamente: el emisor se conjela hasta que el receptor
responde. De esta forma los "programadores de escritorio" asumimos que la
respuesta forma parte del mensaje (o al menos esto me pasa a mi).
Los mensjaes sincronos no son viables en el ámbito de la comunicación cliente
servidor, por lo que debo analizar cuál es la forma más natural de exponer el
problema al usuario.
Entonces mi primera pregunta sería medio teorica y es: ¿forma la respuesta parte
del mensaje?(sinc) ¿o la respuesta en sí es un segundo mensaje?(asinc)
Y mi segunda pregunta es más bien sobre la sintaxis. Los mensajes sincronos
toman como síntaxis : "respuesta := objeto mensaje parametros", pero para los
mensajes asíncronos ya no sería tan tribial. Todas las soluciones que se me han
ocurrido implican al menos dos elementos nuevos que intervienen en el envío de
un mensaje: 1) notificación de la respuesta y 2) la identificación explícita de
mensajes.
Por último al acostumbrarnos a trabajar con mensajes asíncronos (por ejemplo
ajax o invocación a WS) nos damos cuenta de que la forma de pensar en los
objetos cambia, el código se espaguetiza más (el órden de las sentencias no se
respeta al enviar un mensaje; el control salta a un handler para notificar una
respuesta). Me gustaría saber cuál es la experiencia de los demás en estas
situaciones, y si alguien conoce alternativas de síntaxis para "aliviar" este
cambio.
Un saludo. Espero se halla entendido el problema. Cualquier sugerencia o lectura
sobre el tema es bienvenida. Gracias por la paciencia ;)
--
Sebastian Gurin <sgurin@...>