热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

UNO是什么

本文主要介绍关于components,interface,语言,sockets,manager,network的知识点,对【UNO是什么】和【uno是什么玩法】有兴趣的朋友可以看下由【lantianj

本文主要介绍关于components,interface,语言,sockets,manager,network的知识点,对【UNO是什么】和【uno是什么玩法】有兴趣的朋友可以看下由【lantianjialiang】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【计算机相关】相关技术问题。

uno是什么玩法

UNO (Universal Network Objects)
The goal of UNO (Universal Network Objects) is to provide an environment for network objects across programming language and platform boundaries.
UNO objects run and communicate everywhere. UNO reaches this goal by providing the following fundamental framework:
UNO的目的是为网络对象提供跨平台和跨语言的运行环境,UNO对象可以在任何地方运行和通信。UNO是通过以下的基础框架来实现这个目的的:

1. UNO objects are specified in an abstract meta language, called UNOIDL (UNO Interface Definition Language), which is similar to CORBA IDL or MIDL.
UNO对象是用UNOIDL语言来描述的,它和CORBA的IDL或者MIDL相似。
From UNOIDL specifications, language dependent header files and libraries can be generated to implement UNO objects in the target language.
通过UNOIDL,与语言无关的头文件和库可以被生成,然后用对应的语言来实现。
UNO objects in the form of compiled and bound libraries are called components. Components must support certain base interfaces to be able to run in the UNO environment.
组件是UNO对象和帮助库的集合,组件必须实现一些interface,这样才能在UNO环境中执行。

2. To instantiate components in a target environment UNO uses a factory concept.
工厂概念被用来在UNO环境中实例化组件。
This factory is called the service manager. It maintains a database of registered components which are known by their name and can be created by name.
这个工厂就是service manager。它来维护一个已经注册了的组件的数据库,用来通过组件名获得组件,或者用组件名来创建组件。
The service manager might ask Linux to load and instantiate a shared object written in C++ or it might call upon the local Java VM to instantiate a Java class.
service manager有可能或让linux来加载和实例化共享对象(C++实现),或者使用本地java虚拟机来初始化java对象。
This is transparent for the developer, there is no need to care about a component's implementation language. Communication takes place exclusively over interface calls as specified in UNOIDL.
这个过程对开发人员是透明的,开发人员不需要关注组件的实现语言。通信是通过interface互斥的情况下来调用的。

3. UNO provides bridges to send method calls and receive return values between processes and between objects written in different implementation languages.
UNO通过bridge在不同的进程,不同的实现语言的对象之间,来发送方法调用,获得返回值。
The remote bridges use a special UNO remote protocol (URP) for this purpose which is supported for sockets and pipes.
远程桥是通过UNO的URP协议来完成这个工作的(sockets 或者pipes )。
Both ends of the bridge must be UNO environments, therefore a language-specific UNO runtime environment to connect to another UNO process in any of the supported languages is required.
桥的两端必须是UNO环境,所以一个特定语言实现的UNO环境连接到另外一个UNO环境(所以所支持的语言)是必须的,
These runtime environments are provided as language bindings.
这些运行时环境是通过语言绑定来实现的。

4. Most objects of OpenOffice.org are able to communicate in a UNO environment. The specification for the programmable features of OpenOffice.org is called the OpenOffice.org API.
大部分的OpenOffice.org对象都是可以在UNO环境中通信的。OpenOffice.org API.是用来通过给程序员来操作OpenOffice.org的接口。

本文《UNO是什么》版权归lantianjialiang所有,引用UNO是什么需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
author-avatar
mobiledu2502930413
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有