Ir al contenido


Foto

Raudus 0.8.9 Released


  • Por favor identifícate para responder
3 respuestas en este tema

#1 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 04 junio 2012 - 09:46

Interesantes avances presenta Raudus, un framework muy completo para aplicaciones RIA ahora en su versión 0.8.9, el primero de ellos el más esperado.

1) Performance. Multithreading capabilities improved. Now you may optimize your project, so that heavy SQL queries will not block processing other requests. Read wiki article about Multithreading.

2) Memory consumption reduced. Session timeout is introduced. Now if you dont work with a session for some time, the session is destroyed. Read wiki article about Timeout.

3) Some race conditions fixed. Stability improved.


Enlace: http://www.raudus.co...0-8-9-released/

Saludos
  • 0

#2 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 05 junio 2012 - 03:22

Hace unos días me llego el aviso de cambios en el wiki de raudus y ya me leí lo referente a estos cambios, os lo resumo y traduzco.

Parece que Igor ha parado momentaneamente de "añadir funcionalidades" y se ha replanteado todo el conjunto para solventar dos grandisimos problemas de uso real que tenía raudus.

Por un lado, todos los eventos "onclick" y similares en el "lado delphi" se ejecutan en un único hilo, con lo que si tu código necesita digamos lanzar una SQL que tarde 10 segudos en un evento, durante esos 10 segundos todo el resto de posibles usuarios veran que el servidor no les responde: sus clicks son recibidos, pero los eventos no saltan, quedan "en cola" hasta que termine el actual.

Ahora puedes declarar que vas a iniciar una zona "paralela" -en otro hilo- hacer dentro lo que tarde mucho, y finalmente avisar de que sales de la zona "tardona".

Mientras estas dentro de esa zona, tu código va en otro hilo y el hilo principal se libera, atendiendo al resto de peticiones. Cuando tu hilo "tardon" termina, se sale de la zona y el resto de tu evento se ejecuta, mostrandole al cliente el resultado.

Como entendereis, cualquier proyecto medio serio va a necesitar "aislar" ciertas cosas para ejecutarse en paralelo, y sin esto raudus quedaba relegado a proyectos "poco ambiciosos".

El otro cambio es similar pero se refiere al reparto no del tiempo de CPU sino de la memoria: Al llevar un tiempo activo, las conexiones "caidas" se acumulaban y te quedabas sin RAM más pronto que tarde.

Ahora, tienes un timeout digamos de 100 segundos, y si el usuario no interactua en ese tiempo la aplicación se cierra y todos los recursos se liberan. Así, al final de una semana de uso, si tienes 5 usuarios actualmente activos, tienes 5 instancias de tu programa en memoria, no 500.

Lo interesante es que este timeout lo ha puesto "dinamico": Si entras a editar una ficha puedes subirlo a 1000 segundos, con lo que si se le cuelga el PC, reinicia, y vuelve a entrar, como no han pasado aun 1000 segundos, sigue viendo la ventana de edición abierta con sus datos tal como los dejó (las sesiones son "persistentes").

Vamos, que raudus hace lo mismo pero de una manera muchisimo más escalable, estable y sin bloqueos por procesos largos.
  • 0

#3 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 05 junio 2012 - 07:20

Interesante explicación Sergio, probaremos haber que tal anda en Lazarus, solo creo tendré que bajar la versión del enlace  :(, y es que ya tenía la 1.1 instalada  :p

Saludos
  • 0

#4 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 05 julio 2012 - 10:31

Ayer, revisando los ejemplos que viene con raudus 0.89 descubrí algo importante que Igor ni ha mencionado en su blog: Ya se pueden definir nuevos componenetes en los componentes RaVLC!

Según parece, y podeis mirarlo en el último de los ejemplos que trae, existe un compoente no visual creado para que lo derives y expandas, en el ejemplo le "pone dentro" un pequeño editor de textos en javascript, y añade uno al form en tiempo de ejecución (no se pueden definir nuevos componentes visualmente, solo desde código).

Me parece una noticia importante, era creo el último escoyo importante para saltar en un proyecto importante a raudus.

Las otras dudas era las dos comentadas aquí (hilos y timeout) y el haber conseguido crear forms en tiempo de ejecución, pero ya lo conseguí (lo puse en el wiki por si acaso otros tropiezan: http://raudus.wikisp...ion - CreateApp).
  • 0