Office in Java 2. Info-Point Urs Frei.

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML
Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group
COM-Programmierung mit Visual Basic 6
DI Christian Donner cd (at) donners.com
Web Matrix Project Kurzüberblick Dirk Primbs Technologieberater Developer Platform Strategy Group Microsoft Deutschland GmbH.
Druck / Ausgaben unter LSF
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Ruby on Rails im Überblick
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Indirekte Adressierung
Java: Referenzen und Zeichenketten
DOM (Document Object Model)
Komponentenbasierter Taschenrechner mit CORBA
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Reflection API ETIS SS04.
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
JAVA RMI.
Introducing the .NET Framework
Remote Methode Invocation (RMI)
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
COM-Server in Visual FoxPro 9.0
Wizards & Builders GmbH Übersicht Schulung Übersicht über Schulung für Entwickler unter Microsoft Visual FoxPro.
Handling und Erstellung von: DLL, EXE, COM, DCOM
Erstellen von COM-Servern in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow COM.
Erstellen von WebServices mit Visual FoxPro 9.0
VFP Class Browser. © 1999 TMN-Systemberatung GmbH Einsatz des Class Browser n Managen von Klassen inklusive, ändern, umbenennen, löschen und umdefinieren.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Hyperlinks und Anker Links notieren
Die .NET Common Language Runtime
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Kostenlose Alternative zu Microsoft Office
Java und Eclipse.
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
9. Nützliche Techniken 9.1 Textelemente suchen
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
7. Andere Datenquellen verwenden1 Direkter Zugriff auf Fremddaten (importieren) Fremde Datenquelle Word 2002 Filter beim Importieren der Daten Fremdes.
Testen von Software – Überdeckungstesten mit JCov und GCov Martin Franke, 2006 Sommersemester.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Spring Framework.
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
CGI (Common Gateway Interface)
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Zeit:Aktion: 08:30Begrüßung, Organisation 08:45Einführung - Was heißt OPC - OLE for Process Control --> Folie - OPC definiert eine offene Schnittstelle,
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Oliver Spritzendorfer Thomas Fekete
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
CMS Content-Management-Systeme (CMS), dienen der Verwaltung und Pflege von Dokumenten und Inhalten in Inter- und Intranetanwendungen. Den Entwickler oder.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
Excel Grundlagen.
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Programmierung mit ArcObjects Frank Münster Proseminar Geoinformation II.
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Informationen verbinden Businessplan/03. April 2010/KR1 AM6.7.1 Verknüpfen AM Den Text eines Dokuments, einen Tabellenkalkulationsbereich bzw. ein.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
HORIZONT 1 Product HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / Das IT – Informationssystem.
Deutscher Perl Workshop 2014 PORF Practice
 Präsentation transkript:

Office in Java 2. Info-Point Urs Frei

Problemstellung: ?

Zwei Motivationen Daten direkt im richtigen Format Office fernsteuern Excel nicht über Zwischenformat csv In Word Bereichte erstellen Office fernsteuern Rechtschreibeprüfung Word Rechnungsfunktionen Excel Adressen von Outlook

Jakarta POI http://jakarta.apache.org/poi/ Framework zum erstellen von Office Files. Besteht aus: HSSF  Excel (97 bis 2002) HWPF  Word (97 bis 2002) frühes Entwicklungsstadium noch nicht verfügbar (nur cvs)

Bsp. mit HSSF

Bsp. Resultat

Was HSSF nicht kann (Excel) Unterschiedliche Formatierungen in der gleichen Zelle Keine Diagramme erzeugen Keine Makro erzeugen Pivot Tabelle können nicht erzeugt werden http://jakarta.apache.org/poi/hssf/quick-guide.html

Was HWPF nicht kann (Word) Einfacher was es kann Offiziell noch nichts  Erst CVS Version erhältlich Es werden Entwickler gesucht.

Zwei Motivationen Daten direkt im richtigen Format Office fernsteuern Excel nicht über Zwischenformat csv In Word Bereichte erstellen Office fernsteuern Windowsprogramme nutzbar machen Rechtschreibeprüfung Word Rechnungsfunktionen Excel Adressen von Outlook

Windowsarchitektur Component Object Model (COM) Automatisation OLE ActiveX DCOM Office ist als COM Implementiert

Was ist COM (1) Komponenten-Architektur Bsp. Word ist aus mehrer COM Komponenten aufgebaut Dokument Textmarken Tabellen Fernsteuern von Anwendungen

Was ist COM (2) Ähnlich Reflection von Java Typprüfung erfolgt zur Laufzeit Komponente kann als OLE Server oder als OLE Client agieren Ermöglicht einbetten von Elemente Bsp. Excel Tabelle in Word Üblicherweise bei Registry registriert Jedes COM Objekt hat eindeutige GUID über die es angesprochen wird Informationen müssen in der Windows Registry eingetragen sein

Funktionsweise Zusammenspiel der COM Bestandteile

IDispatch Wird von allen COM Objekten implementiert Stellt „primitive“ Zugriffsmöglichkeiten auf Objekt zur Verfügung Invoke (wie Reflection) Parameter definiert welche Methode auf COM aufgerufen wird

TypeLib Darin ist definiert welche Funktionalität das COM Objekt unterstützt Diese Funktionalität wird über die Methode Invoke des IDispach Intefaces verwendet Div. Erweiterungen: tlb, olb, dll, ocx, exe, usw.

Einfaches Beispiel in VB Word öffnen Word anzeigen Neues Dokument erstellen Text in das Dokument schreiben

Umsetzung mit Visual Basic (späte Bindung)

Erklärung Bsp. (1) CreateObject("Word.Document") Parameter in Registry nachschlagen Über TypeLib MSWord.olb die uuid in der Registry suchen um ProgID zu finden Oder über Dateierweiterung, die das Programm verwendet (.doc)

Erklärung Bsp. (2) Wie heissen Methoden? Informationen aus msword.olb (ist TypLib File)

Wie von Java auf COM? JNI selber implementieren SWT Sehr aufwendig Abstrahiert JNI (immer noch aufwendig)

Was ist SWT Framework zur Darstellung von Java Applikationen Vergleichbar mit AWT Setzt auf Betriebsystemkomponenten auf Bestandteil von Eclipse

Und dies alles nur für etwas Text in Word….

SWT Verwendung(1) Erzeugt das COM Object Alle COM Objecte sind vom Type OleAutomation

SWT Verwendung(2) Methoden usw. können nicht über Namen aufgerufen werden Methodenaufruf erfolgt über ID der Methode ID kann dem TypLib File entnommen werden Oder über getIDsOfNames des OleAutomation Objekts angefragt werden

SWT Verwendung(3) Entscheidung: Methodenaufruf? Property setzen? invoke Property setzen? setProperty Property abrufen? getProperty

SWT Verwendung (4) Universaldatentyp „Variant“ Return-Wert Übergabeparameter Vergleichbar mit Object in Java

Zwischenschicht für akzeptable Verwendung SWT im Vergleich zu VB viel aufwendiger  Architektur soll Aufwand reduzieren Mittels Delegation Aufruf vereinfachen  COM Document Objekt hat entsprechendes Document Objekt in Java

Architektur Zwischenschicht Java Applikation soll mit normalen Java Objekten und Datentypen arbeiten können (nicht mit Variant usw.) Java Applikation Delegationslayer setzt den Aufruf von der Java Applikation um in die entsprechende Form so dass sie an SWT weiter gegeben werden kann. Delegationslayer SWT Framework JNI COM Object

Ziel Delegationslayer Office verwenden wie wenn es Java wäre!! Mühsame Typenkonvertierung soll weg fallen Einfacher Aufruf von Methoden (nicht über mehrere Code Zeilen) Javaobjekte sollen Office Objekte repräsentieren

Delegationlayer Erstellung sehr aufwendig um für jedes Office Objekt ein Java Objekt zu erstellen Ändert sich die Version des COM Objekts so muss der Delegationslayer angepasste werden Grosser Administrationsaufwand

Delegationslayer stellen ? Java - Klassen Office – Klassen IDL (TypeLib) Office Java Compiler EBNF der IDL COCO/R

„Hallo Leute“ mit Delegationslayer

Resultat

Tipps COM in Java Erst in VB entwickeln  dann in Java Makro Recorder der Office Produkte verwenden Gute Newsgroups für Office - Programmierung

Referenzen http://jakarta.apache.org/poi/ Lerhbuch der Software-Technik, Software-Entwicklung (Balzert) ISBN 3-8274-0480-0 Visual Basic 6 Kompendium ISBN 3-8272-5806-5 Eclipse ISBN 3-8273-2125-5 COCO/R http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/ Office 2000 Developer Edition ISBN: 3-8272-5514-7