Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta

Podobné dokumenty
Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

RMI Remote Method Invocation

Úvod do programovacích jazyků (Java)

Úvod do programování v jazyce Java

RMI - Distribuované objekty v Javě

Úvod do CORBY. Svetlozara Arabadzhieva

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Teoretické minimum z PJV

Softwarové komponenty a Internet

UJO Framework. revoluční architektura beans. verze

Programování v Javě I. Leden 2008

Komponenty v.net. Obsah přednášky

Programování v Javě I. Únor 2009

Ukázka knihy z internetového knihkupectví

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

typová konverze typová inference

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Architektura COM. Historie Component Object Model (COM) Komunikace s komponentami Rozhraní komponent COM komponenty v.net.

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

Generické programování

7.5 Diagram tříd pokročilé techniky

Tvorba informačních systémů

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Novinky ve Visual Studio Tomáš Kroupa

Programátorská příručka

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

7 Jazyk UML (Unified Modeling Language)

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Distribuované systémy a výpočty

ADT/ADS = abstraktní datové typy / struktury

knihovna programátora

Michal Krátký, Miroslav Beneš

3. Základy programovacího jazyka Java

Seminář Java II p.1/43

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

Instalace a konfigurace web serveru. WA1 Martin Klíma

Úvod do Web Services

7 Jazyk UML (Unified Modeling Language)

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

7.5 Diagram tříd pokročilé techniky

Čipové karty úvod, Ing. Jiří Buček. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze

Proč počítačovou sí? 9 Výhody sítí 9 Druhy sítí 9. Základní prvky sítě 10 Vybavení počítače 10 Prvky sítě mimo PC 10 Klasické dělení součástí sítí 10

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Tvorba informačních systémů

ZÁVĚREČNÁ STUDIJNÍ PRÁCE dokumentace

OpenOffice.org 1.1 CZ

8 Třídy, objekty, metody, předávání argumentů metod

Reflexe RTTI Runtime Type Identification

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

TÉMATICKÝ OKRUH Softwarové inženýrství

Algoritmizace a programování

MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY

O projektu Nasazení OpenOffice.org v praxi

1. Programování proti rozhraní

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Technologie JavaBeans

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Jakub Čermák Microsoft Student Partner

Vytváření a použití knihoven tříd

Algoritmizace a programování

Úvod do programování v jazyce Java

Úvod do programovacích jazyků (Java)

Java a XML. 10/26/09 1/7 Java a XML

10 Generické implementace

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Remote Method Invocation RMI

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

Obsah. Položkování 1: Prefix dřívějších osamocených dílů se zachovává...23 Položkování 2: Editace předběžných čísel...23

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Alcatel-Lucent VitalQIP DNS/DHCP & IP Management Software

Seminář Java IV p.1/38

Multiplatformní GUI toolkity

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Zápis programu v jazyce C#

Principy objektově orientovaného programování

Diagnostika webových aplikací v Azure

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP

Bezpečná autentizace přístupu do firemní sítě

VirtualBox desktopová virtualizace. Zdeněk Merta

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Analýza a modelování dat. Přednáška 5

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

Transkript:

Integrace OpenOffice.org a Javy CZJUG, 15.12.2008, Robert Vojta

Obsah Část 1 - Teorie Úvodní informace, definice pojmů Dokumentace, Java Language Binding Pomocné nástroje Část 2 - Praktické ukázky Lokální použití OpenOffice.org OpenOffice.org na serveru

Definice pojmů

UNO Universal Network Objects Základní technologie OO.o Sdílení komponent mezi jazyky, platformami, lokálně a vzdáleně UNO je dostupné pro Linux, Solaris, Windows, Power PC, FreeBSD a Mac OS X

UNO Podporované jazyky - Java, C++ Tvorba komponent Komponenty je možné používat z Java, C++, Basic Python, Microsoft COM.NET pomocí CLI Javascript, Beansheel, Jython

UNO

UNO IDL UNO Interface Definition Language Univerzální způsob definice rozhraní, konstant a dalších entit pro všechny podporované jazyky Podobné jako CORBA IDL, MIDL Součástí SDK jsou nástroje, které generují hlavičkové soubory a knihovny pro podporované jazyky

UNO IDL ukázka module name { module vojta { struct Sample : com::sun::star::lang::eventobject { short property; }; }; };

URE, SDK, URP UNO Runtime Environment http://download.openoffice.org/ure.html SDK Software Development Kit http://download.openoffice.org/sdk.html URP UNO Remote Protocol

UNO & Java

Mapování typů UNO Java UNO Java void void u/hyper long boolean boolean float float byte byte double double u/short short char char u/long int String String

Type Type com.sun.star.uno.type nesmí být null, je final přetížené metody, které akceptují Class a Type UnoRuntime.queryInterface() queryinterface( Type type, ); queryinterface( Class clazz, );

Any Any com.sun.star.uno.any, final mapováno na java.lang.object výjimka - Any jako parametr funkce com.sun.star.uno.anyconverter statické metody na konverzi boolean isdouble( Object obj ); double todouble( Object obj );

Sekvence Všechny sekvence jsou mapovány na pole sequence< double >; double[]; sequence< sequence < long > >; int[][];

Struktury module name { module vojta { struct Sample : com::sun::star::lang::eventobject { short property; }; }; }; package name.vojta; public class Sample extends EventObject { public short property;

Více informací Developer's Guide Professional UNO UNO Language Bindings Java Language Binding Getting a Service Manager Transparent Use of UNO Handling interface Type Mappings

Dokumentace

Dokumentace Developer's Guide [PDF] Java UNO Runtime reference IDL reference Interface Definition Language IDL Design Guide IDL Documentation Guide

Included services Included services Hlavní objekty Metody jsou přímo přístupné Stejné jako dědění

Properties Pokud objekt podporuje vlastnosti, vždy podporuje rozhraní XPropertySet Dále jsou podporována (nemusí) rozhraní XMultiPropertySet, XPropertyAccess, atd. Více informací v Developer's Guide

Exported services Metody nelze volat přímo Je nutné "přetypování" Object cell = ; XCell xcell = ( XCell ) UnoRuntime. queryinterface( XCell.class, cell );

Exported services Metodu queryinterface() je možné volat i na přetypované objekty, rozhraní Služba Cell podporuje XText, XCell Přetypuji-li Cell na XText, můžu XText přetypovat na XCell = není nutné držet referenci na Cell

Introspekce

XRay Knihovna v BASICu, která používá XIntrospection rozhraní Zobrazuje vlastnosti, metody a rozhraní objektů Stáhnout XRay

XRay v praxi Sub Introspection BasicLibraries. LoadLibrary( "XrayTool" ) XRay ThisComponent End Sub

XRay v praxi

Object inspector Rozšíření napsané v Javě, které nabízí obdobnou funkčnost jako XRay Navíc umožňuje generovat zdrojový kód pro Javu, C++, BASIC Stáhnout Object Inspector

Object inspector v praxi Sub Inspector oinspector = createunoservice("org.openoffice.i nstanceinspector") oinspector.inspect(thiscomponent, "My Document") End Sub

Object inspector v praxi

NetBeans OO.o API plugin

OpenOffice.org plugin Usnadňuje tvorbu rozšíření Podporuje NetBeans 6.5 a OO. 3.0 Instalace - Tools - Plugins NetBeans Beta

OpenOffice.org plugin Add-on rozšíření Calc Add-in nové funkce Component služby (= service) Client Application

Projekt - Addon OpenOffice.org Addon Jednoduché rozšíření Makra v Basicu, Javě, Modifikace menu, ikon, tlačítek Rozšíření může obsahovat šablony, galerii klipartů, apod. Typicky jde o jednoúčelové rozšíření

Projekt - Component OpenOffice.org org Component Je to Addon? Je, ale s tím rozdílem, že musí implementovat minimálně jednu službu (= service) Typicky jde o komponentu, kterou lze použít i z jiných rozšíření Addon, Component, Calc Addin může být zkombinován do jednoho rozšíření

Projekt - Addin, Client OpenOffice.org org Calc Addin Implementace nových funkcí do Calcu OpenOffice.org Client Application Klientská aplikace běžící mimo OpenOffice.org

OO.o na serveru

Úvodní informace Speciální serverová edice neexistuje Vzdálené připojování je standardně vypnuté Je potřeba ošetřit memory leaky pády bezpečnost

Instance Standardně je možné spustit jednu instanci pod jedním uživatelem Neomezený počet instancí je možné zajistit pomocí soffice -env:userinstallation=/ooo/user1

Start služby OpenOffice.org se na serveru spouští pomocí soffice -headless -norestore -invisible -nologo -accept="socket, host=0,port=8001;urp;"

Praktické ukázky