Universal Network Objects
UNO is the component model of OpenOffice / LibreOffice. It offers interoperability :
- between programming languages: C / C++, Java, Python, Object Rexx, PHP, ...
- between component models: OLE/COM, CLI (.Net), Web Services, BASIC (LibreOffice / OpenOffice Basic programming language)
- either in process or over process bounderies, in the intranet or internet.
Components environment, interfaces and bridge
- Components live in a Uno Runtime Environment (URE). A URE is associated to a process and the implementation language (C++, Java...).
- Calls between components in the same URE have no performance overhead. Calls between components from different URE use a UNO bridge.
- UNO is interface based. Interfaces are specified with UNO IDL files.
- UDK is the Uno Software Development Kit
Usages
With OpenOffice / LibreOffice, UNO is used :
- To access the applications APIs of the various applications (Writer, Calc, etc.)
- To develop "Add-Ons" that extend the functionalities of LibreOffice. These add-ons can be integrated in menus and toolbars.
Components
Development tools:
- idlc is the UNOIDL compiler. It generates a common binary type library.
- cppumaker generates C++ code for UNOIDL types (stored in a type library)
- javamaker generates Java code
- climaker generates CLI assemblies
More info can be found here: https://api.libreoffice.org/docs/tools.html
Additional information
External links: