[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Distributed application

Luis G. Gómez

12/29/2004 7:51:00 PM

Hello all,

It's my first time posting to this ML so this may be out of place...

I'm working on an idea for an application that, if conceived, would be
distributed as part of a system composed of a server and x number of
terminals. This server would be dedicated to serving an application in
the form of a GUI that I'd like to develop using Ruby exclusively.

The server would be Linux but the terminals are likely to be running
windows (although it'd be great if the terminal's platform became
irrelevant).

Now, the idea is to have users (terminals) be recognized by the server
so that the application can be run from it. That way additional
terminals could be added to the LAN that would automatically "see" th
application. I'd like to be able to avoid installing anything on the
terminal (except maybe a shortcut or something similar). The user would
then doubble click the apps shortcut and launch the application from the
server. The application will, among other, allow for the manipulation of
images and documents being served by the app server. Nothing is stored
locally.

My question is kind of broad. I'd like to know if anyone has worked on
similar distributed apps or if there are resources available online that
could guide me in the "right" direction. I've never done distributed
GUIs and don't even know if it's possible at this point using Ruby.
Also, I'm not clear about Ruby's image manipulation capabilities.

Thanks a lot!!

LG


11 Answers

Roeland Moors

12/29/2004 8:15:00 PM

0

On Thu, Dec 30, 2004 at 04:50:56AM +0900, "Luis G. Gómez" wrote:
> Hello all,
>
> It's my first time posting to this ML so this may be out of place...
>
> I'm working on an idea for an application that, if conceived, would be
> distributed as part of a system composed of a server and x number of
> terminals. This server would be dedicated to serving an application in
> the form of a GUI that I'd like to develop using Ruby exclusively.
>
> The server would be Linux but the terminals are likely to be running
> windows (although it'd be great if the terminal's platform became
> irrelevant).
>
> Now, the idea is to have users (terminals) be recognized by the server
> so that the application can be run from it. That way additional
> terminals could be added to the LAN that would automatically "see" th
> application. I'd like to be able to avoid installing anything on the
> terminal (except maybe a shortcut or something similar). The user would
> then doubble click the apps shortcut and launch the application from the
> server. The application will, among other, allow for the manipulation of
> images and documents being served by the app server. Nothing is stored
> locally.
>
Maybe you can just create a web application? Then all you need is
a browser.

> My question is kind of broad. I'd like to know if anyone has worked on
> similar distributed apps or if there are resources available online that
> could guide me in the "right" direction. I've never done distributed
> GUIs and don't even know if it's possible at this point using Ruby.
> Also, I'm not clear about Ruby's image manipulation capabilities.
>

http://rmagick.ruby...

--
Roeland


Eric Hodel

12/29/2004 8:23:00 PM

0

On 29 Dec 2004, at 11:50, Luis G. Gómez wrote:

> Now, the idea is to have users (terminals) be recognized by the server
> so that the application can be run from it. That way additional
> terminals could be added to the LAN that would automatically "see" th
> application. I'd like to be able to avoid installing anything on the
> terminal (except maybe a shortcut or something similar). The user
> would then doubble click the apps shortcut and launch the application
> from the server. The application will, among other, allow for the
> manipulation of images and documents being served by the app server.
> Nothing is stored locally.

Something must run on the client for the server to see it, or the
client must do something to advertise itself.

You may be able to get somewhere with DRb and Rinda, I have a few
documents those here:

http://se.../projects...

You'll probably be especially interested in Rinda::RingServer:

http://se.../projects...rinda/ringserver.html

Your best bet, though, is to make a web-app.

--
Eric Hodel - drbrain@segment7.net - http://se...
FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04

Luis G. Gómez

12/29/2004 9:40:00 PM

0

I've worked almost exclusivelly on web applications and do understand
what you mean but, even though I know how to do all of what I need as a
web app, I want a seamless, stable and responsive application that does
not depend on the browser.

The inspiration for the application's interface comes from high end
systems like Discreet's Inferno, Flame, Flint and Combustion combined
with Alias' Portfolio Wall.

http://www4.discreet.com/Images/flint/flint9_ui_stabilizer...
http://www4.discreet.com/Images/company/press/imagelibrary/smoke/ui_mixres...
http://www4.discreet.com/Images/fire/uiPSD_in_D...
http://www4.discreet.com/Images/inferno/inferno6_ui_distort...
http://www.alias.com/eng/products-services/portfoliowall/i...

When the application is run, no other application is acesible. The
application runs fullscreen and remains in controll of the display until
it is closed. It's meant to server as a workstation covering all the
necessary tools for the task at hand. If you are curious, the task will
be manipulating medical images.

I'm looking into rmagick, DRb and Rinda. Thank you fr the sugestions.

As soon as I finish the diagram that describes the structure of the
system, I'll post a link here so you can see it.

Thank you

LG


Luis G. Gómez

12/29/2004 11:22:00 PM

0

Ok, forget the diagram. Picture this:

Customer buys a system that is composed of the following hardware:
- an app-server
- terminal.

The app-server contains a script that runs on first startup and:

- detects conection to the internet.
- connects to a master server (on the internet) and downloads and
installs the application upon successfull identification.
- Registers and IDs app-server as an active application server. This
allows the master server to maintain software remotelly and keep a
record of where the app-server is to facilitate locating it from terminals.
- starts app-server

The terminal contains a script that functions as a thin client providing
an interface for authentication and:

- detects connection to the internet.
- registers with master server and upon corrct id downloads its
assigned's app-server information (location, etc...)
- Drops connection to master server
- locates and connects to assigned app-server
- downloads a temporary copy of the application from the app-server upon
launch and...
- after user is done working removes app from terminal and goes back to
"login screen"

We know which app-server is "assigned" to which terminal beforehand
'cause we sell it to the customer and maintain record os app-server's
IDs and terminal's IDs. We may even forget that part and simply control
this with user authentication on a central server (the master server).

===========

I'm now thinking customers could request a system that is not maintained
remotelly. This means the app-server would be delivered with the latest
copy of the application and terminals would have to be configured
manually (as far as locating it's app server goes) in the absence of a
central "master-server". A connection to the internet would not be
necessary in this case.

===========

Please excuse me if this sounds disorganized but it's not even in
development... I'm barelly brainstorming the idea.

Thank you

LG


Florian Gross

12/30/2004 2:23:00 AM

0

Luis G. Gómez wrote:

> Ok, forget the diagram. Picture this:
>
> Customer buys a system that is composed of the following hardware:
> - an app-server
> - terminal.
> [snip explanation]

It sounds a lot like this can be done easily with DRb. It is included
with Ruby. There's samples available at
http://www.ruby-doc.org/stdlib/libdoc/drb/rdoc/classe...

Luis G. Gómez

12/30/2004 9:22:00 PM

0

Any recommendd resources where I can learn more about xterminals?

Massimiliano Mirra wrote:
> "Luis G. Gómez" <lgomez@vfxnetwork.com> writes:
>
>
>>Ok, forget the diagram. Picture this:
>
>
> You could also consider X terminals and develop the application as
> usual on the server.
>
> www.ltsp.org
> thinstation.sf.net
> www.nomachine.org
> http://dot.kde.org/1...
>


Sarah Tanembaum

12/30/2004 9:41:00 PM

0

Roeland Moors wrote:
> On Thu, Dec 30, 2004 at 04:50:56AM +0900, "Luis G. Gómez" wrote:
>
>>Hello all,
>>
>>It's my first time posting to this ML so this may be out of place...
>>
>>I'm working on an idea for an application that, if conceived, would be
>>distributed as part of a system composed of a server and x number of
>>terminals. This server would be dedicated to serving an application in
>>the form of a GUI that I'd like to develop using Ruby exclusively.
>>
>>The server would be Linux but the terminals are likely to be running
>>windows (although it'd be great if the terminal's platform became
>>irrelevant).
>>
>>Now, the idea is to have users (terminals) be recognized by the server
>>so that the application can be run from it. That way additional
>>terminals could be added to the LAN that would automatically "see" th
>>application. I'd like to be able to avoid installing anything on the
>>terminal (except maybe a shortcut or something similar). The user would
>>then doubble click the apps shortcut and launch the application from the
>>server. The application will, among other, allow for the manipulation of
>>images and documents being served by the app server. Nothing is stored
>>locally.
>>
>
> Maybe you can just create a web application? Then all you need is
> a browser.
>
>
>>My question is kind of broad. I'd like to know if anyone has worked on
>>similar distributed apps or if there are resources available online that
>>could guide me in the "right" direction. I've never done distributed
>>GUIs and don't even know if it's possible at this point using Ruby.
>>Also, I'm not clear about Ruby's image manipulation capabilities.
>>
>
>
> http://rmagick.ruby...
>
But rmagick #display does NOT work under windows as well as linux. We
have discussion about it a while ago.

Tim Hunter

12/30/2004 10:05:00 PM

0

Sarah Tanembaum wrote:
> But rmagick #display does NOT work under windows as well as linux. We
> have discussion about it a while ago.

An annoyance, yes, since #display is a handy way to preview images, but
hardly a show-stopper. You can save RMagick images in your choice of
standard formats, GIF, JPG, PNG, PDF, EPS, etc, and view them in any image
viewer.

Zach Dennis

12/30/2004 10:13:00 PM

0

Tim Hunter wrote:
> Sarah Tanembaum wrote:
>
>>But rmagick #display does NOT work under windows as well as linux. We
>>have discussion about it a while ago.
>
>
> An annoyance, yes, since #display is a handy way to preview images, but
> hardly a show-stopper. You can save RMagick images in your choice of
> standard formats, GIF, JPG, PNG, PDF, EPS, etc, and view them in any image
> viewer.
>

Couldn't the person who wants to use #display just write the
gif/jpg/png/pdf/etc.. then pass in the path to the file and make a call
to IE, Firefox, Netscape, etc...to open it?

It can't be that hard to figure out the default web browser.

Zach


linus sellberg

12/30/2004 11:31:00 PM

0


> Couldn't the person who wants to use #display just write the
> gif/jpg/png/pdf/etc.. then pass in the path to the file and make a call
> to IE, Firefox, Netscape, etc...to open it?
>
> It can't be that hard to figure out the default web browser.

No need to find out the browser.
`start filename`
works fine if it is enough to use whatever program it is that is
associated with the file in question.