BSF4ooRexx Version 4.0

Ähnliche Dokumente
2010-Edition von BSF4ooRexx für Windows und Linux

Automatisierung von Java Anwendungen (7)

Automatisierung von Java Anwendungen (6)

Automatisierung von Windows Anwendungen (1)

OpenOffice.org. Ad-hoc-Generierung der API- Dokumentation

Automation of Java and Java Applications (GUI, awt)

The 2011 Edition of BSF4ooRexx (for Windows, Linux and MacOSX)

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Funktionen in JavaScript

Automatisierung von Windows Anwendungen (4)

Java TV. Seminar Medientechnik. Kristin Doppler Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs

Programmieren 2 Java Überblick

Praktische Informatik 1

Properties und Proxies

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Anwendung eines Enterprise Java Beans

Automatisierung mit oorexx und BSF4ooRexx

Einführung in die Programmierung für NF. Übung

Programmieren 2 Java Überblick

Die OSGi Service Plattform

II.4.5 Generische Datentypen - 1 -

Automatisierung von Windows Anwendungen (8)

ObjectBridge Java Edition

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs

12 Abstrakte Klassen, finale Klassen und Interfaces

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Info B VL 8: Abstrakte Klassen & Interfaces

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Einführung in Google Web Toolkit

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Themen. Web Service - Clients. Kommunikation zw. Web Services

An Introduction to Procedural and Object-oriented Programming, Automation of Windows Applications Installment # 1

Funktionen in JavaScript

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Java in Macro, SCL und Data Step

INTEGRATION EXTERNER DOKUMENTE

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

Java Metadata Interface. Thorsten Pivl

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

Softwaretechnik WS 16/17. Übungsblatt 01

Wiederholung: Beginn

SQLcl Quo vadis SQL*Plus? Das neue SQL*Plus in der Praxis. Gunther Pippèrr GPI Consult München

Spring Dynamic Modules for OSGi Service Platforms

JAVA. Ein kurzer Überblick. Thomas Karp

Mock-Objekte. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces

Info B VL 14: Java Collections/Reflections

Programmierkurs Java

Einstieg in die Informatik mit Java

Interpreter - Gliederung

OCP Java SE 8. Lambda

gvsig CE (Community Edition) Schnittstellen zur Automatisierung und Programmierung

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

Vorlesung Programmieren

Szenario 3: Service mit erweiterter Schnittstelle

Überblick. Java 5. Java 6. Java 7. Referenzen. neue Sprachfeatures Erweiterungen Klassenbibliothek. Erweiterungen Klassenbibliothek

Algorithmen und Datenstrukturen. Übersicht. Interfaces und Generics. InsertionSort für Punkte. InsertionSort für Punkte

Vererbung und Polymorphie

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

10. OLAPLINE-Anwendertreffen

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

EPROG 2.Teilprüfung. Aufgabe 1:

Übungen zu Verteilte Systeme : Aufgabe zu Java-RMI (1)

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

Einbindung dynamischer Sprachen in Java

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

n2pdf PDF your Notes

Einstieg in die Informatik mit Java

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs zu Informatik I. Henning Heitkötter

Java Einführung Methoden in Klassen

11. Komponenten Grundlagen der Programmierung 1 (Java)

Liste Programmieren Java Überblick

1 Abstrakte Klassen, finale Klassen und Interfaces

Tutorium Java. Softwaretechnologie: Java I. Marco Jürgens und Mihail Atanassov.

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks

Automatisierung von Java Anwendungen (10)

Office in Java. 2. Info-Point Urs Frei

Objektorientierte Programmierung. Kapitel 12: Interfaces

Automatisierung von Java Anwendungen (10)

Klausur Grundlagen der Programmierung

Studienzweig Wirtschaftsinformatik

Wahlpflichtfach Design Pattern

.NET-Networking 2 Windows Communication Foundation

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Objektorientierte Programmierung mit Java

Javakurs für Anfänger

Transkript:

Institut für Betriebswirtschaftslehre und Wirtschaftsinformatik BSF4ooRexx Version 4.0 http://wi.wu.ac.at/rgf/rexx/bsf4oorexx/current/ GSE WG Rexx plus ISPF Prof. Dr. Rony G. Flatscher Wirtschaftsuniversität Wien Augasse 2-6 A-1090 Wien Hier 35. Tagung, Vortrags-/Vorlesungstitel Automatisierung GSE WG Rexx von Windows plus im ISPF, Master Anwendungen Frankfurt, eintragen 2009-11-10 (3) 1 Prof. Dr. Rony G. Flatscher

Agenda Kurzüberblick über BSF4Rexx Offene Punkte Neue Funktionalität Zusammenfassung und Ausblick Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 2 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

Kurzüberblick über BSF4Rexx, 1 Externe Rexx-Funktionsbibliothek Ermöglicht Java, Rexx als Skriptsprache einzusetzen Ermöglicht Rexx, Java als riesige externe Funktionsbibliothek zu verwenden Bestandteile Apache Software Foundation (ASF) "Bean Scripting Framework (BSF)" Java-Klassenbibliothek Externe Rexx-Funktionsbibliothek ("BSF4Rexx.dll") Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 3 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

Kurzüberblick über BSF4Rexx, 2 BSF.CLS oorexx-paket, das u.a. BSF4Rexx über die oorexx-klasse.bsf einfach verfügbar macht Definition von öffentlichen Routinen, die BSF nutzen, z.b. bsf.import( ) Zahlreiche nützliche Dienstleistungen, z.b. das Vorregistrieren wichtiger Java-Klassen in.bsf4rexx Lädt Java bei Bedarf Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 4 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

Kurzüberblick über BSF4Rexx, 3 exec(...) eval(...) apply(...) call(...) BSF() BsfDropFuncs(), BsfInvokedBy(), BsfLoadFuncs(), BsfLoadJava(), BsfQueryAllFunctions(), BsfQueryRegisteredFunctions(), BsfShowErrorMessage(), BsfUnloadJava(), BsfVersion() Java Program Object Rexx environment (e.g. ".bsf4rexx") BSF (Java) JNI BSF.CLS BSF4Rexx (C++) RexxEngine Object Rexx scripts RexxAndJava Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 5 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

Offene Punkte = Input für BSF4ooRexx 4.0 Echtzeit-Bearbeitung von Ereignissen nicht möglich Ereignisse können daher z.b. nicht aufgehoben werden Java-Interfaces können nicht in Rexx direkt benutzt werden Daher notwendig, Java-Interfaces in Java-Klassen zu implementieren und diese dann von Rexx aus ansprechen Es können abstrakte Java-Methoden nicht in Rexx implementiert werden Java-Programme können keine Nachrichten direkt an Rexx- Objekte senden Es können Java-Programmen keine vollständigen Rexx- Fehlerinformationen übermittelt werden Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 6 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

oorexx 4.0, Neues API, 1 Bisher gab es nur RexxStart( ) Nun gibt es zusätzlich RexxCreateInterpreter( ) Eine Rexx-Interpreter-Instanz kann öfters verwendet werden LoadPackage( ) LoadPackageFromData( ) CallProgram( ) Terminate() Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 7 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

oorexx 4.0, Neues API, 2 Neue Datentypen Unabhängig von Rechnerarchitektur Die wichtigsten oorexx-typen stehen direkt zur Verfügung oorexx-api wurde nach JNI modelliert RexxInstance Attach(), Detach() ThreadContext MethodContext CallContext ExitContext Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 8 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

BSF4ooRexx (Beta), 1 RexxProxy (eine Java-Klasse) Repräsentiert ein oorexx-objekt auf der Java-Seite Ermöglicht das Senden von Nachrichten von Java nach oorexx Ist als java.lang.reflect.invocationhandler implementiert Damit benutzbar in java.lang.reflect.proxy Für beliebiges Java-Interface (sogar mehrere!) Optional kann ein "Slot"-Argument mitgegeben werden Ein beliebiges Rexx-Objekt ("USERDATA") Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 9 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

BSF4ooRexx (Beta), 2 Neue Rexx-Funktion BsfCreateRexxProxy( ) Argumente Rexx-Objekt, das von Java aus ansprechbar sein soll Optionales Slot-Argument ("USERDATA", ein Rexx-Objekt) Entweder ein oder mehrere Java-Interfaceklassen - Entweder Java-Klassenobjekt oder vollqualifizierter Name Oder Eine abstrakte Java-Klasse, gefolgt von optionalen Argumenten Liefert ein Java-RexxProxy-Objekt zurück Kann als Argument in Java-Methodenaufrufen eingesetzt werden! Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 10 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

BSF4ooRexx (Beta), 3 Callbacks von Java nach Rexx Erfolgen über die RexxProxy-Objekte Der Rexx-Nachricht wird unter bestimmten Umständen ein weiteres Argument angefügt, das ein Directory-Objekt ist, das über folgende Einträge verfügen kann "USERDATA", das "Slot"-Argument, wenn es angegeben wurde "METHODNAME", exakt geschriebene Java-Methodenbezeichnung "METHODOBJECT", Java-Methodenobjekt (Java-Interface) "METHODDESCRIPTOR" (für abstrakte Methode einer abstrakten Java-Klasse) Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 11 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

BSF4ooRexx (Beta), 4 Rückgabewerte von Rexx an Java, wenn Rexx-Objekt ein String-Objekt Java-Zeichenkette BSF- oder UNO-Proxy-Objekt (repräsentieren Java-Objekte) Repräsentiertes Java-Objekt Ein beliebiges anderes Rexx-Objekt Ein RexxProxy-Objekt wird dafür angelegt, sodass Java anschließend Rexx-Nachrichten senden kann Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 12 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

BSF4ooRexx (Beta), 5 Fehler von Java Neue oorexx-apis erlauben das Erzeugen von Rexx- Fehlermeldungen, die die Java-Fehlermeldungen vollständig beinhalten Nicht möglich, das Java-Throwable-Objekt direkt über die Rexx-Condition zur Verfügung zu stellen Fehler von Rexx Wird in Java mit einer RexxException angezeigt Fehlertext ist der Rexx-Fehlertext Das Rexx-"Condition"-Objekt (ein Rexx-Directory) wird als RexxProxy Java direkt zur Verfügung gestellt Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 13 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

BSF4ooRexx (Beta), 6 Direktes Aufwerfen von Java-Exceptions von Rexx aus Externe Rexx-Funktion BsfJavaException("throw", throwable) Wirft unmittelbar angegebene Java-Ausnahme Wichtig für Callbacks Z.B. der OpenOffice.org Veto-Mechanismus Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 14 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

Schematischer Überblick über BSF4ooRexx exec(...) eval(...) apply(...) call(...) Java Program BSF() BsfCreateRexxProxy(), BsfDropFuncs(), BsfGetTID(), BsfAttachToTID(), BsfDetach(), BsfInvokedBy(), BsfJavaException(), BsfLoadFuncs(), BsfLoadJava(), BsfQueryAllFunctions(), BsfQueryRegisteredFunctions(), BsfShowErrorMessage(), BsfUnloadJava(), BsfVersion() Object Rexx environment (e.g. ".bsf4rexx") BSF (Java) JNI BSF.CLS BSF4ooRexx (C++) RexxEngine Object Rexx scripts RexxAndJava Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 15 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher

Zusammenfassung und Ausblick Seit Mitte Oktober in Betatest 100 %-ig rückwärtskompatibel mit Vorgänger "BSF4Rexx" TestUnits! Bis dato sehr stabil Öffnet oorexx alle modernen Programme, die über Java- Schnittstellen verfügen Z.B. OpenOffice Stellt uns allen die "größte Funktionsbibliothek der Welt" einfach zur Verfügung, die auf jedem PC installiert ist: Java! Sowie sämtliche Java-Klassenbibliotheken! Hier 35. Tagung, Vortrags-/Vorlesungstitel GSE WG Rexx plus im ISPF, Master Frankfurt, eintragen 2009-11-10 16 Hier Name des Vortragenden Prof. Dr. im Rony Master G. eintragen Flatscher