유니버설 네트워크 오브젝트

유니버설 네트워크 오브젝트(Universal Network Objects, UNO)는 오픈오피스 및 리브레오피스 컴퓨터 소프트웨어 애플리케이션 스위트에서 사용되는 구성 요소 모델이다. 인터페이스 기반으로 설계되었으며, 단일 머신, LAN 또는 인터넷을 통해 서로 다른 프로그래밍 언어, 객체 모델 및 머신 아키텍처 간의 상호 운용성을 제공한다.

사용자는 언어 바인딩이 존재하는 모든 프로그래밍 언어에서 UNO 구성 요소를 구현하거나 접근할 수 있다. C++ (컴파일러 종속), 자바, 오브젝트 REXX, 파이썬, Tcl에 대한 완전한 UNO 언어 바인딩이 존재한다. 구성 요소에 대한 접근은 허용하지만 작성은 허용하지 않는 바인딩은 스타오피스 베이직, OLE 자동화 및 .NET 공통 언어 기반에 존재한다. 특히 이 API는 매크로에서 사용된다.

유니버설 네트워크 오브젝트는 UNO 런타임 환경(URE) 내에서 작동한다.

아파치 오픈오피스 버전의 UNO는 아파치 라이선스 (버전 2) 조건에 따라 자유-오픈 소스 소프트웨어로 배포된다.

 함수 호출을 위한 UNO 
예시: 외부 프로그램은 UNO 인터페이스를 통해 리브레오피스를 호출하여 ODT 파일을 PDF 파일로 내보내거나 DOCX 파일을 가져와 변환할 수 있다. 또 다른 외부 프로그램은 리브레오피스 칼크 파일에서 셀과 수식에 접근할 수 있다.

응용 프로그램 예시: Docvert, JODConverter, unoConv.

 애드온을 위한 UNO 
프로그래머는 자신만의 UNO 구성 요소를 작성하여 오픈오피스/리브레오피스에 통합할 수 있다. 이러한 구성 요소는 리브레오피스 메뉴와 도구 모음에 추가될 수 있으며, 이를 "애드온"이라고 부른다.
애드온은 리브레오피스의 기능을 확장할 수 있다.

새로운 구성 요소의 통합은 일부 도구와 서비스에 의해 지원된다. 세 가지 주요 단계는 다음과 같다.

리브레오피스 내에 새 구성 요소를 등록한다. 이는 unopkg 도구를 사용하여 수행할 수 있다.
새 구성 요소를 서비스로 통합한다. ProtocolHandler 및 JobDispatch 서비스가 도움을 준다.
사용자 인터페이스(메뉴 또는 도구 모음)를 변경한다. 변경 사항을 설명하는 XML 텍스트 파일을 작성하여 거의 자동으로 수행할 수 있다.

응용 프로그램 예시: jOpenDocument.

 각주 

 외부 링크 

아파치 오픈오피스
 UNO 개발 키트 프로젝트 페이지
 개요 및 기술 세부 정보
 자바 개요-요약
 오픈오피스 소프트웨어 개발 키트
 ODF 툴킷: 전환 단계
 개발자 가이드

리브레오피스
 unoexe 및 unopkg 참조
 리브레오피스 내부: 유니버설 네트워크 오브젝트

언어 브리지 (자바 및 파이썬용 기본)
 오브젝트 REXX용 UNO
 PHP용 UNO (C++로 작성) 
 FreePascal/Delphi용 UNO 아마도 고아 프로젝트

분류:객체 지향 프로그래밍
분류:오픈오피스