Sí, hay que implementar primero 1, luego 2 y luego 3. A mí no me sirve de mucho así que me gustaría saber quienes son los interesados para que lo implementemos entre todos, ya que al decir 2 dáis de trabajo me refiero a 16 horas de trabajo concentrado y no tengo más de 1 o 2 horas a la semana, siempre que no surja algo.
Y sí, inicialmente EJB es RPC (RMI) pero con manejo de transacciones. Acá obviamos las tx y nos quedamos sólo con el RMI. ¿A quién le interesa probarlo y a quién le interesa ayudar a desrrollarlo? Podemos crear un proyecto en squeaksource.com y hacerlo correr en Pharo. Me gustaria tener una máquina de build pero al parecer el proceso no es fácil aún en Pharo. Saludos, Guillermo. 2010/10/8 andres <[email protected]> > Guillermo, ya me estoy yendo de la máquina, por lo que va el último mail > hasta el lunes. El objetivo es implementar 3, como te lo describí un par de > mails atrás (Process>>executeAt:port:). Para que eso sea "transparente", > desde mi punto de vista, vas a necesitar parte de 1) y 2), pero bueno, no > se, eso es como yo lo implementaría, tal vez me estoy complicando de mas. > Respecto del otro mail que mandaste, me da la sensación que lo que estás > haciendo es RPC, no migración de un proceso a otra máquina. Ah, y para hacer > el tema del monitor de recursos (para que un proceso que está consumiendo > mucha CPU le deje paso a otro) fijate el mensaje #forkAt: que toma como > parámetro la prioridad a la que se va a ejecutar el proceso. > > > Saludos! > Andrés > > Guillermo Schwarz escribió: > >> Bueno pero me perdí, ¿qué estamos resolviendo? >> >> 1. EJB. >> 2. Proxy que cree clases que no existen en el servidor. >> 3. Migración de procesos en ejecución. >> >> ¿Cuál de los 3? >> >> Por cierto, puede que VW tenga resuelto (1). J2EE también tiene resuelto >> (1) >> pero es irrelevante porque no es open source (o no es compatible entre >> diferentes vendors). >> >> La idea es tener algo que no sea muy dificil de implementar y que todo el >> mundo pueda probar de manera trivial. >> >> Además no tiene sentido que sea dificl de implementar. La idea es simple, >> debe ser simple o de otra manera se va a caer en casos de borde. La >> solución >> que presenté incluso la puedo probar en un solo PC con 2 imágenes que >> conversan entre sí. Para mí esa es la situación ideal para debuggear >> rápido >> y luego que prueben otros la versión distribuida. >> >> Saludos, >> Guillerrmo. >> >> 2010/10/8 andres <[email protected]> >> >> No, claramente no apunto a que implementes un Smalltalk nuevo; lo que >>> digo >>> es que si ya usas un framework de distribución de objetos (tipo Opentalk >>> o >>> rSt) la cosa ya está casi resuelta. Igual la parte de distribución por >>> referencia ya la tenés cocinada ("En el caso de usar proxy es trivial y >>> liviano y si el mecanismo funciona para uno, funciona para todos" -muy >>> interesante la última acotación-), sólo te falta resolver la distribución >>> por copia. >>> >>> Respecto de las librerías me mataste, yo trabajo con VW no con Pharo :( >>> >>> >>> Saludos! >>> Andrés >>> >>> >>> Guillermo Schwarz escribió: >>> >>> Oye, pero la idea no es hacerlo desde cero, sino tendría que hacer un >>>> Smalltalk desde cero. No tiene sentido. >>>> >>>> La serialización de objetos ya existe, los sockets también, los proxies >>>> también. ¿Me hace falta algo aparte de juntar y pegar? >>>> >>>> ¿Alguien me puede recordar dónde están cada una de esas cosas? Tengo la >>>> memoria un poco empolvada, aparte de que no tengo mucha experiencia en >>>> Pharo. >>>> >>>> Saludos, >>>> Guillermo. >>>> >>>> 2010/10/8 andres <[email protected]> >>>> >>>> Desconozco la licencia de Opentalk o si está portado a Pharo; igual >>>> pensé >>>> >>>>> que ibas a implementar todo de cero, total no es complicado, un par de >>>>> proxies nomás. >>>>> Sobre lo que decís en 2) la verdad no te sigo, pero parece sencillo; >>>>> deberás redefinir algún mensaje y serializar algún que otro compiled >>>>> method. >>>>> Y sobre #thisContext al menos en VW está y estoy casi seguro que en >>>>> Squeak >>>>> y Pharo también, así que dale con la implementación en Pharo. El lunes >>>>> es >>>>> feriado pero tengo que trabajar igual, así que seguro voy a poder >>>>> testear >>>>> tu >>>>> implementación. >>>>> >>>>> >>>>> Saludos, >>>>> Andrés >>>>> >>>>> Guillermo Schwarz escribió: >>>>> >>>>> 1. Si OpenTalk ya lo tiene hecho, ¿es open source? >>>>> >>>>>> 2. Si 1 está listo, implementar 2 es cosa de modificar >>>>>> doesNotUnderstand >>>>>> para que pregunte si la clase está definida en el servidor (o en el >>>>>> originador de la llamada, depende de cómo se quiera organizar el >>>>>> asunto). >>>>>> >>>>>> 3. Recuerdo que había un Smalltalk en el que uno hacía "self yield" o >>>>>> algo >>>>>> así y dejaba el thread actual suspendido y le daba tiempo a otro de >>>>>> ejecutar, utilizaba si no me equivoco thisContext y ProcessScheduler, >>>>>> pensé >>>>>> que era Smalltalk Express, pero al parecer no era porque no encontré >>>>>> thisContext. ¿Alguien ha visto algo así? >>>>>> >>>>>> Antes de ver eso habría que ver sobre qué vendor de Smalltalk se >>>>>> haría. >>>>>> >>>>>> Yo lo haría sobre Pharo para que cualquiera lo pueda probar. Squeak se >>>>>> me >>>>>> hace difícil. >>>>>> >>>>>> Saludos, >>>>>> Guillermo. >>>>>> >>>>>> 2010/10/8 andres <[email protected]> >>>>>> >>>>>> Te cuento lo que se de VisualWorks, tal vez Valloud tenga mas info: >>>>>> >>>>>> 1. Si, cubierto por Opentalk. >>>>>>> 2. Opentalk cubre esto parcialmente, creo que se podía trabajar con >>>>>>> clases >>>>>>> como objetos remotos. Pero tenía sus vueltas. Sólo pensar que en las >>>>>>> dos >>>>>>> imágenes puede haber versiones distintas de la misma clase es un >>>>>>> problema. >>>>>>> 3. No que yo sepa. >>>>>>> >>>>>>> El tema es que cuanto mas "transparente" te quieras volver para el >>>>>>> programador, mas decisiones tenés que tomar a priori (que muchas >>>>>>> veces >>>>>>> no >>>>>>> se >>>>>>> pueden tomar sin conocer la aplicación o el dominio). Sólo la opción >>>>>>> de >>>>>>> distribuir objetos por copia o por referencia es un mundo en si >>>>>>> mismo. >>>>>>> >>>>>>> Saludos, >>>>>>> Andrés >>>>>>> >>>>>>> Angel Java Lopez escribió: >>>>>>> >>>>>>> Ah! Me olvide de preguntar: >>>>>>> >>>>>>> No algo asi ya hecho en Smalltalk, alguna de las 3 opciones de >>>>>>>> Guillermo? >>>>>>>> >>>>>>>> Nos leemos! >>>>>>>> >>>>>>>> Angel "Java" Lopez >>>>>>>> http://www.ajlopez.com >>>>>>>> http://twitter.com/ajlopez >>>>>>>> >>>>>>>> 2010/10/8 andres <[email protected]> >>>>>>>> >>>>>>>> Dale, la opción 3 suena piola. El requerimiento sería algo así >>>>>>>> como: >>>>>>>> >>>>>>>> "Implementar el mensaje #executeAt: anIpAddress port: aPort en >>>>>>>> >>>>>>>>> Process >>>>>>>>> para >>>>>>>>> que pause la ejecución, se lleve el thread con los objetos en el >>>>>>>>> scope >>>>>>>>> a >>>>>>>>> la >>>>>>>>> otra imagen y retome la ejecución del punto de partida." Me sumo al >>>>>>>>> programa >>>>>>>>> de beta testers para cuando esté listo en un par de días. >>>>>>>>> >>>>>>>>> Saludos, >>>>>>>>> Andrés >>>>>>>>> >>>>>>>>> >>>>>>>>> Guillermo Schwarz escribió: >>>>>>>>> >>>>>>>>> Primero hay que ponerse de acuerdo en qué tipo de implementación >>>>>>>>> vamos >>>>>>>>> a >>>>>>>>> >>>>>>>>> hacer: >>>>>>>>> >>>>>>>>> 1. Proxy que llame a un objeto remoto que ya existe en el destino >>>>>>>>>> (similar a EJB). >>>>>>>>>> 2. Proxy que vaya hasta el servidor y cree una instancia de una >>>>>>>>>> clase >>>>>>>>>> que no existe, para lo cual se requiere que el destino le pregunte >>>>>>>>>> al >>>>>>>>>> gatillador dónde está la definición de la clase, la cargue, la >>>>>>>>>> compile >>>>>>>>>> y >>>>>>>>>> la instancie. >>>>>>>>>> 3. ¿Cuál sería el objetivo? ¿Migrar procesos que ya están >>>>>>>>>> corriendo? >>>>>>>>>> ¿Que corran en el servidor que se indique en duro? ¿Hacer un >>>>>>>>>> balanceador >>>>>>>>>> de carga? >>>>>>>>>> >>>>>>>>>> Si los requerimientos no están claros se llegará a un engendro, >>>>>>>>>> pero >>>>>>>>>> si >>>>>>>>>> están claros, las decisiones de diseño serán las obvias, podremos >>>>>>>>>> implementar los prototipos, probarlos y no creo que sean más de un >>>>>>>>>> par >>>>>>>>>> de días tenerlo funcionando. >>>>>>>>>> >>>>>>>>>> Saludos, >>>>>>>>>> Guillermo. >>>>>>>>>> >>>>>>>>>> On Fri, 2010-10-08 at 06:04 +0100, Francisco Garau wrote: >>>>>>>>>> >>>>>>>>>> 2010/10/8 Guillermo Schwarz <[email protected]> >>>>>>>>>> >>>>>>>>>> ¿Y tú que parte harías? >>>>>>>>>> >>>>>>>>>>> ¿Probarlo? >>>>>>>>>>> ;-) >>>>>>>>>>> -- >>>>>>>>>>> Simplex Veri Sigillum >>>>>>>>>>> Uy! - si necesitas beta testers avisa, yo >>>>>>>>>>> tambien >>>>>>>>>>> me prendo >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ;-) >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Callarum largo vivurum >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> To post to this group, send email to >>>>>>>>>>> [email protected] >>>>>>>>>>> To unsubscribe from this group, send email to clubSmalltalk >>>>>>>>>>> [email protected] >>>>>>>>>>> http://www.clubSmalltalk.org >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> To post to this group, send email to >>>>>>>>>> [email protected] >>>>>>>>>> >>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>> [email protected]<clubsmalltalk%[email protected]> >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> > >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> > >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> > >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> > >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> > >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> > >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> > >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>>>> > >>>>>>>>> http://www.clubSmalltalk.org >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> >>>>>>>>> To post to this group, send email to >>>>>>>> [email protected] >>>>>>>> >>>>>>> To unsubscribe from this group, send email to >>>>>>> [email protected]<clubsmalltalk%[email protected]> >>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>> > >>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>> > >>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>> > >>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>>>> > >>>>>>> http://www.clubSmalltalk.org >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>> >>>>> To post to this group, send email to [email protected] >>>>> To unsubscribe from this group, send email to >>>>> [email protected]<clubsmalltalk%[email protected]> >>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>> > >>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>>>> > >>>>> http://www.clubSmalltalk.org >>>>> >>>>> >>>>> >>>> >>>> -- >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected]<clubsmalltalk%[email protected]> >>> <clubsmalltalk%[email protected]<clubsmalltalk%[email protected]> >>> > >>> >>> http://www.clubSmalltalk.org >>> >>> >> >> >> > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<clubsmalltalk%[email protected]> > > http://www.clubSmalltalk.org > -- Saludos cordiales, Guillermo Schwarz Sun Certified Enterprise Architect -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
