Distributed application

Discussion in 'Ruby' started by Luis G. Gómez, Dec 29, 2004.

  1. 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
     
    Luis G. Gómez, Dec 29, 2004
    #1
    1. Advertising

  2. 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.rubyforge.org/

    --
    Roeland
     
    Roeland Moors, Dec 29, 2004
    #2
    1. Advertising

  3. Luis G. Gómez

    Eric Hodel Guest

    --Apple-Mail-19--657027153
    Content-Transfer-Encoding: quoted-printable
    Content-Type: text/plain; charset=ISO-8859-1; format=flowed

    On 29 Dec 2004, at 11:50, Luis G. G=F3mez wrote:

    > Now, the idea is to have users (terminals) be recognized by the server=20=


    > so that the application can be run from it. That way additional=20
    > terminals could be added to the LAN that would automatically "see" th=20=


    > application. I'd like to be able to avoid installing anything on the=20=


    > terminal (except maybe a shortcut or something similar). The user=20
    > would then doubble click the apps shortcut and launch the application=20=


    > from the server. The application will, among other, allow for the=20
    > manipulation of images and documents being served by the app server.=20=


    > Nothing is stored locally.


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

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

    http://segment7.net/projects/ruby/drb/

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

    http://segment7.net/projects/ruby/drb/rinda/ringserver.html

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

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

    --Apple-Mail-19--657027153
    content-type: application/pgp-signature; x-mac-type=70674453;
    name=PGP.sig
    content-description: This is a digitally signed message part
    content-disposition: inline; filename=PGP.sig
    content-transfer-encoding: 7bit

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.4 (Darwin)

    iD8DBQFB0xHcMypVHHlsnwQRAr3xAJ95oAPEsZs3ukNWtMWM/A7t9uS6DQCgsq5w
    DknIPuV5stuX0izE2AAwSog=
    =jFCE
    -----END PGP SIGNATURE-----

    --Apple-Mail-19--657027153--
     
    Eric Hodel, Dec 29, 2004
    #3
  4. 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_large.jpg
    http://www4.discreet.com/Images/company/press/imagelibrary/smoke/ui_mixres_large.jpg
    http://www4.discreet.com/Images/fire/uiPSD_in_DVE-750.jpg
    http://www4.discreet.com/Images/inferno/inferno6_ui_distort_large.jpg
    http://www.alias.com/eng/products-services/portfoliowall/index.shtml

    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, Dec 29, 2004
    #4
  5. 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
     
    Luis G. Gómez, Dec 29, 2004
    #5
  6. 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/classes/DRb.html
     
    Florian Gross, Dec 30, 2004
    #6
  7. Any recommendd resources where I can learn more about xterminals?

    Massimiliano Mirra wrote:
    > "Luis G. Gómez" <> 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/1088363665/
    >
     
    Luis G. Gómez, Dec 30, 2004
    #7
  8. 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.rubyforge.org/
    >

    But rmagick #display does NOT work under windows as well as linux. We
    have discussion about it a while ago.
     
    Sarah Tanembaum, Dec 30, 2004
    #8
  9. Luis G. Gómez

    Tim Hunter Guest

    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.
     
    Tim Hunter, Dec 30, 2004
    #9
  10. Luis G. Gómez

    Zach Dennis Guest

    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
     
    Zach Dennis, Dec 30, 2004
    #10

  11. > 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.
     
    linus sellberg, Dec 30, 2004
    #11
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. =?Utf-8?B?dHN1aQ==?=

    Client/Server v.s. Distributed application

    =?Utf-8?B?dHN1aQ==?=, Jun 4, 2004, in forum: ASP .Net
    Replies:
    4
    Views:
    3,028
    Jiho Han
    Jun 4, 2004
  2. ymwjava
    Replies:
    0
    Views:
    363
    ymwjava
    Sep 22, 2003
  3. Steven Green

    Distributed Application Ideas?

    Steven Green, Oct 24, 2003, in forum: Java
    Replies:
    1
    Views:
    558
    MSeries
    Oct 24, 2003
  4. Matt
    Replies:
    2
    Views:
    3,126
    Michael Borgwardt
    Jul 29, 2004
  5. silarri
    Replies:
    0
    Views:
    347
    silarri
    Dec 31, 2004
Loading...

Share This Page