Hi Girish,

Girish Chandran wrote:
Hi All,

I am analyzing the effort required for implementing a UNO Bridge for Ruby.
I am happy to hear that :-)

As part of this exercise I am going through the documentation available at
the following urls:
 - http://udk.openoffice.org/common/man/bridge.html
 -
http://api.openoffice.org/docs/DevelopersGuide/AdvancedUNO/AdvancedUNO.xhtml
All documentation should be reachable from
  http://wiki.services.openoffice.org/wiki/Uno/Spec

respectively
  http://wiki.services.openoffice.org/wiki/Uno/Articles%26Tutorials


I have some experience in working with UNO components but this is the first
time I am trying to write a Bridge. I am also going through some of the
existing bridges to get some understanding of the design/architecture to be
followed when developing a new bridge. It would be really helpful if I can
get some pointers in this regards which would speed up my study.
Is there any tutorial about writing Bridges? Can some body  share their
experiences?

You actually have the choice to write a
* remote Uno or
* a Binary Uno bridge,
though in theory you could use any language binding for which a bridge already exits (e.g. you could use JRuby and implement the bridge in Java).

A remote bridge basically marshalles all requests and sends these through a connection (e.g. TCP/IP) respectively it receives and unmarshalls requests. It needs to manage threads and to preserve thread identities etc. Documentation for Remote Uno is tight and can be found here:
http://wiki.services.openoffice.org/wiki/Uno/Remote

A Binary Uno bridge would use the Ruby runtime in process. Despite synchronization etc. you wouldn't need to deal with threads or thread pools, but would need to use some Ruby native interface. The PyUno python Uno bridge is implemented as a Binary Uno bridge. You may want to use the PyUno bridge (http://wiki.services.openoffice.org/wiki/Uno/PyUno) as a template. Documentation for Binary Uno can be found here:
http://wiki.services.openoffice.org/wiki/Uno/Binary


If you are going to create a Ruby bridge, please create a page

  http://wiki.services.openoffice.org/wiki/Uno/Ruby

as the root for documentation. You may also want to create a

  http://wiki.services.openoffice.org/wiki/Uno/Effort/Create Ruby Bridge

for managing the tasks, states etc.


thanks and best regards,
Girish

Best regards

  Kay

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to