Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » Some questions on RAP
Some questions on RAP [message #47083] Thu, 13 September 2007 18:47 Go to next message
Eclipse UserFriend
Originally posted by: abo.splitshade.de

Hi,

its a wonderful Newsgroup you?ve got here. I have quite a huge amount of
questions, and I try to simply ask them now;)

I tried to go through the sourcecode for RAP to discover some secrets,

1. I tried to debug the RAP engine, not an Application written with RAP,
but the RAP itself (in this case, i wanted to debug the RWT-Library). I
got an error, that the debugger could not find any linenumbers, so debug
doesn?t work as good as suspected. Is there a library, which is compiled
so that debugging works correctly? Or can i compile the library myself?
Or am I just too stupid?

2. I read, that RAP uses the ServletBridge to use Osgi on the Server.
I must admit, i didn?t really understand how this works.
I looked at the SourceCode for the ServletBridge, but I can?t manage to
understand it;), as far as i have understood this, the servletbridge
works as a dispatcher for the requests coming from other pcs to the
OSGI-Framework.
So the Servlet Bridge manages a Frameworklauncher, which loads the
Osgi-Runtime on the Server. Is that correct?
In the SourceCode, I read that it is possible to register a single
Servlet with the BridgeServlet. But I thought, if you want to use the
OSGI-Service, you write your Application and register a Servlet from
your Application with the Bridge, and the Bridge dispatches the requests
from and to the Osgi-Framework.
So as I told you, I really didn?t understand the background, any help is
appreciated.

3. I tried to understand, how the rendering in RAP works.
I managed to read a huge amount of code. What I couldn?t find is the
Point, where the Request from a Client is mapped to the LifeCycle in
RAP. So, what i would really love is a technical Overview, how this
stuff works?

As far as I could read from the sourcecode, repaint-events from the
server are sent to the client only, if the state of the component has
changed in some way.
But where in the source can I find the pieces where the communication
between the client and the server takes action?


If anybody wants to explain or has a link for that, my biggest thanks
are sure;)

4. I read, that there should be a online help for rap somewhere, but i
can?t manage to find it? Is this help included in eclipse and i made a
mistake in installing it? or is this help somewhere online on
http://eclipse.org/rap?

puh, this was a lot of stuff, but i hope, someone has the time to go
through it, thank you very much;)!

Bye
Re: Some questions on RAP [message #47148 is a reply to message #47083] Thu, 13 September 2007 22:02 Go to previous message
Benjamin Muskalla is currently offline Benjamin MuskallaFriend
Messages: 237
Registered: July 2009
Senior Member
Hi Martin,

thanks - nice you like RAP land ;)

Maybe I cannot answer every detail but let me try ...

Martin Dilger wrote:
> Hi,
>
> its a wonderful Newsgroup you?ve got here. I have quite a huge amount of
> questions, and I try to simply ask them now;)
>
> I tried to go through the sourcecode for RAP to discover some secrets,
>
> 1. I tried to debug the RAP engine, not an Application written with RAP,
> but the RAP itself (in this case, i wanted to debug the RWT-Library). I
> got an error, that the debugger could not find any linenumbers, so debug
> doesn?t work as good as suspected. Is there a library, which is compiled
> so that debugging works correctly? Or can i compile the library myself?
> Or am I just too stupid?
Ok...normally that should be no problem. When working with CVS you
already have all sources. If you're working against the target runtime
it should be no problem either as we provide all sources (at least for
the RAP-specific plugins).
Or do you mean the qooxdoo library?
If yes, you can add -Dorg.eclipse.rwt.clientLibraryVariant=DEBUG to your
launch configuration to have a "debuggable" version of qooxdoo at runtime.
>
> 2. I read, that RAP uses the ServletBridge to use Osgi on the Server.
> I must admit, i didn?t really understand how this works.
> I looked at the SourceCode for the ServletBridge, but I can?t manage to
> understand it;), as far as i have understood this, the servletbridge
> works as a dispatcher for the requests coming from other pcs to the
> OSGI-Framework.
> So the Servlet Bridge manages a Frameworklauncher, which loads the
> Osgi-Runtime on the Server. Is that correct?
> In the SourceCode, I read that it is possible to register a single
> Servlet with the BridgeServlet. But I thought, if you want to use the
> OSGI-Service, you write your Application and register a Servlet from
> your Application with the Bridge, and the Bridge dispatches the requests
> from and to the Osgi-Framework.
> So as I told you, I really didn?t understand the background, any help is
> appreciated.
There are some informations about server-side equinox and the servlet
bridge available at http://www.eclipse.org/equinox/server/

>
> 3. I tried to understand, how the rendering in RAP works.
> I managed to read a huge amount of code. What I couldn?t find is the
> Point, where the Request from a Client is mapped to the LifeCycle in
> RAP. So, what i would really love is a technical Overview, how this
> stuff works?
Jochen and Frank gave a talk at EclipseCon 2007 about RAP. The slides
are available here:
http://eclipsezilla.eclipsecon.org/php/attachment.php?bugid= 3833

The servlet which manages all incoming requests is
org.eclipse.ui.internal.servlet.RequestHandler which in the end calls
RWTLifeCycle#execute which goes trough all available phases (see slides).

>
> As far as I could read from the sourcecode, repaint-events from the
> server are sent to the client only, if the state of the component has
> changed in some way.
> But where in the source can I find the pieces where the communication
> between the client and the server takes action?
>
That's an easy one ;-)
Imagine you have a widget X. The corresponding adapter between the
widget and the lifecycle is called a LifeCycleAdapter (LCA). So for
widget X you'll find a XLCA which has methods for every phase (see
slides). The LCA is responsible for initializing the widget on the
client side (renderInitialization), to render the changes since the last
request (renderChanges), to preserve the values to avoid sending the
data out everytime (preserveValues) and last but not least "readData"
which cares about the other way around as you can process events here
which are triggered on the client.
I think after looking at some of the LCA implementations it should be
easy to have a overview what's possible.

>
> If anybody wants to explain or has a link for that, my biggest thanks
> are sure;)
>
> 4. I read, that there should be a online help for rap somewhere, but i
> can?t manage to find it? Is this help included in eclipse and i made a
> mistake in installing it? or is this help somewhere online on
> http://eclipse.org/rap?
There is a help plugin in CVS but we will make it available online
before the 1.0 release.

>
> puh, this was a lot of stuff, but i hope, someone has the time to go
> through it, thank you very much;)!
yet, that was a lot ;)

Nice you're so interested in RAP. Next time such question could better
be asked on the mailing list as most of the stuff is mostly relevant for
RAP developers.
>
> Bye

Have a nice day!

Benny
Previous Topic:Qooxdoo DateFormat
Next Topic:RAP and JDBC
Goto Forum:
  


Current Time: Sat Jun 10 20:14:47 GMT 2023

Powered by FUDForum. Page generated in 0.02077 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top