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]